Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJeremie Tatibouet2015-03-24 13:15:15 +0000
committerCamille Letavernier2015-03-24 13:19:29 +0000
commit246b5ad5b70a9d974448ec9c2dfd8fdfe10553e2 (patch)
tree3fafa30290597619ed71bc13fafad1eb8d5f5bb1 /plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus
parentdef2c21b7ea8a1529fa6b06a96dd1a30ddc4f6da (diff)
downloadorg.eclipse.papyrus-246b5ad5b70a9d974448ec9c2dfd8fdfe10553e2.tar.gz
org.eclipse.papyrus-246b5ad5b70a9d974448ec9c2dfd8fdfe10553e2.tar.xz
org.eclipse.papyrus-246b5ad5b70a9d974448ec9c2dfd8fdfe10553e2.zip
462954: [ALF] Integrate the new ALF grammar & tooling
https://bugs.eclipse.org/bugs/show_bug.cgi?id=462954 - Squash the committers/cletavernie/alf-integration branch Also-by: Ed Seidewitz <ed-s@modeldriven.com> Also-by: Arnaud Cuccuru <arnaud.cuccuru@cea.fr> Signed-off-by: Jeremie Tatibouet <jeremie.tatibouet@cea.fr>
Diffstat (limited to 'plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus')
-rw-r--r--plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/AcceptBlock.java190
-rw-r--r--plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/AcceptStatement.java302
-rw-r--r--plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/ActiveClassDefinition.java85
-rw-r--r--plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/ActivityDefinition.java162
-rw-r--r--plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/AlfFactory.java1176
-rw-r--r--plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/AlfPackage.java115425
-rw-r--r--plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/AnnotatedStatement.java86
-rw-r--r--plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/Annotation.java122
-rw-r--r--plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/AnyType.java31
-rw-r--r--plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/ArithmeticExpression.java158
-rw-r--r--plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/AssignableElement.java220
-rw-r--r--plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/AssignableElementReference.java89
-rw-r--r--plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/AssignableLocalNameDeclaration.java81
-rw-r--r--plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/AssignedSource.java236
-rw-r--r--plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/AssignmentExpression.java892
-rw-r--r--plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/AssociationDefinition.java78
-rw-r--r--plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/BehaviorInvocationExpression.java187
-rw-r--r--plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/BinaryExpression.java191
-rw-r--r--plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/BitStringUnaryExpression.java154
-rw-r--r--plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/Block.java150
-rw-r--r--plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/BlockStatement.java182
-rw-r--r--plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/BooleanLiteralExpression.java81
-rw-r--r--plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/BooleanUnaryExpression.java107
-rw-r--r--plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/BoundClassifier.java85
-rw-r--r--plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/BoundElementReference.java957
-rw-r--r--plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/BreakStatement.java98
-rw-r--r--plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/CastExpression.java229
-rw-r--r--plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/ClassDefinition.java155
-rw-r--r--plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/ClassExtentExpression.java149
-rw-r--r--plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/ClassificationExpression.java238
-rw-r--r--plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/ClassifierDefinition.java228
-rw-r--r--plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/ClassifierTemplateParameter.java75
-rw-r--r--plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/ClassifyStatement.java291
-rw-r--r--plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/CollectOrIterateExpression.java60
-rw-r--r--plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/ConcurrentClauses.java74
-rw-r--r--plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/ConditionalLogicalExpression.java156
-rw-r--r--plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/ConditionalTestExpression.java269
-rw-r--r--plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/DataTypeDefinition.java92
-rw-r--r--plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/DoStatement.java177
-rw-r--r--plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/DocumentedElement.java44
-rw-r--r--plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/EffectiveLeftHandSide.java92
-rw-r--r--plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/ElementImportReference.java85
-rw-r--r--plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/ElementReference.java992
-rw-r--r--plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/EmptyStatement.java36
-rw-r--r--plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/EnumerationDefinition.java78
-rw-r--r--plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/EnumerationLiteralName.java34
-rw-r--r--plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/EqualityExpression.java153
-rw-r--r--plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/Expression.java175
-rw-r--r--plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/ExpressionStatement.java93
-rw-r--r--plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/ExtentOrExpression.java166
-rw-r--r--plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/ExternalElementReference.java974
-rw-r--r--plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/ExternalEnumerationLiteralReference.java98
-rw-r--r--plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/FeatureInvocationExpression.java149
-rw-r--r--plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/FeatureLeftHandSide.java239
-rw-r--r--plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/FeatureReference.java187
-rw-r--r--plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/ForAllOrExistsOrOneExpression.java72
-rw-r--r--plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/ForStatement.java313
-rw-r--r--plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/FormalParameter.java173
-rw-r--r--plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/IfStatement.java249
-rw-r--r--plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/ImportReference.java190
-rw-r--r--plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/ImportedMember.java149
-rw-r--r--plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/InLineStatement.java103
-rw-r--r--plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/IncrementOrDecrementExpression.java497
-rw-r--r--plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/InputNamedExpression.java218
-rw-r--r--plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/InstanceCreationExpression.java299
-rw-r--r--plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/InternalElementReference.java848
-rw-r--r--plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/InvocationExpression.java750
-rw-r--r--plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/IsUniqueExpression.java72
-rw-r--r--plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/IsolationExpression.java95
-rw-r--r--plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/LeftHandSide.java271
-rw-r--r--plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/LinkOperationExpression.java260
-rw-r--r--plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/LiteralExpression.java71
-rw-r--r--plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/LocalNameDeclarationStatement.java339
-rw-r--r--plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/LogicalExpression.java248
-rw-r--r--plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/LoopVariableDefinition.java487
-rw-r--r--plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/Member.java156
-rw-r--r--plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/MemberDefinition.java500
-rw-r--r--plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/ModelNamespace.java137
-rw-r--r--plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/NameBinding.java159
-rw-r--r--plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/NameExpression.java363
-rw-r--r--plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/NameLeftHandSide.java347
-rw-r--r--plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/NamedExpression.java124
-rw-r--r--plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/NamedTemplateBinding.java98
-rw-r--r--plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/NamedTuple.java97
-rw-r--r--plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/NamespaceDefinition.java437
-rw-r--r--plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/NaturalLiteralExpression.java87
-rw-r--r--plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/NonFinalClause.java170
-rw-r--r--plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/NonReturnParameter.java21
-rw-r--r--plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/NumericUnaryExpression.java107
-rw-r--r--plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/OperationDefinition.java463
-rw-r--r--plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/OutputNamedExpression.java111
-rw-r--r--plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/PackageDefinition.java124
-rw-r--r--plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/PackageImportReference.java51
-rw-r--r--plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/PositionalTemplateBinding.java98
-rw-r--r--plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/PositionalTuple.java92
-rw-r--r--plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/PropertyAccessExpression.java219
-rw-r--r--plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/PropertyDefinition.java281
-rw-r--r--plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/QualifiedName.java542
-rw-r--r--plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/QualifiedNameList.java57
-rw-r--r--plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/ReceptionDefinition.java172
-rw-r--r--plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/RelationalExpression.java157
-rw-r--r--plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/ReturnParameter.java21
-rw-r--r--plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/ReturnStatement.java146
-rw-r--r--plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/SelectOrRejectExpression.java72
-rw-r--r--plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/SequenceAccessExpression.java193
-rw-r--r--plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/SequenceConstructionExpression.java311
-rw-r--r--plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/SequenceElements.java126
-rw-r--r--plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/SequenceExpansionExpression.java648
-rw-r--r--plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/SequenceExpressionList.java137
-rw-r--r--plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/SequenceOperationExpression.java420
-rw-r--r--plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/SequenceRange.java188
-rw-r--r--plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/SequenceReductionExpression.java289
-rw-r--r--plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/ShiftExpression.java153
-rw-r--r--plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/SignalDefinition.java79
-rw-r--r--plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/SignalReceptionDefinition.java46
-rw-r--r--plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/Statement.java310
-rw-r--r--plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/StereotypeAnnotation.java249
-rw-r--r--plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/StringLiteralExpression.java80
-rw-r--r--plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/SuperInvocationExpression.java191
-rw-r--r--plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/SwitchClause.java159
-rw-r--r--plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/SwitchStatement.java322
-rw-r--r--plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/SyntaxElement.java435
-rw-r--r--plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/TaggedValue.java114
-rw-r--r--plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/TaggedValueList.java44
-rw-r--r--plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/TemplateBinding.java58
-rw-r--r--plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/TemplateParameterSubstitution.java146
-rw-r--r--plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/ThisExpression.java95
-rw-r--r--plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/Tuple.java309
-rw-r--r--plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/TypedElementDefinition.java403
-rw-r--r--plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/UnaryExpression.java115
-rw-r--r--plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/UnboundedLiteralExpression.java46
-rw-r--r--plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/UnitDefinition.java309
-rw-r--r--plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/WhileStatement.java180
-rw-r--r--plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/AcceptBlockImpl.java293
-rw-r--r--plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/AcceptStatementImpl.java585
-rw-r--r--plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/ActiveClassDefinitionImpl.java189
-rw-r--r--plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/ActivityDefinitionImpl.java353
-rw-r--r--plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/AlfFactoryImpl.java1571
-rw-r--r--plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/AlfPackageImpl.java19228
-rw-r--r--plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/AnnotatedStatementImpl.java113
-rw-r--r--plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/AnnotationImpl.java163
-rw-r--r--plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/AnyTypeImpl.java104
-rw-r--r--plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/ArithmeticExpressionImpl.java320
-rw-r--r--plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/AssignableElementImpl.java365
-rw-r--r--plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/AssignableElementReferenceImpl.java168
-rw-r--r--plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/AssignableLocalNameDeclarationImpl.java170
-rw-r--r--plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/AssignedSourceImpl.java285
-rw-r--r--plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/AssignmentExpressionImpl.java1231
-rw-r--r--plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/AssociationDefinitionImpl.java223
-rw-r--r--plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/BehaviorInvocationExpressionImpl.java411
-rw-r--r--plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/BinaryExpressionImpl.java301
-rw-r--r--plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/BitStringUnaryExpressionImpl.java321
-rw-r--r--plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/BlockImpl.java268
-rw-r--r--plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/BlockStatementImpl.java341
-rw-r--r--plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/BooleanLiteralExpressionImpl.java146
-rw-r--r--plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/BooleanUnaryExpressionImpl.java264
-rw-r--r--plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/BoundClassifierImpl.java133
-rw-r--r--plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/BoundElementReferenceImpl.java2638
-rw-r--r--plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/BreakStatementImpl.java202
-rw-r--r--plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/CastExpressionImpl.java430
-rw-r--r--plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/ClassDefinitionImpl.java392
-rw-r--r--plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/ClassExtentExpressionImpl.java319
-rw-r--r--plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/ClassificationExpressionImpl.java422
-rw-r--r--plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/ClassifierDefinitionImpl.java426
-rw-r--r--plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/ClassifierTemplateParameterImpl.java213
-rw-r--r--plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/ClassifyStatementImpl.java448
-rw-r--r--plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/CollectOrIterateExpressionImpl.java39
-rw-r--r--plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/ConcurrentClausesImpl.java141
-rw-r--r--plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/ConditionalLogicalExpressionImpl.java410
-rw-r--r--plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/ConditionalTestExpressionImpl.java504
-rw-r--r--plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/DataTypeDefinitionImpl.java257
-rw-r--r--plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/DoStatementImpl.java355
-rw-r--r--plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/DocumentedElementImpl.java59
-rw-r--r--plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/EffectiveLeftHandSideImpl.java231
-rw-r--r--plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/ElementImportReferenceImpl.java150
-rw-r--r--plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/ElementReferenceImpl.java1894
-rw-r--r--plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/EmptyStatementImpl.java97
-rw-r--r--plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/EnumerationDefinitionImpl.java223
-rw-r--r--plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/EnumerationLiteralNameImpl.java87
-rw-r--r--plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/EqualityExpressionImpl.java345
-rw-r--r--plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/ExpressionImpl.java317
-rw-r--r--plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/ExpressionStatementImpl.java196
-rw-r--r--plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/ExtentOrExpressionImpl.java288
-rw-r--r--plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/ExternalElementReferenceImpl.java2636
-rw-r--r--plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/ExternalEnumerationLiteralReferenceImpl.java313
-rw-r--r--plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/FeatureInvocationExpressionImpl.java311
-rw-r--r--plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/FeatureLeftHandSideImpl.java512
-rw-r--r--plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/FeatureReferenceImpl.java353
-rw-r--r--plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/ForAllOrExistsOrOneExpressionImpl.java39
-rw-r--r--plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/ForStatementImpl.java587
-rw-r--r--plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/FormalParameterImpl.java328
-rw-r--r--plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/IfStatementImpl.java366
-rw-r--r--plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/ImportReferenceImpl.java233
-rw-r--r--plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/ImportedMemberImpl.java332
-rw-r--r--plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/InLineStatementImpl.java144
-rw-r--r--plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/IncrementOrDecrementExpressionImpl.java724
-rw-r--r--plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/InputNamedExpressionImpl.java266
-rw-r--r--plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/InstanceCreationExpressionImpl.java606
-rw-r--r--plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/InternalElementReferenceImpl.java2370
-rw-r--r--plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/InvocationExpressionImpl.java1248
-rw-r--r--plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/IsUniqueExpressionImpl.java39
-rw-r--r--plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/IsolationExpressionImpl.java231
-rw-r--r--plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/LeftHandSideImpl.java525
-rw-r--r--plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/LinkOperationExpressionImpl.java442
-rw-r--r--plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/LiteralExpressionImpl.java175
-rw-r--r--plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/LocalNameDeclarationStatementImpl.java513
-rw-r--r--plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/LogicalExpressionImpl.java421
-rw-r--r--plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/LoopVariableDefinitionImpl.java604
-rw-r--r--plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/MemberDefinitionImpl.java842
-rw-r--r--plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/MemberImpl.java216
-rw-r--r--plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/ModelNamespaceImpl.java481
-rw-r--r--plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/NameBindingImpl.java298
-rw-r--r--plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/NameExpressionImpl.java622
-rw-r--r--plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/NameLeftHandSideImpl.java771
-rw-r--r--plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/NamedExpressionImpl.java152
-rw-r--r--plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/NamedTemplateBindingImpl.java213
-rw-r--r--plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/NamedTupleImpl.java203
-rw-r--r--plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/NamespaceDefinitionImpl.java917
-rw-r--r--plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/NaturalLiteralExpressionImpl.java146
-rw-r--r--plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/NonFinalClauseImpl.java328
-rw-r--r--plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/NonReturnParameterImpl.java45
-rw-r--r--plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/NumericUnaryExpressionImpl.java264
-rw-r--r--plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/OperationDefinitionImpl.java790
-rw-r--r--plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/OutputNamedExpressionImpl.java186
-rw-r--r--plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/PackageDefinitionImpl.java285
-rw-r--r--plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/PackageImportReferenceImpl.java124
-rw-r--r--plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/PositionalTemplateBindingImpl.java214
-rw-r--r--plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/PositionalTupleImpl.java200
-rw-r--r--plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/PropertyAccessExpressionImpl.java437
-rw-r--r--plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/PropertyDefinitionImpl.java449
-rw-r--r--plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/QualifiedNameImpl.java765
-rw-r--r--plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/QualifiedNameListImpl.java122
-rw-r--r--plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/ReceptionDefinitionImpl.java347
-rw-r--r--plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/RelationalExpressionImpl.java323
-rw-r--r--plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/ReturnParameterImpl.java46
-rw-r--r--plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/ReturnStatementImpl.java259
-rw-r--r--plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/SelectOrRejectExpressionImpl.java39
-rw-r--r--plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/SequenceAccessExpressionImpl.java415
-rw-r--r--plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/SequenceConstructionExpressionImpl.java523
-rw-r--r--plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/SequenceElementsImpl.java161
-rw-r--r--plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/SequenceExpansionExpressionImpl.java1107
-rw-r--r--plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/SequenceExpressionListImpl.java321
-rw-r--r--plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/SequenceOperationExpressionImpl.java718
-rw-r--r--plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/SequenceRangeImpl.java356
-rw-r--r--plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/SequenceReductionExpressionImpl.java527
-rw-r--r--plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/ShiftExpressionImpl.java321
-rw-r--r--plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/SignalDefinitionImpl.java223
-rw-r--r--plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/SignalReceptionDefinitionImpl.java146
-rw-r--r--plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/StatementImpl.java559
-rw-r--r--plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/StereotypeAnnotationImpl.java416
-rw-r--r--plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/StringLiteralExpressionImpl.java146
-rw-r--r--plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/SuperInvocationExpressionImpl.java441
-rw-r--r--plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/SwitchClauseImpl.java313
-rw-r--r--plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/SwitchStatementImpl.java546
-rw-r--r--plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/SyntaxElementImpl.java1049
-rw-r--r--plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/TaggedValueImpl.java108
-rw-r--r--plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/TaggedValueListImpl.java60
-rw-r--r--plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/TemplateBindingImpl.java112
-rw-r--r--plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/TemplateParameterSubstitutionImpl.java208
-rw-r--r--plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/ThisExpressionImpl.java231
-rw-r--r--plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/TupleImpl.java586
-rw-r--r--plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/TypedElementDefinitionImpl.java520
-rw-r--r--plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/UnaryExpressionImpl.java195
-rw-r--r--plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/UnboundedLiteralExpressionImpl.java120
-rw-r--r--plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/UnitDefinitionImpl.java426
-rw-r--r--plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/WhileStatementImpl.java355
-rw-r--r--plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/alf.ecore10089
-rw-r--r--plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/util/AlfAdapterFactory.java2730
-rw-r--r--plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/util/AlfResourceFactoryImpl.java44
-rw-r--r--plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/util/AlfResourceImpl.java31
-rw-r--r--plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/util/AlfSwitch.java3905
-rw-r--r--plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/util/AlfValidator.java14397
-rw-r--r--plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/util/AlfXMLProcessor.java53
273 files changed, 250070 insertions, 0 deletions
diff --git a/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/AcceptBlock.java b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/AcceptBlock.java
new file mode 100644
index 00000000000..e3a882cc353
--- /dev/null
+++ b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/AcceptBlock.java
@@ -0,0 +1,190 @@
+/**
+ */
+package org.eclipse.papyrus.uml.alf;
+
+import java.util.Map;
+
+import org.eclipse.emf.common.util.DiagnosticChain;
+import org.eclipse.emf.common.util.EList;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Accept Block</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * A block of an accept statement that accepts one or more signals.
+ * <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.uml.alf.AcceptBlock#getName <em>Name</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.AcceptBlock#getBlock <em>Block</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.AcceptBlock#getSignalNames <em>Signal Names</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.AcceptBlock#getSignal <em>Signal</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getAcceptBlock()
+ * @model
+ * @generated
+ */
+public interface AcceptBlock extends SyntaxElement {
+ /**
+ * Returns the value of the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The local name to which an accepted signal instance will be assigned.
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Name</em>' attribute.
+ * @see #setName(String)
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getAcceptBlock_Name()
+ * @model
+ * @generated
+ */
+ String getName();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.uml.alf.AcceptBlock#getName <em>Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Name</em>' attribute.
+ * @see #getName()
+ * @generated
+ */
+ void setName(String value);
+
+ /**
+ * Returns the value of the '<em><b>Block</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The body of the accept block, executed if one of the named signals is received.
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Block</em>' containment reference.
+ * @see #setBlock(Block)
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getAcceptBlock_Block()
+ * @model containment="true"
+ * @generated
+ */
+ Block getBlock();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.uml.alf.AcceptBlock#getBlock <em>Block</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Block</em>' containment reference.
+ * @see #getBlock()
+ * @generated
+ */
+ void setBlock(Block value);
+
+ /**
+ * Returns the value of the '<em><b>Signal Names</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * A list of names of the signals accepted by this accept block.
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Signal Names</em>' containment reference.
+ * @see #setSignalNames(QualifiedNameList)
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getAcceptBlock_SignalNames()
+ * @model containment="true" required="true"
+ * @generated
+ */
+ QualifiedNameList getSignalNames();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.uml.alf.AcceptBlock#getSignalNames <em>Signal Names</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Signal Names</em>' containment reference.
+ * @see #getSignalNames()
+ * @generated
+ */
+ void setSignalNames(QualifiedNameList value);
+
+ /**
+ * Returns the value of the '<em><b>Signal</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.uml.alf.ElementReference}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The signals denoted by the signal names of the accept block.
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Signal</em>' reference list.
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getAcceptBlock_Signal()
+ * @model transient="true" volatile="true" derived="true" ordered="false"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot derivation='\n self.signalNames.name.referent->select(isSignal())->asSet()'"
+ * @generated
+ */
+ EList<ElementReference> getSignal();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='NameBinding{name = self.name}.toName()'"
+ * @generated
+ */
+ String actualName();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * For a compound accept statement, a local name defined in an accept block
+ * has the accept block as its assigned source before the block associated
+ * with the accept block. The type of the local name is the effective common
+ * ancestor of the specified signals for that accept clause, if one exists,
+ * and it is untyped otherwise.
+ *
+ * Otherwise, the assignments before any block of an accept statement are the
+ * assignments before the accept statement.
+ *
+ * <!-- end-model-doc -->
+ *
+ * @model ordered="false" elementRequired="true"
+ * annotation=
+ * "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n let name = self.actualName() in\n if name = null or element <> self.block then\n self.assignmentsBefore()\n else\n AssignedSource{\n name = name,\n source = self,\n type = self.commonAncestor(self.signal),\n lower = 1,\n upper = 1\n }.update(self.assignmentsBefore())\n endif'"
+ * @generated
+ */
+ EList<AssignedSource> assignmentsBefore(SyntaxElement element);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The signals of an accept block are the referents of the signal names of the accept block.
+ * <!-- end-model-doc -->
+ *
+ * @model
+ * @generated
+ */
+ boolean acceptBlockSignalDerivation(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * All signal names in an accept block must resolve to signals.
+ * <!-- end-model-doc -->
+ *
+ * @model annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n self.signalNames.name->forAll(\n referent->select(isSignal())->size() = 1\n )'"
+ * @generated
+ */
+ boolean acceptBlockSignalNames(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+} // AcceptBlock
diff --git a/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/AcceptStatement.java b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/AcceptStatement.java
new file mode 100644
index 00000000000..567a2feb805
--- /dev/null
+++ b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/AcceptStatement.java
@@ -0,0 +1,302 @@
+/**
+ */
+package org.eclipse.papyrus.uml.alf;
+
+import java.util.Map;
+
+import org.eclipse.emf.common.util.DiagnosticChain;
+import org.eclipse.emf.common.util.EList;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Accept Statement</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * A statement used to accept the receipt of instances of one or more signals.
+ * <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.uml.alf.AcceptStatement#getAcceptBlock <em>Accept Block</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.AcceptStatement#getBehavior <em>Behavior</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.AcceptStatement#isIsSimple <em>Is Simple</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getAcceptStatement()
+ * @model
+ * @generated
+ */
+public interface AcceptStatement extends Statement {
+ /**
+ * Returns the value of the '<em><b>Accept Block</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.uml.alf.AcceptBlock}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * One or more blocks for accepting alternate groups of signals.
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Accept Block</em>' containment reference list.
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getAcceptStatement_AcceptBlock()
+ * @model containment="true" required="true" ordered="false"
+ * @generated
+ */
+ EList<AcceptBlock> getAcceptBlock();
+
+ /**
+ * Returns the value of the '<em><b>Behavior</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The behavior containing the accept statement.
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Behavior</em>' reference.
+ * @see #setBehavior(ElementReference)
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getAcceptStatement_Behavior()
+ * @model transient="true" volatile="true" derived="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot derivation='self.currentScope()'"
+ * @generated
+ */
+ ElementReference getBehavior();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.uml.alf.AcceptStatement#getBehavior <em>Behavior</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Behavior</em>' reference.
+ * @see #getBehavior()
+ * @generated
+ */
+ void setBehavior(ElementReference value);
+
+ /**
+ * Returns the value of the '<em><b>Is Simple</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * Whether the accept statement is simple or not.
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Is Simple</em>' attribute.
+ * @see #setIsSimple(boolean)
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getAcceptStatement_IsSimple()
+ * @model transient="true" volatile="true" derived="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot derivation='let acceptBlocks = self.acceptBlock in\n acceptBlocks->size() = 1 and acceptBlocks->forAll(block = null)'"
+ * @generated
+ */
+ boolean isIsSimple();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.uml.alf.AcceptStatement#isIsSimple <em>Is Simple</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Is Simple</em>' attribute.
+ * @see #isIsSimple()
+ * @generated
+ */
+ void setIsSimple(boolean value);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model ordered="false"
+ * annotation=
+ * "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='let assignmentsAfter = self.Statement_assignmentsAfter() in\n if self.isSimple then\n let acceptBlock : AcceptBlock = self.acceptBlock->any(true) in\n let name = acceptBlock.actualName() in\n if (name = null) then assignmentsAfter\n else \n AssignedSource{\n name = name,\n source = self,\n type = self.commonAncestor(acceptBlock.signal),\n lower = 1,\n upper = 1\n }.update(assignmentsAfter)\n endif\n else\n self.mergeAssignments(self.acceptBlock.block)->\n iterate(\n assignment : AssignedSource; \n assignments : Set(AssignedSource) = assignmentsAfter |\n if self.acceptBlock.actualName()->includes(assignment.name) then \n assignments\n else \n assignment.update(assignments)\n endif\n )\n endif'"
+ * @generated
+ */
+ EList<AssignedSource> assignmentsAfter();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * If the behavior for this accept statement is a subunit, then return the
+ * corresponding stub. Note that, if the original behavior is an Alf
+ * activity definition, the "stub" may be an external operation or activity.
+ * <!-- end-model-doc -->
+ *
+ * @model required="true"
+ * @generated
+ */
+ ElementReference effectiveBehavior();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model required="true"
+ * annotation=
+ * "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n let behavior = self.behavior in\n if behavior = null then null\n else\n let stub = behavior.stub() in\n if stub = null then behavior\n else stub\n endif\n endif'"
+ * @generated
+ */
+ ElementReference effectiveBehavior_();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * An accept statement can only be used within the definition of an active
+ * behavior or the classifier behavior of an active class.
+ * <!-- end-model-doc -->
+ *
+ * @model annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n let behavior = self.effectiveBehavior() in\n behavior <> null and behavior.isActiveBehavior()'"
+ * @generated
+ */
+ boolean acceptStatementContext(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The containing behavior of an accept statement must have receptions for
+ * all signals from all accept blocks of the accept statement. No signal may
+ * be referenced in more than one accept block of an accept statement.
+ * <!-- end-model-doc -->
+ *
+ * @model annotation=
+ * "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n let signals : Bag(ElementReference) = self.acceptBlock.signal in\n let behavior = self.effectiveBehavior() in\n let activeClass = \n if behavior = null then null \n else behavior.activeClass() \n endif \n in\n signals->forAll(s | signals->select(equals(s))->size() = 1) and\n (activeClass = null or -- Let the acceptStatementContext constraint catch a null active class.\n signals->forAll(containedIn(self.receivedSignals(activeClass))))'"
+ * @generated
+ */
+ boolean acceptStatementSignals(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model unique="false" ordered="false" activeClassRequired="true"
+ * @generated
+ */
+ EList<ElementReference> receivedSignals(ElementReference activeClass);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model unique="false" ordered="false" activeClassRequired="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='activeClass.receptions().signal()'"
+ * @generated
+ */
+ EList<ElementReference> receivedSignals_(ElementReference activeClass);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * Any name defined in an accept block of an accept statement must be
+ * unassigned before the accept statement.
+ * <!-- end-model-doc -->
+ *
+ * @model annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n let namesBefore = self.assignmentBefore.name in\n self.acceptBlock.actualName()->excludesAll(namesBefore)'"
+ * @generated
+ */
+ boolean acceptStatementNames(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * A local name specified in the accept block of a simple accept statement
+ * has the accept statement as its assigned source after the accept statement.
+ * The type of the local name is the effective common ancestor of the specified
+ * signals, if one exists, and it is untyped otherwise.
+ * <!-- end-model-doc -->
+ *
+ * @model
+ * @generated
+ */
+ boolean acceptStatementSimpleAcceptLocalName(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * For a compound accept statement, a local name defined in an accept block
+ * has the accept block as its assigned source before the block associated
+ * with the accept block. The type of the local name is the effective common
+ * ancestor of the specified signals for that accept clause, if one exists,
+ * and it is untyped otherwise. However, the local name is considered
+ * unassigned after the accept statement.
+ * <!-- end-model-doc -->
+ *
+ * @model
+ * @generated
+ */
+ boolean acceptStatementCompoundAcceptLocalName(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The assignments before any block of an accept statement are the assignments
+ * before the accept statement.
+ * <!-- end-model-doc -->
+ *
+ * @model
+ * @generated
+ */
+ boolean acceptStatementAssignmentsBefore(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * If a name is assigned in any block of an accept statement, then the
+ * assigned source of the name after the accept statement is the accept
+ * statement itself.
+ * <!-- end-model-doc -->
+ *
+ * @model
+ * @generated
+ */
+ boolean acceptStatementAssignmentsAfter(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * If a name is unassigned before an accept statement and assigned in any
+ * block of an accept statement, then it must be assigned in every block.
+ * <!-- end-model-doc -->
+ *
+ * @model annotation=
+ * "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n if self.acceptBlock->size() = 1 then true\n else\n let namesBefore = self.assignmentBefore.name in\n let newNames : Bag(String) = \n self.acceptBlock.block.newAssignments().name in\n newNames->forAll(name | \n namesBefore->excludes(name) implies \n newNames->count(name) = self.acceptBlock->size()\n )\n endif'"
+ * @generated
+ */
+ boolean acceptStatementNewAssignments(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * An accept statement is simple if it has exactly one accept block and that
+ * accept block does not have a block.
+ * <!-- end-model-doc -->
+ *
+ * @model
+ * @generated
+ */
+ boolean acceptStatementIsSimpleDerivation(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The enclosing statement for all statements in the blocks of all accept
+ * blocks of an accept statement is the accept statement.
+ * <!-- end-model-doc -->
+ *
+ * @model
+ * @generated
+ */
+ boolean acceptStatementEnclosedStatements(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+} // AcceptStatement
diff --git a/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/ActiveClassDefinition.java b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/ActiveClassDefinition.java
new file mode 100644
index 00000000000..3bab1cb59ed
--- /dev/null
+++ b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/ActiveClassDefinition.java
@@ -0,0 +1,85 @@
+/**
+ */
+package org.eclipse.papyrus.uml.alf;
+
+import java.util.Map;
+
+import org.eclipse.emf.common.util.DiagnosticChain;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Active Class Definition</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * The definition of an active class.
+ * <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.uml.alf.ActiveClassDefinition#getClassifierBehavior <em>Classifier Behavior</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getActiveClassDefinition()
+ * @model
+ * @generated
+ */
+public interface ActiveClassDefinition extends ClassDefinition {
+ /**
+ * Returns the value of the '<em><b>Classifier Behavior</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The definition of an activity (which may be a stub) to act as the classifier behavior of the active class.
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Classifier Behavior</em>' containment reference.
+ * @see #setClassifierBehavior(ActivityDefinition)
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getActiveClassDefinition_ClassifierBehavior()
+ * @model containment="true"
+ * @generated
+ */
+ ActivityDefinition getClassifierBehavior();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.uml.alf.ActiveClassDefinition#getClassifierBehavior <em>Classifier Behavior</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Classifier Behavior</em>' containment reference.
+ * @see #getClassifierBehavior()
+ * @generated
+ */
+ void setClassifierBehavior(ActivityDefinition value);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * Returns true if the given unit definition matches this active class definition
+ * considered as a class definition and the subunit is for an active class definition.
+ * <!-- end-model-doc -->
+ *
+ * @model required="true" unitRequired="true"
+ * annotation=
+ * "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n /* NOTE: ClassDefinition::matchForStub would not allow an ActiveClassDefinition. \052/\n self.ClassifierDefinition_matchForStub(unit) and\n unit.definition.oclIsKindOf(ActiveClassDefinition)'"
+ * @generated
+ */
+ boolean matchForStub(UnitDefinition unit);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * If an active class definition is not abstract, then it must have a classifier behavior.
+ * <!-- end-model-doc -->
+ *
+ * @model annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n not self.isAbstract implies self.classifierBehavior <> null'"
+ * @generated
+ */
+ boolean activeClassDefinitionClassifierBehavior(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+} // ActiveClassDefinition
diff --git a/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/ActivityDefinition.java b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/ActivityDefinition.java
new file mode 100644
index 00000000000..c4b01d69b61
--- /dev/null
+++ b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/ActivityDefinition.java
@@ -0,0 +1,162 @@
+/**
+ */
+package org.eclipse.papyrus.uml.alf;
+
+import java.util.Map;
+
+import org.eclipse.emf.common.util.DiagnosticChain;
+import org.eclipse.emf.common.util.EList;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Activity Definition</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * The definition of an activity, with any formal parameters defined as owned members.
+ * <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.uml.alf.ActivityDefinition#getBody <em>Body</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getActivityDefinition()
+ * @model
+ * @generated
+ */
+public interface ActivityDefinition extends ClassifierDefinition {
+ /**
+ * Returns the value of the '<em><b>Body</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The sequence of statements that defines the behavior of the activity (empty for a stub).
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Body</em>' containment reference.
+ * @see #setBody(Block)
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getActivityDefinition_Body()
+ * @model containment="true"
+ * @generated
+ */
+ Block getBody();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.uml.alf.ActivityDefinition#getBody <em>Body</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Body</em>' containment reference.
+ * @see #getBody()
+ * @generated
+ */
+ void setBody(Block value);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The assignments before the body of an activity definition include an
+ * assigned source for each parameter of the activity definition. The
+ * source for out parameters is actually null, however, to indicate that it
+ * has not been assigned yet (but that the name should not otherwise be used
+ * as a local name).
+ * <!-- end-model-doc -->
+ *
+ * @model ordered="false" elementRequired="true"
+ * annotation=
+ * "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n if self.body <> element then Set(AssignedSource){}\n else\n self.parameters()->collect(parameter |\n AssignedSource{\n name = parameter.actualName(),\n source = if parameter.direction = \'out\' then null else parameter endif,\n type = parameter.typePart.type,\n upper = parameter.typePart.upper,\n lower = parameter.typePart.lower\n }\n )\n endif'"
+ * @generated
+ */
+ EList<AssignedSource> assignmentsBefore(SyntaxElement element);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * This is necessary because, for Xtext parsing, ActiveClassDefinition::classifierBehavior is
+ * composite and the classifierBehavior is not also added as a member of its active class.
+ * <!-- end-model-doc -->
+ *
+ * @model annotation=
+ * "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n let owner = self.oclContainer() in\n if owner.oclIsKindOf(ActiveClassDefinition) and \n owner.oclAsType(ActiveClassDefinition).classifierBehavior = self then\n owner.oclAsType(ActiveClassDefinition).toReference()\n else\n self.NamespaceDefinition_outerScope()\n endif'"
+ * @generated
+ */
+ ElementReference outerScope();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * In addition to the annotations allowed for classifiers in general, an activity definition allows
+ *
+ * @primitive annotations and any stereotype whose metaclass is consistent with Activity.
+ * <!-- end-model-doc -->
+ * @model required="true" annotationRequired="true"
+ * annotation=
+ * "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n /* TODO: Allow activity stereotype annotations. \052/\n self.ClassifierDefinition_annotationAllowed(annotation) or\n annotation.stereotypeName.pathName = \'primitive\''"
+ * @generated
+ */
+ boolean annotationAllowed(StereotypeAnnotation annotation);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * Returns true if the given unit definition matches this activity definition considered
+ * as a classifier definition and the subunit is for an activity definition. In addition,
+ * the subunit definition must have formal parameters that match each of the formal parameters
+ * of the stub definition, in order. Two formal parameters match if they have the same
+ * direction, name, multiplicity bounds, ordering, uniqueness and type reference.
+ * <!-- end-model-doc -->
+ *
+ * @model required="true" unitRequired="true"
+ * annotation=
+ * "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n self.ClassifierDefinition_matchForStub(unit) and\n let definition = unit.definition in\n definition.oclIsKindOf(ActivityDefinition) and\n let parameters = self.parameters() in\n let otherParameters = definition.parameters() in\n parameters->size() = otherParameters->size() and \n Sequence{1 .. parameters->size()}->forAll(i | \n parameters->at(i).matches(otherParameters->at(i))\n ) and\n let returnParameter = self.returnParameter() in\n let otherReturnParameter = definition.returnParameter() in\n returnParameter = null and otherReturnParameter = null or\n returnParameter <> null and returnParameter.matches(otherReturnParameter)'"
+ * @generated
+ */
+ boolean matchForStub(UnitDefinition unit);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * Return true if the given member is either an ActivityDefinition or an
+ * imported member whose referent is an ActivityDefinition or an Activity.
+ * <!-- end-model-doc -->
+ *
+ * @model required="true" memberRequired="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='member.isActivity()'"
+ * @generated
+ */
+ boolean isSameKindAs(ElementReference member);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * An activity definition may not have a specialization list.
+ * <!-- end-model-doc -->
+ *
+ * @model annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n self.specialization = null'"
+ * @generated
+ */
+ boolean activityDefinitionSpecialization(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * If an activity definition is primitive, then it must have a body that is empty.
+ * <!-- end-model-doc -->
+ *
+ * @model annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n self.isPrimitive implies self.body = null'"
+ * @generated
+ */
+ boolean activityDefinitionPrimitive(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+} // ActivityDefinition
diff --git a/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/AlfFactory.java b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/AlfFactory.java
new file mode 100644
index 00000000000..886fb25da90
--- /dev/null
+++ b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/AlfFactory.java
@@ -0,0 +1,1176 @@
+/**
+ */
+package org.eclipse.papyrus.uml.alf;
+
+import org.eclipse.emf.ecore.EFactory;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Factory</b> for the model.
+ * It provides a create method for each non-abstract class of the model.
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage
+ * @generated
+ */
+public interface AlfFactory extends EFactory {
+ /**
+ * The singleton instance of the factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ AlfFactory eINSTANCE = org.eclipse.papyrus.uml.alf.impl.AlfFactoryImpl.init();
+
+ /**
+ * Returns a new object of class '<em>Assigned Source</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return a new object of class '<em>Assigned Source</em>'.
+ * @generated
+ */
+ AssignedSource createAssignedSource();
+
+ /**
+ * Returns a new object of class '<em>Internal Element Reference</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return a new object of class '<em>Internal Element Reference</em>'.
+ * @generated
+ */
+ InternalElementReference createInternalElementReference();
+
+ /**
+ * Returns a new object of class '<em>External Element Reference</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return a new object of class '<em>External Element Reference</em>'.
+ * @generated
+ */
+ ExternalElementReference createExternalElementReference();
+
+ /**
+ * Returns a new object of class '<em>External Enumeration Literal Reference</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return a new object of class '<em>External Enumeration Literal Reference</em>'.
+ * @generated
+ */
+ ExternalEnumerationLiteralReference createExternalEnumerationLiteralReference();
+
+ /**
+ * Returns a new object of class '<em>Bound Element Reference</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return a new object of class '<em>Bound Element Reference</em>'.
+ * @generated
+ */
+ BoundElementReference createBoundElementReference();
+
+ /**
+ * Returns a new object of class '<em>Sequence Expansion Expression</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return a new object of class '<em>Sequence Expansion Expression</em>'.
+ * @generated
+ */
+ SequenceExpansionExpression createSequenceExpansionExpression();
+
+ /**
+ * Returns a new object of class '<em>Assignable Element Reference</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return a new object of class '<em>Assignable Element Reference</em>'.
+ * @generated
+ */
+ AssignableElementReference createAssignableElementReference();
+
+ /**
+ * Returns a new object of class '<em>Extent Or Expression</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return a new object of class '<em>Extent Or Expression</em>'.
+ * @generated
+ */
+ ExtentOrExpression createExtentOrExpression();
+
+ /**
+ * Returns a new object of class '<em>Qualified Name</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return a new object of class '<em>Qualified Name</em>'.
+ * @generated
+ */
+ QualifiedName createQualifiedName();
+
+ /**
+ * Returns a new object of class '<em>Feature Reference</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return a new object of class '<em>Feature Reference</em>'.
+ * @generated
+ */
+ FeatureReference createFeatureReference();
+
+ /**
+ * Returns a new object of class '<em>Name Binding</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return a new object of class '<em>Name Binding</em>'.
+ * @generated
+ */
+ NameBinding createNameBinding();
+
+ /**
+ * Returns a new object of class '<em>Named Template Binding</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return a new object of class '<em>Named Template Binding</em>'.
+ * @generated
+ */
+ NamedTemplateBinding createNamedTemplateBinding();
+
+ /**
+ * Returns a new object of class '<em>Template Parameter Substitution</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return a new object of class '<em>Template Parameter Substitution</em>'.
+ * @generated
+ */
+ TemplateParameterSubstitution createTemplateParameterSubstitution();
+
+ /**
+ * Returns a new object of class '<em>Numeric Unary Expression</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return a new object of class '<em>Numeric Unary Expression</em>'.
+ * @generated
+ */
+ NumericUnaryExpression createNumericUnaryExpression();
+
+ /**
+ * Returns a new object of class '<em>For All Or Exists Or One Expression</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return a new object of class '<em>For All Or Exists Or One Expression</em>'.
+ * @generated
+ */
+ ForAllOrExistsOrOneExpression createForAllOrExistsOrOneExpression();
+
+ /**
+ * Returns a new object of class '<em>Isolation Expression</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return a new object of class '<em>Isolation Expression</em>'.
+ * @generated
+ */
+ IsolationExpression createIsolationExpression();
+
+ /**
+ * Returns a new object of class '<em>Boolean Unary Expression</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return a new object of class '<em>Boolean Unary Expression</em>'.
+ * @generated
+ */
+ BooleanUnaryExpression createBooleanUnaryExpression();
+
+ /**
+ * Returns a new object of class '<em>Cast Expression</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return a new object of class '<em>Cast Expression</em>'.
+ * @generated
+ */
+ CastExpression createCastExpression();
+
+ /**
+ * Returns a new object of class '<em>Positional Tuple</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return a new object of class '<em>Positional Tuple</em>'.
+ * @generated
+ */
+ PositionalTuple createPositionalTuple();
+
+ /**
+ * Returns a new object of class '<em>Named Expression</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return a new object of class '<em>Named Expression</em>'.
+ * @generated
+ */
+ NamedExpression createNamedExpression();
+
+ /**
+ * Returns a new object of class '<em>Input Named Expression</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return a new object of class '<em>Input Named Expression</em>'.
+ * @generated
+ */
+ InputNamedExpression createInputNamedExpression();
+
+ /**
+ * Returns a new object of class '<em>Output Named Expression</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return a new object of class '<em>Output Named Expression</em>'.
+ * @generated
+ */
+ OutputNamedExpression createOutputNamedExpression();
+
+ /**
+ * Returns a new object of class '<em>Sequence Access Expression</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return a new object of class '<em>Sequence Access Expression</em>'.
+ * @generated
+ */
+ SequenceAccessExpression createSequenceAccessExpression();
+
+ /**
+ * Returns a new object of class '<em>String Literal Expression</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return a new object of class '<em>String Literal Expression</em>'.
+ * @generated
+ */
+ StringLiteralExpression createStringLiteralExpression();
+
+ /**
+ * Returns a new object of class '<em>Sequence Operation Expression</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return a new object of class '<em>Sequence Operation Expression</em>'.
+ * @generated
+ */
+ SequenceOperationExpression createSequenceOperationExpression();
+
+ /**
+ * Returns a new object of class '<em>Select Or Reject Expression</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return a new object of class '<em>Select Or Reject Expression</em>'.
+ * @generated
+ */
+ SelectOrRejectExpression createSelectOrRejectExpression();
+
+ /**
+ * Returns a new object of class '<em>Class Extent Expression</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return a new object of class '<em>Class Extent Expression</em>'.
+ * @generated
+ */
+ ClassExtentExpression createClassExtentExpression();
+
+ /**
+ * Returns a new object of class '<em>Positional Template Binding</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return a new object of class '<em>Positional Template Binding</em>'.
+ * @generated
+ */
+ PositionalTemplateBinding createPositionalTemplateBinding();
+
+ /**
+ * Returns a new object of class '<em>Conditional Logical Expression</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return a new object of class '<em>Conditional Logical Expression</em>'.
+ * @generated
+ */
+ ConditionalLogicalExpression createConditionalLogicalExpression();
+
+ /**
+ * Returns a new object of class '<em>Link Operation Expression</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return a new object of class '<em>Link Operation Expression</em>'.
+ * @generated
+ */
+ LinkOperationExpression createLinkOperationExpression();
+
+ /**
+ * Returns a new object of class '<em>Equality Expression</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return a new object of class '<em>Equality Expression</em>'.
+ * @generated
+ */
+ EqualityExpression createEqualityExpression();
+
+ /**
+ * Returns a new object of class '<em>Assignment Expression</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return a new object of class '<em>Assignment Expression</em>'.
+ * @generated
+ */
+ AssignmentExpression createAssignmentExpression();
+
+ /**
+ * Returns a new object of class '<em>Logical Expression</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return a new object of class '<em>Logical Expression</em>'.
+ * @generated
+ */
+ LogicalExpression createLogicalExpression();
+
+ /**
+ * Returns a new object of class '<em>Sequence Construction Expression</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return a new object of class '<em>Sequence Construction Expression</em>'.
+ * @generated
+ */
+ SequenceConstructionExpression createSequenceConstructionExpression();
+
+ /**
+ * Returns a new object of class '<em>Collect Or Iterate Expression</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return a new object of class '<em>Collect Or Iterate Expression</em>'.
+ * @generated
+ */
+ CollectOrIterateExpression createCollectOrIterateExpression();
+
+ /**
+ * Returns a new object of class '<em>Is Unique Expression</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return a new object of class '<em>Is Unique Expression</em>'.
+ * @generated
+ */
+ IsUniqueExpression createIsUniqueExpression();
+
+ /**
+ * Returns a new object of class '<em>Arithmetic Expression</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return a new object of class '<em>Arithmetic Expression</em>'.
+ * @generated
+ */
+ ArithmeticExpression createArithmeticExpression();
+
+ /**
+ * Returns a new object of class '<em>Feature Left Hand Side</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return a new object of class '<em>Feature Left Hand Side</em>'.
+ * @generated
+ */
+ FeatureLeftHandSide createFeatureLeftHandSide();
+
+ /**
+ * Returns a new object of class '<em>Conditional Test Expression</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return a new object of class '<em>Conditional Test Expression</em>'.
+ * @generated
+ */
+ ConditionalTestExpression createConditionalTestExpression();
+
+ /**
+ * Returns a new object of class '<em>Instance Creation Expression</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return a new object of class '<em>Instance Creation Expression</em>'.
+ * @generated
+ */
+ InstanceCreationExpression createInstanceCreationExpression();
+
+ /**
+ * Returns a new object of class '<em>Property Access Expression</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return a new object of class '<em>Property Access Expression</em>'.
+ * @generated
+ */
+ PropertyAccessExpression createPropertyAccessExpression();
+
+ /**
+ * Returns a new object of class '<em>Name Expression</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return a new object of class '<em>Name Expression</em>'.
+ * @generated
+ */
+ NameExpression createNameExpression();
+
+ /**
+ * Returns a new object of class '<em>Bit String Unary Expression</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return a new object of class '<em>Bit String Unary Expression</em>'.
+ * @generated
+ */
+ BitStringUnaryExpression createBitStringUnaryExpression();
+
+ /**
+ * Returns a new object of class '<em>Feature Invocation Expression</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return a new object of class '<em>Feature Invocation Expression</em>'.
+ * @generated
+ */
+ FeatureInvocationExpression createFeatureInvocationExpression();
+
+ /**
+ * Returns a new object of class '<em>Behavior Invocation Expression</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return a new object of class '<em>Behavior Invocation Expression</em>'.
+ * @generated
+ */
+ BehaviorInvocationExpression createBehaviorInvocationExpression();
+
+ /**
+ * Returns a new object of class '<em>Shift Expression</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return a new object of class '<em>Shift Expression</em>'.
+ * @generated
+ */
+ ShiftExpression createShiftExpression();
+
+ /**
+ * Returns a new object of class '<em>Unbounded Literal Expression</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return a new object of class '<em>Unbounded Literal Expression</em>'.
+ * @generated
+ */
+ UnboundedLiteralExpression createUnboundedLiteralExpression();
+
+ /**
+ * Returns a new object of class '<em>This Expression</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return a new object of class '<em>This Expression</em>'.
+ * @generated
+ */
+ ThisExpression createThisExpression();
+
+ /**
+ * Returns a new object of class '<em>Classification Expression</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return a new object of class '<em>Classification Expression</em>'.
+ * @generated
+ */
+ ClassificationExpression createClassificationExpression();
+
+ /**
+ * Returns a new object of class '<em>Super Invocation Expression</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return a new object of class '<em>Super Invocation Expression</em>'.
+ * @generated
+ */
+ SuperInvocationExpression createSuperInvocationExpression();
+
+ /**
+ * Returns a new object of class '<em>Increment Or Decrement Expression</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return a new object of class '<em>Increment Or Decrement Expression</em>'.
+ * @generated
+ */
+ IncrementOrDecrementExpression createIncrementOrDecrementExpression();
+
+ /**
+ * Returns a new object of class '<em>Boolean Literal Expression</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return a new object of class '<em>Boolean Literal Expression</em>'.
+ * @generated
+ */
+ BooleanLiteralExpression createBooleanLiteralExpression();
+
+ /**
+ * Returns a new object of class '<em>Named Tuple</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return a new object of class '<em>Named Tuple</em>'.
+ * @generated
+ */
+ NamedTuple createNamedTuple();
+
+ /**
+ * Returns a new object of class '<em>Natural Literal Expression</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return a new object of class '<em>Natural Literal Expression</em>'.
+ * @generated
+ */
+ NaturalLiteralExpression createNaturalLiteralExpression();
+
+ /**
+ * Returns a new object of class '<em>Sequence Range</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return a new object of class '<em>Sequence Range</em>'.
+ * @generated
+ */
+ SequenceRange createSequenceRange();
+
+ /**
+ * Returns a new object of class '<em>Name Left Hand Side</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return a new object of class '<em>Name Left Hand Side</em>'.
+ * @generated
+ */
+ NameLeftHandSide createNameLeftHandSide();
+
+ /**
+ * Returns a new object of class '<em>Effective Left Hand Side</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return a new object of class '<em>Effective Left Hand Side</em>'.
+ * @generated
+ */
+ EffectiveLeftHandSide createEffectiveLeftHandSide();
+
+ /**
+ * Returns a new object of class '<em>Sequence Reduction Expression</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return a new object of class '<em>Sequence Reduction Expression</em>'.
+ * @generated
+ */
+ SequenceReductionExpression createSequenceReductionExpression();
+
+ /**
+ * Returns a new object of class '<em>Sequence Expression List</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return a new object of class '<em>Sequence Expression List</em>'.
+ * @generated
+ */
+ SequenceExpressionList createSequenceExpressionList();
+
+ /**
+ * Returns a new object of class '<em>Relational Expression</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return a new object of class '<em>Relational Expression</em>'.
+ * @generated
+ */
+ RelationalExpression createRelationalExpression();
+
+ /**
+ * Returns a new object of class '<em>Local Name Declaration Statement</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return a new object of class '<em>Local Name Declaration Statement</em>'.
+ * @generated
+ */
+ LocalNameDeclarationStatement createLocalNameDeclarationStatement();
+
+ /**
+ * Returns a new object of class '<em>Assignable Local Name Declaration</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return a new object of class '<em>Assignable Local Name Declaration</em>'.
+ * @generated
+ */
+ AssignableLocalNameDeclaration createAssignableLocalNameDeclaration();
+
+ /**
+ * Returns a new object of class '<em>Annotation</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return a new object of class '<em>Annotation</em>'.
+ * @generated
+ */
+ Annotation createAnnotation();
+
+ /**
+ * Returns a new object of class '<em>Qualified Name List</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return a new object of class '<em>Qualified Name List</em>'.
+ * @generated
+ */
+ QualifiedNameList createQualifiedNameList();
+
+ /**
+ * Returns a new object of class '<em>Non Final Clause</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return a new object of class '<em>Non Final Clause</em>'.
+ * @generated
+ */
+ NonFinalClause createNonFinalClause();
+
+ /**
+ * Returns a new object of class '<em>Block</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return a new object of class '<em>Block</em>'.
+ * @generated
+ */
+ Block createBlock();
+
+ /**
+ * Returns a new object of class '<em>Block Statement</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return a new object of class '<em>Block Statement</em>'.
+ * @generated
+ */
+ BlockStatement createBlockStatement();
+
+ /**
+ * Returns a new object of class '<em>Do Statement</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return a new object of class '<em>Do Statement</em>'.
+ * @generated
+ */
+ DoStatement createDoStatement();
+
+ /**
+ * Returns a new object of class '<em>Concurrent Clauses</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return a new object of class '<em>Concurrent Clauses</em>'.
+ * @generated
+ */
+ ConcurrentClauses createConcurrentClauses();
+
+ /**
+ * Returns a new object of class '<em>Break Statement</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return a new object of class '<em>Break Statement</em>'.
+ * @generated
+ */
+ BreakStatement createBreakStatement();
+
+ /**
+ * Returns a new object of class '<em>Expression Statement</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return a new object of class '<em>Expression Statement</em>'.
+ * @generated
+ */
+ ExpressionStatement createExpressionStatement();
+
+ /**
+ * Returns a new object of class '<em>Classify Statement</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return a new object of class '<em>Classify Statement</em>'.
+ * @generated
+ */
+ ClassifyStatement createClassifyStatement();
+
+ /**
+ * Returns a new object of class '<em>For Statement</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return a new object of class '<em>For Statement</em>'.
+ * @generated
+ */
+ ForStatement createForStatement();
+
+ /**
+ * Returns a new object of class '<em>Loop Variable Definition</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return a new object of class '<em>Loop Variable Definition</em>'.
+ * @generated
+ */
+ LoopVariableDefinition createLoopVariableDefinition();
+
+ /**
+ * Returns a new object of class '<em>If Statement</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return a new object of class '<em>If Statement</em>'.
+ * @generated
+ */
+ IfStatement createIfStatement();
+
+ /**
+ * Returns a new object of class '<em>Switch Statement</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return a new object of class '<em>Switch Statement</em>'.
+ * @generated
+ */
+ SwitchStatement createSwitchStatement();
+
+ /**
+ * Returns a new object of class '<em>Switch Clause</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return a new object of class '<em>Switch Clause</em>'.
+ * @generated
+ */
+ SwitchClause createSwitchClause();
+
+ /**
+ * Returns a new object of class '<em>While Statement</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return a new object of class '<em>While Statement</em>'.
+ * @generated
+ */
+ WhileStatement createWhileStatement();
+
+ /**
+ * Returns a new object of class '<em>Return Statement</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return a new object of class '<em>Return Statement</em>'.
+ * @generated
+ */
+ ReturnStatement createReturnStatement();
+
+ /**
+ * Returns a new object of class '<em>In Line Statement</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return a new object of class '<em>In Line Statement</em>'.
+ * @generated
+ */
+ InLineStatement createInLineStatement();
+
+ /**
+ * Returns a new object of class '<em>Accept Statement</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return a new object of class '<em>Accept Statement</em>'.
+ * @generated
+ */
+ AcceptStatement createAcceptStatement();
+
+ /**
+ * Returns a new object of class '<em>Accept Block</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return a new object of class '<em>Accept Block</em>'.
+ * @generated
+ */
+ AcceptBlock createAcceptBlock();
+
+ /**
+ * Returns a new object of class '<em>Empty Statement</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return a new object of class '<em>Empty Statement</em>'.
+ * @generated
+ */
+ EmptyStatement createEmptyStatement();
+
+ /**
+ * Returns a new object of class '<em>Model Namespace</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return a new object of class '<em>Model Namespace</em>'.
+ * @generated
+ */
+ ModelNamespace createModelNamespace();
+
+ /**
+ * Returns a new object of class '<em>Namespace Definition</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return a new object of class '<em>Namespace Definition</em>'.
+ * @generated
+ */
+ NamespaceDefinition createNamespaceDefinition();
+
+ /**
+ * Returns a new object of class '<em>Stereotype Annotation</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return a new object of class '<em>Stereotype Annotation</em>'.
+ * @generated
+ */
+ StereotypeAnnotation createStereotypeAnnotation();
+
+ /**
+ * Returns a new object of class '<em>Tagged Value List</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return a new object of class '<em>Tagged Value List</em>'.
+ * @generated
+ */
+ TaggedValueList createTaggedValueList();
+
+ /**
+ * Returns a new object of class '<em>Tagged Value</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return a new object of class '<em>Tagged Value</em>'.
+ * @generated
+ */
+ TaggedValue createTaggedValue();
+
+ /**
+ * Returns a new object of class '<em>Unit Definition</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return a new object of class '<em>Unit Definition</em>'.
+ * @generated
+ */
+ UnitDefinition createUnitDefinition();
+
+ /**
+ * Returns a new object of class '<em>Imported Member</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return a new object of class '<em>Imported Member</em>'.
+ * @generated
+ */
+ ImportedMember createImportedMember();
+
+ /**
+ * Returns a new object of class '<em>Enumeration Literal Name</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return a new object of class '<em>Enumeration Literal Name</em>'.
+ * @generated
+ */
+ EnumerationLiteralName createEnumerationLiteralName();
+
+ /**
+ * Returns a new object of class '<em>Operation Definition</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return a new object of class '<em>Operation Definition</em>'.
+ * @generated
+ */
+ OperationDefinition createOperationDefinition();
+
+ /**
+ * Returns a new object of class '<em>Association Definition</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return a new object of class '<em>Association Definition</em>'.
+ * @generated
+ */
+ AssociationDefinition createAssociationDefinition();
+
+ /**
+ * Returns a new object of class '<em>Class Definition</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return a new object of class '<em>Class Definition</em>'.
+ * @generated
+ */
+ ClassDefinition createClassDefinition();
+
+ /**
+ * Returns a new object of class '<em>Typed Element Definition</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return a new object of class '<em>Typed Element Definition</em>'.
+ * @generated
+ */
+ TypedElementDefinition createTypedElementDefinition();
+
+ /**
+ * Returns a new object of class '<em>Data Type Definition</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return a new object of class '<em>Data Type Definition</em>'.
+ * @generated
+ */
+ DataTypeDefinition createDataTypeDefinition();
+
+ /**
+ * Returns a new object of class '<em>Package Definition</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return a new object of class '<em>Package Definition</em>'.
+ * @generated
+ */
+ PackageDefinition createPackageDefinition();
+
+ /**
+ * Returns a new object of class '<em>Property Definition</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return a new object of class '<em>Property Definition</em>'.
+ * @generated
+ */
+ PropertyDefinition createPropertyDefinition();
+
+ /**
+ * Returns a new object of class '<em>Signal Definition</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return a new object of class '<em>Signal Definition</em>'.
+ * @generated
+ */
+ SignalDefinition createSignalDefinition();
+
+ /**
+ * Returns a new object of class '<em>Active Class Definition</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return a new object of class '<em>Active Class Definition</em>'.
+ * @generated
+ */
+ ActiveClassDefinition createActiveClassDefinition();
+
+ /**
+ * Returns a new object of class '<em>Activity Definition</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return a new object of class '<em>Activity Definition</em>'.
+ * @generated
+ */
+ ActivityDefinition createActivityDefinition();
+
+ /**
+ * Returns a new object of class '<em>Element Import Reference</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return a new object of class '<em>Element Import Reference</em>'.
+ * @generated
+ */
+ ElementImportReference createElementImportReference();
+
+ /**
+ * Returns a new object of class '<em>Signal Reception Definition</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return a new object of class '<em>Signal Reception Definition</em>'.
+ * @generated
+ */
+ SignalReceptionDefinition createSignalReceptionDefinition();
+
+ /**
+ * Returns a new object of class '<em>Enumeration Definition</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return a new object of class '<em>Enumeration Definition</em>'.
+ * @generated
+ */
+ EnumerationDefinition createEnumerationDefinition();
+
+ /**
+ * Returns a new object of class '<em>Package Import Reference</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return a new object of class '<em>Package Import Reference</em>'.
+ * @generated
+ */
+ PackageImportReference createPackageImportReference();
+
+ /**
+ * Returns a new object of class '<em>Classifier Template Parameter</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return a new object of class '<em>Classifier Template Parameter</em>'.
+ * @generated
+ */
+ ClassifierTemplateParameter createClassifierTemplateParameter();
+
+ /**
+ * Returns a new object of class '<em>Formal Parameter</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return a new object of class '<em>Formal Parameter</em>'.
+ * @generated
+ */
+ FormalParameter createFormalParameter();
+
+ /**
+ * Returns a new object of class '<em>Reception Definition</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return a new object of class '<em>Reception Definition</em>'.
+ * @generated
+ */
+ ReceptionDefinition createReceptionDefinition();
+
+ /**
+ * Returns a new object of class '<em>Member</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return a new object of class '<em>Member</em>'.
+ * @generated
+ */
+ Member createMember();
+
+ /**
+ * Returns a new object of class '<em>Annotated Statement</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return a new object of class '<em>Annotated Statement</em>'.
+ * @generated
+ */
+ AnnotatedStatement createAnnotatedStatement();
+
+ /**
+ * Returns a new object of class '<em>Bound Classifier</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return a new object of class '<em>Bound Classifier</em>'.
+ * @generated
+ */
+ BoundClassifier createBoundClassifier();
+
+ /**
+ * Returns a new object of class '<em>Return Parameter</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return a new object of class '<em>Return Parameter</em>'.
+ * @generated
+ */
+ ReturnParameter createReturnParameter();
+
+ /**
+ * Returns a new object of class '<em>Non Return Parameter</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return a new object of class '<em>Non Return Parameter</em>'.
+ * @generated
+ */
+ NonReturnParameter createNonReturnParameter();
+
+ /**
+ * Returns a new object of class '<em>Any Type</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return a new object of class '<em>Any Type</em>'.
+ * @generated
+ */
+ AnyType createAnyType();
+
+ /**
+ * Returns the package supported by this factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the package supported by this factory.
+ * @generated
+ */
+ AlfPackage getAlfPackage();
+
+} // AlfFactory
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
new file mode 100644
index 00000000000..f83dd6d0726
--- /dev/null
+++ b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/AlfPackage.java
@@ -0,0 +1,115425 @@
+/**
+ */
+package org.eclipse.papyrus.uml.alf;
+
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EOperation;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.EReference;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Package</b> for the model.
+ * It contains accessors for the meta objects to represent
+ * <ul>
+ * <li>each class,</li>
+ * <li>each feature of each class,</li>
+ * <li>each operation of each class,</li>
+ * <li>each enum,</li>
+ * <li>and each data type</li>
+ * </ul>
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.uml.alf.AlfFactory
+ * @model kind="package"
+ * annotation="http://www.eclipse.org/OCL/Import ecore='http://www.eclipse.org/emf/2002/Ecore' types='http://www.eclipse.org/uml2/5.0.0/Types' uml='http://www.eclipse.org/uml2/5.0.0/UML'"
+ * annotation=
+ * "http://www.eclipse.org/emf/2002/Ecore invocationDelegates='http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot' settingDelegates='http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot' validationDelegates='http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot'"
+ * @generated
+ */
+public interface AlfPackage extends EPackage {
+ /**
+ * The package name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ String eNAME = "alf";
+
+ /**
+ * The package namespace URI.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ String eNS_URI = "http://www.omg.org/spec/ALF/20120827";
+
+ /**
+ * The package namespace name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ String eNS_PREFIX = "alf";
+
+ /**
+ * The singleton instance of the package.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ AlfPackage eINSTANCE = org.eclipse.papyrus.uml.alf.impl.AlfPackageImpl.init();
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.uml.alf.impl.AssignedSourceImpl <em>Assigned Source</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.uml.alf.impl.AssignedSourceImpl
+ * @see org.eclipse.papyrus.uml.alf.impl.AlfPackageImpl#getAssignedSource()
+ * @generated
+ */
+ int ASSIGNED_SOURCE = 0;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSIGNED_SOURCE__NAME = 0;
+
+ /**
+ * The feature id for the '<em><b>Source</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSIGNED_SOURCE__SOURCE = 1;
+
+ /**
+ * The feature id for the '<em><b>Upper</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSIGNED_SOURCE__UPPER = 2;
+
+ /**
+ * The feature id for the '<em><b>Lower</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSIGNED_SOURCE__LOWER = 3;
+
+ /**
+ * The feature id for the '<em><b>Type</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSIGNED_SOURCE__TYPE = 4;
+
+ /**
+ * The feature id for the '<em><b>Is Parallel Local Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSIGNED_SOURCE__IS_PARALLEL_LOCAL_NAME = 5;
+
+ /**
+ * The number of structural features of the '<em>Assigned Source</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSIGNED_SOURCE_FEATURE_COUNT = 6;
+
+ /**
+ * The operation id for the '<em>Is New</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSIGNED_SOURCE___IS_NEW__ELIST = 0;
+
+ /**
+ * The operation id for the '<em>Update</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSIGNED_SOURCE___UPDATE__ELIST = 1;
+
+ /**
+ * The operation id for the '<em>Copy</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSIGNED_SOURCE___COPY__SYNTAXELEMENT_BOOLEAN = 2;
+
+ /**
+ * The number of operations of the '<em>Assigned Source</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSIGNED_SOURCE_OPERATION_COUNT = 3;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.uml.alf.impl.SyntaxElementImpl <em>Syntax Element</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.uml.alf.impl.SyntaxElementImpl
+ * @see org.eclipse.papyrus.uml.alf.impl.AlfPackageImpl#getSyntaxElement()
+ * @generated
+ */
+ int SYNTAX_ELEMENT = 1;
+
+ /**
+ * The feature id for the '<em><b>Owner</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SYNTAX_ELEMENT__OWNER = 0;
+
+ /**
+ * The number of structural features of the '<em>Syntax Element</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SYNTAX_ELEMENT_FEATURE_COUNT = 1;
+
+ /**
+ * The operation id for the '<em>To Reference</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SYNTAX_ELEMENT___TO_REFERENCE = 0;
+
+ /**
+ * The operation id for the '<em>Owner</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SYNTAX_ELEMENT___OWNER = 1;
+
+ /**
+ * The operation id for the '<em>Syntax Element owner</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SYNTAX_ELEMENT___SYNTAX_ELEMENT_OWNER = 2;
+
+ /**
+ * The operation id for the '<em>Current Scope</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SYNTAX_ELEMENT___CURRENT_SCOPE = 3;
+
+ /**
+ * The operation id for the '<em>Syntax Element current Scope</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SYNTAX_ELEMENT___SYNTAX_ELEMENT_CURRENT_SCOPE = 4;
+
+ /**
+ * The operation id for the '<em>Enclosing Statement</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SYNTAX_ELEMENT___ENCLOSING_STATEMENT = 5;
+
+ /**
+ * The operation id for the '<em>Enclosing Expression</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SYNTAX_ELEMENT___ENCLOSING_EXPRESSION = 6;
+
+ /**
+ * The operation id for the '<em>Assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SYNTAX_ELEMENT___ASSIGNMENTS_BEFORE = 7;
+
+ /**
+ * The operation id for the '<em>Syntax Element assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SYNTAX_ELEMENT___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE = 8;
+
+ /**
+ * The operation id for the '<em>Syntax Element assignments Before base</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SYNTAX_ELEMENT___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE_BASE = 9;
+
+ /**
+ * The operation id for the '<em>Assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SYNTAX_ELEMENT___ASSIGNMENTS_BEFORE__SYNTAXELEMENT = 10;
+
+ /**
+ * The operation id for the '<em>Update All</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SYNTAX_ELEMENT___UPDATE_ALL__ELIST_ELIST = 11;
+
+ /**
+ * The operation id for the '<em>Common Ancestor</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SYNTAX_ELEMENT___COMMON_ANCESTOR__ELIST = 12;
+
+ /**
+ * The operation id for the '<em>Common Ancestors</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SYNTAX_ELEMENT___COMMON_ANCESTORS__ELIST = 13;
+
+ /**
+ * The operation id for the '<em>Remove Duplicate Elements</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SYNTAX_ELEMENT___REMOVE_DUPLICATE_ELEMENTS__ELIST = 14;
+
+ /**
+ * The operation id for the '<em>Resolve In Library</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SYNTAX_ELEMENT___RESOLVE_IN_LIBRARY__STRING = 15;
+
+ /**
+ * The operation id for the '<em>Primitive Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SYNTAX_ELEMENT___PRIMITIVE_TYPE__STRING = 16;
+
+ /**
+ * The operation id for the '<em>Primitive Type </em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SYNTAX_ELEMENT___PRIMITIVE_TYPE____STRING = 17;
+
+ /**
+ * The operation id for the '<em>Boolean Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SYNTAX_ELEMENT___BOOLEAN_TYPE = 18;
+
+ /**
+ * The operation id for the '<em>Is Boolean Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SYNTAX_ELEMENT___IS_BOOLEAN_TYPE__ELEMENTREFERENCE = 19;
+
+ /**
+ * The operation id for the '<em>Integer Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SYNTAX_ELEMENT___INTEGER_TYPE = 20;
+
+ /**
+ * The operation id for the '<em>Is Integer Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SYNTAX_ELEMENT___IS_INTEGER_TYPE__ELEMENTREFERENCE = 21;
+
+ /**
+ * The operation id for the '<em>String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SYNTAX_ELEMENT___STRING_TYPE = 22;
+
+ /**
+ * The operation id for the '<em>Is String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SYNTAX_ELEMENT___IS_STRING_TYPE__ELEMENTREFERENCE = 23;
+
+ /**
+ * The operation id for the '<em>Unlimited Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SYNTAX_ELEMENT___UNLIMITED_NATURAL_TYPE = 24;
+
+ /**
+ * The operation id for the '<em>Is Unlimited Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SYNTAX_ELEMENT___IS_UNLIMITED_NATURAL_TYPE__ELEMENTREFERENCE = 25;
+
+ /**
+ * The operation id for the '<em>Bit String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SYNTAX_ELEMENT___BIT_STRING_TYPE = 26;
+
+ /**
+ * The operation id for the '<em>Is Bit String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SYNTAX_ELEMENT___IS_BIT_STRING_TYPE__ELEMENTREFERENCE = 27;
+
+ /**
+ * The operation id for the '<em>Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SYNTAX_ELEMENT___NATURAL_TYPE = 28;
+
+ /**
+ * The operation id for the '<em>Is Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SYNTAX_ELEMENT___IS_NATURAL_TYPE__ELEMENTREFERENCE = 29;
+
+ /**
+ * The operation id for the '<em>Is Numeric Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SYNTAX_ELEMENT___IS_NUMERIC_TYPE__ELEMENTREFERENCE = 30;
+
+ /**
+ * The operation id for the '<em>Collection Function Add</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SYNTAX_ELEMENT___COLLECTION_FUNCTION_ADD = 31;
+
+ /**
+ * The operation id for the '<em>Is Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SYNTAX_ELEMENT___IS_COLLECTION_CLASS__ELEMENTREFERENCE = 32;
+
+ /**
+ * The operation id for the '<em>Is Integer Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SYNTAX_ELEMENT___IS_INTEGER_COLLECTION_CLASS__ELEMENTREFERENCE = 33;
+
+ /**
+ * The operation id for the '<em>Is Bit String Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SYNTAX_ELEMENT___IS_BIT_STRING_COLLECTION_CLASS__ELEMENTREFERENCE = 34;
+
+ /**
+ * The number of operations of the '<em>Syntax Element</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SYNTAX_ELEMENT_OPERATION_COUNT = 35;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.uml.alf.impl.AssignableElementImpl <em>Assignable Element</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.uml.alf.impl.AssignableElementImpl
+ * @see org.eclipse.papyrus.uml.alf.impl.AlfPackageImpl#getAssignableElement()
+ * @generated
+ */
+ int ASSIGNABLE_ELEMENT = 9;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.uml.alf.impl.ElementReferenceImpl <em>Element Reference</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.uml.alf.impl.ElementReferenceImpl
+ * @see org.eclipse.papyrus.uml.alf.impl.AlfPackageImpl#getElementReference()
+ * @generated
+ */
+ int ELEMENT_REFERENCE = 2;
+
+ /**
+ * The number of structural features of the '<em>Element Reference</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ELEMENT_REFERENCE_FEATURE_COUNT = 0;
+
+ /**
+ * The operation id for the '<em>Is Uml</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ELEMENT_REFERENCE___IS_UML = 0;
+
+ /**
+ * The operation id for the '<em>Is Alf</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ELEMENT_REFERENCE___IS_ALF = 1;
+
+ /**
+ * The operation id for the '<em>As Uml</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ELEMENT_REFERENCE___AS_UML = 2;
+
+ /**
+ * The operation id for the '<em>As Alf</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ELEMENT_REFERENCE___AS_ALF = 3;
+
+ /**
+ * The operation id for the '<em>As Member</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ELEMENT_REFERENCE___AS_MEMBER = 4;
+
+ /**
+ * The operation id for the '<em>Is Same Kind As</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ELEMENT_REFERENCE___IS_SAME_KIND_AS__ELEMENTREFERENCE = 5;
+
+ /**
+ * The operation id for the '<em>Is Named Element</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ELEMENT_REFERENCE___IS_NAMED_ELEMENT = 6;
+
+ /**
+ * The operation id for the '<em>Is Namespace</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ELEMENT_REFERENCE___IS_NAMESPACE = 7;
+
+ /**
+ * The operation id for the '<em>Is Namespace For</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ELEMENT_REFERENCE___IS_NAMESPACE_FOR__UNITDEFINITION = 8;
+
+ /**
+ * The operation id for the '<em>Is Model Namespace</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ELEMENT_REFERENCE___IS_MODEL_NAMESPACE = 9;
+
+ /**
+ * The operation id for the '<em>Is Package</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ELEMENT_REFERENCE___IS_PACKAGE = 10;
+
+ /**
+ * The operation id for the '<em>Is Profile</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ELEMENT_REFERENCE___IS_PROFILE = 11;
+
+ /**
+ * The operation id for the '<em>Is Packageable Element</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ELEMENT_REFERENCE___IS_PACKAGEABLE_ELEMENT = 12;
+
+ /**
+ * The operation id for the '<em>Is Classifier</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ELEMENT_REFERENCE___IS_CLASSIFIER = 13;
+
+ /**
+ * The operation id for the '<em>Is Abstract Classifier</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ELEMENT_REFERENCE___IS_ABSTRACT_CLASSIFIER = 14;
+
+ /**
+ * The operation id for the '<em>Is Association</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ELEMENT_REFERENCE___IS_ASSOCIATION = 15;
+
+ /**
+ * The operation id for the '<em>Is Data Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ELEMENT_REFERENCE___IS_DATA_TYPE = 16;
+
+ /**
+ * The operation id for the '<em>Is Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ELEMENT_REFERENCE___IS_CLASS = 17;
+
+ /**
+ * The operation id for the '<em>Is Active Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ELEMENT_REFERENCE___IS_ACTIVE_CLASS = 18;
+
+ /**
+ * The operation id for the '<em>Is Signal</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ELEMENT_REFERENCE___IS_SIGNAL = 19;
+
+ /**
+ * The operation id for the '<em>Is Enumeration</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ELEMENT_REFERENCE___IS_ENUMERATION = 20;
+
+ /**
+ * The operation id for the '<em>Is Behavior</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ELEMENT_REFERENCE___IS_BEHAVIOR = 21;
+
+ /**
+ * The operation id for the '<em>Is Activity</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ELEMENT_REFERENCE___IS_ACTIVITY = 22;
+
+ /**
+ * The operation id for the '<em>Is Method</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ELEMENT_REFERENCE___IS_METHOD = 23;
+
+ /**
+ * The operation id for the '<em>Is Primitive Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ELEMENT_REFERENCE___IS_PRIMITIVE_TYPE = 24;
+
+ /**
+ * The operation id for the '<em>Is Reception</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ELEMENT_REFERENCE___IS_RECEPTION = 25;
+
+ /**
+ * The operation id for the '<em>Is Operation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ELEMENT_REFERENCE___IS_OPERATION = 26;
+
+ /**
+ * The operation id for the '<em>Is Constructor</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ELEMENT_REFERENCE___IS_CONSTRUCTOR = 27;
+
+ /**
+ * The operation id for the '<em>Is Destructor</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ELEMENT_REFERENCE___IS_DESTRUCTOR = 28;
+
+ /**
+ * The operation id for the '<em>Is Feature</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ELEMENT_REFERENCE___IS_FEATURE = 29;
+
+ /**
+ * The operation id for the '<em>Is Property</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ELEMENT_REFERENCE___IS_PROPERTY = 30;
+
+ /**
+ * The operation id for the '<em>Is Association End</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ELEMENT_REFERENCE___IS_ASSOCIATION_END = 31;
+
+ /**
+ * The operation id for the '<em>Is Parameter</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ELEMENT_REFERENCE___IS_PARAMETER = 32;
+
+ /**
+ * The operation id for the '<em>Is Template</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ELEMENT_REFERENCE___IS_TEMPLATE = 33;
+
+ /**
+ * The operation id for the '<em>Is Template Parameter</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ELEMENT_REFERENCE___IS_TEMPLATE_PARAMETER = 34;
+
+ /**
+ * The operation id for the '<em>Is Classifier Template Parameter</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ELEMENT_REFERENCE___IS_CLASSIFIER_TEMPLATE_PARAMETER = 35;
+
+ /**
+ * The operation id for the '<em>Is Parametered Element</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ELEMENT_REFERENCE___IS_PARAMETERED_ELEMENT = 36;
+
+ /**
+ * The operation id for the '<em>Is Template Binding</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ELEMENT_REFERENCE___IS_TEMPLATE_BINDING = 37;
+
+ /**
+ * The operation id for the '<em>Is Stereotype</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ELEMENT_REFERENCE___IS_STEREOTYPE = 38;
+
+ /**
+ * The operation id for the '<em>Is Enumeration Literal</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ELEMENT_REFERENCE___IS_ENUMERATION_LITERAL = 39;
+
+ /**
+ * The operation id for the '<em>Is Loop Variable</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ELEMENT_REFERENCE___IS_LOOP_VARIABLE = 40;
+
+ /**
+ * The operation id for the '<em>Is Annotation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ELEMENT_REFERENCE___IS_ANNOTATION = 41;
+
+ /**
+ * The operation id for the '<em>Is Sequence Expansion Expression</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ELEMENT_REFERENCE___IS_SEQUENCE_EXPANSION_EXPRESSION = 42;
+
+ /**
+ * The operation id for the '<em>Is Any Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ELEMENT_REFERENCE___IS_ANY_TYPE = 43;
+
+ /**
+ * The operation id for the '<em>Is Distinguishable From</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ELEMENT_REFERENCE___IS_DISTINGUISHABLE_FROM__ELEMENTREFERENCE = 44;
+
+ /**
+ * The operation id for the '<em>Is Assignable From</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ELEMENT_REFERENCE___IS_ASSIGNABLE_FROM__ASSIGNABLEELEMENT = 45;
+
+ /**
+ * The operation id for the '<em>Collection Argument</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ELEMENT_REFERENCE___COLLECTION_ARGUMENT = 46;
+
+ /**
+ * The operation id for the '<em>Name</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ELEMENT_REFERENCE___NAME = 47;
+
+ /**
+ * The operation id for the '<em>Visibility</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ELEMENT_REFERENCE___VISIBILITY = 48;
+
+ /**
+ * The operation id for the '<em>Owned Members</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ELEMENT_REFERENCE___OWNED_MEMBERS = 49;
+
+ /**
+ * The operation id for the '<em>Members</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ELEMENT_REFERENCE___MEMBERS = 50;
+
+ /**
+ * The operation id for the '<em>Visible Members</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ELEMENT_REFERENCE___VISIBLE_MEMBERS = 51;
+
+ /**
+ * The operation id for the '<em>Properties</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ELEMENT_REFERENCE___PROPERTIES = 52;
+
+ /**
+ * The operation id for the '<em>Association Ends</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ELEMENT_REFERENCE___ASSOCIATION_ENDS = 53;
+
+ /**
+ * The operation id for the '<em>Opposite</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ELEMENT_REFERENCE___OPPOSITE = 54;
+
+ /**
+ * The operation id for the '<em>Receptions</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ELEMENT_REFERENCE___RECEPTIONS = 55;
+
+ /**
+ * The operation id for the '<em>Signal</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ELEMENT_REFERENCE___SIGNAL = 56;
+
+ /**
+ * The operation id for the '<em>Parameters</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ELEMENT_REFERENCE___PARAMETERS = 57;
+
+ /**
+ * The operation id for the '<em>Return Parameter</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ELEMENT_REFERENCE___RETURN_PARAMETER = 58;
+
+ /**
+ * The operation id for the '<em>Specification</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ELEMENT_REFERENCE___SPECIFICATION = 59;
+
+ /**
+ * The operation id for the '<em>Redefined Operations</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ELEMENT_REFERENCE___REDEFINED_OPERATIONS = 60;
+
+ /**
+ * The operation id for the '<em>Namespace</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ELEMENT_REFERENCE___NAMESPACE = 61;
+
+ /**
+ * The operation id for the '<em>Template</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ELEMENT_REFERENCE___TEMPLATE = 62;
+
+ /**
+ * The operation id for the '<em>Template Parameters</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ELEMENT_REFERENCE___TEMPLATE_PARAMETERS = 63;
+
+ /**
+ * The operation id for the '<em>Parametered Elements</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ELEMENT_REFERENCE___PARAMETERED_ELEMENTS = 64;
+
+ /**
+ * The operation id for the '<em>Template Actuals</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ELEMENT_REFERENCE___TEMPLATE_ACTUALS = 65;
+
+ /**
+ * The operation id for the '<em>Direction</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ELEMENT_REFERENCE___DIRECTION = 66;
+
+ /**
+ * The operation id for the '<em>Association</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ELEMENT_REFERENCE___ASSOCIATION = 67;
+
+ /**
+ * The operation id for the '<em>Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ELEMENT_REFERENCE___TYPE = 68;
+
+ /**
+ * The operation id for the '<em>Lower</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ELEMENT_REFERENCE___LOWER = 69;
+
+ /**
+ * The operation id for the '<em>Upper</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ELEMENT_REFERENCE___UPPER = 70;
+
+ /**
+ * The operation id for the '<em>Is Ordered</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ELEMENT_REFERENCE___IS_ORDERED = 71;
+
+ /**
+ * The operation id for the '<em>Is Nonunique</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ELEMENT_REFERENCE___IS_NONUNIQUE = 72;
+
+ /**
+ * The operation id for the '<em>Parents</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ELEMENT_REFERENCE___PARENTS = 73;
+
+ /**
+ * The operation id for the '<em>All Parents</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ELEMENT_REFERENCE___ALL_PARENTS = 74;
+
+ /**
+ * The operation id for the '<em>Classifier Behavior</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ELEMENT_REFERENCE___CLASSIFIER_BEHAVIOR = 75;
+
+ /**
+ * The operation id for the '<em>Applied Profiles</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ELEMENT_REFERENCE___APPLIED_PROFILES = 76;
+
+ /**
+ * The operation id for the '<em>Base</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ELEMENT_REFERENCE___BASE = 77;
+
+ /**
+ * The operation id for the '<em>Reference</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ELEMENT_REFERENCE___REFERENCE = 78;
+
+ /**
+ * The operation id for the '<em>Template Binding</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ELEMENT_REFERENCE___TEMPLATE_BINDING = 79;
+
+ /**
+ * The operation id for the '<em>Bind</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ELEMENT_REFERENCE___BIND__ELIST = 80;
+
+ /**
+ * The operation id for the '<em>Bound Element Name</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ELEMENT_REFERENCE___BOUND_ELEMENT_NAME__ELIST = 81;
+
+ /**
+ * The operation id for the '<em>Bound Path Name</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ELEMENT_REFERENCE___BOUND_PATH_NAME = 82;
+
+ /**
+ * The operation id for the '<em>Qualified Name</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ELEMENT_REFERENCE___QUALIFIED_NAME = 83;
+
+ /**
+ * The operation id for the '<em>Active Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ELEMENT_REFERENCE___ACTIVE_CLASS = 84;
+
+ /**
+ * The operation id for the '<em>Is Active Behavior</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ELEMENT_REFERENCE___IS_ACTIVE_BEHAVIOR = 85;
+
+ /**
+ * The operation id for the '<em>Conforms To</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ELEMENT_REFERENCE___CONFORMS_TO__ELEMENTREFERENCE = 86;
+
+ /**
+ * The operation id for the '<em>Equals</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ELEMENT_REFERENCE___EQUALS__ELEMENTREFERENCE = 87;
+
+ /**
+ * The operation id for the '<em>Contained In</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ELEMENT_REFERENCE___CONTAINED_IN__ELIST = 88;
+
+ /**
+ * The operation id for the '<em>Count In</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ELEMENT_REFERENCE___COUNT_IN__ELIST = 89;
+
+ /**
+ * The operation id for the '<em>Position In</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ELEMENT_REFERENCE___POSITION_IN__ELIST = 90;
+
+ /**
+ * The operation id for the '<em>Copy</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ELEMENT_REFERENCE___COPY = 91;
+
+ /**
+ * The operation id for the '<em>Model Scope</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ELEMENT_REFERENCE___MODEL_SCOPE = 92;
+
+ /**
+ * The operation id for the '<em>Resolve Path Name</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ELEMENT_REFERENCE___RESOLVE_PATH_NAME__STRING = 93;
+
+ /**
+ * The operation id for the '<em>Resolve In Scope</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ELEMENT_REFERENCE___RESOLVE_IN_SCOPE__STRING = 94;
+
+ /**
+ * The operation id for the '<em>Resolve Stereotype</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ELEMENT_REFERENCE___RESOLVE_STEREOTYPE__STRING = 95;
+
+ /**
+ * The operation id for the '<em>Resolve</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ELEMENT_REFERENCE___RESOLVE__STRING = 96;
+
+ /**
+ * The operation id for the '<em>Resolve Visible</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ELEMENT_REFERENCE___RESOLVE_VISIBLE__STRING_ELEMENTREFERENCE = 97;
+
+ /**
+ * The operation id for the '<em>Resolve Association End</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ELEMENT_REFERENCE___RESOLVE_ASSOCIATION_END__ELEMENTREFERENCE_STRING = 98;
+
+ /**
+ * The operation id for the '<em>Contains Member</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ELEMENT_REFERENCE___CONTAINS_MEMBER__ELEMENTREFERENCE = 99;
+
+ /**
+ * The operation id for the '<em>Allow Package Only</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ELEMENT_REFERENCE___ALLOW_PACKAGE_ONLY = 100;
+
+ /**
+ * The operation id for the '<em>Stub</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ELEMENT_REFERENCE___STUB = 101;
+
+ /**
+ * The operation id for the '<em>Stub For</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ELEMENT_REFERENCE___STUB_FOR__UNITDEFINITION = 102;
+
+ /**
+ * The number of operations of the '<em>Element Reference</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ELEMENT_REFERENCE_OPERATION_COUNT = 103;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.uml.alf.impl.InternalElementReferenceImpl <em>Internal Element Reference</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.uml.alf.impl.InternalElementReferenceImpl
+ * @see org.eclipse.papyrus.uml.alf.impl.AlfPackageImpl#getInternalElementReference()
+ * @generated
+ */
+ int INTERNAL_ELEMENT_REFERENCE = 3;
+
+ /**
+ * The feature id for the '<em><b>Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INTERNAL_ELEMENT_REFERENCE__ELEMENT = ELEMENT_REFERENCE_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the '<em>Internal Element Reference</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INTERNAL_ELEMENT_REFERENCE_FEATURE_COUNT = ELEMENT_REFERENCE_FEATURE_COUNT + 1;
+
+ /**
+ * The operation id for the '<em>Is Uml</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INTERNAL_ELEMENT_REFERENCE___IS_UML = ELEMENT_REFERENCE___IS_UML;
+
+ /**
+ * The operation id for the '<em>As Uml</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INTERNAL_ELEMENT_REFERENCE___AS_UML = ELEMENT_REFERENCE___AS_UML;
+
+ /**
+ * The operation id for the '<em>Is Distinguishable From</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INTERNAL_ELEMENT_REFERENCE___IS_DISTINGUISHABLE_FROM__ELEMENTREFERENCE = ELEMENT_REFERENCE___IS_DISTINGUISHABLE_FROM__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Assignable From</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INTERNAL_ELEMENT_REFERENCE___IS_ASSIGNABLE_FROM__ASSIGNABLEELEMENT = ELEMENT_REFERENCE___IS_ASSIGNABLE_FROM__ASSIGNABLEELEMENT;
+
+ /**
+ * The operation id for the '<em>Collection Argument</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INTERNAL_ELEMENT_REFERENCE___COLLECTION_ARGUMENT = ELEMENT_REFERENCE___COLLECTION_ARGUMENT;
+
+ /**
+ * The operation id for the '<em>Visible Members</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INTERNAL_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 INTERNAL_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 INTERNAL_ELEMENT_REFERENCE___ASSOCIATION_ENDS = ELEMENT_REFERENCE___ASSOCIATION_ENDS;
+
+ /**
+ * The operation id for the '<em>Receptions</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INTERNAL_ELEMENT_REFERENCE___RECEPTIONS = ELEMENT_REFERENCE___RECEPTIONS;
+
+ /**
+ * The operation id for the '<em>Redefined Operations</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INTERNAL_ELEMENT_REFERENCE___REDEFINED_OPERATIONS = ELEMENT_REFERENCE___REDEFINED_OPERATIONS;
+
+ /**
+ * The operation id for the '<em>Base</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INTERNAL_ELEMENT_REFERENCE___BASE = ELEMENT_REFERENCE___BASE;
+
+ /**
+ * The operation id for the '<em>Reference</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INTERNAL_ELEMENT_REFERENCE___REFERENCE = ELEMENT_REFERENCE___REFERENCE;
+
+ /**
+ * The operation id for the '<em>Template Binding</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INTERNAL_ELEMENT_REFERENCE___TEMPLATE_BINDING = ELEMENT_REFERENCE___TEMPLATE_BINDING;
+
+ /**
+ * The operation id for the '<em>Bind</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INTERNAL_ELEMENT_REFERENCE___BIND__ELIST = ELEMENT_REFERENCE___BIND__ELIST;
+
+ /**
+ * The operation id for the '<em>Bound Element Name</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INTERNAL_ELEMENT_REFERENCE___BOUND_ELEMENT_NAME__ELIST = ELEMENT_REFERENCE___BOUND_ELEMENT_NAME__ELIST;
+
+ /**
+ * The operation id for the '<em>Bound Path Name</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INTERNAL_ELEMENT_REFERENCE___BOUND_PATH_NAME = ELEMENT_REFERENCE___BOUND_PATH_NAME;
+
+ /**
+ * The operation id for the '<em>Qualified Name</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INTERNAL_ELEMENT_REFERENCE___QUALIFIED_NAME = ELEMENT_REFERENCE___QUALIFIED_NAME;
+
+ /**
+ * The operation id for the '<em>Is Active Behavior</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INTERNAL_ELEMENT_REFERENCE___IS_ACTIVE_BEHAVIOR = ELEMENT_REFERENCE___IS_ACTIVE_BEHAVIOR;
+
+ /**
+ * The operation id for the '<em>Contained In</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INTERNAL_ELEMENT_REFERENCE___CONTAINED_IN__ELIST = ELEMENT_REFERENCE___CONTAINED_IN__ELIST;
+
+ /**
+ * The operation id for the '<em>Count In</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INTERNAL_ELEMENT_REFERENCE___COUNT_IN__ELIST = ELEMENT_REFERENCE___COUNT_IN__ELIST;
+
+ /**
+ * The operation id for the '<em>Position In</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INTERNAL_ELEMENT_REFERENCE___POSITION_IN__ELIST = ELEMENT_REFERENCE___POSITION_IN__ELIST;
+
+ /**
+ * The operation id for the '<em>Resolve Stereotype</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INTERNAL_ELEMENT_REFERENCE___RESOLVE_STEREOTYPE__STRING = ELEMENT_REFERENCE___RESOLVE_STEREOTYPE__STRING;
+
+ /**
+ * The operation id for the '<em>Resolve</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INTERNAL_ELEMENT_REFERENCE___RESOLVE__STRING = ELEMENT_REFERENCE___RESOLVE__STRING;
+
+ /**
+ * The operation id for the '<em>Resolve Visible</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INTERNAL_ELEMENT_REFERENCE___RESOLVE_VISIBLE__STRING_ELEMENTREFERENCE = ELEMENT_REFERENCE___RESOLVE_VISIBLE__STRING_ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Resolve Association End</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INTERNAL_ELEMENT_REFERENCE___RESOLVE_ASSOCIATION_END__ELEMENTREFERENCE_STRING = ELEMENT_REFERENCE___RESOLVE_ASSOCIATION_END__ELEMENTREFERENCE_STRING;
+
+ /**
+ * The operation id for the '<em>Contains Member</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INTERNAL_ELEMENT_REFERENCE___CONTAINS_MEMBER__ELEMENTREFERENCE = ELEMENT_REFERENCE___CONTAINS_MEMBER__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Allow Package Only</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INTERNAL_ELEMENT_REFERENCE___ALLOW_PACKAGE_ONLY = ELEMENT_REFERENCE___ALLOW_PACKAGE_ONLY;
+
+ /**
+ * The operation id for the '<em>Is Alf</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INTERNAL_ELEMENT_REFERENCE___IS_ALF = ELEMENT_REFERENCE_OPERATION_COUNT + 0;
+
+ /**
+ * The operation id for the '<em>As Alf</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INTERNAL_ELEMENT_REFERENCE___AS_ALF = ELEMENT_REFERENCE_OPERATION_COUNT + 1;
+
+ /**
+ * The operation id for the '<em>As Member</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INTERNAL_ELEMENT_REFERENCE___AS_MEMBER = ELEMENT_REFERENCE_OPERATION_COUNT + 2;
+
+ /**
+ * The operation id for the '<em>Is Same Kind As</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INTERNAL_ELEMENT_REFERENCE___IS_SAME_KIND_AS__ELEMENTREFERENCE = ELEMENT_REFERENCE_OPERATION_COUNT + 3;
+
+ /**
+ * The operation id for the '<em>Is Named Element</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INTERNAL_ELEMENT_REFERENCE___IS_NAMED_ELEMENT = ELEMENT_REFERENCE_OPERATION_COUNT + 4;
+
+ /**
+ * The operation id for the '<em>Is Namespace</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INTERNAL_ELEMENT_REFERENCE___IS_NAMESPACE = ELEMENT_REFERENCE_OPERATION_COUNT + 5;
+
+ /**
+ * The operation id for the '<em>Is Namespace For</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INTERNAL_ELEMENT_REFERENCE___IS_NAMESPACE_FOR__UNITDEFINITION = ELEMENT_REFERENCE_OPERATION_COUNT + 6;
+
+ /**
+ * The operation id for the '<em>Is Model Namespace</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INTERNAL_ELEMENT_REFERENCE___IS_MODEL_NAMESPACE = ELEMENT_REFERENCE_OPERATION_COUNT + 7;
+
+ /**
+ * The operation id for the '<em>Is Package</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INTERNAL_ELEMENT_REFERENCE___IS_PACKAGE = ELEMENT_REFERENCE_OPERATION_COUNT + 8;
+
+ /**
+ * The operation id for the '<em>Is Profile</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INTERNAL_ELEMENT_REFERENCE___IS_PROFILE = ELEMENT_REFERENCE_OPERATION_COUNT + 9;
+
+ /**
+ * The operation id for the '<em>Is Packageable Element</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INTERNAL_ELEMENT_REFERENCE___IS_PACKAGEABLE_ELEMENT = ELEMENT_REFERENCE_OPERATION_COUNT + 10;
+
+ /**
+ * The operation id for the '<em>Is Classifier</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INTERNAL_ELEMENT_REFERENCE___IS_CLASSIFIER = ELEMENT_REFERENCE_OPERATION_COUNT + 11;
+
+ /**
+ * The operation id for the '<em>Is Abstract Classifier</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INTERNAL_ELEMENT_REFERENCE___IS_ABSTRACT_CLASSIFIER = ELEMENT_REFERENCE_OPERATION_COUNT + 12;
+
+ /**
+ * The operation id for the '<em>Is Association</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INTERNAL_ELEMENT_REFERENCE___IS_ASSOCIATION = ELEMENT_REFERENCE_OPERATION_COUNT + 13;
+
+ /**
+ * The operation id for the '<em>Is Data Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INTERNAL_ELEMENT_REFERENCE___IS_DATA_TYPE = ELEMENT_REFERENCE_OPERATION_COUNT + 14;
+
+ /**
+ * The operation id for the '<em>Is Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INTERNAL_ELEMENT_REFERENCE___IS_CLASS = ELEMENT_REFERENCE_OPERATION_COUNT + 15;
+
+ /**
+ * The operation id for the '<em>Is Active Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INTERNAL_ELEMENT_REFERENCE___IS_ACTIVE_CLASS = ELEMENT_REFERENCE_OPERATION_COUNT + 16;
+
+ /**
+ * The operation id for the '<em>Is Signal</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INTERNAL_ELEMENT_REFERENCE___IS_SIGNAL = ELEMENT_REFERENCE_OPERATION_COUNT + 17;
+
+ /**
+ * The operation id for the '<em>Is Enumeration</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INTERNAL_ELEMENT_REFERENCE___IS_ENUMERATION = ELEMENT_REFERENCE_OPERATION_COUNT + 18;
+
+ /**
+ * The operation id for the '<em>Is Behavior</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INTERNAL_ELEMENT_REFERENCE___IS_BEHAVIOR = ELEMENT_REFERENCE_OPERATION_COUNT + 19;
+
+ /**
+ * The operation id for the '<em>Is Activity</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INTERNAL_ELEMENT_REFERENCE___IS_ACTIVITY = ELEMENT_REFERENCE_OPERATION_COUNT + 20;
+
+ /**
+ * The operation id for the '<em>Is Method</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INTERNAL_ELEMENT_REFERENCE___IS_METHOD = ELEMENT_REFERENCE_OPERATION_COUNT + 21;
+
+ /**
+ * The operation id for the '<em>Is Primitive Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INTERNAL_ELEMENT_REFERENCE___IS_PRIMITIVE_TYPE = ELEMENT_REFERENCE_OPERATION_COUNT + 22;
+
+ /**
+ * The operation id for the '<em>Is Reception</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INTERNAL_ELEMENT_REFERENCE___IS_RECEPTION = ELEMENT_REFERENCE_OPERATION_COUNT + 23;
+
+ /**
+ * The operation id for the '<em>Is Operation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INTERNAL_ELEMENT_REFERENCE___IS_OPERATION = ELEMENT_REFERENCE_OPERATION_COUNT + 24;
+
+ /**
+ * The operation id for the '<em>Is Constructor</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INTERNAL_ELEMENT_REFERENCE___IS_CONSTRUCTOR = ELEMENT_REFERENCE_OPERATION_COUNT + 25;
+
+ /**
+ * The operation id for the '<em>Is Destructor</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INTERNAL_ELEMENT_REFERENCE___IS_DESTRUCTOR = ELEMENT_REFERENCE_OPERATION_COUNT + 26;
+
+ /**
+ * The operation id for the '<em>Is Feature</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INTERNAL_ELEMENT_REFERENCE___IS_FEATURE = ELEMENT_REFERENCE_OPERATION_COUNT + 27;
+
+ /**
+ * The operation id for the '<em>Is Property</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INTERNAL_ELEMENT_REFERENCE___IS_PROPERTY = ELEMENT_REFERENCE_OPERATION_COUNT + 28;
+
+ /**
+ * The operation id for the '<em>Is Association End</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INTERNAL_ELEMENT_REFERENCE___IS_ASSOCIATION_END = ELEMENT_REFERENCE_OPERATION_COUNT + 29;
+
+ /**
+ * The operation id for the '<em>Is Parameter</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INTERNAL_ELEMENT_REFERENCE___IS_PARAMETER = ELEMENT_REFERENCE_OPERATION_COUNT + 30;
+
+ /**
+ * The operation id for the '<em>Is Template</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INTERNAL_ELEMENT_REFERENCE___IS_TEMPLATE = ELEMENT_REFERENCE_OPERATION_COUNT + 31;
+
+ /**
+ * The operation id for the '<em>Is Template Parameter</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INTERNAL_ELEMENT_REFERENCE___IS_TEMPLATE_PARAMETER = ELEMENT_REFERENCE_OPERATION_COUNT + 32;
+
+ /**
+ * The operation id for the '<em>Is Classifier Template Parameter</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INTERNAL_ELEMENT_REFERENCE___IS_CLASSIFIER_TEMPLATE_PARAMETER = ELEMENT_REFERENCE_OPERATION_COUNT + 33;
+
+ /**
+ * The operation id for the '<em>Is Parametered Element</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INTERNAL_ELEMENT_REFERENCE___IS_PARAMETERED_ELEMENT = ELEMENT_REFERENCE_OPERATION_COUNT + 34;
+
+ /**
+ * The operation id for the '<em>Is Template Binding</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INTERNAL_ELEMENT_REFERENCE___IS_TEMPLATE_BINDING = ELEMENT_REFERENCE_OPERATION_COUNT + 35;
+
+ /**
+ * The operation id for the '<em>Is Stereotype</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INTERNAL_ELEMENT_REFERENCE___IS_STEREOTYPE = ELEMENT_REFERENCE_OPERATION_COUNT + 36;
+
+ /**
+ * The operation id for the '<em>Is Enumeration Literal</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INTERNAL_ELEMENT_REFERENCE___IS_ENUMERATION_LITERAL = ELEMENT_REFERENCE_OPERATION_COUNT + 37;
+
+ /**
+ * The operation id for the '<em>Is Loop Variable</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INTERNAL_ELEMENT_REFERENCE___IS_LOOP_VARIABLE = ELEMENT_REFERENCE_OPERATION_COUNT + 38;
+
+ /**
+ * The operation id for the '<em>Is Annotation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INTERNAL_ELEMENT_REFERENCE___IS_ANNOTATION = ELEMENT_REFERENCE_OPERATION_COUNT + 39;
+
+ /**
+ * The operation id for the '<em>Is Sequence Expansion Expression</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INTERNAL_ELEMENT_REFERENCE___IS_SEQUENCE_EXPANSION_EXPRESSION = ELEMENT_REFERENCE_OPERATION_COUNT + 40;
+
+ /**
+ * The operation id for the '<em>Is Any Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INTERNAL_ELEMENT_REFERENCE___IS_ANY_TYPE = ELEMENT_REFERENCE_OPERATION_COUNT + 41;
+
+ /**
+ * The operation id for the '<em>Name</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INTERNAL_ELEMENT_REFERENCE___NAME = ELEMENT_REFERENCE_OPERATION_COUNT + 42;
+
+ /**
+ * The operation id for the '<em>Visibility</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INTERNAL_ELEMENT_REFERENCE___VISIBILITY = ELEMENT_REFERENCE_OPERATION_COUNT + 43;
+
+ /**
+ * The operation id for the '<em>Owned Members</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INTERNAL_ELEMENT_REFERENCE___OWNED_MEMBERS = ELEMENT_REFERENCE_OPERATION_COUNT + 44;
+
+ /**
+ * The operation id for the '<em>Members</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INTERNAL_ELEMENT_REFERENCE___MEMBERS = ELEMENT_REFERENCE_OPERATION_COUNT + 45;
+
+ /**
+ * The operation id for the '<em>Opposite</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INTERNAL_ELEMENT_REFERENCE___OPPOSITE = ELEMENT_REFERENCE_OPERATION_COUNT + 46;
+
+ /**
+ * The operation id for the '<em>Signal</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INTERNAL_ELEMENT_REFERENCE___SIGNAL = ELEMENT_REFERENCE_OPERATION_COUNT + 47;
+
+ /**
+ * The operation id for the '<em>Parameters</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INTERNAL_ELEMENT_REFERENCE___PARAMETERS = ELEMENT_REFERENCE_OPERATION_COUNT + 48;
+
+ /**
+ * The operation id for the '<em>Return Parameter</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INTERNAL_ELEMENT_REFERENCE___RETURN_PARAMETER = ELEMENT_REFERENCE_OPERATION_COUNT + 49;
+
+ /**
+ * The operation id for the '<em>Specification</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INTERNAL_ELEMENT_REFERENCE___SPECIFICATION = ELEMENT_REFERENCE_OPERATION_COUNT + 50;
+
+ /**
+ * The operation id for the '<em>Redefined Operaions</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INTERNAL_ELEMENT_REFERENCE___REDEFINED_OPERAIONS = ELEMENT_REFERENCE_OPERATION_COUNT + 51;
+
+ /**
+ * The operation id for the '<em>Namespace</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INTERNAL_ELEMENT_REFERENCE___NAMESPACE = ELEMENT_REFERENCE_OPERATION_COUNT + 52;
+
+ /**
+ * The operation id for the '<em>Template</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INTERNAL_ELEMENT_REFERENCE___TEMPLATE = ELEMENT_REFERENCE_OPERATION_COUNT + 53;
+
+ /**
+ * The operation id for the '<em>Template Parameters</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INTERNAL_ELEMENT_REFERENCE___TEMPLATE_PARAMETERS = ELEMENT_REFERENCE_OPERATION_COUNT + 54;
+
+ /**
+ * The operation id for the '<em>Parametered Elements</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INTERNAL_ELEMENT_REFERENCE___PARAMETERED_ELEMENTS = ELEMENT_REFERENCE_OPERATION_COUNT + 55;
+
+ /**
+ * The operation id for the '<em>Template Actuals</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INTERNAL_ELEMENT_REFERENCE___TEMPLATE_ACTUALS = ELEMENT_REFERENCE_OPERATION_COUNT + 56;
+
+ /**
+ * The operation id for the '<em>Direction</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INTERNAL_ELEMENT_REFERENCE___DIRECTION = ELEMENT_REFERENCE_OPERATION_COUNT + 57;
+
+ /**
+ * The operation id for the '<em>Association</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INTERNAL_ELEMENT_REFERENCE___ASSOCIATION = ELEMENT_REFERENCE_OPERATION_COUNT + 58;
+
+ /**
+ * The operation id for the '<em>Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INTERNAL_ELEMENT_REFERENCE___TYPE = ELEMENT_REFERENCE_OPERATION_COUNT + 59;
+
+ /**
+ * The operation id for the '<em>Lower</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INTERNAL_ELEMENT_REFERENCE___LOWER = ELEMENT_REFERENCE_OPERATION_COUNT + 60;
+
+ /**
+ * The operation id for the '<em>Upper</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INTERNAL_ELEMENT_REFERENCE___UPPER = ELEMENT_REFERENCE_OPERATION_COUNT + 61;
+
+ /**
+ * The operation id for the '<em>Is Ordered</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INTERNAL_ELEMENT_REFERENCE___IS_ORDERED = ELEMENT_REFERENCE_OPERATION_COUNT + 62;
+
+ /**
+ * The operation id for the '<em>Is Nonunique</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INTERNAL_ELEMENT_REFERENCE___IS_NONUNIQUE = ELEMENT_REFERENCE_OPERATION_COUNT + 63;
+
+ /**
+ * The operation id for the '<em>Parents</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INTERNAL_ELEMENT_REFERENCE___PARENTS = ELEMENT_REFERENCE_OPERATION_COUNT + 64;
+
+ /**
+ * The operation id for the '<em>All Parents</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INTERNAL_ELEMENT_REFERENCE___ALL_PARENTS = ELEMENT_REFERENCE_OPERATION_COUNT + 65;
+
+ /**
+ * The operation id for the '<em>Classifier Behavior</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INTERNAL_ELEMENT_REFERENCE___CLASSIFIER_BEHAVIOR = ELEMENT_REFERENCE_OPERATION_COUNT + 66;
+
+ /**
+ * The operation id for the '<em>Applied Profiles</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INTERNAL_ELEMENT_REFERENCE___APPLIED_PROFILES = ELEMENT_REFERENCE_OPERATION_COUNT + 67;
+
+ /**
+ * The operation id for the '<em>Active Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INTERNAL_ELEMENT_REFERENCE___ACTIVE_CLASS = ELEMENT_REFERENCE_OPERATION_COUNT + 68;
+
+ /**
+ * The operation id for the '<em>Conforms To</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INTERNAL_ELEMENT_REFERENCE___CONFORMS_TO__ELEMENTREFERENCE = ELEMENT_REFERENCE_OPERATION_COUNT + 69;
+
+ /**
+ * The operation id for the '<em>Equals</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INTERNAL_ELEMENT_REFERENCE___EQUALS__ELEMENTREFERENCE = ELEMENT_REFERENCE_OPERATION_COUNT + 70;
+
+ /**
+ * The operation id for the '<em>Copy</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INTERNAL_ELEMENT_REFERENCE___COPY = ELEMENT_REFERENCE_OPERATION_COUNT + 71;
+
+ /**
+ * The operation id for the '<em>Model Scope</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INTERNAL_ELEMENT_REFERENCE___MODEL_SCOPE = ELEMENT_REFERENCE_OPERATION_COUNT + 72;
+
+ /**
+ * The operation id for the '<em>Resolve Path Name</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INTERNAL_ELEMENT_REFERENCE___RESOLVE_PATH_NAME__STRING = ELEMENT_REFERENCE_OPERATION_COUNT + 73;
+
+ /**
+ * The operation id for the '<em>Resolve In Scope</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INTERNAL_ELEMENT_REFERENCE___RESOLVE_IN_SCOPE__STRING = ELEMENT_REFERENCE_OPERATION_COUNT + 74;
+
+ /**
+ * The operation id for the '<em>Resolve Stereotype Name</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INTERNAL_ELEMENT_REFERENCE___RESOLVE_STEREOTYPE_NAME__STRING = ELEMENT_REFERENCE_OPERATION_COUNT + 75;
+
+ /**
+ * The operation id for the '<em>Stub</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INTERNAL_ELEMENT_REFERENCE___STUB = ELEMENT_REFERENCE_OPERATION_COUNT + 76;
+
+ /**
+ * The operation id for the '<em>Stub For</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INTERNAL_ELEMENT_REFERENCE___STUB_FOR__UNITDEFINITION = ELEMENT_REFERENCE_OPERATION_COUNT + 77;
+
+ /**
+ * The number of operations of the '<em>Internal Element Reference</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INTERNAL_ELEMENT_REFERENCE_OPERATION_COUNT = ELEMENT_REFERENCE_OPERATION_COUNT + 78;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.uml.alf.impl.ExternalElementReferenceImpl <em>External Element Reference</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.uml.alf.impl.ExternalElementReferenceImpl
+ * @see org.eclipse.papyrus.uml.alf.impl.AlfPackageImpl#getExternalElementReference()
+ * @generated
+ */
+ int EXTERNAL_ELEMENT_REFERENCE = 4;
+
+ /**
+ * The feature id for the '<em><b>Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXTERNAL_ELEMENT_REFERENCE__ELEMENT = ELEMENT_REFERENCE_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Alias</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXTERNAL_ELEMENT_REFERENCE__ALIAS = ELEMENT_REFERENCE_FEATURE_COUNT + 1;
+
+ /**
+ * The number of structural features of the '<em>External Element Reference</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXTERNAL_ELEMENT_REFERENCE_FEATURE_COUNT = ELEMENT_REFERENCE_FEATURE_COUNT + 2;
+
+ /**
+ * The operation id for the '<em>Is Alf</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXTERNAL_ELEMENT_REFERENCE___IS_ALF = ELEMENT_REFERENCE___IS_ALF;
+
+ /**
+ * The operation id for the '<em>As Alf</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXTERNAL_ELEMENT_REFERENCE___AS_ALF = ELEMENT_REFERENCE___AS_ALF;
+
+ /**
+ * The operation id for the '<em>Is Any Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXTERNAL_ELEMENT_REFERENCE___IS_ANY_TYPE = ELEMENT_REFERENCE___IS_ANY_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Distinguishable From</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXTERNAL_ELEMENT_REFERENCE___IS_DISTINGUISHABLE_FROM__ELEMENTREFERENCE = ELEMENT_REFERENCE___IS_DISTINGUISHABLE_FROM__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Assignable From</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXTERNAL_ELEMENT_REFERENCE___IS_ASSIGNABLE_FROM__ASSIGNABLEELEMENT = ELEMENT_REFERENCE___IS_ASSIGNABLE_FROM__ASSIGNABLEELEMENT;
+
+ /**
+ * The operation id for the '<em>Collection Argument</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXTERNAL_ELEMENT_REFERENCE___COLLECTION_ARGUMENT = ELEMENT_REFERENCE___COLLECTION_ARGUMENT;
+
+ /**
+ * The operation id for the '<em>Visible Members</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXTERNAL_ELEMENT_REFERENCE___VISIBLE_MEMBERS = ELEMENT_REFERENCE___VISIBLE_MEMBERS;
+
+ /**
+ * The operation id for the '<em>Receptions</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXTERNAL_ELEMENT_REFERENCE___RECEPTIONS = ELEMENT_REFERENCE___RECEPTIONS;
+
+ /**
+ * The operation id for the '<em>Base</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXTERNAL_ELEMENT_REFERENCE___BASE = ELEMENT_REFERENCE___BASE;
+
+ /**
+ * The operation id for the '<em>Reference</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXTERNAL_ELEMENT_REFERENCE___REFERENCE = ELEMENT_REFERENCE___REFERENCE;
+
+ /**
+ * The operation id for the '<em>Template Binding</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXTERNAL_ELEMENT_REFERENCE___TEMPLATE_BINDING = ELEMENT_REFERENCE___TEMPLATE_BINDING;
+
+ /**
+ * The operation id for the '<em>Bind</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXTERNAL_ELEMENT_REFERENCE___BIND__ELIST = ELEMENT_REFERENCE___BIND__ELIST;
+
+ /**
+ * The operation id for the '<em>Bound Element Name</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXTERNAL_ELEMENT_REFERENCE___BOUND_ELEMENT_NAME__ELIST = ELEMENT_REFERENCE___BOUND_ELEMENT_NAME__ELIST;
+
+ /**
+ * The operation id for the '<em>Bound Path Name</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXTERNAL_ELEMENT_REFERENCE___BOUND_PATH_NAME = ELEMENT_REFERENCE___BOUND_PATH_NAME;
+
+ /**
+ * The operation id for the '<em>Qualified Name</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXTERNAL_ELEMENT_REFERENCE___QUALIFIED_NAME = ELEMENT_REFERENCE___QUALIFIED_NAME;
+
+ /**
+ * The operation id for the '<em>Is Active Behavior</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXTERNAL_ELEMENT_REFERENCE___IS_ACTIVE_BEHAVIOR = ELEMENT_REFERENCE___IS_ACTIVE_BEHAVIOR;
+
+ /**
+ * The operation id for the '<em>Contained In</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXTERNAL_ELEMENT_REFERENCE___CONTAINED_IN__ELIST = ELEMENT_REFERENCE___CONTAINED_IN__ELIST;
+
+ /**
+ * The operation id for the '<em>Count In</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXTERNAL_ELEMENT_REFERENCE___COUNT_IN__ELIST = ELEMENT_REFERENCE___COUNT_IN__ELIST;
+
+ /**
+ * The operation id for the '<em>Position In</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXTERNAL_ELEMENT_REFERENCE___POSITION_IN__ELIST = ELEMENT_REFERENCE___POSITION_IN__ELIST;
+
+ /**
+ * The operation id for the '<em>Resolve</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXTERNAL_ELEMENT_REFERENCE___RESOLVE__STRING = ELEMENT_REFERENCE___RESOLVE__STRING;
+
+ /**
+ * The operation id for the '<em>Resolve Visible</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXTERNAL_ELEMENT_REFERENCE___RESOLVE_VISIBLE__STRING_ELEMENTREFERENCE = ELEMENT_REFERENCE___RESOLVE_VISIBLE__STRING_ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Resolve Association End</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXTERNAL_ELEMENT_REFERENCE___RESOLVE_ASSOCIATION_END__ELEMENTREFERENCE_STRING = ELEMENT_REFERENCE___RESOLVE_ASSOCIATION_END__ELEMENTREFERENCE_STRING;
+
+ /**
+ * The operation id for the '<em>Contains Member</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXTERNAL_ELEMENT_REFERENCE___CONTAINS_MEMBER__ELEMENTREFERENCE = ELEMENT_REFERENCE___CONTAINS_MEMBER__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Allow Package Only</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXTERNAL_ELEMENT_REFERENCE___ALLOW_PACKAGE_ONLY = ELEMENT_REFERENCE___ALLOW_PACKAGE_ONLY;
+
+ /**
+ * The operation id for the '<em>Is Uml</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXTERNAL_ELEMENT_REFERENCE___IS_UML = ELEMENT_REFERENCE_OPERATION_COUNT + 0;
+
+ /**
+ * The operation id for the '<em>As Uml</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXTERNAL_ELEMENT_REFERENCE___AS_UML = ELEMENT_REFERENCE_OPERATION_COUNT + 1;
+
+ /**
+ * The operation id for the '<em>As Member</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXTERNAL_ELEMENT_REFERENCE___AS_MEMBER = ELEMENT_REFERENCE_OPERATION_COUNT + 2;
+
+ /**
+ * The operation id for the '<em>Is Same Kind As</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXTERNAL_ELEMENT_REFERENCE___IS_SAME_KIND_AS__ELEMENTREFERENCE = ELEMENT_REFERENCE_OPERATION_COUNT + 3;
+
+ /**
+ * The operation id for the '<em>Is Named Element</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXTERNAL_ELEMENT_REFERENCE___IS_NAMED_ELEMENT = ELEMENT_REFERENCE_OPERATION_COUNT + 4;
+
+ /**
+ * The operation id for the '<em>Is Namespace</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXTERNAL_ELEMENT_REFERENCE___IS_NAMESPACE = ELEMENT_REFERENCE_OPERATION_COUNT + 5;
+
+ /**
+ * The operation id for the '<em>Is Namespace For</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXTERNAL_ELEMENT_REFERENCE___IS_NAMESPACE_FOR__UNITDEFINITION = ELEMENT_REFERENCE_OPERATION_COUNT + 6;
+
+ /**
+ * The operation id for the '<em>Is Model Namespace</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXTERNAL_ELEMENT_REFERENCE___IS_MODEL_NAMESPACE = ELEMENT_REFERENCE_OPERATION_COUNT + 7;
+
+ /**
+ * The operation id for the '<em>Is Package</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXTERNAL_ELEMENT_REFERENCE___IS_PACKAGE = ELEMENT_REFERENCE_OPERATION_COUNT + 8;
+
+ /**
+ * The operation id for the '<em>Is Profile</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXTERNAL_ELEMENT_REFERENCE___IS_PROFILE = ELEMENT_REFERENCE_OPERATION_COUNT + 9;
+
+ /**
+ * The operation id for the '<em>Is Packageable Element</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXTERNAL_ELEMENT_REFERENCE___IS_PACKAGEABLE_ELEMENT = ELEMENT_REFERENCE_OPERATION_COUNT + 10;
+
+ /**
+ * The operation id for the '<em>Is Classifier</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXTERNAL_ELEMENT_REFERENCE___IS_CLASSIFIER = ELEMENT_REFERENCE_OPERATION_COUNT + 11;
+
+ /**
+ * The operation id for the '<em>Is Abstract Classifier</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXTERNAL_ELEMENT_REFERENCE___IS_ABSTRACT_CLASSIFIER = ELEMENT_REFERENCE_OPERATION_COUNT + 12;
+
+ /**
+ * The operation id for the '<em>Is Association</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXTERNAL_ELEMENT_REFERENCE___IS_ASSOCIATION = ELEMENT_REFERENCE_OPERATION_COUNT + 13;
+
+ /**
+ * The operation id for the '<em>Is Data Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXTERNAL_ELEMENT_REFERENCE___IS_DATA_TYPE = ELEMENT_REFERENCE_OPERATION_COUNT + 14;
+
+ /**
+ * The operation id for the '<em>Is Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXTERNAL_ELEMENT_REFERENCE___IS_CLASS = ELEMENT_REFERENCE_OPERATION_COUNT + 15;
+
+ /**
+ * The operation id for the '<em>Is Active Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXTERNAL_ELEMENT_REFERENCE___IS_ACTIVE_CLASS = ELEMENT_REFERENCE_OPERATION_COUNT + 16;
+
+ /**
+ * The operation id for the '<em>Is Signal</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXTERNAL_ELEMENT_REFERENCE___IS_SIGNAL = ELEMENT_REFERENCE_OPERATION_COUNT + 17;
+
+ /**
+ * The operation id for the '<em>Is Enumeration</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXTERNAL_ELEMENT_REFERENCE___IS_ENUMERATION = ELEMENT_REFERENCE_OPERATION_COUNT + 18;
+
+ /**
+ * The operation id for the '<em>Is Behavior</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXTERNAL_ELEMENT_REFERENCE___IS_BEHAVIOR = ELEMENT_REFERENCE_OPERATION_COUNT + 19;
+
+ /**
+ * The operation id for the '<em>Is Activity</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXTERNAL_ELEMENT_REFERENCE___IS_ACTIVITY = ELEMENT_REFERENCE_OPERATION_COUNT + 20;
+
+ /**
+ * The operation id for the '<em>Is Method</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXTERNAL_ELEMENT_REFERENCE___IS_METHOD = ELEMENT_REFERENCE_OPERATION_COUNT + 21;
+
+ /**
+ * The operation id for the '<em>Is Primitive Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXTERNAL_ELEMENT_REFERENCE___IS_PRIMITIVE_TYPE = ELEMENT_REFERENCE_OPERATION_COUNT + 22;
+
+ /**
+ * The operation id for the '<em>Is Reception</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXTERNAL_ELEMENT_REFERENCE___IS_RECEPTION = ELEMENT_REFERENCE_OPERATION_COUNT + 23;
+
+ /**
+ * The operation id for the '<em>Is Operation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXTERNAL_ELEMENT_REFERENCE___IS_OPERATION = ELEMENT_REFERENCE_OPERATION_COUNT + 24;
+
+ /**
+ * The operation id for the '<em>Is Constructor</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXTERNAL_ELEMENT_REFERENCE___IS_CONSTRUCTOR = ELEMENT_REFERENCE_OPERATION_COUNT + 25;
+
+ /**
+ * The operation id for the '<em>Is Destructor</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXTERNAL_ELEMENT_REFERENCE___IS_DESTRUCTOR = ELEMENT_REFERENCE_OPERATION_COUNT + 26;
+
+ /**
+ * The operation id for the '<em>Is Feature</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXTERNAL_ELEMENT_REFERENCE___IS_FEATURE = ELEMENT_REFERENCE_OPERATION_COUNT + 27;
+
+ /**
+ * The operation id for the '<em>Is Property</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXTERNAL_ELEMENT_REFERENCE___IS_PROPERTY = ELEMENT_REFERENCE_OPERATION_COUNT + 28;
+
+ /**
+ * The operation id for the '<em>Is Association End</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXTERNAL_ELEMENT_REFERENCE___IS_ASSOCIATION_END = ELEMENT_REFERENCE_OPERATION_COUNT + 29;
+
+ /**
+ * The operation id for the '<em>Is Parameter</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXTERNAL_ELEMENT_REFERENCE___IS_PARAMETER = ELEMENT_REFERENCE_OPERATION_COUNT + 30;
+
+ /**
+ * The operation id for the '<em>Is Template</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXTERNAL_ELEMENT_REFERENCE___IS_TEMPLATE = ELEMENT_REFERENCE_OPERATION_COUNT + 31;
+
+ /**
+ * The operation id for the '<em>Is Template Parameter</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXTERNAL_ELEMENT_REFERENCE___IS_TEMPLATE_PARAMETER = ELEMENT_REFERENCE_OPERATION_COUNT + 32;
+
+ /**
+ * The operation id for the '<em>Is Classifier Template Parameter</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXTERNAL_ELEMENT_REFERENCE___IS_CLASSIFIER_TEMPLATE_PARAMETER = ELEMENT_REFERENCE_OPERATION_COUNT + 33;
+
+ /**
+ * The operation id for the '<em>Is Parametered Element</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXTERNAL_ELEMENT_REFERENCE___IS_PARAMETERED_ELEMENT = ELEMENT_REFERENCE_OPERATION_COUNT + 34;
+
+ /**
+ * The operation id for the '<em>Is Template Binding</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXTERNAL_ELEMENT_REFERENCE___IS_TEMPLATE_BINDING = ELEMENT_REFERENCE_OPERATION_COUNT + 35;
+
+ /**
+ * The operation id for the '<em>Is Stereotype</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXTERNAL_ELEMENT_REFERENCE___IS_STEREOTYPE = ELEMENT_REFERENCE_OPERATION_COUNT + 36;
+
+ /**
+ * The operation id for the '<em>Is Enumeration Literal</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXTERNAL_ELEMENT_REFERENCE___IS_ENUMERATION_LITERAL = ELEMENT_REFERENCE_OPERATION_COUNT + 37;
+
+ /**
+ * The operation id for the '<em>Is Loop Variable</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXTERNAL_ELEMENT_REFERENCE___IS_LOOP_VARIABLE = ELEMENT_REFERENCE_OPERATION_COUNT + 38;
+
+ /**
+ * The operation id for the '<em>Is Annotation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXTERNAL_ELEMENT_REFERENCE___IS_ANNOTATION = ELEMENT_REFERENCE_OPERATION_COUNT + 39;
+
+ /**
+ * The operation id for the '<em>Is Sequence Expansion Expression</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXTERNAL_ELEMENT_REFERENCE___IS_SEQUENCE_EXPANSION_EXPRESSION = ELEMENT_REFERENCE_OPERATION_COUNT + 40;
+
+ /**
+ * The operation id for the '<em>Name</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXTERNAL_ELEMENT_REFERENCE___NAME = ELEMENT_REFERENCE_OPERATION_COUNT + 41;
+
+ /**
+ * The operation id for the '<em>Visibility</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXTERNAL_ELEMENT_REFERENCE___VISIBILITY = ELEMENT_REFERENCE_OPERATION_COUNT + 42;
+
+ /**
+ * The operation id for the '<em>Owned Members</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXTERNAL_ELEMENT_REFERENCE___OWNED_MEMBERS = ELEMENT_REFERENCE_OPERATION_COUNT + 43;
+
+ /**
+ * The operation id for the '<em>Enumeration Members</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXTERNAL_ELEMENT_REFERENCE___ENUMERATION_MEMBERS = ELEMENT_REFERENCE_OPERATION_COUNT + 44;
+
+ /**
+ * The operation id for the '<em>Members</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXTERNAL_ELEMENT_REFERENCE___MEMBERS = ELEMENT_REFERENCE_OPERATION_COUNT + 45;
+
+ /**
+ * The operation id for the '<em>Additional Members</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXTERNAL_ELEMENT_REFERENCE___ADDITIONAL_MEMBERS = ELEMENT_REFERENCE_OPERATION_COUNT + 46;
+
+ /**
+ * The operation id for the '<em>Inherit</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXTERNAL_ELEMENT_REFERENCE___INHERIT__ELIST = ELEMENT_REFERENCE_OPERATION_COUNT + 47;
+
+ /**
+ * The operation id for the '<em>Properties</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXTERNAL_ELEMENT_REFERENCE___PROPERTIES = ELEMENT_REFERENCE_OPERATION_COUNT + 48;
+
+ /**
+ * 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 + 49;
+
+ /**
+ * 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 + 50;
+
+ /**
+ * 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 + 51;
+
+ /**
+ * The operation id for the '<em>Opposite</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXTERNAL_ELEMENT_REFERENCE___OPPOSITE = ELEMENT_REFERENCE_OPERATION_COUNT + 52;
+
+ /**
+ * The operation id for the '<em>Signal</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXTERNAL_ELEMENT_REFERENCE___SIGNAL = ELEMENT_REFERENCE_OPERATION_COUNT + 53;
+
+ /**
+ * The operation id for the '<em>Namespace</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXTERNAL_ELEMENT_REFERENCE___NAMESPACE = ELEMENT_REFERENCE_OPERATION_COUNT + 54;
+
+ /**
+ * The operation id for the '<em>Owned Parameters</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXTERNAL_ELEMENT_REFERENCE___OWNED_PARAMETERS = ELEMENT_REFERENCE_OPERATION_COUNT + 55;
+
+ /**
+ * The operation id for the '<em>Parameters</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXTERNAL_ELEMENT_REFERENCE___PARAMETERS = ELEMENT_REFERENCE_OPERATION_COUNT + 56;
+
+ /**
+ * The operation id for the '<em>Return Parameter</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXTERNAL_ELEMENT_REFERENCE___RETURN_PARAMETER = ELEMENT_REFERENCE_OPERATION_COUNT + 57;
+
+ /**
+ * The operation id for the '<em>Specification</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXTERNAL_ELEMENT_REFERENCE___SPECIFICATION = ELEMENT_REFERENCE_OPERATION_COUNT + 58;
+
+ /**
+ * The operation id for the '<em>Redefined Operations</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXTERNAL_ELEMENT_REFERENCE___REDEFINED_OPERATIONS = ELEMENT_REFERENCE_OPERATION_COUNT + 59;
+
+ /**
+ * The operation id for the '<em>Template</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXTERNAL_ELEMENT_REFERENCE___TEMPLATE = ELEMENT_REFERENCE_OPERATION_COUNT + 60;
+
+ /**
+ * The operation id for the '<em>Uml Template Binding</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXTERNAL_ELEMENT_REFERENCE___UML_TEMPLATE_BINDING = ELEMENT_REFERENCE_OPERATION_COUNT + 61;
+
+ /**
+ * The operation id for the '<em>Template Parameters</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXTERNAL_ELEMENT_REFERENCE___TEMPLATE_PARAMETERS = ELEMENT_REFERENCE_OPERATION_COUNT + 62;
+
+ /**
+ * The operation id for the '<em>Parametered Elements</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXTERNAL_ELEMENT_REFERENCE___PARAMETERED_ELEMENTS = ELEMENT_REFERENCE_OPERATION_COUNT + 63;
+
+ /**
+ * The operation id for the '<em>Template Actuals</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXTERNAL_ELEMENT_REFERENCE___TEMPLATE_ACTUALS = ELEMENT_REFERENCE_OPERATION_COUNT + 64;
+
+ /**
+ * The operation id for the '<em>Direction</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXTERNAL_ELEMENT_REFERENCE___DIRECTION = ELEMENT_REFERENCE_OPERATION_COUNT + 65;
+
+ /**
+ * The operation id for the '<em>Association</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXTERNAL_ELEMENT_REFERENCE___ASSOCIATION = ELEMENT_REFERENCE_OPERATION_COUNT + 66;
+
+ /**
+ * The operation id for the '<em>Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXTERNAL_ELEMENT_REFERENCE___TYPE = ELEMENT_REFERENCE_OPERATION_COUNT + 67;
+
+ /**
+ * The operation id for the '<em>Lower</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXTERNAL_ELEMENT_REFERENCE___LOWER = ELEMENT_REFERENCE_OPERATION_COUNT + 68;
+
+ /**
+ * The operation id for the '<em>Upper</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXTERNAL_ELEMENT_REFERENCE___UPPER = ELEMENT_REFERENCE_OPERATION_COUNT + 69;
+
+ /**
+ * The operation id for the '<em>Is Ordered</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXTERNAL_ELEMENT_REFERENCE___IS_ORDERED = ELEMENT_REFERENCE_OPERATION_COUNT + 70;
+
+ /**
+ * The operation id for the '<em>Is Nonunique</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXTERNAL_ELEMENT_REFERENCE___IS_NONUNIQUE = ELEMENT_REFERENCE_OPERATION_COUNT + 71;
+
+ /**
+ * The operation id for the '<em>Parents</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXTERNAL_ELEMENT_REFERENCE___PARENTS = ELEMENT_REFERENCE_OPERATION_COUNT + 72;
+
+ /**
+ * The operation id for the '<em>All Parents</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXTERNAL_ELEMENT_REFERENCE___ALL_PARENTS = ELEMENT_REFERENCE_OPERATION_COUNT + 73;
+
+ /**
+ * The operation id for the '<em>Classifier Behavior</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXTERNAL_ELEMENT_REFERENCE___CLASSIFIER_BEHAVIOR = ELEMENT_REFERENCE_OPERATION_COUNT + 74;
+
+ /**
+ * The operation id for the '<em>Applied Profiles</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXTERNAL_ELEMENT_REFERENCE___APPLIED_PROFILES = ELEMENT_REFERENCE_OPERATION_COUNT + 75;
+
+ /**
+ * The operation id for the '<em>Active Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXTERNAL_ELEMENT_REFERENCE___ACTIVE_CLASS = ELEMENT_REFERENCE_OPERATION_COUNT + 76;
+
+ /**
+ * The operation id for the '<em>Conforms To</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXTERNAL_ELEMENT_REFERENCE___CONFORMS_TO__ELEMENTREFERENCE = ELEMENT_REFERENCE_OPERATION_COUNT + 77;
+
+ /**
+ * The operation id for the '<em>Equals</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXTERNAL_ELEMENT_REFERENCE___EQUALS__ELEMENTREFERENCE = ELEMENT_REFERENCE_OPERATION_COUNT + 78;
+
+ /**
+ * The operation id for the '<em>Copy</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXTERNAL_ELEMENT_REFERENCE___COPY = ELEMENT_REFERENCE_OPERATION_COUNT + 79;
+
+ /**
+ * The operation id for the '<em>Model Scope</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXTERNAL_ELEMENT_REFERENCE___MODEL_SCOPE = ELEMENT_REFERENCE_OPERATION_COUNT + 80;
+
+ /**
+ * The operation id for the '<em>Resolve Path Name</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ 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.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ 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.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXTERNAL_ELEMENT_REFERENCE___RESOLVE_IN_SCOPE__STRING = ELEMENT_REFERENCE_OPERATION_COUNT + 83;
+
+ /**
+ * The operation id for the '<em>Resolve Stereotype</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXTERNAL_ELEMENT_REFERENCE___RESOLVE_STEREOTYPE__STRING = ELEMENT_REFERENCE_OPERATION_COUNT + 84;
+
+ /**
+ * The operation id for the '<em>Stub</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXTERNAL_ELEMENT_REFERENCE___STUB = ELEMENT_REFERENCE_OPERATION_COUNT + 85;
+
+ /**
+ * The operation id for the '<em>Stub For</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXTERNAL_ELEMENT_REFERENCE___STUB_FOR__UNITDEFINITION = ELEMENT_REFERENCE_OPERATION_COUNT + 86;
+
+ /**
+ * The number of operations of the '<em>External Element Reference</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ 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.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.uml.alf.impl.ExternalEnumerationLiteralReferenceImpl
+ * @see org.eclipse.papyrus.uml.alf.impl.AlfPackageImpl#getExternalEnumerationLiteralReference()
+ * @generated
+ */
+ int EXTERNAL_ENUMERATION_LITERAL_REFERENCE = 5;
+
+ /**
+ * The feature id for the '<em><b>Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXTERNAL_ENUMERATION_LITERAL_REFERENCE__ELEMENT = EXTERNAL_ELEMENT_REFERENCE__ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Alias</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXTERNAL_ENUMERATION_LITERAL_REFERENCE__ALIAS = EXTERNAL_ELEMENT_REFERENCE__ALIAS;
+
+ /**
+ * The number of structural features of the '<em>External Enumeration Literal Reference</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXTERNAL_ENUMERATION_LITERAL_REFERENCE_FEATURE_COUNT = EXTERNAL_ELEMENT_REFERENCE_FEATURE_COUNT + 0;
+
+ /**
+ * The operation id for the '<em>Is Alf</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXTERNAL_ENUMERATION_LITERAL_REFERENCE___IS_ALF = EXTERNAL_ELEMENT_REFERENCE___IS_ALF;
+
+ /**
+ * The operation id for the '<em>As Alf</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXTERNAL_ENUMERATION_LITERAL_REFERENCE___AS_ALF = EXTERNAL_ELEMENT_REFERENCE___AS_ALF;
+
+ /**
+ * The operation id for the '<em>Is Any Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXTERNAL_ENUMERATION_LITERAL_REFERENCE___IS_ANY_TYPE = EXTERNAL_ELEMENT_REFERENCE___IS_ANY_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Distinguishable From</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXTERNAL_ENUMERATION_LITERAL_REFERENCE___IS_DISTINGUISHABLE_FROM__ELEMENTREFERENCE = EXTERNAL_ELEMENT_REFERENCE___IS_DISTINGUISHABLE_FROM__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Assignable From</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXTERNAL_ENUMERATION_LITERAL_REFERENCE___IS_ASSIGNABLE_FROM__ASSIGNABLEELEMENT = EXTERNAL_ELEMENT_REFERENCE___IS_ASSIGNABLE_FROM__ASSIGNABLEELEMENT;
+
+ /**
+ * The operation id for the '<em>Collection Argument</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXTERNAL_ENUMERATION_LITERAL_REFERENCE___COLLECTION_ARGUMENT = EXTERNAL_ELEMENT_REFERENCE___COLLECTION_ARGUMENT;
+
+ /**
+ * The operation id for the '<em>Visible Members</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXTERNAL_ENUMERATION_LITERAL_REFERENCE___VISIBLE_MEMBERS = EXTERNAL_ELEMENT_REFERENCE___VISIBLE_MEMBERS;
+
+ /**
+ * The operation id for the '<em>Receptions</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXTERNAL_ENUMERATION_LITERAL_REFERENCE___RECEPTIONS = EXTERNAL_ELEMENT_REFERENCE___RECEPTIONS;
+
+ /**
+ * The operation id for the '<em>Base</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXTERNAL_ENUMERATION_LITERAL_REFERENCE___BASE = EXTERNAL_ELEMENT_REFERENCE___BASE;
+
+ /**
+ * The operation id for the '<em>Reference</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXTERNAL_ENUMERATION_LITERAL_REFERENCE___REFERENCE = EXTERNAL_ELEMENT_REFERENCE___REFERENCE;
+
+ /**
+ * The operation id for the '<em>Template Binding</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXTERNAL_ENUMERATION_LITERAL_REFERENCE___TEMPLATE_BINDING = EXTERNAL_ELEMENT_REFERENCE___TEMPLATE_BINDING;
+
+ /**
+ * The operation id for the '<em>Bind</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXTERNAL_ENUMERATION_LITERAL_REFERENCE___BIND__ELIST = EXTERNAL_ELEMENT_REFERENCE___BIND__ELIST;
+
+ /**
+ * The operation id for the '<em>Bound Element Name</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXTERNAL_ENUMERATION_LITERAL_REFERENCE___BOUND_ELEMENT_NAME__ELIST = EXTERNAL_ELEMENT_REFERENCE___BOUND_ELEMENT_NAME__ELIST;
+
+ /**
+ * The operation id for the '<em>Bound Path Name</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXTERNAL_ENUMERATION_LITERAL_REFERENCE___BOUND_PATH_NAME = EXTERNAL_ELEMENT_REFERENCE___BOUND_PATH_NAME;
+
+ /**
+ * The operation id for the '<em>Qualified Name</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXTERNAL_ENUMERATION_LITERAL_REFERENCE___QUALIFIED_NAME = EXTERNAL_ELEMENT_REFERENCE___QUALIFIED_NAME;
+
+ /**
+ * The operation id for the '<em>Is Active Behavior</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXTERNAL_ENUMERATION_LITERAL_REFERENCE___IS_ACTIVE_BEHAVIOR = EXTERNAL_ELEMENT_REFERENCE___IS_ACTIVE_BEHAVIOR;
+
+ /**
+ * The operation id for the '<em>Contained In</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXTERNAL_ENUMERATION_LITERAL_REFERENCE___CONTAINED_IN__ELIST = EXTERNAL_ELEMENT_REFERENCE___CONTAINED_IN__ELIST;
+
+ /**
+ * The operation id for the '<em>Count In</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXTERNAL_ENUMERATION_LITERAL_REFERENCE___COUNT_IN__ELIST = EXTERNAL_ELEMENT_REFERENCE___COUNT_IN__ELIST;
+
+ /**
+ * The operation id for the '<em>Position In</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXTERNAL_ENUMERATION_LITERAL_REFERENCE___POSITION_IN__ELIST = EXTERNAL_ELEMENT_REFERENCE___POSITION_IN__ELIST;
+
+ /**
+ * The operation id for the '<em>Resolve</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXTERNAL_ENUMERATION_LITERAL_REFERENCE___RESOLVE__STRING = EXTERNAL_ELEMENT_REFERENCE___RESOLVE__STRING;
+
+ /**
+ * The operation id for the '<em>Resolve Visible</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXTERNAL_ENUMERATION_LITERAL_REFERENCE___RESOLVE_VISIBLE__STRING_ELEMENTREFERENCE = EXTERNAL_ELEMENT_REFERENCE___RESOLVE_VISIBLE__STRING_ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Resolve Association End</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXTERNAL_ENUMERATION_LITERAL_REFERENCE___RESOLVE_ASSOCIATION_END__ELEMENTREFERENCE_STRING = EXTERNAL_ELEMENT_REFERENCE___RESOLVE_ASSOCIATION_END__ELEMENTREFERENCE_STRING;
+
+ /**
+ * The operation id for the '<em>Contains Member</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXTERNAL_ENUMERATION_LITERAL_REFERENCE___CONTAINS_MEMBER__ELEMENTREFERENCE = EXTERNAL_ELEMENT_REFERENCE___CONTAINS_MEMBER__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Allow Package Only</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXTERNAL_ENUMERATION_LITERAL_REFERENCE___ALLOW_PACKAGE_ONLY = EXTERNAL_ELEMENT_REFERENCE___ALLOW_PACKAGE_ONLY;
+
+ /**
+ * The operation id for the '<em>Is Uml</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXTERNAL_ENUMERATION_LITERAL_REFERENCE___IS_UML = EXTERNAL_ELEMENT_REFERENCE___IS_UML;
+
+ /**
+ * The operation id for the '<em>As Uml</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXTERNAL_ENUMERATION_LITERAL_REFERENCE___AS_UML = EXTERNAL_ELEMENT_REFERENCE___AS_UML;
+
+ /**
+ * The operation id for the '<em>As Member</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXTERNAL_ENUMERATION_LITERAL_REFERENCE___AS_MEMBER = EXTERNAL_ELEMENT_REFERENCE___AS_MEMBER;
+
+ /**
+ * The operation id for the '<em>Is Same Kind As</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXTERNAL_ENUMERATION_LITERAL_REFERENCE___IS_SAME_KIND_AS__ELEMENTREFERENCE = EXTERNAL_ELEMENT_REFERENCE___IS_SAME_KIND_AS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Named Element</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXTERNAL_ENUMERATION_LITERAL_REFERENCE___IS_NAMED_ELEMENT = EXTERNAL_ELEMENT_REFERENCE___IS_NAMED_ELEMENT;
+
+ /**
+ * The operation id for the '<em>Is Namespace</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXTERNAL_ENUMERATION_LITERAL_REFERENCE___IS_NAMESPACE = EXTERNAL_ELEMENT_REFERENCE___IS_NAMESPACE;
+
+ /**
+ * The operation id for the '<em>Is Namespace For</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXTERNAL_ENUMERATION_LITERAL_REFERENCE___IS_NAMESPACE_FOR__UNITDEFINITION = EXTERNAL_ELEMENT_REFERENCE___IS_NAMESPACE_FOR__UNITDEFINITION;
+
+ /**
+ * The operation id for the '<em>Is Model Namespace</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXTERNAL_ENUMERATION_LITERAL_REFERENCE___IS_MODEL_NAMESPACE = EXTERNAL_ELEMENT_REFERENCE___IS_MODEL_NAMESPACE;
+
+ /**
+ * The operation id for the '<em>Is Package</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXTERNAL_ENUMERATION_LITERAL_REFERENCE___IS_PACKAGE = EXTERNAL_ELEMENT_REFERENCE___IS_PACKAGE;
+
+ /**
+ * The operation id for the '<em>Is Profile</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXTERNAL_ENUMERATION_LITERAL_REFERENCE___IS_PROFILE = EXTERNAL_ELEMENT_REFERENCE___IS_PROFILE;
+
+ /**
+ * The operation id for the '<em>Is Packageable Element</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXTERNAL_ENUMERATION_LITERAL_REFERENCE___IS_PACKAGEABLE_ELEMENT = EXTERNAL_ELEMENT_REFERENCE___IS_PACKAGEABLE_ELEMENT;
+
+ /**
+ * The operation id for the '<em>Is Abstract Classifier</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXTERNAL_ENUMERATION_LITERAL_REFERENCE___IS_ABSTRACT_CLASSIFIER = EXTERNAL_ELEMENT_REFERENCE___IS_ABSTRACT_CLASSIFIER;
+
+ /**
+ * The operation id for the '<em>Is Association</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXTERNAL_ENUMERATION_LITERAL_REFERENCE___IS_ASSOCIATION = EXTERNAL_ELEMENT_REFERENCE___IS_ASSOCIATION;
+
+ /**
+ * The operation id for the '<em>Is Data Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXTERNAL_ENUMERATION_LITERAL_REFERENCE___IS_DATA_TYPE = EXTERNAL_ELEMENT_REFERENCE___IS_DATA_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXTERNAL_ENUMERATION_LITERAL_REFERENCE___IS_CLASS = EXTERNAL_ELEMENT_REFERENCE___IS_CLASS;
+
+ /**
+ * The operation id for the '<em>Is Active Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXTERNAL_ENUMERATION_LITERAL_REFERENCE___IS_ACTIVE_CLASS = EXTERNAL_ELEMENT_REFERENCE___IS_ACTIVE_CLASS;
+
+ /**
+ * The operation id for the '<em>Is Signal</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXTERNAL_ENUMERATION_LITERAL_REFERENCE___IS_SIGNAL = EXTERNAL_ELEMENT_REFERENCE___IS_SIGNAL;
+
+ /**
+ * The operation id for the '<em>Is Enumeration</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXTERNAL_ENUMERATION_LITERAL_REFERENCE___IS_ENUMERATION = EXTERNAL_ELEMENT_REFERENCE___IS_ENUMERATION;
+
+ /**
+ * The operation id for the '<em>Is Behavior</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXTERNAL_ENUMERATION_LITERAL_REFERENCE___IS_BEHAVIOR = EXTERNAL_ELEMENT_REFERENCE___IS_BEHAVIOR;
+
+ /**
+ * The operation id for the '<em>Is Activity</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXTERNAL_ENUMERATION_LITERAL_REFERENCE___IS_ACTIVITY = EXTERNAL_ELEMENT_REFERENCE___IS_ACTIVITY;
+
+ /**
+ * The operation id for the '<em>Is Method</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXTERNAL_ENUMERATION_LITERAL_REFERENCE___IS_METHOD = EXTERNAL_ELEMENT_REFERENCE___IS_METHOD;
+
+ /**
+ * The operation id for the '<em>Is Primitive Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXTERNAL_ENUMERATION_LITERAL_REFERENCE___IS_PRIMITIVE_TYPE = EXTERNAL_ELEMENT_REFERENCE___IS_PRIMITIVE_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Reception</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXTERNAL_ENUMERATION_LITERAL_REFERENCE___IS_RECEPTION = EXTERNAL_ELEMENT_REFERENCE___IS_RECEPTION;
+
+ /**
+ * The operation id for the '<em>Is Operation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXTERNAL_ENUMERATION_LITERAL_REFERENCE___IS_OPERATION = EXTERNAL_ELEMENT_REFERENCE___IS_OPERATION;
+
+ /**
+ * The operation id for the '<em>Is Constructor</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXTERNAL_ENUMERATION_LITERAL_REFERENCE___IS_CONSTRUCTOR = EXTERNAL_ELEMENT_REFERENCE___IS_CONSTRUCTOR;
+
+ /**
+ * The operation id for the '<em>Is Destructor</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXTERNAL_ENUMERATION_LITERAL_REFERENCE___IS_DESTRUCTOR = EXTERNAL_ELEMENT_REFERENCE___IS_DESTRUCTOR;
+
+ /**
+ * The operation id for the '<em>Is Feature</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXTERNAL_ENUMERATION_LITERAL_REFERENCE___IS_FEATURE = EXTERNAL_ELEMENT_REFERENCE___IS_FEATURE;
+
+ /**
+ * The operation id for the '<em>Is Property</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXTERNAL_ENUMERATION_LITERAL_REFERENCE___IS_PROPERTY = EXTERNAL_ELEMENT_REFERENCE___IS_PROPERTY;
+
+ /**
+ * The operation id for the '<em>Is Association End</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXTERNAL_ENUMERATION_LITERAL_REFERENCE___IS_ASSOCIATION_END = EXTERNAL_ELEMENT_REFERENCE___IS_ASSOCIATION_END;
+
+ /**
+ * The operation id for the '<em>Is Template</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXTERNAL_ENUMERATION_LITERAL_REFERENCE___IS_TEMPLATE = EXTERNAL_ELEMENT_REFERENCE___IS_TEMPLATE;
+
+ /**
+ * The operation id for the '<em>Is Template Parameter</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXTERNAL_ENUMERATION_LITERAL_REFERENCE___IS_TEMPLATE_PARAMETER = EXTERNAL_ELEMENT_REFERENCE___IS_TEMPLATE_PARAMETER;
+
+ /**
+ * The operation id for the '<em>Is Classifier Template Parameter</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXTERNAL_ENUMERATION_LITERAL_REFERENCE___IS_CLASSIFIER_TEMPLATE_PARAMETER = EXTERNAL_ELEMENT_REFERENCE___IS_CLASSIFIER_TEMPLATE_PARAMETER;
+
+ /**
+ * The operation id for the '<em>Is Parametered Element</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXTERNAL_ENUMERATION_LITERAL_REFERENCE___IS_PARAMETERED_ELEMENT = EXTERNAL_ELEMENT_REFERENCE___IS_PARAMETERED_ELEMENT;
+
+ /**
+ * The operation id for the '<em>Is Template Binding</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXTERNAL_ENUMERATION_LITERAL_REFERENCE___IS_TEMPLATE_BINDING = EXTERNAL_ELEMENT_REFERENCE___IS_TEMPLATE_BINDING;
+
+ /**
+ * The operation id for the '<em>Is Stereotype</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXTERNAL_ENUMERATION_LITERAL_REFERENCE___IS_STEREOTYPE = EXTERNAL_ELEMENT_REFERENCE___IS_STEREOTYPE;
+
+ /**
+ * The operation id for the '<em>Is Loop Variable</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXTERNAL_ENUMERATION_LITERAL_REFERENCE___IS_LOOP_VARIABLE = EXTERNAL_ELEMENT_REFERENCE___IS_LOOP_VARIABLE;
+
+ /**
+ * The operation id for the '<em>Is Annotation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXTERNAL_ENUMERATION_LITERAL_REFERENCE___IS_ANNOTATION = EXTERNAL_ELEMENT_REFERENCE___IS_ANNOTATION;
+
+ /**
+ * The operation id for the '<em>Is Sequence Expansion Expression</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXTERNAL_ENUMERATION_LITERAL_REFERENCE___IS_SEQUENCE_EXPANSION_EXPRESSION = EXTERNAL_ELEMENT_REFERENCE___IS_SEQUENCE_EXPANSION_EXPRESSION;
+
+ /**
+ * The operation id for the '<em>Name</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXTERNAL_ENUMERATION_LITERAL_REFERENCE___NAME = EXTERNAL_ELEMENT_REFERENCE___NAME;
+
+ /**
+ * The operation id for the '<em>Owned Members</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXTERNAL_ENUMERATION_LITERAL_REFERENCE___OWNED_MEMBERS = EXTERNAL_ELEMENT_REFERENCE___OWNED_MEMBERS;
+
+ /**
+ * The operation id for the '<em>Enumeration Members</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXTERNAL_ENUMERATION_LITERAL_REFERENCE___ENUMERATION_MEMBERS = EXTERNAL_ELEMENT_REFERENCE___ENUMERATION_MEMBERS;
+
+ /**
+ * The operation id for the '<em>Members</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXTERNAL_ENUMERATION_LITERAL_REFERENCE___MEMBERS = EXTERNAL_ELEMENT_REFERENCE___MEMBERS;
+
+ /**
+ * The operation id for the '<em>Additional Members</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXTERNAL_ENUMERATION_LITERAL_REFERENCE___ADDITIONAL_MEMBERS = EXTERNAL_ELEMENT_REFERENCE___ADDITIONAL_MEMBERS;
+
+ /**
+ * The operation id for the '<em>Inherit</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXTERNAL_ENUMERATION_LITERAL_REFERENCE___INHERIT__ELIST = EXTERNAL_ELEMENT_REFERENCE___INHERIT__ELIST;
+
+ /**
+ * The operation id for the '<em>Properties</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ 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 -->
+ *
+ * @generated
+ * @ordered
+ */
+ 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 -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXTERNAL_ENUMERATION_LITERAL_REFERENCE___OPPOSITE = EXTERNAL_ELEMENT_REFERENCE___OPPOSITE;
+
+ /**
+ * The operation id for the '<em>Signal</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXTERNAL_ENUMERATION_LITERAL_REFERENCE___SIGNAL = EXTERNAL_ELEMENT_REFERENCE___SIGNAL;
+
+ /**
+ * The operation id for the '<em>Namespace</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXTERNAL_ENUMERATION_LITERAL_REFERENCE___NAMESPACE = EXTERNAL_ELEMENT_REFERENCE___NAMESPACE;
+
+ /**
+ * The operation id for the '<em>Owned Parameters</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXTERNAL_ENUMERATION_LITERAL_REFERENCE___OWNED_PARAMETERS = EXTERNAL_ELEMENT_REFERENCE___OWNED_PARAMETERS;
+
+ /**
+ * The operation id for the '<em>Parameters</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXTERNAL_ENUMERATION_LITERAL_REFERENCE___PARAMETERS = EXTERNAL_ELEMENT_REFERENCE___PARAMETERS;
+
+ /**
+ * The operation id for the '<em>Return Parameter</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXTERNAL_ENUMERATION_LITERAL_REFERENCE___RETURN_PARAMETER = EXTERNAL_ELEMENT_REFERENCE___RETURN_PARAMETER;
+
+ /**
+ * The operation id for the '<em>Specification</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXTERNAL_ENUMERATION_LITERAL_REFERENCE___SPECIFICATION = EXTERNAL_ELEMENT_REFERENCE___SPECIFICATION;
+
+ /**
+ * The operation id for the '<em>Redefined Operations</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXTERNAL_ENUMERATION_LITERAL_REFERENCE___REDEFINED_OPERATIONS = EXTERNAL_ELEMENT_REFERENCE___REDEFINED_OPERATIONS;
+
+ /**
+ * The operation id for the '<em>Template</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXTERNAL_ENUMERATION_LITERAL_REFERENCE___TEMPLATE = EXTERNAL_ELEMENT_REFERENCE___TEMPLATE;
+
+ /**
+ * The operation id for the '<em>Uml Template Binding</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXTERNAL_ENUMERATION_LITERAL_REFERENCE___UML_TEMPLATE_BINDING = EXTERNAL_ELEMENT_REFERENCE___UML_TEMPLATE_BINDING;
+
+ /**
+ * The operation id for the '<em>Template Parameters</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXTERNAL_ENUMERATION_LITERAL_REFERENCE___TEMPLATE_PARAMETERS = EXTERNAL_ELEMENT_REFERENCE___TEMPLATE_PARAMETERS;
+
+ /**
+ * The operation id for the '<em>Parametered Elements</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXTERNAL_ENUMERATION_LITERAL_REFERENCE___PARAMETERED_ELEMENTS = EXTERNAL_ELEMENT_REFERENCE___PARAMETERED_ELEMENTS;
+
+ /**
+ * The operation id for the '<em>Template Actuals</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXTERNAL_ENUMERATION_LITERAL_REFERENCE___TEMPLATE_ACTUALS = EXTERNAL_ELEMENT_REFERENCE___TEMPLATE_ACTUALS;
+
+ /**
+ * The operation id for the '<em>Direction</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXTERNAL_ENUMERATION_LITERAL_REFERENCE___DIRECTION = EXTERNAL_ELEMENT_REFERENCE___DIRECTION;
+
+ /**
+ * The operation id for the '<em>Association</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXTERNAL_ENUMERATION_LITERAL_REFERENCE___ASSOCIATION = EXTERNAL_ELEMENT_REFERENCE___ASSOCIATION;
+
+ /**
+ * The operation id for the '<em>Lower</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXTERNAL_ENUMERATION_LITERAL_REFERENCE___LOWER = EXTERNAL_ELEMENT_REFERENCE___LOWER;
+
+ /**
+ * The operation id for the '<em>Upper</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXTERNAL_ENUMERATION_LITERAL_REFERENCE___UPPER = EXTERNAL_ELEMENT_REFERENCE___UPPER;
+
+ /**
+ * The operation id for the '<em>Is Ordered</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXTERNAL_ENUMERATION_LITERAL_REFERENCE___IS_ORDERED = EXTERNAL_ELEMENT_REFERENCE___IS_ORDERED;
+
+ /**
+ * The operation id for the '<em>Is Nonunique</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXTERNAL_ENUMERATION_LITERAL_REFERENCE___IS_NONUNIQUE = EXTERNAL_ELEMENT_REFERENCE___IS_NONUNIQUE;
+
+ /**
+ * The operation id for the '<em>Parents</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXTERNAL_ENUMERATION_LITERAL_REFERENCE___PARENTS = EXTERNAL_ELEMENT_REFERENCE___PARENTS;
+
+ /**
+ * The operation id for the '<em>All Parents</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXTERNAL_ENUMERATION_LITERAL_REFERENCE___ALL_PARENTS = EXTERNAL_ELEMENT_REFERENCE___ALL_PARENTS;
+
+ /**
+ * The operation id for the '<em>Classifier Behavior</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXTERNAL_ENUMERATION_LITERAL_REFERENCE___CLASSIFIER_BEHAVIOR = EXTERNAL_ELEMENT_REFERENCE___CLASSIFIER_BEHAVIOR;
+
+ /**
+ * The operation id for the '<em>Applied Profiles</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXTERNAL_ENUMERATION_LITERAL_REFERENCE___APPLIED_PROFILES = EXTERNAL_ELEMENT_REFERENCE___APPLIED_PROFILES;
+
+ /**
+ * The operation id for the '<em>Active Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXTERNAL_ENUMERATION_LITERAL_REFERENCE___ACTIVE_CLASS = EXTERNAL_ELEMENT_REFERENCE___ACTIVE_CLASS;
+
+ /**
+ * The operation id for the '<em>Conforms To</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXTERNAL_ENUMERATION_LITERAL_REFERENCE___CONFORMS_TO__ELEMENTREFERENCE = EXTERNAL_ELEMENT_REFERENCE___CONFORMS_TO__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Equals</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXTERNAL_ENUMERATION_LITERAL_REFERENCE___EQUALS__ELEMENTREFERENCE = EXTERNAL_ELEMENT_REFERENCE___EQUALS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Copy</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXTERNAL_ENUMERATION_LITERAL_REFERENCE___COPY = EXTERNAL_ELEMENT_REFERENCE___COPY;
+
+ /**
+ * The operation id for the '<em>Model Scope</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXTERNAL_ENUMERATION_LITERAL_REFERENCE___MODEL_SCOPE = EXTERNAL_ELEMENT_REFERENCE___MODEL_SCOPE;
+
+ /**
+ * The operation id for the '<em>Resolve Path Name</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXTERNAL_ENUMERATION_LITERAL_REFERENCE___RESOLVE_PATH_NAME__STRING = EXTERNAL_ELEMENT_REFERENCE___RESOLVE_PATH_NAME__STRING;
+
+ /**
+ * The operation id for the '<em>External Element Reference resolve Path Name</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXTERNAL_ENUMERATION_LITERAL_REFERENCE___EXTERNAL_ELEMENT_REFERENCE_RESOLVE_PATH_NAME__STRING = EXTERNAL_ELEMENT_REFERENCE___EXTERNAL_ELEMENT_REFERENCE_RESOLVE_PATH_NAME__STRING;
+
+ /**
+ * The operation id for the '<em>Resolve In Scope</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXTERNAL_ENUMERATION_LITERAL_REFERENCE___RESOLVE_IN_SCOPE__STRING = EXTERNAL_ELEMENT_REFERENCE___RESOLVE_IN_SCOPE__STRING;
+
+ /**
+ * The operation id for the '<em>Resolve Stereotype</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXTERNAL_ENUMERATION_LITERAL_REFERENCE___RESOLVE_STEREOTYPE__STRING = EXTERNAL_ELEMENT_REFERENCE___RESOLVE_STEREOTYPE__STRING;
+
+ /**
+ * The operation id for the '<em>Stub</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXTERNAL_ENUMERATION_LITERAL_REFERENCE___STUB = EXTERNAL_ELEMENT_REFERENCE___STUB;
+
+ /**
+ * The operation id for the '<em>Stub For</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXTERNAL_ENUMERATION_LITERAL_REFERENCE___STUB_FOR__UNITDEFINITION = EXTERNAL_ELEMENT_REFERENCE___STUB_FOR__UNITDEFINITION;
+
+ /**
+ * The operation id for the '<em>Is Named Eement</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXTERNAL_ENUMERATION_LITERAL_REFERENCE___IS_NAMED_EEMENT = EXTERNAL_ELEMENT_REFERENCE_OPERATION_COUNT + 0;
+
+ /**
+ * The operation id for the '<em>Is Classifier</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXTERNAL_ENUMERATION_LITERAL_REFERENCE___IS_CLASSIFIER = EXTERNAL_ELEMENT_REFERENCE_OPERATION_COUNT + 1;
+
+ /**
+ * The operation id for the '<em>Is Parameter</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXTERNAL_ENUMERATION_LITERAL_REFERENCE___IS_PARAMETER = EXTERNAL_ELEMENT_REFERENCE_OPERATION_COUNT + 2;
+
+ /**
+ * The operation id for the '<em>Is Enumeration Literal</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXTERNAL_ENUMERATION_LITERAL_REFERENCE___IS_ENUMERATION_LITERAL = EXTERNAL_ELEMENT_REFERENCE_OPERATION_COUNT + 3;
+
+ /**
+ * The operation id for the '<em>External Enumeration Literal Reference visibility</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXTERNAL_ENUMERATION_LITERAL_REFERENCE___EXTERNAL_ENUMERATION_LITERAL_REFERENCE_VISIBILITY = EXTERNAL_ELEMENT_REFERENCE_OPERATION_COUNT + 4;
+
+ /**
+ * The operation id for the '<em>Visibility</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXTERNAL_ENUMERATION_LITERAL_REFERENCE___VISIBILITY = EXTERNAL_ELEMENT_REFERENCE_OPERATION_COUNT + 5;
+
+ /**
+ * The operation id for the '<em>External Enumeration Literal Reference type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXTERNAL_ENUMERATION_LITERAL_REFERENCE___EXTERNAL_ENUMERATION_LITERAL_REFERENCE_TYPE = EXTERNAL_ELEMENT_REFERENCE_OPERATION_COUNT + 6;
+
+ /**
+ * The operation id for the '<em>Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXTERNAL_ENUMERATION_LITERAL_REFERENCE___TYPE = EXTERNAL_ELEMENT_REFERENCE_OPERATION_COUNT + 7;
+
+ /**
+ * The number of operations of the '<em>External Enumeration Literal Reference</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXTERNAL_ENUMERATION_LITERAL_REFERENCE_OPERATION_COUNT = EXTERNAL_ELEMENT_REFERENCE_OPERATION_COUNT + 8;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.uml.alf.impl.BoundElementReferenceImpl <em>Bound Element Reference</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.uml.alf.impl.BoundElementReferenceImpl
+ * @see org.eclipse.papyrus.uml.alf.impl.AlfPackageImpl#getBoundElementReference()
+ * @generated
+ */
+ int BOUND_ELEMENT_REFERENCE = 6;
+
+ /**
+ * The feature id for the '<em><b>Referent</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BOUND_ELEMENT_REFERENCE__REFERENT = ELEMENT_REFERENCE_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Namespace</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BOUND_ELEMENT_REFERENCE__NAMESPACE = ELEMENT_REFERENCE_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Template Binding</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BOUND_ELEMENT_REFERENCE__TEMPLATE_BINDING = ELEMENT_REFERENCE_FEATURE_COUNT + 2;
+
+ /**
+ * The number of structural features of the '<em>Bound Element Reference</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BOUND_ELEMENT_REFERENCE_FEATURE_COUNT = ELEMENT_REFERENCE_FEATURE_COUNT + 3;
+
+ /**
+ * The operation id for the '<em>Is Any Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BOUND_ELEMENT_REFERENCE___IS_ANY_TYPE = ELEMENT_REFERENCE___IS_ANY_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Assignable From</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BOUND_ELEMENT_REFERENCE___IS_ASSIGNABLE_FROM__ASSIGNABLEELEMENT = ELEMENT_REFERENCE___IS_ASSIGNABLE_FROM__ASSIGNABLEELEMENT;
+
+ /**
+ * The operation id for the '<em>Collection Argument</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BOUND_ELEMENT_REFERENCE___COLLECTION_ARGUMENT = ELEMENT_REFERENCE___COLLECTION_ARGUMENT;
+
+ /**
+ * The operation id for the '<em>Visible Members</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ 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 -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BOUND_ELEMENT_REFERENCE___RECEPTIONS = ELEMENT_REFERENCE___RECEPTIONS;
+
+ /**
+ * The operation id for the '<em>Base</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BOUND_ELEMENT_REFERENCE___BASE = ELEMENT_REFERENCE___BASE;
+
+ /**
+ * The operation id for the '<em>Bind</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BOUND_ELEMENT_REFERENCE___BIND__ELIST = ELEMENT_REFERENCE___BIND__ELIST;
+
+ /**
+ * The operation id for the '<em>Bound Element Name</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BOUND_ELEMENT_REFERENCE___BOUND_ELEMENT_NAME__ELIST = ELEMENT_REFERENCE___BOUND_ELEMENT_NAME__ELIST;
+
+ /**
+ * The operation id for the '<em>Bound Path Name</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BOUND_ELEMENT_REFERENCE___BOUND_PATH_NAME = ELEMENT_REFERENCE___BOUND_PATH_NAME;
+
+ /**
+ * The operation id for the '<em>Qualified Name</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BOUND_ELEMENT_REFERENCE___QUALIFIED_NAME = ELEMENT_REFERENCE___QUALIFIED_NAME;
+
+ /**
+ * The operation id for the '<em>Contained In</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BOUND_ELEMENT_REFERENCE___CONTAINED_IN__ELIST = ELEMENT_REFERENCE___CONTAINED_IN__ELIST;
+
+ /**
+ * The operation id for the '<em>Count In</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BOUND_ELEMENT_REFERENCE___COUNT_IN__ELIST = ELEMENT_REFERENCE___COUNT_IN__ELIST;
+
+ /**
+ * The operation id for the '<em>Position In</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BOUND_ELEMENT_REFERENCE___POSITION_IN__ELIST = ELEMENT_REFERENCE___POSITION_IN__ELIST;
+
+ /**
+ * The operation id for the '<em>Resolve</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BOUND_ELEMENT_REFERENCE___RESOLVE__STRING = ELEMENT_REFERENCE___RESOLVE__STRING;
+
+ /**
+ * The operation id for the '<em>Resolve Visible</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BOUND_ELEMENT_REFERENCE___RESOLVE_VISIBLE__STRING_ELEMENTREFERENCE = ELEMENT_REFERENCE___RESOLVE_VISIBLE__STRING_ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Resolve Association End</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BOUND_ELEMENT_REFERENCE___RESOLVE_ASSOCIATION_END__ELEMENTREFERENCE_STRING = ELEMENT_REFERENCE___RESOLVE_ASSOCIATION_END__ELEMENTREFERENCE_STRING;
+
+ /**
+ * The operation id for the '<em>Contains Member</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BOUND_ELEMENT_REFERENCE___CONTAINS_MEMBER__ELEMENTREFERENCE = ELEMENT_REFERENCE___CONTAINS_MEMBER__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Allow Package Only</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BOUND_ELEMENT_REFERENCE___ALLOW_PACKAGE_ONLY = ELEMENT_REFERENCE___ALLOW_PACKAGE_ONLY;
+
+ /**
+ * The operation id for the '<em>Is Uml</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BOUND_ELEMENT_REFERENCE___IS_UML = ELEMENT_REFERENCE_OPERATION_COUNT + 0;
+
+ /**
+ * The operation id for the '<em>Is Alf</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BOUND_ELEMENT_REFERENCE___IS_ALF = ELEMENT_REFERENCE_OPERATION_COUNT + 1;
+
+ /**
+ * The operation id for the '<em>As Uml</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BOUND_ELEMENT_REFERENCE___AS_UML = ELEMENT_REFERENCE_OPERATION_COUNT + 2;
+
+ /**
+ * The operation id for the '<em>As Alf</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BOUND_ELEMENT_REFERENCE___AS_ALF = ELEMENT_REFERENCE_OPERATION_COUNT + 3;
+
+ /**
+ * The operation id for the '<em>As Member</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BOUND_ELEMENT_REFERENCE___AS_MEMBER = ELEMENT_REFERENCE_OPERATION_COUNT + 4;
+
+ /**
+ * The operation id for the '<em>Is Same Kind As</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BOUND_ELEMENT_REFERENCE___IS_SAME_KIND_AS__ELEMENTREFERENCE = ELEMENT_REFERENCE_OPERATION_COUNT + 5;
+
+ /**
+ * The operation id for the '<em>Is Named Element</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BOUND_ELEMENT_REFERENCE___IS_NAMED_ELEMENT = ELEMENT_REFERENCE_OPERATION_COUNT + 6;
+
+ /**
+ * The operation id for the '<em>Is Namespace</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BOUND_ELEMENT_REFERENCE___IS_NAMESPACE = ELEMENT_REFERENCE_OPERATION_COUNT + 7;
+
+ /**
+ * The operation id for the '<em>Is Namespace For</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BOUND_ELEMENT_REFERENCE___IS_NAMESPACE_FOR__UNITDEFINITION = ELEMENT_REFERENCE_OPERATION_COUNT + 8;
+
+ /**
+ * The operation id for the '<em>Is Model Namespace</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BOUND_ELEMENT_REFERENCE___IS_MODEL_NAMESPACE = ELEMENT_REFERENCE_OPERATION_COUNT + 9;
+
+ /**
+ * The operation id for the '<em>Is Package</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BOUND_ELEMENT_REFERENCE___IS_PACKAGE = ELEMENT_REFERENCE_OPERATION_COUNT + 10;
+
+ /**
+ * The operation id for the '<em>Is Profile</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BOUND_ELEMENT_REFERENCE___IS_PROFILE = ELEMENT_REFERENCE_OPERATION_COUNT + 11;
+
+ /**
+ * The operation id for the '<em>Is Packageable Element</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BOUND_ELEMENT_REFERENCE___IS_PACKAGEABLE_ELEMENT = ELEMENT_REFERENCE_OPERATION_COUNT + 12;
+
+ /**
+ * The operation id for the '<em>Is Classifier</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BOUND_ELEMENT_REFERENCE___IS_CLASSIFIER = ELEMENT_REFERENCE_OPERATION_COUNT + 13;
+
+ /**
+ * The operation id for the '<em>Is Abstract Classifier</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BOUND_ELEMENT_REFERENCE___IS_ABSTRACT_CLASSIFIER = ELEMENT_REFERENCE_OPERATION_COUNT + 14;
+
+ /**
+ * The operation id for the '<em>Is Association</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BOUND_ELEMENT_REFERENCE___IS_ASSOCIATION = ELEMENT_REFERENCE_OPERATION_COUNT + 15;
+
+ /**
+ * The operation id for the '<em>Is Data Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BOUND_ELEMENT_REFERENCE___IS_DATA_TYPE = ELEMENT_REFERENCE_OPERATION_COUNT + 16;
+
+ /**
+ * The operation id for the '<em>Is Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BOUND_ELEMENT_REFERENCE___IS_CLASS = ELEMENT_REFERENCE_OPERATION_COUNT + 17;
+
+ /**
+ * The operation id for the '<em>Is Active Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BOUND_ELEMENT_REFERENCE___IS_ACTIVE_CLASS = ELEMENT_REFERENCE_OPERATION_COUNT + 18;
+
+ /**
+ * The operation id for the '<em>Is Signal</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BOUND_ELEMENT_REFERENCE___IS_SIGNAL = ELEMENT_REFERENCE_OPERATION_COUNT + 19;
+
+ /**
+ * The operation id for the '<em>Is Enumeration</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BOUND_ELEMENT_REFERENCE___IS_ENUMERATION = ELEMENT_REFERENCE_OPERATION_COUNT + 20;
+
+ /**
+ * The operation id for the '<em>Is Behavior</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BOUND_ELEMENT_REFERENCE___IS_BEHAVIOR = ELEMENT_REFERENCE_OPERATION_COUNT + 21;
+
+ /**
+ * The operation id for the '<em>Is Activity</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BOUND_ELEMENT_REFERENCE___IS_ACTIVITY = ELEMENT_REFERENCE_OPERATION_COUNT + 22;
+
+ /**
+ * The operation id for the '<em>Is Method</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BOUND_ELEMENT_REFERENCE___IS_METHOD = ELEMENT_REFERENCE_OPERATION_COUNT + 23;
+
+ /**
+ * The operation id for the '<em>Is Primitive Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BOUND_ELEMENT_REFERENCE___IS_PRIMITIVE_TYPE = ELEMENT_REFERENCE_OPERATION_COUNT + 24;
+
+ /**
+ * The operation id for the '<em>Is Reception</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BOUND_ELEMENT_REFERENCE___IS_RECEPTION = ELEMENT_REFERENCE_OPERATION_COUNT + 25;
+
+ /**
+ * The operation id for the '<em>Is Operation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BOUND_ELEMENT_REFERENCE___IS_OPERATION = ELEMENT_REFERENCE_OPERATION_COUNT + 26;
+
+ /**
+ * The operation id for the '<em>Is Constructor</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BOUND_ELEMENT_REFERENCE___IS_CONSTRUCTOR = ELEMENT_REFERENCE_OPERATION_COUNT + 27;
+
+ /**
+ * The operation id for the '<em>Is Destructor</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BOUND_ELEMENT_REFERENCE___IS_DESTRUCTOR = ELEMENT_REFERENCE_OPERATION_COUNT + 28;
+
+ /**
+ * The operation id for the '<em>Is Feature</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BOUND_ELEMENT_REFERENCE___IS_FEATURE = ELEMENT_REFERENCE_OPERATION_COUNT + 29;
+
+ /**
+ * The operation id for the '<em>Is Property</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BOUND_ELEMENT_REFERENCE___IS_PROPERTY = ELEMENT_REFERENCE_OPERATION_COUNT + 30;
+
+ /**
+ * The operation id for the '<em>Is Association End</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BOUND_ELEMENT_REFERENCE___IS_ASSOCIATION_END = ELEMENT_REFERENCE_OPERATION_COUNT + 31;
+
+ /**
+ * The operation id for the '<em>Is Parameter</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BOUND_ELEMENT_REFERENCE___IS_PARAMETER = ELEMENT_REFERENCE_OPERATION_COUNT + 32;
+
+ /**
+ * The operation id for the '<em>Is Template</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BOUND_ELEMENT_REFERENCE___IS_TEMPLATE = ELEMENT_REFERENCE_OPERATION_COUNT + 33;
+
+ /**
+ * The operation id for the '<em>Is Template Parameter</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BOUND_ELEMENT_REFERENCE___IS_TEMPLATE_PARAMETER = ELEMENT_REFERENCE_OPERATION_COUNT + 34;
+
+ /**
+ * The operation id for the '<em>Is Classifier Template Parameter</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BOUND_ELEMENT_REFERENCE___IS_CLASSIFIER_TEMPLATE_PARAMETER = ELEMENT_REFERENCE_OPERATION_COUNT + 35;
+
+ /**
+ * The operation id for the '<em>Is Parametered Element</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BOUND_ELEMENT_REFERENCE___IS_PARAMETERED_ELEMENT = ELEMENT_REFERENCE_OPERATION_COUNT + 36;
+
+ /**
+ * The operation id for the '<em>Is Stereotype</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BOUND_ELEMENT_REFERENCE___IS_STEREOTYPE = ELEMENT_REFERENCE_OPERATION_COUNT + 37;
+
+ /**
+ * The operation id for the '<em>Is Enumeration Literal</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BOUND_ELEMENT_REFERENCE___IS_ENUMERATION_LITERAL = ELEMENT_REFERENCE_OPERATION_COUNT + 38;
+
+ /**
+ * The operation id for the '<em>Is Loop Variable</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BOUND_ELEMENT_REFERENCE___IS_LOOP_VARIABLE = ELEMENT_REFERENCE_OPERATION_COUNT + 39;
+
+ /**
+ * The operation id for the '<em>Is Annotation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BOUND_ELEMENT_REFERENCE___IS_ANNOTATION = ELEMENT_REFERENCE_OPERATION_COUNT + 40;
+
+ /**
+ * The operation id for the '<em>Is Sequence Expansion Expression</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BOUND_ELEMENT_REFERENCE___IS_SEQUENCE_EXPANSION_EXPRESSION = ELEMENT_REFERENCE_OPERATION_COUNT + 41;
+
+ /**
+ * The operation id for the '<em>Is Distinguishable From</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BOUND_ELEMENT_REFERENCE___IS_DISTINGUISHABLE_FROM__ELEMENTREFERENCE = ELEMENT_REFERENCE_OPERATION_COUNT + 42;
+
+ /**
+ * The operation id for the '<em>Name</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BOUND_ELEMENT_REFERENCE___NAME = ELEMENT_REFERENCE_OPERATION_COUNT + 43;
+
+ /**
+ * The operation id for the '<em>Visibility</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BOUND_ELEMENT_REFERENCE___VISIBILITY = ELEMENT_REFERENCE_OPERATION_COUNT + 44;
+
+ /**
+ * The operation id for the '<em>Owned Members</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BOUND_ELEMENT_REFERENCE___OWNED_MEMBERS = ELEMENT_REFERENCE_OPERATION_COUNT + 45;
+
+ /**
+ * The operation id for the '<em>Members</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BOUND_ELEMENT_REFERENCE___MEMBERS = ELEMENT_REFERENCE_OPERATION_COUNT + 46;
+
+ /**
+ * 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 + 47;
+
+ /**
+ * The operation id for the '<em>Signal</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BOUND_ELEMENT_REFERENCE___SIGNAL = ELEMENT_REFERENCE_OPERATION_COUNT + 48;
+
+ /**
+ * The operation id for the '<em>Parameters</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BOUND_ELEMENT_REFERENCE___PARAMETERS = ELEMENT_REFERENCE_OPERATION_COUNT + 49;
+
+ /**
+ * The operation id for the '<em>Return Parameter</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BOUND_ELEMENT_REFERENCE___RETURN_PARAMETER = ELEMENT_REFERENCE_OPERATION_COUNT + 50;
+
+ /**
+ * The operation id for the '<em>Specification</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BOUND_ELEMENT_REFERENCE___SPECIFICATION = ELEMENT_REFERENCE_OPERATION_COUNT + 51;
+
+ /**
+ * The operation id for the '<em>Redefined Operations</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BOUND_ELEMENT_REFERENCE___REDEFINED_OPERATIONS = ELEMENT_REFERENCE_OPERATION_COUNT + 52;
+
+ /**
+ * The operation id for the '<em>Namespace</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BOUND_ELEMENT_REFERENCE___NAMESPACE = ELEMENT_REFERENCE_OPERATION_COUNT + 53;
+
+ /**
+ * The operation id for the '<em>Template</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BOUND_ELEMENT_REFERENCE___TEMPLATE = ELEMENT_REFERENCE_OPERATION_COUNT + 54;
+
+ /**
+ * The operation id for the '<em>Template Parameters</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BOUND_ELEMENT_REFERENCE___TEMPLATE_PARAMETERS = ELEMENT_REFERENCE_OPERATION_COUNT + 55;
+
+ /**
+ * The operation id for the '<em>Parametered Elements</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BOUND_ELEMENT_REFERENCE___PARAMETERED_ELEMENTS = ELEMENT_REFERENCE_OPERATION_COUNT + 56;
+
+ /**
+ * The operation id for the '<em>Is Template Binding</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BOUND_ELEMENT_REFERENCE___IS_TEMPLATE_BINDING = ELEMENT_REFERENCE_OPERATION_COUNT + 57;
+
+ /**
+ * The operation id for the '<em>Template Actuals</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BOUND_ELEMENT_REFERENCE___TEMPLATE_ACTUALS = ELEMENT_REFERENCE_OPERATION_COUNT + 58;
+
+ /**
+ * The operation id for the '<em>Direction</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BOUND_ELEMENT_REFERENCE___DIRECTION = ELEMENT_REFERENCE_OPERATION_COUNT + 59;
+
+ /**
+ * The operation id for the '<em>Association</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BOUND_ELEMENT_REFERENCE___ASSOCIATION = ELEMENT_REFERENCE_OPERATION_COUNT + 60;
+
+ /**
+ * The operation id for the '<em>Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BOUND_ELEMENT_REFERENCE___TYPE = ELEMENT_REFERENCE_OPERATION_COUNT + 61;
+
+ /**
+ * The operation id for the '<em>Lower</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BOUND_ELEMENT_REFERENCE___LOWER = ELEMENT_REFERENCE_OPERATION_COUNT + 62;
+
+ /**
+ * The operation id for the '<em>Upper</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BOUND_ELEMENT_REFERENCE___UPPER = ELEMENT_REFERENCE_OPERATION_COUNT + 63;
+
+ /**
+ * The operation id for the '<em>Is Ordered</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BOUND_ELEMENT_REFERENCE___IS_ORDERED = ELEMENT_REFERENCE_OPERATION_COUNT + 64;
+
+ /**
+ * The operation id for the '<em>Is Nonunique</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BOUND_ELEMENT_REFERENCE___IS_NONUNIQUE = ELEMENT_REFERENCE_OPERATION_COUNT + 65;
+
+ /**
+ * The operation id for the '<em>Parents</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BOUND_ELEMENT_REFERENCE___PARENTS = ELEMENT_REFERENCE_OPERATION_COUNT + 66;
+
+ /**
+ * The operation id for the '<em>All Parents</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BOUND_ELEMENT_REFERENCE___ALL_PARENTS = ELEMENT_REFERENCE_OPERATION_COUNT + 67;
+
+ /**
+ * The operation id for the '<em>Classifier Behavior</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BOUND_ELEMENT_REFERENCE___CLASSIFIER_BEHAVIOR = ELEMENT_REFERENCE_OPERATION_COUNT + 68;
+
+ /**
+ * The operation id for the '<em>Applied Profiles</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BOUND_ELEMENT_REFERENCE___APPLIED_PROFILES = ELEMENT_REFERENCE_OPERATION_COUNT + 69;
+
+ /**
+ * The operation id for the '<em>Reference</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BOUND_ELEMENT_REFERENCE___REFERENCE = ELEMENT_REFERENCE_OPERATION_COUNT + 70;
+
+ /**
+ * The operation id for the '<em>Template Binding</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BOUND_ELEMENT_REFERENCE___TEMPLATE_BINDING = ELEMENT_REFERENCE_OPERATION_COUNT + 71;
+
+ /**
+ * The operation id for the '<em>Active Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BOUND_ELEMENT_REFERENCE___ACTIVE_CLASS = ELEMENT_REFERENCE_OPERATION_COUNT + 72;
+
+ /**
+ * The operation id for the '<em>Is Active Behavior</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BOUND_ELEMENT_REFERENCE___IS_ACTIVE_BEHAVIOR = ELEMENT_REFERENCE_OPERATION_COUNT + 73;
+
+ /**
+ * The operation id for the '<em>Conforms To</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BOUND_ELEMENT_REFERENCE___CONFORMS_TO__ELEMENTREFERENCE = ELEMENT_REFERENCE_OPERATION_COUNT + 74;
+
+ /**
+ * The operation id for the '<em>Equals</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BOUND_ELEMENT_REFERENCE___EQUALS__ELEMENTREFERENCE = ELEMENT_REFERENCE_OPERATION_COUNT + 75;
+
+ /**
+ * The operation id for the '<em>Copy</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BOUND_ELEMENT_REFERENCE___COPY = ELEMENT_REFERENCE_OPERATION_COUNT + 76;
+
+ /**
+ * The operation id for the '<em>Model Scope</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BOUND_ELEMENT_REFERENCE___MODEL_SCOPE = ELEMENT_REFERENCE_OPERATION_COUNT + 77;
+
+ /**
+ * The operation id for the '<em>Resolve Path Name</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BOUND_ELEMENT_REFERENCE___RESOLVE_PATH_NAME__STRING = ELEMENT_REFERENCE_OPERATION_COUNT + 78;
+
+ /**
+ * The operation id for the '<em>Resolve In Scope</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BOUND_ELEMENT_REFERENCE___RESOLVE_IN_SCOPE__STRING = ELEMENT_REFERENCE_OPERATION_COUNT + 79;
+
+ /**
+ * The operation id for the '<em>Resolve Stereotype</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BOUND_ELEMENT_REFERENCE___RESOLVE_STEREOTYPE__STRING = ELEMENT_REFERENCE_OPERATION_COUNT + 80;
+
+ /**
+ * The operation id for the '<em>Stub</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BOUND_ELEMENT_REFERENCE___STUB = ELEMENT_REFERENCE_OPERATION_COUNT + 81;
+
+ /**
+ * The operation id for the '<em>Stub For</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BOUND_ELEMENT_REFERENCE___STUB_FOR__UNITDEFINITION = ELEMENT_REFERENCE_OPERATION_COUNT + 82;
+
+ /**
+ * The operation id for the '<em>Bound Reference To</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BOUND_ELEMENT_REFERENCE___BOUND_REFERENCE_TO__ELEMENTREFERENCE = ELEMENT_REFERENCE_OPERATION_COUNT + 83;
+
+ /**
+ * The operation id for the '<em>Bound Reference To1</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BOUND_ELEMENT_REFERENCE___BOUND_REFERENCE_TO1__ELEMENTREFERENCE = ELEMENT_REFERENCE_OPERATION_COUNT + 84;
+
+ /**
+ * The operation id for the '<em>Bound References To</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BOUND_ELEMENT_REFERENCE___BOUND_REFERENCES_TO__ELIST = ELEMENT_REFERENCE_OPERATION_COUNT + 85;
+
+ /**
+ * The number of operations of the '<em>Bound Element Reference</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BOUND_ELEMENT_REFERENCE_OPERATION_COUNT = ELEMENT_REFERENCE_OPERATION_COUNT + 86;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.uml.alf.impl.DocumentedElementImpl <em>Documented Element</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.uml.alf.impl.DocumentedElementImpl
+ * @see org.eclipse.papyrus.uml.alf.impl.AlfPackageImpl#getDocumentedElement()
+ * @generated
+ */
+ int DOCUMENTED_ELEMENT = 7;
+
+ /**
+ * The feature id for the '<em><b>Owner</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DOCUMENTED_ELEMENT__OWNER = SYNTAX_ELEMENT__OWNER;
+
+ /**
+ * The feature id for the '<em><b>Documentation</b></em>' attribute list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DOCUMENTED_ELEMENT__DOCUMENTATION = SYNTAX_ELEMENT_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the '<em>Documented Element</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DOCUMENTED_ELEMENT_FEATURE_COUNT = SYNTAX_ELEMENT_FEATURE_COUNT + 1;
+
+ /**
+ * The operation id for the '<em>To Reference</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DOCUMENTED_ELEMENT___TO_REFERENCE = SYNTAX_ELEMENT___TO_REFERENCE;
+
+ /**
+ * The operation id for the '<em>Owner</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DOCUMENTED_ELEMENT___OWNER = SYNTAX_ELEMENT___OWNER;
+
+ /**
+ * The operation id for the '<em>Syntax Element owner</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DOCUMENTED_ELEMENT___SYNTAX_ELEMENT_OWNER = SYNTAX_ELEMENT___SYNTAX_ELEMENT_OWNER;
+
+ /**
+ * The operation id for the '<em>Current Scope</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DOCUMENTED_ELEMENT___CURRENT_SCOPE = SYNTAX_ELEMENT___CURRENT_SCOPE;
+
+ /**
+ * The operation id for the '<em>Syntax Element current Scope</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DOCUMENTED_ELEMENT___SYNTAX_ELEMENT_CURRENT_SCOPE = SYNTAX_ELEMENT___SYNTAX_ELEMENT_CURRENT_SCOPE;
+
+ /**
+ * The operation id for the '<em>Enclosing Statement</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DOCUMENTED_ELEMENT___ENCLOSING_STATEMENT = SYNTAX_ELEMENT___ENCLOSING_STATEMENT;
+
+ /**
+ * The operation id for the '<em>Enclosing Expression</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DOCUMENTED_ELEMENT___ENCLOSING_EXPRESSION = SYNTAX_ELEMENT___ENCLOSING_EXPRESSION;
+
+ /**
+ * The operation id for the '<em>Assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DOCUMENTED_ELEMENT___ASSIGNMENTS_BEFORE = SYNTAX_ELEMENT___ASSIGNMENTS_BEFORE;
+
+ /**
+ * The operation id for the '<em>Syntax Element assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DOCUMENTED_ELEMENT___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE = SYNTAX_ELEMENT___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE;
+
+ /**
+ * The operation id for the '<em>Syntax Element assignments Before base</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DOCUMENTED_ELEMENT___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE_BASE = SYNTAX_ELEMENT___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE_BASE;
+
+ /**
+ * The operation id for the '<em>Assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DOCUMENTED_ELEMENT___ASSIGNMENTS_BEFORE__SYNTAXELEMENT = SYNTAX_ELEMENT___ASSIGNMENTS_BEFORE__SYNTAXELEMENT;
+
+ /**
+ * The operation id for the '<em>Update All</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DOCUMENTED_ELEMENT___UPDATE_ALL__ELIST_ELIST = SYNTAX_ELEMENT___UPDATE_ALL__ELIST_ELIST;
+
+ /**
+ * The operation id for the '<em>Common Ancestor</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DOCUMENTED_ELEMENT___COMMON_ANCESTOR__ELIST = SYNTAX_ELEMENT___COMMON_ANCESTOR__ELIST;
+
+ /**
+ * The operation id for the '<em>Common Ancestors</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DOCUMENTED_ELEMENT___COMMON_ANCESTORS__ELIST = SYNTAX_ELEMENT___COMMON_ANCESTORS__ELIST;
+
+ /**
+ * The operation id for the '<em>Remove Duplicate Elements</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DOCUMENTED_ELEMENT___REMOVE_DUPLICATE_ELEMENTS__ELIST = SYNTAX_ELEMENT___REMOVE_DUPLICATE_ELEMENTS__ELIST;
+
+ /**
+ * The operation id for the '<em>Resolve In Library</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DOCUMENTED_ELEMENT___RESOLVE_IN_LIBRARY__STRING = SYNTAX_ELEMENT___RESOLVE_IN_LIBRARY__STRING;
+
+ /**
+ * The operation id for the '<em>Primitive Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DOCUMENTED_ELEMENT___PRIMITIVE_TYPE__STRING = SYNTAX_ELEMENT___PRIMITIVE_TYPE__STRING;
+
+ /**
+ * The operation id for the '<em>Primitive Type </em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DOCUMENTED_ELEMENT___PRIMITIVE_TYPE____STRING = SYNTAX_ELEMENT___PRIMITIVE_TYPE____STRING;
+
+ /**
+ * The operation id for the '<em>Boolean Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DOCUMENTED_ELEMENT___BOOLEAN_TYPE = SYNTAX_ELEMENT___BOOLEAN_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Boolean Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DOCUMENTED_ELEMENT___IS_BOOLEAN_TYPE__ELEMENTREFERENCE = SYNTAX_ELEMENT___IS_BOOLEAN_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Integer Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DOCUMENTED_ELEMENT___INTEGER_TYPE = SYNTAX_ELEMENT___INTEGER_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Integer Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DOCUMENTED_ELEMENT___IS_INTEGER_TYPE__ELEMENTREFERENCE = SYNTAX_ELEMENT___IS_INTEGER_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DOCUMENTED_ELEMENT___STRING_TYPE = SYNTAX_ELEMENT___STRING_TYPE;
+
+ /**
+ * The operation id for the '<em>Is String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DOCUMENTED_ELEMENT___IS_STRING_TYPE__ELEMENTREFERENCE = SYNTAX_ELEMENT___IS_STRING_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Unlimited Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DOCUMENTED_ELEMENT___UNLIMITED_NATURAL_TYPE = SYNTAX_ELEMENT___UNLIMITED_NATURAL_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Unlimited Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DOCUMENTED_ELEMENT___IS_UNLIMITED_NATURAL_TYPE__ELEMENTREFERENCE = SYNTAX_ELEMENT___IS_UNLIMITED_NATURAL_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Bit String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DOCUMENTED_ELEMENT___BIT_STRING_TYPE = SYNTAX_ELEMENT___BIT_STRING_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Bit String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DOCUMENTED_ELEMENT___IS_BIT_STRING_TYPE__ELEMENTREFERENCE = SYNTAX_ELEMENT___IS_BIT_STRING_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DOCUMENTED_ELEMENT___NATURAL_TYPE = SYNTAX_ELEMENT___NATURAL_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DOCUMENTED_ELEMENT___IS_NATURAL_TYPE__ELEMENTREFERENCE = SYNTAX_ELEMENT___IS_NATURAL_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Numeric Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DOCUMENTED_ELEMENT___IS_NUMERIC_TYPE__ELEMENTREFERENCE = SYNTAX_ELEMENT___IS_NUMERIC_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Collection Function Add</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DOCUMENTED_ELEMENT___COLLECTION_FUNCTION_ADD = SYNTAX_ELEMENT___COLLECTION_FUNCTION_ADD;
+
+ /**
+ * The operation id for the '<em>Is Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DOCUMENTED_ELEMENT___IS_COLLECTION_CLASS__ELEMENTREFERENCE = SYNTAX_ELEMENT___IS_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Integer Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DOCUMENTED_ELEMENT___IS_INTEGER_COLLECTION_CLASS__ELEMENTREFERENCE = SYNTAX_ELEMENT___IS_INTEGER_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Bit String Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DOCUMENTED_ELEMENT___IS_BIT_STRING_COLLECTION_CLASS__ELEMENTREFERENCE = SYNTAX_ELEMENT___IS_BIT_STRING_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The number of operations of the '<em>Documented Element</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DOCUMENTED_ELEMENT_OPERATION_COUNT = SYNTAX_ELEMENT_OPERATION_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Owner</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSIGNABLE_ELEMENT__OWNER = SYNTAX_ELEMENT__OWNER;
+
+ /**
+ * The feature id for the '<em><b>Upper</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSIGNABLE_ELEMENT__UPPER = SYNTAX_ELEMENT_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Lower</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSIGNABLE_ELEMENT__LOWER = SYNTAX_ELEMENT_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Type</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSIGNABLE_ELEMENT__TYPE = SYNTAX_ELEMENT_FEATURE_COUNT + 2;
+
+ /**
+ * The number of structural features of the '<em>Assignable Element</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSIGNABLE_ELEMENT_FEATURE_COUNT = SYNTAX_ELEMENT_FEATURE_COUNT + 3;
+
+ /**
+ * The operation id for the '<em>To Reference</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSIGNABLE_ELEMENT___TO_REFERENCE = SYNTAX_ELEMENT___TO_REFERENCE;
+
+ /**
+ * The operation id for the '<em>Owner</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSIGNABLE_ELEMENT___OWNER = SYNTAX_ELEMENT___OWNER;
+
+ /**
+ * The operation id for the '<em>Syntax Element owner</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSIGNABLE_ELEMENT___SYNTAX_ELEMENT_OWNER = SYNTAX_ELEMENT___SYNTAX_ELEMENT_OWNER;
+
+ /**
+ * The operation id for the '<em>Current Scope</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSIGNABLE_ELEMENT___CURRENT_SCOPE = SYNTAX_ELEMENT___CURRENT_SCOPE;
+
+ /**
+ * The operation id for the '<em>Syntax Element current Scope</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSIGNABLE_ELEMENT___SYNTAX_ELEMENT_CURRENT_SCOPE = SYNTAX_ELEMENT___SYNTAX_ELEMENT_CURRENT_SCOPE;
+
+ /**
+ * The operation id for the '<em>Enclosing Statement</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSIGNABLE_ELEMENT___ENCLOSING_STATEMENT = SYNTAX_ELEMENT___ENCLOSING_STATEMENT;
+
+ /**
+ * The operation id for the '<em>Enclosing Expression</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSIGNABLE_ELEMENT___ENCLOSING_EXPRESSION = SYNTAX_ELEMENT___ENCLOSING_EXPRESSION;
+
+ /**
+ * The operation id for the '<em>Assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSIGNABLE_ELEMENT___ASSIGNMENTS_BEFORE = SYNTAX_ELEMENT___ASSIGNMENTS_BEFORE;
+
+ /**
+ * The operation id for the '<em>Syntax Element assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSIGNABLE_ELEMENT___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE = SYNTAX_ELEMENT___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE;
+
+ /**
+ * The operation id for the '<em>Syntax Element assignments Before base</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSIGNABLE_ELEMENT___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE_BASE = SYNTAX_ELEMENT___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE_BASE;
+
+ /**
+ * The operation id for the '<em>Assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSIGNABLE_ELEMENT___ASSIGNMENTS_BEFORE__SYNTAXELEMENT = SYNTAX_ELEMENT___ASSIGNMENTS_BEFORE__SYNTAXELEMENT;
+
+ /**
+ * The operation id for the '<em>Update All</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSIGNABLE_ELEMENT___UPDATE_ALL__ELIST_ELIST = SYNTAX_ELEMENT___UPDATE_ALL__ELIST_ELIST;
+
+ /**
+ * The operation id for the '<em>Common Ancestor</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSIGNABLE_ELEMENT___COMMON_ANCESTOR__ELIST = SYNTAX_ELEMENT___COMMON_ANCESTOR__ELIST;
+
+ /**
+ * The operation id for the '<em>Common Ancestors</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSIGNABLE_ELEMENT___COMMON_ANCESTORS__ELIST = SYNTAX_ELEMENT___COMMON_ANCESTORS__ELIST;
+
+ /**
+ * The operation id for the '<em>Remove Duplicate Elements</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSIGNABLE_ELEMENT___REMOVE_DUPLICATE_ELEMENTS__ELIST = SYNTAX_ELEMENT___REMOVE_DUPLICATE_ELEMENTS__ELIST;
+
+ /**
+ * The operation id for the '<em>Resolve In Library</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSIGNABLE_ELEMENT___RESOLVE_IN_LIBRARY__STRING = SYNTAX_ELEMENT___RESOLVE_IN_LIBRARY__STRING;
+
+ /**
+ * The operation id for the '<em>Primitive Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSIGNABLE_ELEMENT___PRIMITIVE_TYPE__STRING = SYNTAX_ELEMENT___PRIMITIVE_TYPE__STRING;
+
+ /**
+ * The operation id for the '<em>Primitive Type </em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSIGNABLE_ELEMENT___PRIMITIVE_TYPE____STRING = SYNTAX_ELEMENT___PRIMITIVE_TYPE____STRING;
+
+ /**
+ * The operation id for the '<em>Boolean Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSIGNABLE_ELEMENT___BOOLEAN_TYPE = SYNTAX_ELEMENT___BOOLEAN_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Boolean Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSIGNABLE_ELEMENT___IS_BOOLEAN_TYPE__ELEMENTREFERENCE = SYNTAX_ELEMENT___IS_BOOLEAN_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Integer Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSIGNABLE_ELEMENT___INTEGER_TYPE = SYNTAX_ELEMENT___INTEGER_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Integer Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSIGNABLE_ELEMENT___IS_INTEGER_TYPE__ELEMENTREFERENCE = SYNTAX_ELEMENT___IS_INTEGER_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSIGNABLE_ELEMENT___STRING_TYPE = SYNTAX_ELEMENT___STRING_TYPE;
+
+ /**
+ * The operation id for the '<em>Is String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSIGNABLE_ELEMENT___IS_STRING_TYPE__ELEMENTREFERENCE = SYNTAX_ELEMENT___IS_STRING_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Unlimited Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSIGNABLE_ELEMENT___UNLIMITED_NATURAL_TYPE = SYNTAX_ELEMENT___UNLIMITED_NATURAL_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Unlimited Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSIGNABLE_ELEMENT___IS_UNLIMITED_NATURAL_TYPE__ELEMENTREFERENCE = SYNTAX_ELEMENT___IS_UNLIMITED_NATURAL_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Bit String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSIGNABLE_ELEMENT___BIT_STRING_TYPE = SYNTAX_ELEMENT___BIT_STRING_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Bit String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSIGNABLE_ELEMENT___IS_BIT_STRING_TYPE__ELEMENTREFERENCE = SYNTAX_ELEMENT___IS_BIT_STRING_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSIGNABLE_ELEMENT___NATURAL_TYPE = SYNTAX_ELEMENT___NATURAL_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSIGNABLE_ELEMENT___IS_NATURAL_TYPE__ELEMENTREFERENCE = SYNTAX_ELEMENT___IS_NATURAL_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Numeric Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSIGNABLE_ELEMENT___IS_NUMERIC_TYPE__ELEMENTREFERENCE = SYNTAX_ELEMENT___IS_NUMERIC_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Collection Function Add</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSIGNABLE_ELEMENT___COLLECTION_FUNCTION_ADD = SYNTAX_ELEMENT___COLLECTION_FUNCTION_ADD;
+
+ /**
+ * The operation id for the '<em>Is Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSIGNABLE_ELEMENT___IS_COLLECTION_CLASS__ELEMENTREFERENCE = SYNTAX_ELEMENT___IS_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Integer Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSIGNABLE_ELEMENT___IS_INTEGER_COLLECTION_CLASS__ELEMENTREFERENCE = SYNTAX_ELEMENT___IS_INTEGER_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Bit String Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSIGNABLE_ELEMENT___IS_BIT_STRING_COLLECTION_CLASS__ELEMENTREFERENCE = SYNTAX_ELEMENT___IS_BIT_STRING_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Type Cached</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSIGNABLE_ELEMENT___TYPE_CACHED = SYNTAX_ELEMENT_OPERATION_COUNT + 0;
+
+ /**
+ * The operation id for the '<em>Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSIGNABLE_ELEMENT___TYPE = SYNTAX_ELEMENT_OPERATION_COUNT + 1;
+
+ /**
+ * The operation id for the '<em>Lower</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSIGNABLE_ELEMENT___LOWER = SYNTAX_ELEMENT_OPERATION_COUNT + 2;
+
+ /**
+ * The operation id for the '<em>Upper</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSIGNABLE_ELEMENT___UPPER = SYNTAX_ELEMENT_OPERATION_COUNT + 3;
+
+ /**
+ * The operation id for the '<em>Is Null</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSIGNABLE_ELEMENT___IS_NULL = SYNTAX_ELEMENT_OPERATION_COUNT + 4;
+
+ /**
+ * The operation id for the '<em>Is Assignable From Element</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSIGNABLE_ELEMENT___IS_ASSIGNABLE_FROM_ELEMENT__ELEMENTREFERENCE = SYNTAX_ELEMENT_OPERATION_COUNT + 5;
+
+ /**
+ * The operation id for the '<em>Is Assignable From</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSIGNABLE_ELEMENT___IS_ASSIGNABLE_FROM__ASSIGNABLEELEMENT = SYNTAX_ELEMENT_OPERATION_COUNT + 6;
+
+ /**
+ * The operation id for the '<em>Is Type Conformant With</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSIGNABLE_ELEMENT___IS_TYPE_CONFORMANT_WITH__ASSIGNABLEELEMENT = SYNTAX_ELEMENT_OPERATION_COUNT + 7;
+
+ /**
+ * The operation id for the '<em>Is Conformant With Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSIGNABLE_ELEMENT___IS_CONFORMANT_WITH_TYPE__ELEMENTREFERENCE = SYNTAX_ELEMENT_OPERATION_COUNT + 8;
+
+ /**
+ * The operation id for the '<em>Is Multiplicity Conformant With</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSIGNABLE_ELEMENT___IS_MULTIPLICITY_CONFORMANT_WITH__ASSIGNABLEELEMENT = SYNTAX_ELEMENT_OPERATION_COUNT + 9;
+
+ /**
+ * The number of operations of the '<em>Assignable Element</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSIGNABLE_ELEMENT_OPERATION_COUNT = SYNTAX_ELEMENT_OPERATION_COUNT + 10;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.uml.alf.impl.ExpressionImpl <em>Expression</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.uml.alf.impl.ExpressionImpl
+ * @see org.eclipse.papyrus.uml.alf.impl.AlfPackageImpl#getExpression()
+ * @generated
+ */
+ int EXPRESSION = 11;
+
+ /**
+ * The feature id for the '<em><b>Owner</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXPRESSION__OWNER = ASSIGNABLE_ELEMENT__OWNER;
+
+ /**
+ * The feature id for the '<em><b>Upper</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXPRESSION__UPPER = ASSIGNABLE_ELEMENT__UPPER;
+
+ /**
+ * The feature id for the '<em><b>Lower</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXPRESSION__LOWER = ASSIGNABLE_ELEMENT__LOWER;
+
+ /**
+ * The feature id for the '<em><b>Type</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXPRESSION__TYPE = ASSIGNABLE_ELEMENT__TYPE;
+
+ /**
+ * The feature id for the '<em><b>Assignment Before</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXPRESSION__ASSIGNMENT_BEFORE = ASSIGNABLE_ELEMENT_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Assignment After</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXPRESSION__ASSIGNMENT_AFTER = ASSIGNABLE_ELEMENT_FEATURE_COUNT + 1;
+
+ /**
+ * The number of structural features of the '<em>Expression</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXPRESSION_FEATURE_COUNT = ASSIGNABLE_ELEMENT_FEATURE_COUNT + 2;
+
+ /**
+ * The operation id for the '<em>To Reference</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXPRESSION___TO_REFERENCE = ASSIGNABLE_ELEMENT___TO_REFERENCE;
+
+ /**
+ * The operation id for the '<em>Owner</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXPRESSION___OWNER = ASSIGNABLE_ELEMENT___OWNER;
+
+ /**
+ * The operation id for the '<em>Syntax Element owner</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXPRESSION___SYNTAX_ELEMENT_OWNER = ASSIGNABLE_ELEMENT___SYNTAX_ELEMENT_OWNER;
+
+ /**
+ * The operation id for the '<em>Current Scope</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXPRESSION___CURRENT_SCOPE = ASSIGNABLE_ELEMENT___CURRENT_SCOPE;
+
+ /**
+ * The operation id for the '<em>Syntax Element current Scope</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXPRESSION___SYNTAX_ELEMENT_CURRENT_SCOPE = ASSIGNABLE_ELEMENT___SYNTAX_ELEMENT_CURRENT_SCOPE;
+
+ /**
+ * The operation id for the '<em>Enclosing Statement</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXPRESSION___ENCLOSING_STATEMENT = ASSIGNABLE_ELEMENT___ENCLOSING_STATEMENT;
+
+ /**
+ * The operation id for the '<em>Enclosing Expression</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXPRESSION___ENCLOSING_EXPRESSION = ASSIGNABLE_ELEMENT___ENCLOSING_EXPRESSION;
+
+ /**
+ * The operation id for the '<em>Assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXPRESSION___ASSIGNMENTS_BEFORE = ASSIGNABLE_ELEMENT___ASSIGNMENTS_BEFORE;
+
+ /**
+ * The operation id for the '<em>Syntax Element assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXPRESSION___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE = ASSIGNABLE_ELEMENT___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE;
+
+ /**
+ * The operation id for the '<em>Syntax Element assignments Before base</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXPRESSION___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE_BASE = ASSIGNABLE_ELEMENT___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE_BASE;
+
+ /**
+ * The operation id for the '<em>Assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXPRESSION___ASSIGNMENTS_BEFORE__SYNTAXELEMENT = ASSIGNABLE_ELEMENT___ASSIGNMENTS_BEFORE__SYNTAXELEMENT;
+
+ /**
+ * The operation id for the '<em>Update All</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXPRESSION___UPDATE_ALL__ELIST_ELIST = ASSIGNABLE_ELEMENT___UPDATE_ALL__ELIST_ELIST;
+
+ /**
+ * The operation id for the '<em>Common Ancestor</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXPRESSION___COMMON_ANCESTOR__ELIST = ASSIGNABLE_ELEMENT___COMMON_ANCESTOR__ELIST;
+
+ /**
+ * The operation id for the '<em>Common Ancestors</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXPRESSION___COMMON_ANCESTORS__ELIST = ASSIGNABLE_ELEMENT___COMMON_ANCESTORS__ELIST;
+
+ /**
+ * The operation id for the '<em>Remove Duplicate Elements</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXPRESSION___REMOVE_DUPLICATE_ELEMENTS__ELIST = ASSIGNABLE_ELEMENT___REMOVE_DUPLICATE_ELEMENTS__ELIST;
+
+ /**
+ * The operation id for the '<em>Resolve In Library</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXPRESSION___RESOLVE_IN_LIBRARY__STRING = ASSIGNABLE_ELEMENT___RESOLVE_IN_LIBRARY__STRING;
+
+ /**
+ * The operation id for the '<em>Primitive Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXPRESSION___PRIMITIVE_TYPE__STRING = ASSIGNABLE_ELEMENT___PRIMITIVE_TYPE__STRING;
+
+ /**
+ * The operation id for the '<em>Primitive Type </em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXPRESSION___PRIMITIVE_TYPE____STRING = ASSIGNABLE_ELEMENT___PRIMITIVE_TYPE____STRING;
+
+ /**
+ * The operation id for the '<em>Boolean Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXPRESSION___BOOLEAN_TYPE = ASSIGNABLE_ELEMENT___BOOLEAN_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Boolean Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXPRESSION___IS_BOOLEAN_TYPE__ELEMENTREFERENCE = ASSIGNABLE_ELEMENT___IS_BOOLEAN_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Integer Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXPRESSION___INTEGER_TYPE = ASSIGNABLE_ELEMENT___INTEGER_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Integer Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXPRESSION___IS_INTEGER_TYPE__ELEMENTREFERENCE = ASSIGNABLE_ELEMENT___IS_INTEGER_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXPRESSION___STRING_TYPE = ASSIGNABLE_ELEMENT___STRING_TYPE;
+
+ /**
+ * The operation id for the '<em>Is String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXPRESSION___IS_STRING_TYPE__ELEMENTREFERENCE = ASSIGNABLE_ELEMENT___IS_STRING_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Unlimited Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXPRESSION___UNLIMITED_NATURAL_TYPE = ASSIGNABLE_ELEMENT___UNLIMITED_NATURAL_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Unlimited Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXPRESSION___IS_UNLIMITED_NATURAL_TYPE__ELEMENTREFERENCE = ASSIGNABLE_ELEMENT___IS_UNLIMITED_NATURAL_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Bit String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXPRESSION___BIT_STRING_TYPE = ASSIGNABLE_ELEMENT___BIT_STRING_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Bit String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXPRESSION___IS_BIT_STRING_TYPE__ELEMENTREFERENCE = ASSIGNABLE_ELEMENT___IS_BIT_STRING_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXPRESSION___NATURAL_TYPE = ASSIGNABLE_ELEMENT___NATURAL_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXPRESSION___IS_NATURAL_TYPE__ELEMENTREFERENCE = ASSIGNABLE_ELEMENT___IS_NATURAL_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Numeric Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXPRESSION___IS_NUMERIC_TYPE__ELEMENTREFERENCE = ASSIGNABLE_ELEMENT___IS_NUMERIC_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Collection Function Add</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXPRESSION___COLLECTION_FUNCTION_ADD = ASSIGNABLE_ELEMENT___COLLECTION_FUNCTION_ADD;
+
+ /**
+ * The operation id for the '<em>Is Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXPRESSION___IS_COLLECTION_CLASS__ELEMENTREFERENCE = ASSIGNABLE_ELEMENT___IS_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Integer Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXPRESSION___IS_INTEGER_COLLECTION_CLASS__ELEMENTREFERENCE = ASSIGNABLE_ELEMENT___IS_INTEGER_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Bit String Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXPRESSION___IS_BIT_STRING_COLLECTION_CLASS__ELEMENTREFERENCE = ASSIGNABLE_ELEMENT___IS_BIT_STRING_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Type Cached</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXPRESSION___TYPE_CACHED = ASSIGNABLE_ELEMENT___TYPE_CACHED;
+
+ /**
+ * The operation id for the '<em>Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXPRESSION___TYPE = ASSIGNABLE_ELEMENT___TYPE;
+
+ /**
+ * The operation id for the '<em>Lower</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXPRESSION___LOWER = ASSIGNABLE_ELEMENT___LOWER;
+
+ /**
+ * The operation id for the '<em>Upper</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXPRESSION___UPPER = ASSIGNABLE_ELEMENT___UPPER;
+
+ /**
+ * The operation id for the '<em>Is Null</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXPRESSION___IS_NULL = ASSIGNABLE_ELEMENT___IS_NULL;
+
+ /**
+ * The operation id for the '<em>Is Assignable From Element</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXPRESSION___IS_ASSIGNABLE_FROM_ELEMENT__ELEMENTREFERENCE = ASSIGNABLE_ELEMENT___IS_ASSIGNABLE_FROM_ELEMENT__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Assignable From</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXPRESSION___IS_ASSIGNABLE_FROM__ASSIGNABLEELEMENT = ASSIGNABLE_ELEMENT___IS_ASSIGNABLE_FROM__ASSIGNABLEELEMENT;
+
+ /**
+ * The operation id for the '<em>Is Type Conformant With</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXPRESSION___IS_TYPE_CONFORMANT_WITH__ASSIGNABLEELEMENT = ASSIGNABLE_ELEMENT___IS_TYPE_CONFORMANT_WITH__ASSIGNABLEELEMENT;
+
+ /**
+ * The operation id for the '<em>Is Conformant With Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXPRESSION___IS_CONFORMANT_WITH_TYPE__ELEMENTREFERENCE = ASSIGNABLE_ELEMENT___IS_CONFORMANT_WITH_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Multiplicity Conformant With</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXPRESSION___IS_MULTIPLICITY_CONFORMANT_WITH__ASSIGNABLEELEMENT = ASSIGNABLE_ELEMENT___IS_MULTIPLICITY_CONFORMANT_WITH__ASSIGNABLEELEMENT;
+
+ /**
+ * The operation id for the '<em>New Assignments</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXPRESSION___NEW_ASSIGNMENTS = ASSIGNABLE_ELEMENT_OPERATION_COUNT + 0;
+
+ /**
+ * The operation id for the '<em>Update Assignments</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXPRESSION___UPDATE_ASSIGNMENTS = ASSIGNABLE_ELEMENT_OPERATION_COUNT + 1;
+
+ /**
+ * The operation id for the '<em>Expression update Assignments</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXPRESSION___EXPRESSION_UPDATE_ASSIGNMENTS = ASSIGNABLE_ELEMENT_OPERATION_COUNT + 2;
+
+ /**
+ * The operation id for the '<em>Update Assignments Cached</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXPRESSION___UPDATE_ASSIGNMENTS_CACHED = ASSIGNABLE_ELEMENT_OPERATION_COUNT + 3;
+
+ /**
+ * The operation id for the '<em>Resolve</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXPRESSION___RESOLVE__STRING = ASSIGNABLE_ELEMENT_OPERATION_COUNT + 4;
+
+ /**
+ * The operation id for the '<em>Is Add Target</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXPRESSION___IS_ADD_TARGET__EXPRESSION = ASSIGNABLE_ELEMENT_OPERATION_COUNT + 5;
+
+ /**
+ * The operation id for the '<em>Expression Assignment After Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXPRESSION___EXPRESSION_ASSIGNMENT_AFTER_DERIVATION__DIAGNOSTICCHAIN_MAP = ASSIGNABLE_ELEMENT_OPERATION_COUNT + 6;
+
+ /**
+ * The operation id for the '<em>Expression Unique Assignments</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXPRESSION___EXPRESSION_UNIQUE_ASSIGNMENTS__DIAGNOSTICCHAIN_MAP = ASSIGNABLE_ELEMENT_OPERATION_COUNT + 7;
+
+ /**
+ * The number of operations of the '<em>Expression</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXPRESSION_OPERATION_COUNT = ASSIGNABLE_ELEMENT_OPERATION_COUNT + 8;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.uml.alf.impl.SequenceExpansionExpressionImpl <em>Sequence Expansion Expression</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.uml.alf.impl.SequenceExpansionExpressionImpl
+ * @see org.eclipse.papyrus.uml.alf.impl.AlfPackageImpl#getSequenceExpansionExpression()
+ * @generated
+ */
+ int SEQUENCE_EXPANSION_EXPRESSION = 8;
+
+ /**
+ * The feature id for the '<em><b>Owner</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_EXPANSION_EXPRESSION__OWNER = EXPRESSION__OWNER;
+
+ /**
+ * The feature id for the '<em><b>Upper</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_EXPANSION_EXPRESSION__UPPER = EXPRESSION__UPPER;
+
+ /**
+ * The feature id for the '<em><b>Lower</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_EXPANSION_EXPRESSION__LOWER = EXPRESSION__LOWER;
+
+ /**
+ * The feature id for the '<em><b>Type</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_EXPANSION_EXPRESSION__TYPE = EXPRESSION__TYPE;
+
+ /**
+ * The feature id for the '<em><b>Assignment Before</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_EXPANSION_EXPRESSION__ASSIGNMENT_BEFORE = EXPRESSION__ASSIGNMENT_BEFORE;
+
+ /**
+ * The feature id for the '<em><b>Assignment After</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_EXPANSION_EXPRESSION__ASSIGNMENT_AFTER = EXPRESSION__ASSIGNMENT_AFTER;
+
+ /**
+ * The feature id for the '<em><b>Operation</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_EXPANSION_EXPRESSION__OPERATION = EXPRESSION_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Variable</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_EXPANSION_EXPRESSION__VARIABLE = EXPRESSION_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Variable Source</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_EXPANSION_EXPRESSION__VARIABLE_SOURCE = EXPRESSION_FEATURE_COUNT + 2;
+
+ /**
+ * The feature id for the '<em><b>Argument</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_EXPANSION_EXPRESSION__ARGUMENT = EXPRESSION_FEATURE_COUNT + 3;
+
+ /**
+ * The feature id for the '<em><b>Primary</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_EXPANSION_EXPRESSION__PRIMARY = EXPRESSION_FEATURE_COUNT + 4;
+
+ /**
+ * The feature id for the '<em><b>Is Select Or Reject</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_EXPANSION_EXPRESSION__IS_SELECT_OR_REJECT = EXPRESSION_FEATURE_COUNT + 5;
+
+ /**
+ * The feature id for the '<em><b>Is Collect Or Iterate</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_EXPANSION_EXPRESSION__IS_COLLECT_OR_ITERATE = EXPRESSION_FEATURE_COUNT + 6;
+
+ /**
+ * The feature id for the '<em><b>Is For All Or Exists Or One</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_EXPANSION_EXPRESSION__IS_FOR_ALL_OR_EXISTS_OR_ONE = EXPRESSION_FEATURE_COUNT + 7;
+
+ /**
+ * The feature id for the '<em><b>Is Is Unique</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_EXPANSION_EXPRESSION__IS_IS_UNIQUE = EXPRESSION_FEATURE_COUNT + 8;
+
+ /**
+ * The number of structural features of the '<em>Sequence Expansion Expression</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_EXPANSION_EXPRESSION_FEATURE_COUNT = EXPRESSION_FEATURE_COUNT + 9;
+
+ /**
+ * The operation id for the '<em>To Reference</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_EXPANSION_EXPRESSION___TO_REFERENCE = EXPRESSION___TO_REFERENCE;
+
+ /**
+ * The operation id for the '<em>Owner</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_EXPANSION_EXPRESSION___OWNER = EXPRESSION___OWNER;
+
+ /**
+ * The operation id for the '<em>Syntax Element owner</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_EXPANSION_EXPRESSION___SYNTAX_ELEMENT_OWNER = EXPRESSION___SYNTAX_ELEMENT_OWNER;
+
+ /**
+ * The operation id for the '<em>Current Scope</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_EXPANSION_EXPRESSION___CURRENT_SCOPE = EXPRESSION___CURRENT_SCOPE;
+
+ /**
+ * The operation id for the '<em>Syntax Element current Scope</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_EXPANSION_EXPRESSION___SYNTAX_ELEMENT_CURRENT_SCOPE = EXPRESSION___SYNTAX_ELEMENT_CURRENT_SCOPE;
+
+ /**
+ * The operation id for the '<em>Enclosing Statement</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_EXPANSION_EXPRESSION___ENCLOSING_STATEMENT = EXPRESSION___ENCLOSING_STATEMENT;
+
+ /**
+ * The operation id for the '<em>Enclosing Expression</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_EXPANSION_EXPRESSION___ENCLOSING_EXPRESSION = EXPRESSION___ENCLOSING_EXPRESSION;
+
+ /**
+ * The operation id for the '<em>Assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_EXPANSION_EXPRESSION___ASSIGNMENTS_BEFORE = EXPRESSION___ASSIGNMENTS_BEFORE;
+
+ /**
+ * The operation id for the '<em>Syntax Element assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_EXPANSION_EXPRESSION___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE = EXPRESSION___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE;
+
+ /**
+ * The operation id for the '<em>Syntax Element assignments Before base</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_EXPANSION_EXPRESSION___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE_BASE = EXPRESSION___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE_BASE;
+
+ /**
+ * The operation id for the '<em>Update All</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_EXPANSION_EXPRESSION___UPDATE_ALL__ELIST_ELIST = EXPRESSION___UPDATE_ALL__ELIST_ELIST;
+
+ /**
+ * The operation id for the '<em>Common Ancestor</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_EXPANSION_EXPRESSION___COMMON_ANCESTOR__ELIST = EXPRESSION___COMMON_ANCESTOR__ELIST;
+
+ /**
+ * The operation id for the '<em>Common Ancestors</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_EXPANSION_EXPRESSION___COMMON_ANCESTORS__ELIST = EXPRESSION___COMMON_ANCESTORS__ELIST;
+
+ /**
+ * The operation id for the '<em>Remove Duplicate Elements</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_EXPANSION_EXPRESSION___REMOVE_DUPLICATE_ELEMENTS__ELIST = EXPRESSION___REMOVE_DUPLICATE_ELEMENTS__ELIST;
+
+ /**
+ * The operation id for the '<em>Resolve In Library</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_EXPANSION_EXPRESSION___RESOLVE_IN_LIBRARY__STRING = EXPRESSION___RESOLVE_IN_LIBRARY__STRING;
+
+ /**
+ * The operation id for the '<em>Primitive Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_EXPANSION_EXPRESSION___PRIMITIVE_TYPE__STRING = EXPRESSION___PRIMITIVE_TYPE__STRING;
+
+ /**
+ * The operation id for the '<em>Primitive Type </em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_EXPANSION_EXPRESSION___PRIMITIVE_TYPE____STRING = EXPRESSION___PRIMITIVE_TYPE____STRING;
+
+ /**
+ * The operation id for the '<em>Boolean Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_EXPANSION_EXPRESSION___BOOLEAN_TYPE = EXPRESSION___BOOLEAN_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Boolean Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_EXPANSION_EXPRESSION___IS_BOOLEAN_TYPE__ELEMENTREFERENCE = EXPRESSION___IS_BOOLEAN_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Integer Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_EXPANSION_EXPRESSION___INTEGER_TYPE = EXPRESSION___INTEGER_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Integer Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_EXPANSION_EXPRESSION___IS_INTEGER_TYPE__ELEMENTREFERENCE = EXPRESSION___IS_INTEGER_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_EXPANSION_EXPRESSION___STRING_TYPE = EXPRESSION___STRING_TYPE;
+
+ /**
+ * The operation id for the '<em>Is String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_EXPANSION_EXPRESSION___IS_STRING_TYPE__ELEMENTREFERENCE = EXPRESSION___IS_STRING_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Unlimited Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_EXPANSION_EXPRESSION___UNLIMITED_NATURAL_TYPE = EXPRESSION___UNLIMITED_NATURAL_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Unlimited Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_EXPANSION_EXPRESSION___IS_UNLIMITED_NATURAL_TYPE__ELEMENTREFERENCE = EXPRESSION___IS_UNLIMITED_NATURAL_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Bit String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_EXPANSION_EXPRESSION___BIT_STRING_TYPE = EXPRESSION___BIT_STRING_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Bit String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_EXPANSION_EXPRESSION___IS_BIT_STRING_TYPE__ELEMENTREFERENCE = EXPRESSION___IS_BIT_STRING_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_EXPANSION_EXPRESSION___NATURAL_TYPE = EXPRESSION___NATURAL_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_EXPANSION_EXPRESSION___IS_NATURAL_TYPE__ELEMENTREFERENCE = EXPRESSION___IS_NATURAL_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Numeric Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_EXPANSION_EXPRESSION___IS_NUMERIC_TYPE__ELEMENTREFERENCE = EXPRESSION___IS_NUMERIC_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Collection Function Add</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_EXPANSION_EXPRESSION___COLLECTION_FUNCTION_ADD = EXPRESSION___COLLECTION_FUNCTION_ADD;
+
+ /**
+ * The operation id for the '<em>Is Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_EXPANSION_EXPRESSION___IS_COLLECTION_CLASS__ELEMENTREFERENCE = EXPRESSION___IS_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Integer Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_EXPANSION_EXPRESSION___IS_INTEGER_COLLECTION_CLASS__ELEMENTREFERENCE = EXPRESSION___IS_INTEGER_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Bit String Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_EXPANSION_EXPRESSION___IS_BIT_STRING_COLLECTION_CLASS__ELEMENTREFERENCE = EXPRESSION___IS_BIT_STRING_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Type Cached</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_EXPANSION_EXPRESSION___TYPE_CACHED = EXPRESSION___TYPE_CACHED;
+
+ /**
+ * The operation id for the '<em>Is Null</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_EXPANSION_EXPRESSION___IS_NULL = EXPRESSION___IS_NULL;
+
+ /**
+ * The operation id for the '<em>Is Assignable From Element</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_EXPANSION_EXPRESSION___IS_ASSIGNABLE_FROM_ELEMENT__ELEMENTREFERENCE = EXPRESSION___IS_ASSIGNABLE_FROM_ELEMENT__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Assignable From</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_EXPANSION_EXPRESSION___IS_ASSIGNABLE_FROM__ASSIGNABLEELEMENT = EXPRESSION___IS_ASSIGNABLE_FROM__ASSIGNABLEELEMENT;
+
+ /**
+ * The operation id for the '<em>Is Type Conformant With</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_EXPANSION_EXPRESSION___IS_TYPE_CONFORMANT_WITH__ASSIGNABLEELEMENT = EXPRESSION___IS_TYPE_CONFORMANT_WITH__ASSIGNABLEELEMENT;
+
+ /**
+ * The operation id for the '<em>Is Conformant With Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_EXPANSION_EXPRESSION___IS_CONFORMANT_WITH_TYPE__ELEMENTREFERENCE = EXPRESSION___IS_CONFORMANT_WITH_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Multiplicity Conformant With</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_EXPANSION_EXPRESSION___IS_MULTIPLICITY_CONFORMANT_WITH__ASSIGNABLEELEMENT = EXPRESSION___IS_MULTIPLICITY_CONFORMANT_WITH__ASSIGNABLEELEMENT;
+
+ /**
+ * The operation id for the '<em>New Assignments</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_EXPANSION_EXPRESSION___NEW_ASSIGNMENTS = EXPRESSION___NEW_ASSIGNMENTS;
+
+ /**
+ * The operation id for the '<em>Expression update Assignments</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_EXPANSION_EXPRESSION___EXPRESSION_UPDATE_ASSIGNMENTS = EXPRESSION___EXPRESSION_UPDATE_ASSIGNMENTS;
+
+ /**
+ * The operation id for the '<em>Update Assignments Cached</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_EXPANSION_EXPRESSION___UPDATE_ASSIGNMENTS_CACHED = EXPRESSION___UPDATE_ASSIGNMENTS_CACHED;
+
+ /**
+ * The operation id for the '<em>Resolve</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_EXPANSION_EXPRESSION___RESOLVE__STRING = EXPRESSION___RESOLVE__STRING;
+
+ /**
+ * The operation id for the '<em>Is Add Target</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_EXPANSION_EXPRESSION___IS_ADD_TARGET__EXPRESSION = EXPRESSION___IS_ADD_TARGET__EXPRESSION;
+
+ /**
+ * The operation id for the '<em>Expression Assignment After Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_EXPANSION_EXPRESSION___EXPRESSION_ASSIGNMENT_AFTER_DERIVATION__DIAGNOSTICCHAIN_MAP = EXPRESSION___EXPRESSION_ASSIGNMENT_AFTER_DERIVATION__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Expression Unique Assignments</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_EXPANSION_EXPRESSION___EXPRESSION_UNIQUE_ASSIGNMENTS__DIAGNOSTICCHAIN_MAP = EXPRESSION___EXPRESSION_UNIQUE_ASSIGNMENTS__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_EXPANSION_EXPRESSION___ASSIGNMENTS_BEFORE__SYNTAXELEMENT = EXPRESSION_OPERATION_COUNT + 0;
+
+ /**
+ * The operation id for the '<em>Assignments After Primary</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_EXPANSION_EXPRESSION___ASSIGNMENTS_AFTER_PRIMARY = EXPRESSION_OPERATION_COUNT + 1;
+
+ /**
+ * The operation id for the '<em>Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_EXPANSION_EXPRESSION___TYPE = EXPRESSION_OPERATION_COUNT + 2;
+
+ /**
+ * The operation id for the '<em>Lower</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_EXPANSION_EXPRESSION___LOWER = EXPRESSION_OPERATION_COUNT + 3;
+
+ /**
+ * The operation id for the '<em>Upper</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_EXPANSION_EXPRESSION___UPPER = EXPRESSION_OPERATION_COUNT + 4;
+
+ /**
+ * The operation id for the '<em>Sequence Expansion Expression Variable Source Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_EXPANSION_EXPRESSION___SEQUENCE_EXPANSION_EXPRESSION_VARIABLE_SOURCE_DERIVATION__DIAGNOSTICCHAIN_MAP = EXPRESSION_OPERATION_COUNT + 5;
+
+ /**
+ * The operation id for the '<em>Sequence Expansion Expression Assignments Before Primary</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_EXPANSION_EXPRESSION___SEQUENCE_EXPANSION_EXPRESSION_ASSIGNMENTS_BEFORE_PRIMARY__DIAGNOSTICCHAIN_MAP = EXPRESSION_OPERATION_COUNT + 6;
+
+ /**
+ * The operation id for the '<em>Sequence Expansion Expression Assignments Before Argument</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_EXPANSION_EXPRESSION___SEQUENCE_EXPANSION_EXPRESSION_ASSIGNMENTS_BEFORE_ARGUMENT__DIAGNOSTICCHAIN_MAP = EXPRESSION_OPERATION_COUNT + 7;
+
+ /**
+ * The operation id for the '<em>Sequence Expansion Expression Variable Name</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_EXPANSION_EXPRESSION___SEQUENCE_EXPANSION_EXPRESSION_VARIABLE_NAME__DIAGNOSTICCHAIN_MAP = EXPRESSION_OPERATION_COUNT + 8;
+
+ /**
+ * The operation id for the '<em>Sequence Expansion Expression Assignments After Argument</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_EXPANSION_EXPRESSION___SEQUENCE_EXPANSION_EXPRESSION_ASSIGNMENTS_AFTER_ARGUMENT__DIAGNOSTICCHAIN_MAP = EXPRESSION_OPERATION_COUNT + 9;
+
+ /**
+ * The operation id for the '<em>Select Or Reject Expression Type Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_EXPANSION_EXPRESSION___SELECT_OR_REJECT_EXPRESSION_TYPE_DERIVATION__DIAGNOSTICCHAIN_MAP = EXPRESSION_OPERATION_COUNT + 10;
+
+ /**
+ * The operation id for the '<em>Select Or Reject Expression Lower Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_EXPANSION_EXPRESSION___SELECT_OR_REJECT_EXPRESSION_LOWER_DERIVATION__DIAGNOSTICCHAIN_MAP = EXPRESSION_OPERATION_COUNT + 11;
+
+ /**
+ * The operation id for the '<em>Select Or Reject Expression Upper Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_EXPANSION_EXPRESSION___SELECT_OR_REJECT_EXPRESSION_UPPER_DERIVATION__DIAGNOSTICCHAIN_MAP = EXPRESSION_OPERATION_COUNT + 12;
+
+ /**
+ * The operation id for the '<em>Select Or Reject Expression Argument</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_EXPANSION_EXPRESSION___SELECT_OR_REJECT_EXPRESSION_ARGUMENT__DIAGNOSTICCHAIN_MAP = EXPRESSION_OPERATION_COUNT + 13;
+
+ /**
+ * The operation id for the '<em>Collect Or Iterate Expression Type Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_EXPANSION_EXPRESSION___COLLECT_OR_ITERATE_EXPRESSION_TYPE_DERIVATION__DIAGNOSTICCHAIN_MAP = EXPRESSION_OPERATION_COUNT + 14;
+
+ /**
+ * The operation id for the '<em>Collect Or Iterate Expression Lower Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_EXPANSION_EXPRESSION___COLLECT_OR_ITERATE_EXPRESSION_LOWER_DERIVATION__DIAGNOSTICCHAIN_MAP = EXPRESSION_OPERATION_COUNT + 15;
+
+ /**
+ * The operation id for the '<em>Collect Or Iterate Expression Upper Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_EXPANSION_EXPRESSION___COLLECT_OR_ITERATE_EXPRESSION_UPPER_DERIVATION__DIAGNOSTICCHAIN_MAP = EXPRESSION_OPERATION_COUNT + 16;
+
+ /**
+ * The operation id for the '<em>For All Or Exists Or One Expression Type Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_EXPANSION_EXPRESSION___FOR_ALL_OR_EXISTS_OR_ONE_EXPRESSION_TYPE_DERIVATION__DIAGNOSTICCHAIN_MAP = EXPRESSION_OPERATION_COUNT + 17;
+
+ /**
+ * The operation id for the '<em>For All Or Exists Or One Expression Lower Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_EXPANSION_EXPRESSION___FOR_ALL_OR_EXISTS_OR_ONE_EXPRESSION_LOWER_DERIVATION__DIAGNOSTICCHAIN_MAP = EXPRESSION_OPERATION_COUNT + 18;
+
+ /**
+ * The operation id for the '<em>For All Or Exists Or One Expression Upper Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_EXPANSION_EXPRESSION___FOR_ALL_OR_EXISTS_OR_ONE_EXPRESSION_UPPER_DERIVATION__DIAGNOSTICCHAIN_MAP = EXPRESSION_OPERATION_COUNT + 19;
+
+ /**
+ * The operation id for the '<em>For All Or Exists Or One Expression Argument</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_EXPANSION_EXPRESSION___FOR_ALL_OR_EXISTS_OR_ONE_EXPRESSION_ARGUMENT__DIAGNOSTICCHAIN_MAP = EXPRESSION_OPERATION_COUNT + 20;
+
+ /**
+ * The operation id for the '<em>Is Unique Expression Type Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_EXPANSION_EXPRESSION___IS_UNIQUE_EXPRESSION_TYPE_DERIVATION__DIAGNOSTICCHAIN_MAP = EXPRESSION_OPERATION_COUNT + 21;
+
+ /**
+ * The operation id for the '<em>Is Unique Expression Lower Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_EXPANSION_EXPRESSION___IS_UNIQUE_EXPRESSION_LOWER_DERIVATION__DIAGNOSTICCHAIN_MAP = EXPRESSION_OPERATION_COUNT + 22;
+
+ /**
+ * The operation id for the '<em>Is Unique Expression Upper Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_EXPANSION_EXPRESSION___IS_UNIQUE_EXPRESSION_UPPER_DERIVATION__DIAGNOSTICCHAIN_MAP = EXPRESSION_OPERATION_COUNT + 23;
+
+ /**
+ * The operation id for the '<em>Is Unique Expression Expression Argument</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_EXPANSION_EXPRESSION___IS_UNIQUE_EXPRESSION_EXPRESSION_ARGUMENT__DIAGNOSTICCHAIN_MAP = EXPRESSION_OPERATION_COUNT + 24;
+
+ /**
+ * The operation id for the '<em>Update Assignments</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_EXPANSION_EXPRESSION___UPDATE_ASSIGNMENTS = EXPRESSION_OPERATION_COUNT + 25;
+
+ /**
+ * The operation id for the '<em>Sequence Expansion Expression Operation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_EXPANSION_EXPRESSION___SEQUENCE_EXPANSION_EXPRESSION_OPERATION__DIAGNOSTICCHAIN_MAP = EXPRESSION_OPERATION_COUNT + 26;
+
+ /**
+ * The number of operations of the '<em>Sequence Expansion Expression</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_EXPANSION_EXPRESSION_OPERATION_COUNT = EXPRESSION_OPERATION_COUNT + 27;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.uml.alf.impl.AssignableElementReferenceImpl <em>Assignable Element Reference</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.uml.alf.impl.AssignableElementReferenceImpl
+ * @see org.eclipse.papyrus.uml.alf.impl.AlfPackageImpl#getAssignableElementReference()
+ * @generated
+ */
+ int ASSIGNABLE_ELEMENT_REFERENCE = 10;
+
+ /**
+ * The feature id for the '<em><b>Owner</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSIGNABLE_ELEMENT_REFERENCE__OWNER = ASSIGNABLE_ELEMENT__OWNER;
+
+ /**
+ * The feature id for the '<em><b>Upper</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSIGNABLE_ELEMENT_REFERENCE__UPPER = ASSIGNABLE_ELEMENT__UPPER;
+
+ /**
+ * The feature id for the '<em><b>Lower</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSIGNABLE_ELEMENT_REFERENCE__LOWER = ASSIGNABLE_ELEMENT__LOWER;
+
+ /**
+ * The feature id for the '<em><b>Type</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSIGNABLE_ELEMENT_REFERENCE__TYPE = ASSIGNABLE_ELEMENT__TYPE;
+
+ /**
+ * The feature id for the '<em><b>Reference</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSIGNABLE_ELEMENT_REFERENCE__REFERENCE = ASSIGNABLE_ELEMENT_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the '<em>Assignable Element Reference</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSIGNABLE_ELEMENT_REFERENCE_FEATURE_COUNT = ASSIGNABLE_ELEMENT_FEATURE_COUNT + 1;
+
+ /**
+ * The operation id for the '<em>To Reference</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSIGNABLE_ELEMENT_REFERENCE___TO_REFERENCE = ASSIGNABLE_ELEMENT___TO_REFERENCE;
+
+ /**
+ * The operation id for the '<em>Owner</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSIGNABLE_ELEMENT_REFERENCE___OWNER = ASSIGNABLE_ELEMENT___OWNER;
+
+ /**
+ * The operation id for the '<em>Syntax Element owner</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSIGNABLE_ELEMENT_REFERENCE___SYNTAX_ELEMENT_OWNER = ASSIGNABLE_ELEMENT___SYNTAX_ELEMENT_OWNER;
+
+ /**
+ * The operation id for the '<em>Current Scope</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSIGNABLE_ELEMENT_REFERENCE___CURRENT_SCOPE = ASSIGNABLE_ELEMENT___CURRENT_SCOPE;
+
+ /**
+ * The operation id for the '<em>Syntax Element current Scope</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSIGNABLE_ELEMENT_REFERENCE___SYNTAX_ELEMENT_CURRENT_SCOPE = ASSIGNABLE_ELEMENT___SYNTAX_ELEMENT_CURRENT_SCOPE;
+
+ /**
+ * The operation id for the '<em>Enclosing Statement</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSIGNABLE_ELEMENT_REFERENCE___ENCLOSING_STATEMENT = ASSIGNABLE_ELEMENT___ENCLOSING_STATEMENT;
+
+ /**
+ * The operation id for the '<em>Enclosing Expression</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSIGNABLE_ELEMENT_REFERENCE___ENCLOSING_EXPRESSION = ASSIGNABLE_ELEMENT___ENCLOSING_EXPRESSION;
+
+ /**
+ * The operation id for the '<em>Assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSIGNABLE_ELEMENT_REFERENCE___ASSIGNMENTS_BEFORE = ASSIGNABLE_ELEMENT___ASSIGNMENTS_BEFORE;
+
+ /**
+ * The operation id for the '<em>Syntax Element assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSIGNABLE_ELEMENT_REFERENCE___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE = ASSIGNABLE_ELEMENT___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE;
+
+ /**
+ * The operation id for the '<em>Syntax Element assignments Before base</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSIGNABLE_ELEMENT_REFERENCE___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE_BASE = ASSIGNABLE_ELEMENT___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE_BASE;
+
+ /**
+ * The operation id for the '<em>Assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSIGNABLE_ELEMENT_REFERENCE___ASSIGNMENTS_BEFORE__SYNTAXELEMENT = ASSIGNABLE_ELEMENT___ASSIGNMENTS_BEFORE__SYNTAXELEMENT;
+
+ /**
+ * The operation id for the '<em>Update All</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSIGNABLE_ELEMENT_REFERENCE___UPDATE_ALL__ELIST_ELIST = ASSIGNABLE_ELEMENT___UPDATE_ALL__ELIST_ELIST;
+
+ /**
+ * The operation id for the '<em>Common Ancestor</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSIGNABLE_ELEMENT_REFERENCE___COMMON_ANCESTOR__ELIST = ASSIGNABLE_ELEMENT___COMMON_ANCESTOR__ELIST;
+
+ /**
+ * The operation id for the '<em>Common Ancestors</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSIGNABLE_ELEMENT_REFERENCE___COMMON_ANCESTORS__ELIST = ASSIGNABLE_ELEMENT___COMMON_ANCESTORS__ELIST;
+
+ /**
+ * The operation id for the '<em>Remove Duplicate Elements</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSIGNABLE_ELEMENT_REFERENCE___REMOVE_DUPLICATE_ELEMENTS__ELIST = ASSIGNABLE_ELEMENT___REMOVE_DUPLICATE_ELEMENTS__ELIST;
+
+ /**
+ * The operation id for the '<em>Resolve In Library</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSIGNABLE_ELEMENT_REFERENCE___RESOLVE_IN_LIBRARY__STRING = ASSIGNABLE_ELEMENT___RESOLVE_IN_LIBRARY__STRING;
+
+ /**
+ * The operation id for the '<em>Primitive Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSIGNABLE_ELEMENT_REFERENCE___PRIMITIVE_TYPE__STRING = ASSIGNABLE_ELEMENT___PRIMITIVE_TYPE__STRING;
+
+ /**
+ * The operation id for the '<em>Primitive Type </em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSIGNABLE_ELEMENT_REFERENCE___PRIMITIVE_TYPE____STRING = ASSIGNABLE_ELEMENT___PRIMITIVE_TYPE____STRING;
+
+ /**
+ * The operation id for the '<em>Boolean Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSIGNABLE_ELEMENT_REFERENCE___BOOLEAN_TYPE = ASSIGNABLE_ELEMENT___BOOLEAN_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Boolean Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSIGNABLE_ELEMENT_REFERENCE___IS_BOOLEAN_TYPE__ELEMENTREFERENCE = ASSIGNABLE_ELEMENT___IS_BOOLEAN_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Integer Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSIGNABLE_ELEMENT_REFERENCE___INTEGER_TYPE = ASSIGNABLE_ELEMENT___INTEGER_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Integer Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSIGNABLE_ELEMENT_REFERENCE___IS_INTEGER_TYPE__ELEMENTREFERENCE = ASSIGNABLE_ELEMENT___IS_INTEGER_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSIGNABLE_ELEMENT_REFERENCE___STRING_TYPE = ASSIGNABLE_ELEMENT___STRING_TYPE;
+
+ /**
+ * The operation id for the '<em>Is String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSIGNABLE_ELEMENT_REFERENCE___IS_STRING_TYPE__ELEMENTREFERENCE = ASSIGNABLE_ELEMENT___IS_STRING_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Unlimited Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSIGNABLE_ELEMENT_REFERENCE___UNLIMITED_NATURAL_TYPE = ASSIGNABLE_ELEMENT___UNLIMITED_NATURAL_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Unlimited Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSIGNABLE_ELEMENT_REFERENCE___IS_UNLIMITED_NATURAL_TYPE__ELEMENTREFERENCE = ASSIGNABLE_ELEMENT___IS_UNLIMITED_NATURAL_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Bit String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSIGNABLE_ELEMENT_REFERENCE___BIT_STRING_TYPE = ASSIGNABLE_ELEMENT___BIT_STRING_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Bit String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSIGNABLE_ELEMENT_REFERENCE___IS_BIT_STRING_TYPE__ELEMENTREFERENCE = ASSIGNABLE_ELEMENT___IS_BIT_STRING_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSIGNABLE_ELEMENT_REFERENCE___NATURAL_TYPE = ASSIGNABLE_ELEMENT___NATURAL_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSIGNABLE_ELEMENT_REFERENCE___IS_NATURAL_TYPE__ELEMENTREFERENCE = ASSIGNABLE_ELEMENT___IS_NATURAL_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Numeric Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSIGNABLE_ELEMENT_REFERENCE___IS_NUMERIC_TYPE__ELEMENTREFERENCE = ASSIGNABLE_ELEMENT___IS_NUMERIC_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Collection Function Add</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSIGNABLE_ELEMENT_REFERENCE___COLLECTION_FUNCTION_ADD = ASSIGNABLE_ELEMENT___COLLECTION_FUNCTION_ADD;
+
+ /**
+ * The operation id for the '<em>Is Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSIGNABLE_ELEMENT_REFERENCE___IS_COLLECTION_CLASS__ELEMENTREFERENCE = ASSIGNABLE_ELEMENT___IS_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Integer Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSIGNABLE_ELEMENT_REFERENCE___IS_INTEGER_COLLECTION_CLASS__ELEMENTREFERENCE = ASSIGNABLE_ELEMENT___IS_INTEGER_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Bit String Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSIGNABLE_ELEMENT_REFERENCE___IS_BIT_STRING_COLLECTION_CLASS__ELEMENTREFERENCE = ASSIGNABLE_ELEMENT___IS_BIT_STRING_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Type Cached</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSIGNABLE_ELEMENT_REFERENCE___TYPE_CACHED = ASSIGNABLE_ELEMENT___TYPE_CACHED;
+
+ /**
+ * The operation id for the '<em>Is Null</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSIGNABLE_ELEMENT_REFERENCE___IS_NULL = ASSIGNABLE_ELEMENT___IS_NULL;
+
+ /**
+ * The operation id for the '<em>Is Assignable From Element</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSIGNABLE_ELEMENT_REFERENCE___IS_ASSIGNABLE_FROM_ELEMENT__ELEMENTREFERENCE = ASSIGNABLE_ELEMENT___IS_ASSIGNABLE_FROM_ELEMENT__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Assignable From</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSIGNABLE_ELEMENT_REFERENCE___IS_ASSIGNABLE_FROM__ASSIGNABLEELEMENT = ASSIGNABLE_ELEMENT___IS_ASSIGNABLE_FROM__ASSIGNABLEELEMENT;
+
+ /**
+ * The operation id for the '<em>Is Type Conformant With</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSIGNABLE_ELEMENT_REFERENCE___IS_TYPE_CONFORMANT_WITH__ASSIGNABLEELEMENT = ASSIGNABLE_ELEMENT___IS_TYPE_CONFORMANT_WITH__ASSIGNABLEELEMENT;
+
+ /**
+ * The operation id for the '<em>Is Conformant With Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSIGNABLE_ELEMENT_REFERENCE___IS_CONFORMANT_WITH_TYPE__ELEMENTREFERENCE = ASSIGNABLE_ELEMENT___IS_CONFORMANT_WITH_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Multiplicity Conformant With</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSIGNABLE_ELEMENT_REFERENCE___IS_MULTIPLICITY_CONFORMANT_WITH__ASSIGNABLEELEMENT = ASSIGNABLE_ELEMENT___IS_MULTIPLICITY_CONFORMANT_WITH__ASSIGNABLEELEMENT;
+
+ /**
+ * The operation id for the '<em>Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSIGNABLE_ELEMENT_REFERENCE___TYPE = ASSIGNABLE_ELEMENT_OPERATION_COUNT + 0;
+
+ /**
+ * The operation id for the '<em>Lower</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSIGNABLE_ELEMENT_REFERENCE___LOWER = ASSIGNABLE_ELEMENT_OPERATION_COUNT + 1;
+
+ /**
+ * The operation id for the '<em>Upper</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSIGNABLE_ELEMENT_REFERENCE___UPPER = ASSIGNABLE_ELEMENT_OPERATION_COUNT + 2;
+
+ /**
+ * The number of operations of the '<em>Assignable Element Reference</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSIGNABLE_ELEMENT_REFERENCE_OPERATION_COUNT = ASSIGNABLE_ELEMENT_OPERATION_COUNT + 3;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.uml.alf.impl.ExtentOrExpressionImpl <em>Extent Or Expression</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.uml.alf.impl.ExtentOrExpressionImpl
+ * @see org.eclipse.papyrus.uml.alf.impl.AlfPackageImpl#getExtentOrExpression()
+ * @generated
+ */
+ int EXTENT_OR_EXPRESSION = 12;
+
+ /**
+ * The feature id for the '<em><b>Owner</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXTENT_OR_EXPRESSION__OWNER = EXPRESSION__OWNER;
+
+ /**
+ * The feature id for the '<em><b>Upper</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXTENT_OR_EXPRESSION__UPPER = EXPRESSION__UPPER;
+
+ /**
+ * The feature id for the '<em><b>Lower</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXTENT_OR_EXPRESSION__LOWER = EXPRESSION__LOWER;
+
+ /**
+ * The feature id for the '<em><b>Type</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXTENT_OR_EXPRESSION__TYPE = EXPRESSION__TYPE;
+
+ /**
+ * The feature id for the '<em><b>Assignment Before</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXTENT_OR_EXPRESSION__ASSIGNMENT_BEFORE = EXPRESSION__ASSIGNMENT_BEFORE;
+
+ /**
+ * The feature id for the '<em><b>Assignment After</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXTENT_OR_EXPRESSION__ASSIGNMENT_AFTER = EXPRESSION__ASSIGNMENT_AFTER;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXTENT_OR_EXPRESSION__NAME = EXPRESSION_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Expression</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXTENT_OR_EXPRESSION__EXPRESSION = EXPRESSION_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Non Name Expression</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXTENT_OR_EXPRESSION__NON_NAME_EXPRESSION = EXPRESSION_FEATURE_COUNT + 2;
+
+ /**
+ * The number of structural features of the '<em>Extent Or Expression</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXTENT_OR_EXPRESSION_FEATURE_COUNT = EXPRESSION_FEATURE_COUNT + 3;
+
+ /**
+ * The operation id for the '<em>To Reference</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXTENT_OR_EXPRESSION___TO_REFERENCE = EXPRESSION___TO_REFERENCE;
+
+ /**
+ * The operation id for the '<em>Owner</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXTENT_OR_EXPRESSION___OWNER = EXPRESSION___OWNER;
+
+ /**
+ * The operation id for the '<em>Syntax Element owner</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXTENT_OR_EXPRESSION___SYNTAX_ELEMENT_OWNER = EXPRESSION___SYNTAX_ELEMENT_OWNER;
+
+ /**
+ * The operation id for the '<em>Current Scope</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXTENT_OR_EXPRESSION___CURRENT_SCOPE = EXPRESSION___CURRENT_SCOPE;
+
+ /**
+ * The operation id for the '<em>Syntax Element current Scope</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXTENT_OR_EXPRESSION___SYNTAX_ELEMENT_CURRENT_SCOPE = EXPRESSION___SYNTAX_ELEMENT_CURRENT_SCOPE;
+
+ /**
+ * The operation id for the '<em>Enclosing Statement</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXTENT_OR_EXPRESSION___ENCLOSING_STATEMENT = EXPRESSION___ENCLOSING_STATEMENT;
+
+ /**
+ * The operation id for the '<em>Enclosing Expression</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXTENT_OR_EXPRESSION___ENCLOSING_EXPRESSION = EXPRESSION___ENCLOSING_EXPRESSION;
+
+ /**
+ * The operation id for the '<em>Assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXTENT_OR_EXPRESSION___ASSIGNMENTS_BEFORE = EXPRESSION___ASSIGNMENTS_BEFORE;
+
+ /**
+ * The operation id for the '<em>Syntax Element assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXTENT_OR_EXPRESSION___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE = EXPRESSION___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE;
+
+ /**
+ * The operation id for the '<em>Syntax Element assignments Before base</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXTENT_OR_EXPRESSION___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE_BASE = EXPRESSION___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE_BASE;
+
+ /**
+ * The operation id for the '<em>Assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXTENT_OR_EXPRESSION___ASSIGNMENTS_BEFORE__SYNTAXELEMENT = EXPRESSION___ASSIGNMENTS_BEFORE__SYNTAXELEMENT;
+
+ /**
+ * The operation id for the '<em>Update All</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXTENT_OR_EXPRESSION___UPDATE_ALL__ELIST_ELIST = EXPRESSION___UPDATE_ALL__ELIST_ELIST;
+
+ /**
+ * The operation id for the '<em>Common Ancestor</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXTENT_OR_EXPRESSION___COMMON_ANCESTOR__ELIST = EXPRESSION___COMMON_ANCESTOR__ELIST;
+
+ /**
+ * The operation id for the '<em>Common Ancestors</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXTENT_OR_EXPRESSION___COMMON_ANCESTORS__ELIST = EXPRESSION___COMMON_ANCESTORS__ELIST;
+
+ /**
+ * The operation id for the '<em>Remove Duplicate Elements</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXTENT_OR_EXPRESSION___REMOVE_DUPLICATE_ELEMENTS__ELIST = EXPRESSION___REMOVE_DUPLICATE_ELEMENTS__ELIST;
+
+ /**
+ * The operation id for the '<em>Resolve In Library</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXTENT_OR_EXPRESSION___RESOLVE_IN_LIBRARY__STRING = EXPRESSION___RESOLVE_IN_LIBRARY__STRING;
+
+ /**
+ * The operation id for the '<em>Primitive Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXTENT_OR_EXPRESSION___PRIMITIVE_TYPE__STRING = EXPRESSION___PRIMITIVE_TYPE__STRING;
+
+ /**
+ * The operation id for the '<em>Primitive Type </em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXTENT_OR_EXPRESSION___PRIMITIVE_TYPE____STRING = EXPRESSION___PRIMITIVE_TYPE____STRING;
+
+ /**
+ * The operation id for the '<em>Boolean Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXTENT_OR_EXPRESSION___BOOLEAN_TYPE = EXPRESSION___BOOLEAN_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Boolean Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXTENT_OR_EXPRESSION___IS_BOOLEAN_TYPE__ELEMENTREFERENCE = EXPRESSION___IS_BOOLEAN_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Integer Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXTENT_OR_EXPRESSION___INTEGER_TYPE = EXPRESSION___INTEGER_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Integer Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXTENT_OR_EXPRESSION___IS_INTEGER_TYPE__ELEMENTREFERENCE = EXPRESSION___IS_INTEGER_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXTENT_OR_EXPRESSION___STRING_TYPE = EXPRESSION___STRING_TYPE;
+
+ /**
+ * The operation id for the '<em>Is String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXTENT_OR_EXPRESSION___IS_STRING_TYPE__ELEMENTREFERENCE = EXPRESSION___IS_STRING_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Unlimited Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXTENT_OR_EXPRESSION___UNLIMITED_NATURAL_TYPE = EXPRESSION___UNLIMITED_NATURAL_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Unlimited Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXTENT_OR_EXPRESSION___IS_UNLIMITED_NATURAL_TYPE__ELEMENTREFERENCE = EXPRESSION___IS_UNLIMITED_NATURAL_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Bit String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXTENT_OR_EXPRESSION___BIT_STRING_TYPE = EXPRESSION___BIT_STRING_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Bit String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXTENT_OR_EXPRESSION___IS_BIT_STRING_TYPE__ELEMENTREFERENCE = EXPRESSION___IS_BIT_STRING_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXTENT_OR_EXPRESSION___NATURAL_TYPE = EXPRESSION___NATURAL_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXTENT_OR_EXPRESSION___IS_NATURAL_TYPE__ELEMENTREFERENCE = EXPRESSION___IS_NATURAL_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Numeric Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXTENT_OR_EXPRESSION___IS_NUMERIC_TYPE__ELEMENTREFERENCE = EXPRESSION___IS_NUMERIC_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Collection Function Add</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXTENT_OR_EXPRESSION___COLLECTION_FUNCTION_ADD = EXPRESSION___COLLECTION_FUNCTION_ADD;
+
+ /**
+ * The operation id for the '<em>Is Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXTENT_OR_EXPRESSION___IS_COLLECTION_CLASS__ELEMENTREFERENCE = EXPRESSION___IS_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Integer Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXTENT_OR_EXPRESSION___IS_INTEGER_COLLECTION_CLASS__ELEMENTREFERENCE = EXPRESSION___IS_INTEGER_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Bit String Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXTENT_OR_EXPRESSION___IS_BIT_STRING_COLLECTION_CLASS__ELEMENTREFERENCE = EXPRESSION___IS_BIT_STRING_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Type Cached</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXTENT_OR_EXPRESSION___TYPE_CACHED = EXPRESSION___TYPE_CACHED;
+
+ /**
+ * The operation id for the '<em>Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXTENT_OR_EXPRESSION___TYPE = EXPRESSION___TYPE;
+
+ /**
+ * The operation id for the '<em>Lower</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXTENT_OR_EXPRESSION___LOWER = EXPRESSION___LOWER;
+
+ /**
+ * The operation id for the '<em>Upper</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXTENT_OR_EXPRESSION___UPPER = EXPRESSION___UPPER;
+
+ /**
+ * The operation id for the '<em>Is Null</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXTENT_OR_EXPRESSION___IS_NULL = EXPRESSION___IS_NULL;
+
+ /**
+ * The operation id for the '<em>Is Assignable From Element</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXTENT_OR_EXPRESSION___IS_ASSIGNABLE_FROM_ELEMENT__ELEMENTREFERENCE = EXPRESSION___IS_ASSIGNABLE_FROM_ELEMENT__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Assignable From</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXTENT_OR_EXPRESSION___IS_ASSIGNABLE_FROM__ASSIGNABLEELEMENT = EXPRESSION___IS_ASSIGNABLE_FROM__ASSIGNABLEELEMENT;
+
+ /**
+ * The operation id for the '<em>Is Type Conformant With</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXTENT_OR_EXPRESSION___IS_TYPE_CONFORMANT_WITH__ASSIGNABLEELEMENT = EXPRESSION___IS_TYPE_CONFORMANT_WITH__ASSIGNABLEELEMENT;
+
+ /**
+ * The operation id for the '<em>Is Conformant With Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXTENT_OR_EXPRESSION___IS_CONFORMANT_WITH_TYPE__ELEMENTREFERENCE = EXPRESSION___IS_CONFORMANT_WITH_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Multiplicity Conformant With</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXTENT_OR_EXPRESSION___IS_MULTIPLICITY_CONFORMANT_WITH__ASSIGNABLEELEMENT = EXPRESSION___IS_MULTIPLICITY_CONFORMANT_WITH__ASSIGNABLEELEMENT;
+
+ /**
+ * The operation id for the '<em>New Assignments</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXTENT_OR_EXPRESSION___NEW_ASSIGNMENTS = EXPRESSION___NEW_ASSIGNMENTS;
+
+ /**
+ * The operation id for the '<em>Update Assignments</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXTENT_OR_EXPRESSION___UPDATE_ASSIGNMENTS = EXPRESSION___UPDATE_ASSIGNMENTS;
+
+ /**
+ * The operation id for the '<em>Expression update Assignments</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXTENT_OR_EXPRESSION___EXPRESSION_UPDATE_ASSIGNMENTS = EXPRESSION___EXPRESSION_UPDATE_ASSIGNMENTS;
+
+ /**
+ * The operation id for the '<em>Update Assignments Cached</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXTENT_OR_EXPRESSION___UPDATE_ASSIGNMENTS_CACHED = EXPRESSION___UPDATE_ASSIGNMENTS_CACHED;
+
+ /**
+ * The operation id for the '<em>Resolve</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXTENT_OR_EXPRESSION___RESOLVE__STRING = EXPRESSION___RESOLVE__STRING;
+
+ /**
+ * The operation id for the '<em>Expression Assignment After Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXTENT_OR_EXPRESSION___EXPRESSION_ASSIGNMENT_AFTER_DERIVATION__DIAGNOSTICCHAIN_MAP = EXPRESSION___EXPRESSION_ASSIGNMENT_AFTER_DERIVATION__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Expression Unique Assignments</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXTENT_OR_EXPRESSION___EXPRESSION_UNIQUE_ASSIGNMENTS__DIAGNOSTICCHAIN_MAP = EXPRESSION___EXPRESSION_UNIQUE_ASSIGNMENTS__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Is Add Target</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXTENT_OR_EXPRESSION___IS_ADD_TARGET__EXPRESSION = EXPRESSION_OPERATION_COUNT + 0;
+
+ /**
+ * The operation id for the '<em>Extent Or Expression Expression Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXTENT_OR_EXPRESSION___EXTENT_OR_EXPRESSION_EXPRESSION_DERIVATION__DIAGNOSTICCHAIN_MAP = EXPRESSION_OPERATION_COUNT + 1;
+
+ /**
+ * The operation id for the '<em>Extent Or Expression Extent Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXTENT_OR_EXPRESSION___EXTENT_OR_EXPRESSION_EXTENT_TYPE__DIAGNOSTICCHAIN_MAP = EXPRESSION_OPERATION_COUNT + 2;
+
+ /**
+ * The operation id for the '<em>Extent Or Expression Resolution</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXTENT_OR_EXPRESSION___EXTENT_OR_EXPRESSION_RESOLUTION__DIAGNOSTICCHAIN_MAP = EXPRESSION_OPERATION_COUNT + 3;
+
+ /**
+ * The number of operations of the '<em>Extent Or Expression</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXTENT_OR_EXPRESSION_OPERATION_COUNT = EXPRESSION_OPERATION_COUNT + 4;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.uml.alf.impl.QualifiedNameImpl <em>Qualified Name</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.uml.alf.impl.QualifiedNameImpl
+ * @see org.eclipse.papyrus.uml.alf.impl.AlfPackageImpl#getQualifiedName()
+ * @generated
+ */
+ int QUALIFIED_NAME = 13;
+
+ /**
+ * The feature id for the '<em><b>Owner</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int QUALIFIED_NAME__OWNER = SYNTAX_ELEMENT__OWNER;
+
+ /**
+ * The feature id for the '<em><b>Is Ambiguous</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int QUALIFIED_NAME__IS_AMBIGUOUS = SYNTAX_ELEMENT_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Path Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int QUALIFIED_NAME__PATH_NAME = SYNTAX_ELEMENT_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Is Feature Reference</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int QUALIFIED_NAME__IS_FEATURE_REFERENCE = SYNTAX_ELEMENT_FEATURE_COUNT + 2;
+
+ /**
+ * The feature id for the '<em><b>Qualification</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int QUALIFIED_NAME__QUALIFICATION = SYNTAX_ELEMENT_FEATURE_COUNT + 3;
+
+ /**
+ * The feature id for the '<em><b>Disambiguation</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int QUALIFIED_NAME__DISAMBIGUATION = SYNTAX_ELEMENT_FEATURE_COUNT + 4;
+
+ /**
+ * The feature id for the '<em><b>Name Binding</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int QUALIFIED_NAME__NAME_BINDING = SYNTAX_ELEMENT_FEATURE_COUNT + 5;
+
+ /**
+ * The feature id for the '<em><b>Referent</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int QUALIFIED_NAME__REFERENT = SYNTAX_ELEMENT_FEATURE_COUNT + 6;
+
+ /**
+ * The feature id for the '<em><b>Unqualified Name</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int QUALIFIED_NAME__UNQUALIFIED_NAME = SYNTAX_ELEMENT_FEATURE_COUNT + 7;
+
+ /**
+ * The feature id for the '<em><b>Template Name</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int QUALIFIED_NAME__TEMPLATE_NAME = SYNTAX_ELEMENT_FEATURE_COUNT + 8;
+
+ /**
+ * The number of structural features of the '<em>Qualified Name</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int QUALIFIED_NAME_FEATURE_COUNT = SYNTAX_ELEMENT_FEATURE_COUNT + 9;
+
+ /**
+ * The operation id for the '<em>To Reference</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int QUALIFIED_NAME___TO_REFERENCE = SYNTAX_ELEMENT___TO_REFERENCE;
+
+ /**
+ * The operation id for the '<em>Owner</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int QUALIFIED_NAME___OWNER = SYNTAX_ELEMENT___OWNER;
+
+ /**
+ * The operation id for the '<em>Syntax Element owner</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int QUALIFIED_NAME___SYNTAX_ELEMENT_OWNER = SYNTAX_ELEMENT___SYNTAX_ELEMENT_OWNER;
+
+ /**
+ * The operation id for the '<em>Current Scope</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int QUALIFIED_NAME___CURRENT_SCOPE = SYNTAX_ELEMENT___CURRENT_SCOPE;
+
+ /**
+ * The operation id for the '<em>Syntax Element current Scope</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int QUALIFIED_NAME___SYNTAX_ELEMENT_CURRENT_SCOPE = SYNTAX_ELEMENT___SYNTAX_ELEMENT_CURRENT_SCOPE;
+
+ /**
+ * The operation id for the '<em>Enclosing Statement</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int QUALIFIED_NAME___ENCLOSING_STATEMENT = SYNTAX_ELEMENT___ENCLOSING_STATEMENT;
+
+ /**
+ * The operation id for the '<em>Enclosing Expression</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int QUALIFIED_NAME___ENCLOSING_EXPRESSION = SYNTAX_ELEMENT___ENCLOSING_EXPRESSION;
+
+ /**
+ * The operation id for the '<em>Assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int QUALIFIED_NAME___ASSIGNMENTS_BEFORE = SYNTAX_ELEMENT___ASSIGNMENTS_BEFORE;
+
+ /**
+ * The operation id for the '<em>Syntax Element assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int QUALIFIED_NAME___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE = SYNTAX_ELEMENT___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE;
+
+ /**
+ * The operation id for the '<em>Syntax Element assignments Before base</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int QUALIFIED_NAME___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE_BASE = SYNTAX_ELEMENT___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE_BASE;
+
+ /**
+ * The operation id for the '<em>Assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int QUALIFIED_NAME___ASSIGNMENTS_BEFORE__SYNTAXELEMENT = SYNTAX_ELEMENT___ASSIGNMENTS_BEFORE__SYNTAXELEMENT;
+
+ /**
+ * The operation id for the '<em>Update All</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int QUALIFIED_NAME___UPDATE_ALL__ELIST_ELIST = SYNTAX_ELEMENT___UPDATE_ALL__ELIST_ELIST;
+
+ /**
+ * The operation id for the '<em>Common Ancestor</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int QUALIFIED_NAME___COMMON_ANCESTOR__ELIST = SYNTAX_ELEMENT___COMMON_ANCESTOR__ELIST;
+
+ /**
+ * The operation id for the '<em>Common Ancestors</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int QUALIFIED_NAME___COMMON_ANCESTORS__ELIST = SYNTAX_ELEMENT___COMMON_ANCESTORS__ELIST;
+
+ /**
+ * The operation id for the '<em>Remove Duplicate Elements</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int QUALIFIED_NAME___REMOVE_DUPLICATE_ELEMENTS__ELIST = SYNTAX_ELEMENT___REMOVE_DUPLICATE_ELEMENTS__ELIST;
+
+ /**
+ * The operation id for the '<em>Resolve In Library</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int QUALIFIED_NAME___RESOLVE_IN_LIBRARY__STRING = SYNTAX_ELEMENT___RESOLVE_IN_LIBRARY__STRING;
+
+ /**
+ * The operation id for the '<em>Primitive Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int QUALIFIED_NAME___PRIMITIVE_TYPE__STRING = SYNTAX_ELEMENT___PRIMITIVE_TYPE__STRING;
+
+ /**
+ * The operation id for the '<em>Primitive Type </em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int QUALIFIED_NAME___PRIMITIVE_TYPE____STRING = SYNTAX_ELEMENT___PRIMITIVE_TYPE____STRING;
+
+ /**
+ * The operation id for the '<em>Boolean Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int QUALIFIED_NAME___BOOLEAN_TYPE = SYNTAX_ELEMENT___BOOLEAN_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Boolean Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int QUALIFIED_NAME___IS_BOOLEAN_TYPE__ELEMENTREFERENCE = SYNTAX_ELEMENT___IS_BOOLEAN_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Integer Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int QUALIFIED_NAME___INTEGER_TYPE = SYNTAX_ELEMENT___INTEGER_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Integer Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int QUALIFIED_NAME___IS_INTEGER_TYPE__ELEMENTREFERENCE = SYNTAX_ELEMENT___IS_INTEGER_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int QUALIFIED_NAME___STRING_TYPE = SYNTAX_ELEMENT___STRING_TYPE;
+
+ /**
+ * The operation id for the '<em>Is String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int QUALIFIED_NAME___IS_STRING_TYPE__ELEMENTREFERENCE = SYNTAX_ELEMENT___IS_STRING_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Unlimited Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int QUALIFIED_NAME___UNLIMITED_NATURAL_TYPE = SYNTAX_ELEMENT___UNLIMITED_NATURAL_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Unlimited Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int QUALIFIED_NAME___IS_UNLIMITED_NATURAL_TYPE__ELEMENTREFERENCE = SYNTAX_ELEMENT___IS_UNLIMITED_NATURAL_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Bit String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int QUALIFIED_NAME___BIT_STRING_TYPE = SYNTAX_ELEMENT___BIT_STRING_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Bit String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int QUALIFIED_NAME___IS_BIT_STRING_TYPE__ELEMENTREFERENCE = SYNTAX_ELEMENT___IS_BIT_STRING_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int QUALIFIED_NAME___NATURAL_TYPE = SYNTAX_ELEMENT___NATURAL_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int QUALIFIED_NAME___IS_NATURAL_TYPE__ELEMENTREFERENCE = SYNTAX_ELEMENT___IS_NATURAL_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Numeric Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int QUALIFIED_NAME___IS_NUMERIC_TYPE__ELEMENTREFERENCE = SYNTAX_ELEMENT___IS_NUMERIC_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Collection Function Add</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int QUALIFIED_NAME___COLLECTION_FUNCTION_ADD = SYNTAX_ELEMENT___COLLECTION_FUNCTION_ADD;
+
+ /**
+ * The operation id for the '<em>Is Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int QUALIFIED_NAME___IS_COLLECTION_CLASS__ELEMENTREFERENCE = SYNTAX_ELEMENT___IS_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Integer Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int QUALIFIED_NAME___IS_INTEGER_COLLECTION_CLASS__ELEMENTREFERENCE = SYNTAX_ELEMENT___IS_INTEGER_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Bit String Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int QUALIFIED_NAME___IS_BIT_STRING_COLLECTION_CLASS__ELEMENTREFERENCE = SYNTAX_ELEMENT___IS_BIT_STRING_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Copy</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int QUALIFIED_NAME___COPY = SYNTAX_ELEMENT_OPERATION_COUNT + 0;
+
+ /**
+ * The operation id for the '<em>Add Name</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int QUALIFIED_NAME___ADD_NAME__STRING = SYNTAX_ELEMENT_OPERATION_COUNT + 1;
+
+ /**
+ * The operation id for the '<em>Add Name Bindings</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int QUALIFIED_NAME___ADD_NAME_BINDINGS__ELIST = SYNTAX_ELEMENT_OPERATION_COUNT + 2;
+
+ /**
+ * The operation id for the '<em>Model Referents</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int QUALIFIED_NAME___MODEL_REFERENTS = SYNTAX_ELEMENT_OPERATION_COUNT + 3;
+
+ /**
+ * The operation id for the '<em>Qualified Name Unqualified Name Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int QUALIFIED_NAME___QUALIFIED_NAME_UNQUALIFIED_NAME_DERIVATION__DIAGNOSTICCHAIN_MAP = SYNTAX_ELEMENT_OPERATION_COUNT + 4;
+
+ /**
+ * The operation id for the '<em>Qualified Name Path Name Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int QUALIFIED_NAME___QUALIFIED_NAME_PATH_NAME_DERIVATION__DIAGNOSTICCHAIN_MAP = SYNTAX_ELEMENT_OPERATION_COUNT + 5;
+
+ /**
+ * The operation id for the '<em>Qualified Name Is Feature Reference Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int QUALIFIED_NAME___QUALIFIED_NAME_IS_FEATURE_REFERENCE_DERIVATION__DIAGNOSTICCHAIN_MAP = SYNTAX_ELEMENT_OPERATION_COUNT + 6;
+
+ /**
+ * The operation id for the '<em>Qualified Name Qualification Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int QUALIFIED_NAME___QUALIFIED_NAME_QUALIFICATION_DERIVATION__DIAGNOSTICCHAIN_MAP = SYNTAX_ELEMENT_OPERATION_COUNT + 7;
+
+ /**
+ * The operation id for the '<em>Qualified Name Disambiguation Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int QUALIFIED_NAME___QUALIFIED_NAME_DISAMBIGUATION_DERIVATION__DIAGNOSTICCHAIN_MAP = SYNTAX_ELEMENT_OPERATION_COUNT + 8;
+
+ /**
+ * The operation id for the '<em>Qualified Name Referent Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int QUALIFIED_NAME___QUALIFIED_NAME_REFERENT_DERIVATION__DIAGNOSTICCHAIN_MAP = SYNTAX_ELEMENT_OPERATION_COUNT + 9;
+
+ /**
+ * The operation id for the '<em>Qualified Name Local Name</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int QUALIFIED_NAME___QUALIFIED_NAME_LOCAL_NAME__DIAGNOSTICCHAIN_MAP = SYNTAX_ELEMENT_OPERATION_COUNT + 10;
+
+ /**
+ * The operation id for the '<em>Qualified Name Non Local Unqualified Name</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int QUALIFIED_NAME___QUALIFIED_NAME_NON_LOCAL_UNQUALIFIED_NAME__DIAGNOSTICCHAIN_MAP = SYNTAX_ELEMENT_OPERATION_COUNT + 11;
+
+ /**
+ * The operation id for the '<em>Qualified Name Qualified Resolution</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int QUALIFIED_NAME___QUALIFIED_NAME_QUALIFIED_RESOLUTION__DIAGNOSTICCHAIN_MAP = SYNTAX_ELEMENT_OPERATION_COUNT + 12;
+
+ /**
+ * The operation id for the '<em>Qualified Name Template Binding</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int QUALIFIED_NAME___QUALIFIED_NAME_TEMPLATE_BINDING__DIAGNOSTICCHAIN_MAP = SYNTAX_ELEMENT_OPERATION_COUNT + 13;
+
+ /**
+ * The operation id for the '<em>Qualified Name Template Name Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int QUALIFIED_NAME___QUALIFIED_NAME_TEMPLATE_NAME_DERIVATION__DIAGNOSTICCHAIN_MAP = SYNTAX_ELEMENT_OPERATION_COUNT + 14;
+
+ /**
+ * The operation id for the '<em>Disambiguation Cached</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int QUALIFIED_NAME___DISAMBIGUATION_CACHED = SYNTAX_ELEMENT_OPERATION_COUNT + 15;
+
+ /**
+ * The operation id for the '<em>Disambiguation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int QUALIFIED_NAME___DISAMBIGUATION = SYNTAX_ELEMENT_OPERATION_COUNT + 16;
+
+ /**
+ * The operation id for the '<em>Referent Cached</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int QUALIFIED_NAME___REFERENT_CACHED = SYNTAX_ELEMENT_OPERATION_COUNT + 17;
+
+ /**
+ * The operation id for the '<em>Referent</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int QUALIFIED_NAME___REFERENT = SYNTAX_ELEMENT_OPERATION_COUNT + 18;
+
+ /**
+ * The number of operations of the '<em>Qualified Name</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int QUALIFIED_NAME_OPERATION_COUNT = SYNTAX_ELEMENT_OPERATION_COUNT + 19;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.uml.alf.impl.FeatureReferenceImpl <em>Feature Reference</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.uml.alf.impl.FeatureReferenceImpl
+ * @see org.eclipse.papyrus.uml.alf.impl.AlfPackageImpl#getFeatureReference()
+ * @generated
+ */
+ int FEATURE_REFERENCE = 14;
+
+ /**
+ * The feature id for the '<em><b>Owner</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FEATURE_REFERENCE__OWNER = EXPRESSION__OWNER;
+
+ /**
+ * The feature id for the '<em><b>Upper</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FEATURE_REFERENCE__UPPER = EXPRESSION__UPPER;
+
+ /**
+ * The feature id for the '<em><b>Lower</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FEATURE_REFERENCE__LOWER = EXPRESSION__LOWER;
+
+ /**
+ * The feature id for the '<em><b>Type</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FEATURE_REFERENCE__TYPE = EXPRESSION__TYPE;
+
+ /**
+ * The feature id for the '<em><b>Assignment Before</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FEATURE_REFERENCE__ASSIGNMENT_BEFORE = EXPRESSION__ASSIGNMENT_BEFORE;
+
+ /**
+ * The feature id for the '<em><b>Assignment After</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FEATURE_REFERENCE__ASSIGNMENT_AFTER = EXPRESSION__ASSIGNMENT_AFTER;
+
+ /**
+ * The feature id for the '<em><b>Expression</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FEATURE_REFERENCE__EXPRESSION = EXPRESSION_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Referent</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FEATURE_REFERENCE__REFERENT = EXPRESSION_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Name Binding</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FEATURE_REFERENCE__NAME_BINDING = EXPRESSION_FEATURE_COUNT + 2;
+
+ /**
+ * The number of structural features of the '<em>Feature Reference</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FEATURE_REFERENCE_FEATURE_COUNT = EXPRESSION_FEATURE_COUNT + 3;
+
+ /**
+ * The operation id for the '<em>To Reference</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FEATURE_REFERENCE___TO_REFERENCE = EXPRESSION___TO_REFERENCE;
+
+ /**
+ * The operation id for the '<em>Owner</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FEATURE_REFERENCE___OWNER = EXPRESSION___OWNER;
+
+ /**
+ * The operation id for the '<em>Syntax Element owner</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FEATURE_REFERENCE___SYNTAX_ELEMENT_OWNER = EXPRESSION___SYNTAX_ELEMENT_OWNER;
+
+ /**
+ * The operation id for the '<em>Current Scope</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FEATURE_REFERENCE___CURRENT_SCOPE = EXPRESSION___CURRENT_SCOPE;
+
+ /**
+ * The operation id for the '<em>Syntax Element current Scope</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FEATURE_REFERENCE___SYNTAX_ELEMENT_CURRENT_SCOPE = EXPRESSION___SYNTAX_ELEMENT_CURRENT_SCOPE;
+
+ /**
+ * The operation id for the '<em>Enclosing Statement</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FEATURE_REFERENCE___ENCLOSING_STATEMENT = EXPRESSION___ENCLOSING_STATEMENT;
+
+ /**
+ * The operation id for the '<em>Enclosing Expression</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FEATURE_REFERENCE___ENCLOSING_EXPRESSION = EXPRESSION___ENCLOSING_EXPRESSION;
+
+ /**
+ * The operation id for the '<em>Assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FEATURE_REFERENCE___ASSIGNMENTS_BEFORE = EXPRESSION___ASSIGNMENTS_BEFORE;
+
+ /**
+ * The operation id for the '<em>Syntax Element assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FEATURE_REFERENCE___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE = EXPRESSION___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE;
+
+ /**
+ * The operation id for the '<em>Syntax Element assignments Before base</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FEATURE_REFERENCE___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE_BASE = EXPRESSION___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE_BASE;
+
+ /**
+ * The operation id for the '<em>Assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FEATURE_REFERENCE___ASSIGNMENTS_BEFORE__SYNTAXELEMENT = EXPRESSION___ASSIGNMENTS_BEFORE__SYNTAXELEMENT;
+
+ /**
+ * The operation id for the '<em>Update All</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FEATURE_REFERENCE___UPDATE_ALL__ELIST_ELIST = EXPRESSION___UPDATE_ALL__ELIST_ELIST;
+
+ /**
+ * The operation id for the '<em>Common Ancestor</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FEATURE_REFERENCE___COMMON_ANCESTOR__ELIST = EXPRESSION___COMMON_ANCESTOR__ELIST;
+
+ /**
+ * The operation id for the '<em>Common Ancestors</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FEATURE_REFERENCE___COMMON_ANCESTORS__ELIST = EXPRESSION___COMMON_ANCESTORS__ELIST;
+
+ /**
+ * The operation id for the '<em>Remove Duplicate Elements</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FEATURE_REFERENCE___REMOVE_DUPLICATE_ELEMENTS__ELIST = EXPRESSION___REMOVE_DUPLICATE_ELEMENTS__ELIST;
+
+ /**
+ * The operation id for the '<em>Resolve In Library</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FEATURE_REFERENCE___RESOLVE_IN_LIBRARY__STRING = EXPRESSION___RESOLVE_IN_LIBRARY__STRING;
+
+ /**
+ * The operation id for the '<em>Primitive Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FEATURE_REFERENCE___PRIMITIVE_TYPE__STRING = EXPRESSION___PRIMITIVE_TYPE__STRING;
+
+ /**
+ * The operation id for the '<em>Primitive Type </em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FEATURE_REFERENCE___PRIMITIVE_TYPE____STRING = EXPRESSION___PRIMITIVE_TYPE____STRING;
+
+ /**
+ * The operation id for the '<em>Boolean Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FEATURE_REFERENCE___BOOLEAN_TYPE = EXPRESSION___BOOLEAN_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Boolean Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FEATURE_REFERENCE___IS_BOOLEAN_TYPE__ELEMENTREFERENCE = EXPRESSION___IS_BOOLEAN_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Integer Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FEATURE_REFERENCE___INTEGER_TYPE = EXPRESSION___INTEGER_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Integer Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FEATURE_REFERENCE___IS_INTEGER_TYPE__ELEMENTREFERENCE = EXPRESSION___IS_INTEGER_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FEATURE_REFERENCE___STRING_TYPE = EXPRESSION___STRING_TYPE;
+
+ /**
+ * The operation id for the '<em>Is String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FEATURE_REFERENCE___IS_STRING_TYPE__ELEMENTREFERENCE = EXPRESSION___IS_STRING_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Unlimited Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FEATURE_REFERENCE___UNLIMITED_NATURAL_TYPE = EXPRESSION___UNLIMITED_NATURAL_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Unlimited Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FEATURE_REFERENCE___IS_UNLIMITED_NATURAL_TYPE__ELEMENTREFERENCE = EXPRESSION___IS_UNLIMITED_NATURAL_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Bit String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FEATURE_REFERENCE___BIT_STRING_TYPE = EXPRESSION___BIT_STRING_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Bit String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FEATURE_REFERENCE___IS_BIT_STRING_TYPE__ELEMENTREFERENCE = EXPRESSION___IS_BIT_STRING_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FEATURE_REFERENCE___NATURAL_TYPE = EXPRESSION___NATURAL_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FEATURE_REFERENCE___IS_NATURAL_TYPE__ELEMENTREFERENCE = EXPRESSION___IS_NATURAL_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Numeric Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FEATURE_REFERENCE___IS_NUMERIC_TYPE__ELEMENTREFERENCE = EXPRESSION___IS_NUMERIC_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Collection Function Add</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FEATURE_REFERENCE___COLLECTION_FUNCTION_ADD = EXPRESSION___COLLECTION_FUNCTION_ADD;
+
+ /**
+ * The operation id for the '<em>Is Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FEATURE_REFERENCE___IS_COLLECTION_CLASS__ELEMENTREFERENCE = EXPRESSION___IS_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Integer Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FEATURE_REFERENCE___IS_INTEGER_COLLECTION_CLASS__ELEMENTREFERENCE = EXPRESSION___IS_INTEGER_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Bit String Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FEATURE_REFERENCE___IS_BIT_STRING_COLLECTION_CLASS__ELEMENTREFERENCE = EXPRESSION___IS_BIT_STRING_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Type Cached</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FEATURE_REFERENCE___TYPE_CACHED = EXPRESSION___TYPE_CACHED;
+
+ /**
+ * The operation id for the '<em>Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FEATURE_REFERENCE___TYPE = EXPRESSION___TYPE;
+
+ /**
+ * The operation id for the '<em>Lower</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FEATURE_REFERENCE___LOWER = EXPRESSION___LOWER;
+
+ /**
+ * The operation id for the '<em>Upper</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FEATURE_REFERENCE___UPPER = EXPRESSION___UPPER;
+
+ /**
+ * The operation id for the '<em>Is Null</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FEATURE_REFERENCE___IS_NULL = EXPRESSION___IS_NULL;
+
+ /**
+ * The operation id for the '<em>Is Assignable From Element</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FEATURE_REFERENCE___IS_ASSIGNABLE_FROM_ELEMENT__ELEMENTREFERENCE = EXPRESSION___IS_ASSIGNABLE_FROM_ELEMENT__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Assignable From</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FEATURE_REFERENCE___IS_ASSIGNABLE_FROM__ASSIGNABLEELEMENT = EXPRESSION___IS_ASSIGNABLE_FROM__ASSIGNABLEELEMENT;
+
+ /**
+ * The operation id for the '<em>Is Type Conformant With</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FEATURE_REFERENCE___IS_TYPE_CONFORMANT_WITH__ASSIGNABLEELEMENT = EXPRESSION___IS_TYPE_CONFORMANT_WITH__ASSIGNABLEELEMENT;
+
+ /**
+ * The operation id for the '<em>Is Conformant With Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FEATURE_REFERENCE___IS_CONFORMANT_WITH_TYPE__ELEMENTREFERENCE = EXPRESSION___IS_CONFORMANT_WITH_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Multiplicity Conformant With</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FEATURE_REFERENCE___IS_MULTIPLICITY_CONFORMANT_WITH__ASSIGNABLEELEMENT = EXPRESSION___IS_MULTIPLICITY_CONFORMANT_WITH__ASSIGNABLEELEMENT;
+
+ /**
+ * The operation id for the '<em>New Assignments</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FEATURE_REFERENCE___NEW_ASSIGNMENTS = EXPRESSION___NEW_ASSIGNMENTS;
+
+ /**
+ * The operation id for the '<em>Expression update Assignments</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FEATURE_REFERENCE___EXPRESSION_UPDATE_ASSIGNMENTS = EXPRESSION___EXPRESSION_UPDATE_ASSIGNMENTS;
+
+ /**
+ * The operation id for the '<em>Update Assignments Cached</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FEATURE_REFERENCE___UPDATE_ASSIGNMENTS_CACHED = EXPRESSION___UPDATE_ASSIGNMENTS_CACHED;
+
+ /**
+ * The operation id for the '<em>Resolve</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FEATURE_REFERENCE___RESOLVE__STRING = EXPRESSION___RESOLVE__STRING;
+
+ /**
+ * The operation id for the '<em>Is Add Target</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FEATURE_REFERENCE___IS_ADD_TARGET__EXPRESSION = EXPRESSION___IS_ADD_TARGET__EXPRESSION;
+
+ /**
+ * The operation id for the '<em>Expression Assignment After Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FEATURE_REFERENCE___EXPRESSION_ASSIGNMENT_AFTER_DERIVATION__DIAGNOSTICCHAIN_MAP = EXPRESSION___EXPRESSION_ASSIGNMENT_AFTER_DERIVATION__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Expression Unique Assignments</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FEATURE_REFERENCE___EXPRESSION_UNIQUE_ASSIGNMENTS__DIAGNOSTICCHAIN_MAP = EXPRESSION___EXPRESSION_UNIQUE_ASSIGNMENTS__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Update Assignments</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FEATURE_REFERENCE___UPDATE_ASSIGNMENTS = EXPRESSION_OPERATION_COUNT + 0;
+
+ /**
+ * The operation id for the '<em>Behavioral Feature Referent</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FEATURE_REFERENCE___BEHAVIORAL_FEATURE_REFERENT__INVOCATIONEXPRESSION = EXPRESSION_OPERATION_COUNT + 1;
+
+ /**
+ * The operation id for the '<em>Feature Reference Referent Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FEATURE_REFERENCE___FEATURE_REFERENCE_REFERENT_DERIVATION__DIAGNOSTICCHAIN_MAP = EXPRESSION_OPERATION_COUNT + 2;
+
+ /**
+ * The operation id for the '<em>Feature Reference Target Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FEATURE_REFERENCE___FEATURE_REFERENCE_TARGET_TYPE__DIAGNOSTICCHAIN_MAP = EXPRESSION_OPERATION_COUNT + 3;
+
+ /**
+ * The operation id for the '<em>Referent Cached</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FEATURE_REFERENCE___REFERENT_CACHED = EXPRESSION_OPERATION_COUNT + 4;
+
+ /**
+ * The operation id for the '<em>Referent</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FEATURE_REFERENCE___REFERENT = EXPRESSION_OPERATION_COUNT + 5;
+
+ /**
+ * The operation id for the '<em>Feature Reference referent</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FEATURE_REFERENCE___FEATURE_REFERENCE_REFERENT = EXPRESSION_OPERATION_COUNT + 6;
+
+ /**
+ * The number of operations of the '<em>Feature Reference</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FEATURE_REFERENCE_OPERATION_COUNT = EXPRESSION_OPERATION_COUNT + 7;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.uml.alf.impl.NameBindingImpl <em>Name Binding</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.uml.alf.impl.NameBindingImpl
+ * @see org.eclipse.papyrus.uml.alf.impl.AlfPackageImpl#getNameBinding()
+ * @generated
+ */
+ int NAME_BINDING = 15;
+
+ /**
+ * The feature id for the '<em><b>Owner</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAME_BINDING__OWNER = SYNTAX_ELEMENT__OWNER;
+
+ /**
+ * The feature id for the '<em><b>Binding</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAME_BINDING__BINDING = SYNTAX_ELEMENT_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAME_BINDING__NAME = SYNTAX_ELEMENT_FEATURE_COUNT + 1;
+
+ /**
+ * The number of structural features of the '<em>Name Binding</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAME_BINDING_FEATURE_COUNT = SYNTAX_ELEMENT_FEATURE_COUNT + 2;
+
+ /**
+ * The operation id for the '<em>To Reference</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAME_BINDING___TO_REFERENCE = SYNTAX_ELEMENT___TO_REFERENCE;
+
+ /**
+ * The operation id for the '<em>Owner</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAME_BINDING___OWNER = SYNTAX_ELEMENT___OWNER;
+
+ /**
+ * The operation id for the '<em>Syntax Element owner</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAME_BINDING___SYNTAX_ELEMENT_OWNER = SYNTAX_ELEMENT___SYNTAX_ELEMENT_OWNER;
+
+ /**
+ * The operation id for the '<em>Current Scope</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAME_BINDING___CURRENT_SCOPE = SYNTAX_ELEMENT___CURRENT_SCOPE;
+
+ /**
+ * The operation id for the '<em>Syntax Element current Scope</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAME_BINDING___SYNTAX_ELEMENT_CURRENT_SCOPE = SYNTAX_ELEMENT___SYNTAX_ELEMENT_CURRENT_SCOPE;
+
+ /**
+ * The operation id for the '<em>Enclosing Statement</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAME_BINDING___ENCLOSING_STATEMENT = SYNTAX_ELEMENT___ENCLOSING_STATEMENT;
+
+ /**
+ * The operation id for the '<em>Enclosing Expression</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAME_BINDING___ENCLOSING_EXPRESSION = SYNTAX_ELEMENT___ENCLOSING_EXPRESSION;
+
+ /**
+ * The operation id for the '<em>Assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAME_BINDING___ASSIGNMENTS_BEFORE = SYNTAX_ELEMENT___ASSIGNMENTS_BEFORE;
+
+ /**
+ * The operation id for the '<em>Syntax Element assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAME_BINDING___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE = SYNTAX_ELEMENT___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE;
+
+ /**
+ * The operation id for the '<em>Syntax Element assignments Before base</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAME_BINDING___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE_BASE = SYNTAX_ELEMENT___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE_BASE;
+
+ /**
+ * The operation id for the '<em>Assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAME_BINDING___ASSIGNMENTS_BEFORE__SYNTAXELEMENT = SYNTAX_ELEMENT___ASSIGNMENTS_BEFORE__SYNTAXELEMENT;
+
+ /**
+ * The operation id for the '<em>Update All</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAME_BINDING___UPDATE_ALL__ELIST_ELIST = SYNTAX_ELEMENT___UPDATE_ALL__ELIST_ELIST;
+
+ /**
+ * The operation id for the '<em>Common Ancestor</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAME_BINDING___COMMON_ANCESTOR__ELIST = SYNTAX_ELEMENT___COMMON_ANCESTOR__ELIST;
+
+ /**
+ * The operation id for the '<em>Common Ancestors</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAME_BINDING___COMMON_ANCESTORS__ELIST = SYNTAX_ELEMENT___COMMON_ANCESTORS__ELIST;
+
+ /**
+ * The operation id for the '<em>Remove Duplicate Elements</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAME_BINDING___REMOVE_DUPLICATE_ELEMENTS__ELIST = SYNTAX_ELEMENT___REMOVE_DUPLICATE_ELEMENTS__ELIST;
+
+ /**
+ * The operation id for the '<em>Resolve In Library</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAME_BINDING___RESOLVE_IN_LIBRARY__STRING = SYNTAX_ELEMENT___RESOLVE_IN_LIBRARY__STRING;
+
+ /**
+ * The operation id for the '<em>Primitive Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAME_BINDING___PRIMITIVE_TYPE__STRING = SYNTAX_ELEMENT___PRIMITIVE_TYPE__STRING;
+
+ /**
+ * The operation id for the '<em>Primitive Type </em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAME_BINDING___PRIMITIVE_TYPE____STRING = SYNTAX_ELEMENT___PRIMITIVE_TYPE____STRING;
+
+ /**
+ * The operation id for the '<em>Boolean Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAME_BINDING___BOOLEAN_TYPE = SYNTAX_ELEMENT___BOOLEAN_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Boolean Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAME_BINDING___IS_BOOLEAN_TYPE__ELEMENTREFERENCE = SYNTAX_ELEMENT___IS_BOOLEAN_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Integer Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAME_BINDING___INTEGER_TYPE = SYNTAX_ELEMENT___INTEGER_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Integer Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAME_BINDING___IS_INTEGER_TYPE__ELEMENTREFERENCE = SYNTAX_ELEMENT___IS_INTEGER_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAME_BINDING___STRING_TYPE = SYNTAX_ELEMENT___STRING_TYPE;
+
+ /**
+ * The operation id for the '<em>Is String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAME_BINDING___IS_STRING_TYPE__ELEMENTREFERENCE = SYNTAX_ELEMENT___IS_STRING_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Unlimited Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAME_BINDING___UNLIMITED_NATURAL_TYPE = SYNTAX_ELEMENT___UNLIMITED_NATURAL_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Unlimited Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAME_BINDING___IS_UNLIMITED_NATURAL_TYPE__ELEMENTREFERENCE = SYNTAX_ELEMENT___IS_UNLIMITED_NATURAL_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Bit String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAME_BINDING___BIT_STRING_TYPE = SYNTAX_ELEMENT___BIT_STRING_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Bit String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAME_BINDING___IS_BIT_STRING_TYPE__ELEMENTREFERENCE = SYNTAX_ELEMENT___IS_BIT_STRING_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAME_BINDING___NATURAL_TYPE = SYNTAX_ELEMENT___NATURAL_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAME_BINDING___IS_NATURAL_TYPE__ELEMENTREFERENCE = SYNTAX_ELEMENT___IS_NATURAL_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Numeric Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAME_BINDING___IS_NUMERIC_TYPE__ELEMENTREFERENCE = SYNTAX_ELEMENT___IS_NUMERIC_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Collection Function Add</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAME_BINDING___COLLECTION_FUNCTION_ADD = SYNTAX_ELEMENT___COLLECTION_FUNCTION_ADD;
+
+ /**
+ * The operation id for the '<em>Is Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAME_BINDING___IS_COLLECTION_CLASS__ELEMENTREFERENCE = SYNTAX_ELEMENT___IS_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Integer Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAME_BINDING___IS_INTEGER_COLLECTION_CLASS__ELEMENTREFERENCE = SYNTAX_ELEMENT___IS_INTEGER_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Bit String Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAME_BINDING___IS_BIT_STRING_COLLECTION_CLASS__ELEMENTREFERENCE = SYNTAX_ELEMENT___IS_BIT_STRING_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>To String</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAME_BINDING___TO_STRING = SYNTAX_ELEMENT_OPERATION_COUNT + 0;
+
+ /**
+ * The operation id for the '<em>To Name</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAME_BINDING___TO_NAME = SYNTAX_ELEMENT_OPERATION_COUNT + 1;
+
+ /**
+ * The operation id for the '<em>Process</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAME_BINDING___PROCESS__STRING = SYNTAX_ELEMENT_OPERATION_COUNT + 2;
+
+ /**
+ * The operation id for the '<em>Escape</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAME_BINDING___ESCAPE__STRING = SYNTAX_ELEMENT_OPERATION_COUNT + 3;
+
+ /**
+ * The operation id for the '<em>Copy</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAME_BINDING___COPY = SYNTAX_ELEMENT_OPERATION_COUNT + 4;
+
+ /**
+ * The operation id for the '<em>To Qualified Name</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAME_BINDING___TO_QUALIFIED_NAME__SYNTAXELEMENT = SYNTAX_ELEMENT_OPERATION_COUNT + 5;
+
+ /**
+ * The operation id for the '<em>To Qualified Name With</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAME_BINDING___TO_QUALIFIED_NAME_WITH__NAMEBINDING_SYNTAXELEMENT = SYNTAX_ELEMENT_OPERATION_COUNT + 6;
+
+ /**
+ * The number of operations of the '<em>Name Binding</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAME_BINDING_OPERATION_COUNT = SYNTAX_ELEMENT_OPERATION_COUNT + 7;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.uml.alf.impl.TemplateBindingImpl <em>Template Binding</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.uml.alf.impl.TemplateBindingImpl
+ * @see org.eclipse.papyrus.uml.alf.impl.AlfPackageImpl#getTemplateBinding()
+ * @generated
+ */
+ int TEMPLATE_BINDING = 16;
+
+ /**
+ * The feature id for the '<em><b>Owner</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int TEMPLATE_BINDING__OWNER = SYNTAX_ELEMENT__OWNER;
+
+ /**
+ * The number of structural features of the '<em>Template Binding</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int TEMPLATE_BINDING_FEATURE_COUNT = SYNTAX_ELEMENT_FEATURE_COUNT + 0;
+
+ /**
+ * The operation id for the '<em>To Reference</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int TEMPLATE_BINDING___TO_REFERENCE = SYNTAX_ELEMENT___TO_REFERENCE;
+
+ /**
+ * The operation id for the '<em>Owner</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int TEMPLATE_BINDING___OWNER = SYNTAX_ELEMENT___OWNER;
+
+ /**
+ * The operation id for the '<em>Syntax Element owner</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int TEMPLATE_BINDING___SYNTAX_ELEMENT_OWNER = SYNTAX_ELEMENT___SYNTAX_ELEMENT_OWNER;
+
+ /**
+ * The operation id for the '<em>Current Scope</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int TEMPLATE_BINDING___CURRENT_SCOPE = SYNTAX_ELEMENT___CURRENT_SCOPE;
+
+ /**
+ * The operation id for the '<em>Syntax Element current Scope</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int TEMPLATE_BINDING___SYNTAX_ELEMENT_CURRENT_SCOPE = SYNTAX_ELEMENT___SYNTAX_ELEMENT_CURRENT_SCOPE;
+
+ /**
+ * The operation id for the '<em>Enclosing Statement</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int TEMPLATE_BINDING___ENCLOSING_STATEMENT = SYNTAX_ELEMENT___ENCLOSING_STATEMENT;
+
+ /**
+ * The operation id for the '<em>Enclosing Expression</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int TEMPLATE_BINDING___ENCLOSING_EXPRESSION = SYNTAX_ELEMENT___ENCLOSING_EXPRESSION;
+
+ /**
+ * The operation id for the '<em>Assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int TEMPLATE_BINDING___ASSIGNMENTS_BEFORE = SYNTAX_ELEMENT___ASSIGNMENTS_BEFORE;
+
+ /**
+ * The operation id for the '<em>Syntax Element assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int TEMPLATE_BINDING___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE = SYNTAX_ELEMENT___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE;
+
+ /**
+ * The operation id for the '<em>Syntax Element assignments Before base</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int TEMPLATE_BINDING___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE_BASE = SYNTAX_ELEMENT___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE_BASE;
+
+ /**
+ * The operation id for the '<em>Assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int TEMPLATE_BINDING___ASSIGNMENTS_BEFORE__SYNTAXELEMENT = SYNTAX_ELEMENT___ASSIGNMENTS_BEFORE__SYNTAXELEMENT;
+
+ /**
+ * The operation id for the '<em>Update All</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int TEMPLATE_BINDING___UPDATE_ALL__ELIST_ELIST = SYNTAX_ELEMENT___UPDATE_ALL__ELIST_ELIST;
+
+ /**
+ * The operation id for the '<em>Common Ancestor</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int TEMPLATE_BINDING___COMMON_ANCESTOR__ELIST = SYNTAX_ELEMENT___COMMON_ANCESTOR__ELIST;
+
+ /**
+ * The operation id for the '<em>Common Ancestors</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int TEMPLATE_BINDING___COMMON_ANCESTORS__ELIST = SYNTAX_ELEMENT___COMMON_ANCESTORS__ELIST;
+
+ /**
+ * The operation id for the '<em>Remove Duplicate Elements</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int TEMPLATE_BINDING___REMOVE_DUPLICATE_ELEMENTS__ELIST = SYNTAX_ELEMENT___REMOVE_DUPLICATE_ELEMENTS__ELIST;
+
+ /**
+ * The operation id for the '<em>Resolve In Library</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int TEMPLATE_BINDING___RESOLVE_IN_LIBRARY__STRING = SYNTAX_ELEMENT___RESOLVE_IN_LIBRARY__STRING;
+
+ /**
+ * The operation id for the '<em>Primitive Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int TEMPLATE_BINDING___PRIMITIVE_TYPE__STRING = SYNTAX_ELEMENT___PRIMITIVE_TYPE__STRING;
+
+ /**
+ * The operation id for the '<em>Primitive Type </em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int TEMPLATE_BINDING___PRIMITIVE_TYPE____STRING = SYNTAX_ELEMENT___PRIMITIVE_TYPE____STRING;
+
+ /**
+ * The operation id for the '<em>Boolean Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int TEMPLATE_BINDING___BOOLEAN_TYPE = SYNTAX_ELEMENT___BOOLEAN_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Boolean Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int TEMPLATE_BINDING___IS_BOOLEAN_TYPE__ELEMENTREFERENCE = SYNTAX_ELEMENT___IS_BOOLEAN_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Integer Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int TEMPLATE_BINDING___INTEGER_TYPE = SYNTAX_ELEMENT___INTEGER_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Integer Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int TEMPLATE_BINDING___IS_INTEGER_TYPE__ELEMENTREFERENCE = SYNTAX_ELEMENT___IS_INTEGER_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int TEMPLATE_BINDING___STRING_TYPE = SYNTAX_ELEMENT___STRING_TYPE;
+
+ /**
+ * The operation id for the '<em>Is String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int TEMPLATE_BINDING___IS_STRING_TYPE__ELEMENTREFERENCE = SYNTAX_ELEMENT___IS_STRING_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Unlimited Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int TEMPLATE_BINDING___UNLIMITED_NATURAL_TYPE = SYNTAX_ELEMENT___UNLIMITED_NATURAL_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Unlimited Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int TEMPLATE_BINDING___IS_UNLIMITED_NATURAL_TYPE__ELEMENTREFERENCE = SYNTAX_ELEMENT___IS_UNLIMITED_NATURAL_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Bit String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int TEMPLATE_BINDING___BIT_STRING_TYPE = SYNTAX_ELEMENT___BIT_STRING_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Bit String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int TEMPLATE_BINDING___IS_BIT_STRING_TYPE__ELEMENTREFERENCE = SYNTAX_ELEMENT___IS_BIT_STRING_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int TEMPLATE_BINDING___NATURAL_TYPE = SYNTAX_ELEMENT___NATURAL_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int TEMPLATE_BINDING___IS_NATURAL_TYPE__ELEMENTREFERENCE = SYNTAX_ELEMENT___IS_NATURAL_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Numeric Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int TEMPLATE_BINDING___IS_NUMERIC_TYPE__ELEMENTREFERENCE = SYNTAX_ELEMENT___IS_NUMERIC_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Collection Function Add</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int TEMPLATE_BINDING___COLLECTION_FUNCTION_ADD = SYNTAX_ELEMENT___COLLECTION_FUNCTION_ADD;
+
+ /**
+ * The operation id for the '<em>Is Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int TEMPLATE_BINDING___IS_COLLECTION_CLASS__ELEMENTREFERENCE = SYNTAX_ELEMENT___IS_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Integer Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int TEMPLATE_BINDING___IS_INTEGER_COLLECTION_CLASS__ELEMENTREFERENCE = SYNTAX_ELEMENT___IS_INTEGER_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Bit String Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int TEMPLATE_BINDING___IS_BIT_STRING_COLLECTION_CLASS__ELEMENTREFERENCE = SYNTAX_ELEMENT___IS_BIT_STRING_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>To String</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int TEMPLATE_BINDING___TO_STRING = SYNTAX_ELEMENT_OPERATION_COUNT + 0;
+
+ /**
+ * The operation id for the '<em>Matches</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int TEMPLATE_BINDING___MATCHES__ELEMENTREFERENCE = SYNTAX_ELEMENT_OPERATION_COUNT + 1;
+
+ /**
+ * The operation id for the '<em>Copy</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int TEMPLATE_BINDING___COPY = SYNTAX_ELEMENT_OPERATION_COUNT + 2;
+
+ /**
+ * The operation id for the '<em>Bind To</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int TEMPLATE_BINDING___BIND_TO__ELEMENTREFERENCE = SYNTAX_ELEMENT_OPERATION_COUNT + 3;
+
+ /**
+ * The number of operations of the '<em>Template Binding</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int TEMPLATE_BINDING_OPERATION_COUNT = SYNTAX_ELEMENT_OPERATION_COUNT + 4;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.uml.alf.impl.NamedTemplateBindingImpl <em>Named Template Binding</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.uml.alf.impl.NamedTemplateBindingImpl
+ * @see org.eclipse.papyrus.uml.alf.impl.AlfPackageImpl#getNamedTemplateBinding()
+ * @generated
+ */
+ int NAMED_TEMPLATE_BINDING = 17;
+
+ /**
+ * The feature id for the '<em><b>Owner</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAMED_TEMPLATE_BINDING__OWNER = TEMPLATE_BINDING__OWNER;
+
+ /**
+ * The feature id for the '<em><b>Substitution</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAMED_TEMPLATE_BINDING__SUBSTITUTION = TEMPLATE_BINDING_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the '<em>Named Template Binding</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAMED_TEMPLATE_BINDING_FEATURE_COUNT = TEMPLATE_BINDING_FEATURE_COUNT + 1;
+
+ /**
+ * The operation id for the '<em>To Reference</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAMED_TEMPLATE_BINDING___TO_REFERENCE = TEMPLATE_BINDING___TO_REFERENCE;
+
+ /**
+ * The operation id for the '<em>Owner</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAMED_TEMPLATE_BINDING___OWNER = TEMPLATE_BINDING___OWNER;
+
+ /**
+ * The operation id for the '<em>Syntax Element owner</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAMED_TEMPLATE_BINDING___SYNTAX_ELEMENT_OWNER = TEMPLATE_BINDING___SYNTAX_ELEMENT_OWNER;
+
+ /**
+ * The operation id for the '<em>Current Scope</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAMED_TEMPLATE_BINDING___CURRENT_SCOPE = TEMPLATE_BINDING___CURRENT_SCOPE;
+
+ /**
+ * The operation id for the '<em>Syntax Element current Scope</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAMED_TEMPLATE_BINDING___SYNTAX_ELEMENT_CURRENT_SCOPE = TEMPLATE_BINDING___SYNTAX_ELEMENT_CURRENT_SCOPE;
+
+ /**
+ * The operation id for the '<em>Enclosing Statement</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAMED_TEMPLATE_BINDING___ENCLOSING_STATEMENT = TEMPLATE_BINDING___ENCLOSING_STATEMENT;
+
+ /**
+ * The operation id for the '<em>Enclosing Expression</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAMED_TEMPLATE_BINDING___ENCLOSING_EXPRESSION = TEMPLATE_BINDING___ENCLOSING_EXPRESSION;
+
+ /**
+ * The operation id for the '<em>Assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAMED_TEMPLATE_BINDING___ASSIGNMENTS_BEFORE = TEMPLATE_BINDING___ASSIGNMENTS_BEFORE;
+
+ /**
+ * The operation id for the '<em>Syntax Element assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAMED_TEMPLATE_BINDING___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE = TEMPLATE_BINDING___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE;
+
+ /**
+ * The operation id for the '<em>Syntax Element assignments Before base</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAMED_TEMPLATE_BINDING___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE_BASE = TEMPLATE_BINDING___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE_BASE;
+
+ /**
+ * The operation id for the '<em>Assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAMED_TEMPLATE_BINDING___ASSIGNMENTS_BEFORE__SYNTAXELEMENT = TEMPLATE_BINDING___ASSIGNMENTS_BEFORE__SYNTAXELEMENT;
+
+ /**
+ * The operation id for the '<em>Update All</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAMED_TEMPLATE_BINDING___UPDATE_ALL__ELIST_ELIST = TEMPLATE_BINDING___UPDATE_ALL__ELIST_ELIST;
+
+ /**
+ * The operation id for the '<em>Common Ancestor</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAMED_TEMPLATE_BINDING___COMMON_ANCESTOR__ELIST = TEMPLATE_BINDING___COMMON_ANCESTOR__ELIST;
+
+ /**
+ * The operation id for the '<em>Common Ancestors</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAMED_TEMPLATE_BINDING___COMMON_ANCESTORS__ELIST = TEMPLATE_BINDING___COMMON_ANCESTORS__ELIST;
+
+ /**
+ * The operation id for the '<em>Remove Duplicate Elements</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAMED_TEMPLATE_BINDING___REMOVE_DUPLICATE_ELEMENTS__ELIST = TEMPLATE_BINDING___REMOVE_DUPLICATE_ELEMENTS__ELIST;
+
+ /**
+ * The operation id for the '<em>Resolve In Library</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAMED_TEMPLATE_BINDING___RESOLVE_IN_LIBRARY__STRING = TEMPLATE_BINDING___RESOLVE_IN_LIBRARY__STRING;
+
+ /**
+ * The operation id for the '<em>Primitive Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAMED_TEMPLATE_BINDING___PRIMITIVE_TYPE__STRING = TEMPLATE_BINDING___PRIMITIVE_TYPE__STRING;
+
+ /**
+ * The operation id for the '<em>Primitive Type </em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAMED_TEMPLATE_BINDING___PRIMITIVE_TYPE____STRING = TEMPLATE_BINDING___PRIMITIVE_TYPE____STRING;
+
+ /**
+ * The operation id for the '<em>Boolean Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAMED_TEMPLATE_BINDING___BOOLEAN_TYPE = TEMPLATE_BINDING___BOOLEAN_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Boolean Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAMED_TEMPLATE_BINDING___IS_BOOLEAN_TYPE__ELEMENTREFERENCE = TEMPLATE_BINDING___IS_BOOLEAN_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Integer Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAMED_TEMPLATE_BINDING___INTEGER_TYPE = TEMPLATE_BINDING___INTEGER_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Integer Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAMED_TEMPLATE_BINDING___IS_INTEGER_TYPE__ELEMENTREFERENCE = TEMPLATE_BINDING___IS_INTEGER_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAMED_TEMPLATE_BINDING___STRING_TYPE = TEMPLATE_BINDING___STRING_TYPE;
+
+ /**
+ * The operation id for the '<em>Is String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAMED_TEMPLATE_BINDING___IS_STRING_TYPE__ELEMENTREFERENCE = TEMPLATE_BINDING___IS_STRING_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Unlimited Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAMED_TEMPLATE_BINDING___UNLIMITED_NATURAL_TYPE = TEMPLATE_BINDING___UNLIMITED_NATURAL_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Unlimited Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAMED_TEMPLATE_BINDING___IS_UNLIMITED_NATURAL_TYPE__ELEMENTREFERENCE = TEMPLATE_BINDING___IS_UNLIMITED_NATURAL_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Bit String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAMED_TEMPLATE_BINDING___BIT_STRING_TYPE = TEMPLATE_BINDING___BIT_STRING_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Bit String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAMED_TEMPLATE_BINDING___IS_BIT_STRING_TYPE__ELEMENTREFERENCE = TEMPLATE_BINDING___IS_BIT_STRING_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAMED_TEMPLATE_BINDING___NATURAL_TYPE = TEMPLATE_BINDING___NATURAL_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAMED_TEMPLATE_BINDING___IS_NATURAL_TYPE__ELEMENTREFERENCE = TEMPLATE_BINDING___IS_NATURAL_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Numeric Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAMED_TEMPLATE_BINDING___IS_NUMERIC_TYPE__ELEMENTREFERENCE = TEMPLATE_BINDING___IS_NUMERIC_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Collection Function Add</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAMED_TEMPLATE_BINDING___COLLECTION_FUNCTION_ADD = TEMPLATE_BINDING___COLLECTION_FUNCTION_ADD;
+
+ /**
+ * The operation id for the '<em>Is Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAMED_TEMPLATE_BINDING___IS_COLLECTION_CLASS__ELEMENTREFERENCE = TEMPLATE_BINDING___IS_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Integer Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAMED_TEMPLATE_BINDING___IS_INTEGER_COLLECTION_CLASS__ELEMENTREFERENCE = TEMPLATE_BINDING___IS_INTEGER_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Bit String Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAMED_TEMPLATE_BINDING___IS_BIT_STRING_COLLECTION_CLASS__ELEMENTREFERENCE = TEMPLATE_BINDING___IS_BIT_STRING_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>To String</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAMED_TEMPLATE_BINDING___TO_STRING = TEMPLATE_BINDING_OPERATION_COUNT + 0;
+
+ /**
+ * The operation id for the '<em>Matches</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAMED_TEMPLATE_BINDING___MATCHES__ELEMENTREFERENCE = TEMPLATE_BINDING_OPERATION_COUNT + 1;
+
+ /**
+ * The operation id for the '<em>Matches Parameter</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAMED_TEMPLATE_BINDING___MATCHES_PARAMETER__ELEMENTREFERENCE = TEMPLATE_BINDING_OPERATION_COUNT + 2;
+
+ /**
+ * The operation id for the '<em>Bind To</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAMED_TEMPLATE_BINDING___BIND_TO__ELEMENTREFERENCE = TEMPLATE_BINDING_OPERATION_COUNT + 3;
+
+ /**
+ * The operation id for the '<em>Copy</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAMED_TEMPLATE_BINDING___COPY = TEMPLATE_BINDING_OPERATION_COUNT + 4;
+
+ /**
+ * The number of operations of the '<em>Named Template Binding</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAMED_TEMPLATE_BINDING_OPERATION_COUNT = TEMPLATE_BINDING_OPERATION_COUNT + 5;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.uml.alf.impl.TemplateParameterSubstitutionImpl <em>Template Parameter Substitution</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.uml.alf.impl.TemplateParameterSubstitutionImpl
+ * @see org.eclipse.papyrus.uml.alf.impl.AlfPackageImpl#getTemplateParameterSubstitution()
+ * @generated
+ */
+ int TEMPLATE_PARAMETER_SUBSTITUTION = 18;
+
+ /**
+ * The feature id for the '<em><b>Owner</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int TEMPLATE_PARAMETER_SUBSTITUTION__OWNER = SYNTAX_ELEMENT__OWNER;
+
+ /**
+ * The feature id for the '<em><b>Parameter Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int TEMPLATE_PARAMETER_SUBSTITUTION__PARAMETER_NAME = SYNTAX_ELEMENT_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Argument Name</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int TEMPLATE_PARAMETER_SUBSTITUTION__ARGUMENT_NAME = SYNTAX_ELEMENT_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Referent</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int TEMPLATE_PARAMETER_SUBSTITUTION__REFERENT = SYNTAX_ELEMENT_FEATURE_COUNT + 2;
+
+ /**
+ * The number of structural features of the '<em>Template Parameter Substitution</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int TEMPLATE_PARAMETER_SUBSTITUTION_FEATURE_COUNT = SYNTAX_ELEMENT_FEATURE_COUNT + 3;
+
+ /**
+ * The operation id for the '<em>To Reference</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int TEMPLATE_PARAMETER_SUBSTITUTION___TO_REFERENCE = SYNTAX_ELEMENT___TO_REFERENCE;
+
+ /**
+ * The operation id for the '<em>Owner</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int TEMPLATE_PARAMETER_SUBSTITUTION___OWNER = SYNTAX_ELEMENT___OWNER;
+
+ /**
+ * The operation id for the '<em>Syntax Element owner</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int TEMPLATE_PARAMETER_SUBSTITUTION___SYNTAX_ELEMENT_OWNER = SYNTAX_ELEMENT___SYNTAX_ELEMENT_OWNER;
+
+ /**
+ * The operation id for the '<em>Current Scope</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int TEMPLATE_PARAMETER_SUBSTITUTION___CURRENT_SCOPE = SYNTAX_ELEMENT___CURRENT_SCOPE;
+
+ /**
+ * The operation id for the '<em>Syntax Element current Scope</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int TEMPLATE_PARAMETER_SUBSTITUTION___SYNTAX_ELEMENT_CURRENT_SCOPE = SYNTAX_ELEMENT___SYNTAX_ELEMENT_CURRENT_SCOPE;
+
+ /**
+ * The operation id for the '<em>Enclosing Statement</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int TEMPLATE_PARAMETER_SUBSTITUTION___ENCLOSING_STATEMENT = SYNTAX_ELEMENT___ENCLOSING_STATEMENT;
+
+ /**
+ * The operation id for the '<em>Enclosing Expression</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int TEMPLATE_PARAMETER_SUBSTITUTION___ENCLOSING_EXPRESSION = SYNTAX_ELEMENT___ENCLOSING_EXPRESSION;
+
+ /**
+ * The operation id for the '<em>Assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int TEMPLATE_PARAMETER_SUBSTITUTION___ASSIGNMENTS_BEFORE = SYNTAX_ELEMENT___ASSIGNMENTS_BEFORE;
+
+ /**
+ * The operation id for the '<em>Syntax Element assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int TEMPLATE_PARAMETER_SUBSTITUTION___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE = SYNTAX_ELEMENT___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE;
+
+ /**
+ * The operation id for the '<em>Syntax Element assignments Before base</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int TEMPLATE_PARAMETER_SUBSTITUTION___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE_BASE = SYNTAX_ELEMENT___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE_BASE;
+
+ /**
+ * The operation id for the '<em>Assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int TEMPLATE_PARAMETER_SUBSTITUTION___ASSIGNMENTS_BEFORE__SYNTAXELEMENT = SYNTAX_ELEMENT___ASSIGNMENTS_BEFORE__SYNTAXELEMENT;
+
+ /**
+ * The operation id for the '<em>Update All</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int TEMPLATE_PARAMETER_SUBSTITUTION___UPDATE_ALL__ELIST_ELIST = SYNTAX_ELEMENT___UPDATE_ALL__ELIST_ELIST;
+
+ /**
+ * The operation id for the '<em>Common Ancestor</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int TEMPLATE_PARAMETER_SUBSTITUTION___COMMON_ANCESTOR__ELIST = SYNTAX_ELEMENT___COMMON_ANCESTOR__ELIST;
+
+ /**
+ * The operation id for the '<em>Common Ancestors</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int TEMPLATE_PARAMETER_SUBSTITUTION___COMMON_ANCESTORS__ELIST = SYNTAX_ELEMENT___COMMON_ANCESTORS__ELIST;
+
+ /**
+ * The operation id for the '<em>Remove Duplicate Elements</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int TEMPLATE_PARAMETER_SUBSTITUTION___REMOVE_DUPLICATE_ELEMENTS__ELIST = SYNTAX_ELEMENT___REMOVE_DUPLICATE_ELEMENTS__ELIST;
+
+ /**
+ * The operation id for the '<em>Resolve In Library</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int TEMPLATE_PARAMETER_SUBSTITUTION___RESOLVE_IN_LIBRARY__STRING = SYNTAX_ELEMENT___RESOLVE_IN_LIBRARY__STRING;
+
+ /**
+ * The operation id for the '<em>Primitive Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int TEMPLATE_PARAMETER_SUBSTITUTION___PRIMITIVE_TYPE__STRING = SYNTAX_ELEMENT___PRIMITIVE_TYPE__STRING;
+
+ /**
+ * The operation id for the '<em>Primitive Type </em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int TEMPLATE_PARAMETER_SUBSTITUTION___PRIMITIVE_TYPE____STRING = SYNTAX_ELEMENT___PRIMITIVE_TYPE____STRING;
+
+ /**
+ * The operation id for the '<em>Boolean Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int TEMPLATE_PARAMETER_SUBSTITUTION___BOOLEAN_TYPE = SYNTAX_ELEMENT___BOOLEAN_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Boolean Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int TEMPLATE_PARAMETER_SUBSTITUTION___IS_BOOLEAN_TYPE__ELEMENTREFERENCE = SYNTAX_ELEMENT___IS_BOOLEAN_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Integer Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int TEMPLATE_PARAMETER_SUBSTITUTION___INTEGER_TYPE = SYNTAX_ELEMENT___INTEGER_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Integer Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int TEMPLATE_PARAMETER_SUBSTITUTION___IS_INTEGER_TYPE__ELEMENTREFERENCE = SYNTAX_ELEMENT___IS_INTEGER_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int TEMPLATE_PARAMETER_SUBSTITUTION___STRING_TYPE = SYNTAX_ELEMENT___STRING_TYPE;
+
+ /**
+ * The operation id for the '<em>Is String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int TEMPLATE_PARAMETER_SUBSTITUTION___IS_STRING_TYPE__ELEMENTREFERENCE = SYNTAX_ELEMENT___IS_STRING_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Unlimited Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int TEMPLATE_PARAMETER_SUBSTITUTION___UNLIMITED_NATURAL_TYPE = SYNTAX_ELEMENT___UNLIMITED_NATURAL_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Unlimited Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int TEMPLATE_PARAMETER_SUBSTITUTION___IS_UNLIMITED_NATURAL_TYPE__ELEMENTREFERENCE = SYNTAX_ELEMENT___IS_UNLIMITED_NATURAL_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Bit String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int TEMPLATE_PARAMETER_SUBSTITUTION___BIT_STRING_TYPE = SYNTAX_ELEMENT___BIT_STRING_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Bit String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int TEMPLATE_PARAMETER_SUBSTITUTION___IS_BIT_STRING_TYPE__ELEMENTREFERENCE = SYNTAX_ELEMENT___IS_BIT_STRING_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int TEMPLATE_PARAMETER_SUBSTITUTION___NATURAL_TYPE = SYNTAX_ELEMENT___NATURAL_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int TEMPLATE_PARAMETER_SUBSTITUTION___IS_NATURAL_TYPE__ELEMENTREFERENCE = SYNTAX_ELEMENT___IS_NATURAL_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Numeric Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int TEMPLATE_PARAMETER_SUBSTITUTION___IS_NUMERIC_TYPE__ELEMENTREFERENCE = SYNTAX_ELEMENT___IS_NUMERIC_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Collection Function Add</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int TEMPLATE_PARAMETER_SUBSTITUTION___COLLECTION_FUNCTION_ADD = SYNTAX_ELEMENT___COLLECTION_FUNCTION_ADD;
+
+ /**
+ * The operation id for the '<em>Is Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int TEMPLATE_PARAMETER_SUBSTITUTION___IS_COLLECTION_CLASS__ELEMENTREFERENCE = SYNTAX_ELEMENT___IS_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Integer Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int TEMPLATE_PARAMETER_SUBSTITUTION___IS_INTEGER_COLLECTION_CLASS__ELEMENTREFERENCE = SYNTAX_ELEMENT___IS_INTEGER_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Bit String Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int TEMPLATE_PARAMETER_SUBSTITUTION___IS_BIT_STRING_COLLECTION_CLASS__ELEMENTREFERENCE = SYNTAX_ELEMENT___IS_BIT_STRING_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Actual Parameter Name</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int TEMPLATE_PARAMETER_SUBSTITUTION___ACTUAL_PARAMETER_NAME = SYNTAX_ELEMENT_OPERATION_COUNT + 0;
+
+ /**
+ * The operation id for the '<em>To String</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int TEMPLATE_PARAMETER_SUBSTITUTION___TO_STRING = SYNTAX_ELEMENT_OPERATION_COUNT + 1;
+
+ /**
+ * The operation id for the '<em>Copy</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int TEMPLATE_PARAMETER_SUBSTITUTION___COPY = SYNTAX_ELEMENT_OPERATION_COUNT + 2;
+
+ /**
+ * The number of operations of the '<em>Template Parameter Substitution</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int TEMPLATE_PARAMETER_SUBSTITUTION_OPERATION_COUNT = SYNTAX_ELEMENT_OPERATION_COUNT + 3;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.uml.alf.impl.UnaryExpressionImpl <em>Unary Expression</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.uml.alf.impl.UnaryExpressionImpl
+ * @see org.eclipse.papyrus.uml.alf.impl.AlfPackageImpl#getUnaryExpression()
+ * @generated
+ */
+ int UNARY_EXPRESSION = 20;
+
+ /**
+ * The feature id for the '<em><b>Owner</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UNARY_EXPRESSION__OWNER = EXPRESSION__OWNER;
+
+ /**
+ * The feature id for the '<em><b>Upper</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UNARY_EXPRESSION__UPPER = EXPRESSION__UPPER;
+
+ /**
+ * The feature id for the '<em><b>Lower</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UNARY_EXPRESSION__LOWER = EXPRESSION__LOWER;
+
+ /**
+ * The feature id for the '<em><b>Type</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UNARY_EXPRESSION__TYPE = EXPRESSION__TYPE;
+
+ /**
+ * The feature id for the '<em><b>Assignment Before</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UNARY_EXPRESSION__ASSIGNMENT_BEFORE = EXPRESSION__ASSIGNMENT_BEFORE;
+
+ /**
+ * The feature id for the '<em><b>Assignment After</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UNARY_EXPRESSION__ASSIGNMENT_AFTER = EXPRESSION__ASSIGNMENT_AFTER;
+
+ /**
+ * The feature id for the '<em><b>Operator</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UNARY_EXPRESSION__OPERATOR = EXPRESSION_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Operand</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UNARY_EXPRESSION__OPERAND = EXPRESSION_FEATURE_COUNT + 1;
+
+ /**
+ * The number of structural features of the '<em>Unary Expression</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UNARY_EXPRESSION_FEATURE_COUNT = EXPRESSION_FEATURE_COUNT + 2;
+
+ /**
+ * The operation id for the '<em>To Reference</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UNARY_EXPRESSION___TO_REFERENCE = EXPRESSION___TO_REFERENCE;
+
+ /**
+ * The operation id for the '<em>Owner</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UNARY_EXPRESSION___OWNER = EXPRESSION___OWNER;
+
+ /**
+ * The operation id for the '<em>Syntax Element owner</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UNARY_EXPRESSION___SYNTAX_ELEMENT_OWNER = EXPRESSION___SYNTAX_ELEMENT_OWNER;
+
+ /**
+ * The operation id for the '<em>Current Scope</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UNARY_EXPRESSION___CURRENT_SCOPE = EXPRESSION___CURRENT_SCOPE;
+
+ /**
+ * The operation id for the '<em>Syntax Element current Scope</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UNARY_EXPRESSION___SYNTAX_ELEMENT_CURRENT_SCOPE = EXPRESSION___SYNTAX_ELEMENT_CURRENT_SCOPE;
+
+ /**
+ * The operation id for the '<em>Enclosing Statement</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UNARY_EXPRESSION___ENCLOSING_STATEMENT = EXPRESSION___ENCLOSING_STATEMENT;
+
+ /**
+ * The operation id for the '<em>Enclosing Expression</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UNARY_EXPRESSION___ENCLOSING_EXPRESSION = EXPRESSION___ENCLOSING_EXPRESSION;
+
+ /**
+ * The operation id for the '<em>Assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UNARY_EXPRESSION___ASSIGNMENTS_BEFORE = EXPRESSION___ASSIGNMENTS_BEFORE;
+
+ /**
+ * The operation id for the '<em>Syntax Element assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UNARY_EXPRESSION___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE = EXPRESSION___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE;
+
+ /**
+ * The operation id for the '<em>Syntax Element assignments Before base</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UNARY_EXPRESSION___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE_BASE = EXPRESSION___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE_BASE;
+
+ /**
+ * The operation id for the '<em>Assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UNARY_EXPRESSION___ASSIGNMENTS_BEFORE__SYNTAXELEMENT = EXPRESSION___ASSIGNMENTS_BEFORE__SYNTAXELEMENT;
+
+ /**
+ * The operation id for the '<em>Update All</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UNARY_EXPRESSION___UPDATE_ALL__ELIST_ELIST = EXPRESSION___UPDATE_ALL__ELIST_ELIST;
+
+ /**
+ * The operation id for the '<em>Common Ancestor</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UNARY_EXPRESSION___COMMON_ANCESTOR__ELIST = EXPRESSION___COMMON_ANCESTOR__ELIST;
+
+ /**
+ * The operation id for the '<em>Common Ancestors</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UNARY_EXPRESSION___COMMON_ANCESTORS__ELIST = EXPRESSION___COMMON_ANCESTORS__ELIST;
+
+ /**
+ * The operation id for the '<em>Remove Duplicate Elements</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UNARY_EXPRESSION___REMOVE_DUPLICATE_ELEMENTS__ELIST = EXPRESSION___REMOVE_DUPLICATE_ELEMENTS__ELIST;
+
+ /**
+ * The operation id for the '<em>Resolve In Library</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UNARY_EXPRESSION___RESOLVE_IN_LIBRARY__STRING = EXPRESSION___RESOLVE_IN_LIBRARY__STRING;
+
+ /**
+ * The operation id for the '<em>Primitive Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UNARY_EXPRESSION___PRIMITIVE_TYPE__STRING = EXPRESSION___PRIMITIVE_TYPE__STRING;
+
+ /**
+ * The operation id for the '<em>Primitive Type </em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UNARY_EXPRESSION___PRIMITIVE_TYPE____STRING = EXPRESSION___PRIMITIVE_TYPE____STRING;
+
+ /**
+ * The operation id for the '<em>Boolean Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UNARY_EXPRESSION___BOOLEAN_TYPE = EXPRESSION___BOOLEAN_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Boolean Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UNARY_EXPRESSION___IS_BOOLEAN_TYPE__ELEMENTREFERENCE = EXPRESSION___IS_BOOLEAN_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Integer Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UNARY_EXPRESSION___INTEGER_TYPE = EXPRESSION___INTEGER_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Integer Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UNARY_EXPRESSION___IS_INTEGER_TYPE__ELEMENTREFERENCE = EXPRESSION___IS_INTEGER_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UNARY_EXPRESSION___STRING_TYPE = EXPRESSION___STRING_TYPE;
+
+ /**
+ * The operation id for the '<em>Is String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UNARY_EXPRESSION___IS_STRING_TYPE__ELEMENTREFERENCE = EXPRESSION___IS_STRING_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Unlimited Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UNARY_EXPRESSION___UNLIMITED_NATURAL_TYPE = EXPRESSION___UNLIMITED_NATURAL_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Unlimited Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UNARY_EXPRESSION___IS_UNLIMITED_NATURAL_TYPE__ELEMENTREFERENCE = EXPRESSION___IS_UNLIMITED_NATURAL_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Bit String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UNARY_EXPRESSION___BIT_STRING_TYPE = EXPRESSION___BIT_STRING_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Bit String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UNARY_EXPRESSION___IS_BIT_STRING_TYPE__ELEMENTREFERENCE = EXPRESSION___IS_BIT_STRING_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UNARY_EXPRESSION___NATURAL_TYPE = EXPRESSION___NATURAL_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UNARY_EXPRESSION___IS_NATURAL_TYPE__ELEMENTREFERENCE = EXPRESSION___IS_NATURAL_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Numeric Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UNARY_EXPRESSION___IS_NUMERIC_TYPE__ELEMENTREFERENCE = EXPRESSION___IS_NUMERIC_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Collection Function Add</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UNARY_EXPRESSION___COLLECTION_FUNCTION_ADD = EXPRESSION___COLLECTION_FUNCTION_ADD;
+
+ /**
+ * The operation id for the '<em>Is Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UNARY_EXPRESSION___IS_COLLECTION_CLASS__ELEMENTREFERENCE = EXPRESSION___IS_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Integer Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UNARY_EXPRESSION___IS_INTEGER_COLLECTION_CLASS__ELEMENTREFERENCE = EXPRESSION___IS_INTEGER_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Bit String Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UNARY_EXPRESSION___IS_BIT_STRING_COLLECTION_CLASS__ELEMENTREFERENCE = EXPRESSION___IS_BIT_STRING_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Type Cached</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UNARY_EXPRESSION___TYPE_CACHED = EXPRESSION___TYPE_CACHED;
+
+ /**
+ * The operation id for the '<em>Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UNARY_EXPRESSION___TYPE = EXPRESSION___TYPE;
+
+ /**
+ * The operation id for the '<em>Lower</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UNARY_EXPRESSION___LOWER = EXPRESSION___LOWER;
+
+ /**
+ * The operation id for the '<em>Upper</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UNARY_EXPRESSION___UPPER = EXPRESSION___UPPER;
+
+ /**
+ * The operation id for the '<em>Is Null</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UNARY_EXPRESSION___IS_NULL = EXPRESSION___IS_NULL;
+
+ /**
+ * The operation id for the '<em>Is Assignable From Element</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UNARY_EXPRESSION___IS_ASSIGNABLE_FROM_ELEMENT__ELEMENTREFERENCE = EXPRESSION___IS_ASSIGNABLE_FROM_ELEMENT__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Assignable From</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UNARY_EXPRESSION___IS_ASSIGNABLE_FROM__ASSIGNABLEELEMENT = EXPRESSION___IS_ASSIGNABLE_FROM__ASSIGNABLEELEMENT;
+
+ /**
+ * The operation id for the '<em>Is Type Conformant With</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UNARY_EXPRESSION___IS_TYPE_CONFORMANT_WITH__ASSIGNABLEELEMENT = EXPRESSION___IS_TYPE_CONFORMANT_WITH__ASSIGNABLEELEMENT;
+
+ /**
+ * The operation id for the '<em>Is Conformant With Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UNARY_EXPRESSION___IS_CONFORMANT_WITH_TYPE__ELEMENTREFERENCE = EXPRESSION___IS_CONFORMANT_WITH_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Multiplicity Conformant With</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UNARY_EXPRESSION___IS_MULTIPLICITY_CONFORMANT_WITH__ASSIGNABLEELEMENT = EXPRESSION___IS_MULTIPLICITY_CONFORMANT_WITH__ASSIGNABLEELEMENT;
+
+ /**
+ * The operation id for the '<em>New Assignments</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UNARY_EXPRESSION___NEW_ASSIGNMENTS = EXPRESSION___NEW_ASSIGNMENTS;
+
+ /**
+ * The operation id for the '<em>Expression update Assignments</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UNARY_EXPRESSION___EXPRESSION_UPDATE_ASSIGNMENTS = EXPRESSION___EXPRESSION_UPDATE_ASSIGNMENTS;
+
+ /**
+ * The operation id for the '<em>Update Assignments Cached</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UNARY_EXPRESSION___UPDATE_ASSIGNMENTS_CACHED = EXPRESSION___UPDATE_ASSIGNMENTS_CACHED;
+
+ /**
+ * The operation id for the '<em>Resolve</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UNARY_EXPRESSION___RESOLVE__STRING = EXPRESSION___RESOLVE__STRING;
+
+ /**
+ * The operation id for the '<em>Is Add Target</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UNARY_EXPRESSION___IS_ADD_TARGET__EXPRESSION = EXPRESSION___IS_ADD_TARGET__EXPRESSION;
+
+ /**
+ * The operation id for the '<em>Expression Assignment After Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UNARY_EXPRESSION___EXPRESSION_ASSIGNMENT_AFTER_DERIVATION__DIAGNOSTICCHAIN_MAP = EXPRESSION___EXPRESSION_ASSIGNMENT_AFTER_DERIVATION__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Expression Unique Assignments</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UNARY_EXPRESSION___EXPRESSION_UNIQUE_ASSIGNMENTS__DIAGNOSTICCHAIN_MAP = EXPRESSION___EXPRESSION_UNIQUE_ASSIGNMENTS__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Unary Expression Assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UNARY_EXPRESSION___UNARY_EXPRESSION_ASSIGNMENTS_BEFORE__DIAGNOSTICCHAIN_MAP = EXPRESSION_OPERATION_COUNT + 0;
+
+ /**
+ * The operation id for the '<em>Update Assignments</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UNARY_EXPRESSION___UPDATE_ASSIGNMENTS = EXPRESSION_OPERATION_COUNT + 1;
+
+ /**
+ * The number of operations of the '<em>Unary Expression</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UNARY_EXPRESSION_OPERATION_COUNT = EXPRESSION_OPERATION_COUNT + 2;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.uml.alf.impl.NumericUnaryExpressionImpl <em>Numeric Unary Expression</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.uml.alf.impl.NumericUnaryExpressionImpl
+ * @see org.eclipse.papyrus.uml.alf.impl.AlfPackageImpl#getNumericUnaryExpression()
+ * @generated
+ */
+ int NUMERIC_UNARY_EXPRESSION = 19;
+
+ /**
+ * The feature id for the '<em><b>Owner</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NUMERIC_UNARY_EXPRESSION__OWNER = UNARY_EXPRESSION__OWNER;
+
+ /**
+ * The feature id for the '<em><b>Upper</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NUMERIC_UNARY_EXPRESSION__UPPER = UNARY_EXPRESSION__UPPER;
+
+ /**
+ * The feature id for the '<em><b>Lower</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NUMERIC_UNARY_EXPRESSION__LOWER = UNARY_EXPRESSION__LOWER;
+
+ /**
+ * The feature id for the '<em><b>Type</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NUMERIC_UNARY_EXPRESSION__TYPE = UNARY_EXPRESSION__TYPE;
+
+ /**
+ * The feature id for the '<em><b>Assignment Before</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NUMERIC_UNARY_EXPRESSION__ASSIGNMENT_BEFORE = UNARY_EXPRESSION__ASSIGNMENT_BEFORE;
+
+ /**
+ * The feature id for the '<em><b>Assignment After</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NUMERIC_UNARY_EXPRESSION__ASSIGNMENT_AFTER = UNARY_EXPRESSION__ASSIGNMENT_AFTER;
+
+ /**
+ * The feature id for the '<em><b>Operator</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NUMERIC_UNARY_EXPRESSION__OPERATOR = UNARY_EXPRESSION__OPERATOR;
+
+ /**
+ * The feature id for the '<em><b>Operand</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NUMERIC_UNARY_EXPRESSION__OPERAND = UNARY_EXPRESSION__OPERAND;
+
+ /**
+ * The number of structural features of the '<em>Numeric Unary Expression</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NUMERIC_UNARY_EXPRESSION_FEATURE_COUNT = UNARY_EXPRESSION_FEATURE_COUNT + 0;
+
+ /**
+ * The operation id for the '<em>To Reference</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NUMERIC_UNARY_EXPRESSION___TO_REFERENCE = UNARY_EXPRESSION___TO_REFERENCE;
+
+ /**
+ * The operation id for the '<em>Owner</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NUMERIC_UNARY_EXPRESSION___OWNER = UNARY_EXPRESSION___OWNER;
+
+ /**
+ * The operation id for the '<em>Syntax Element owner</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NUMERIC_UNARY_EXPRESSION___SYNTAX_ELEMENT_OWNER = UNARY_EXPRESSION___SYNTAX_ELEMENT_OWNER;
+
+ /**
+ * The operation id for the '<em>Current Scope</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NUMERIC_UNARY_EXPRESSION___CURRENT_SCOPE = UNARY_EXPRESSION___CURRENT_SCOPE;
+
+ /**
+ * The operation id for the '<em>Syntax Element current Scope</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NUMERIC_UNARY_EXPRESSION___SYNTAX_ELEMENT_CURRENT_SCOPE = UNARY_EXPRESSION___SYNTAX_ELEMENT_CURRENT_SCOPE;
+
+ /**
+ * The operation id for the '<em>Enclosing Statement</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NUMERIC_UNARY_EXPRESSION___ENCLOSING_STATEMENT = UNARY_EXPRESSION___ENCLOSING_STATEMENT;
+
+ /**
+ * The operation id for the '<em>Enclosing Expression</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NUMERIC_UNARY_EXPRESSION___ENCLOSING_EXPRESSION = UNARY_EXPRESSION___ENCLOSING_EXPRESSION;
+
+ /**
+ * The operation id for the '<em>Assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NUMERIC_UNARY_EXPRESSION___ASSIGNMENTS_BEFORE = UNARY_EXPRESSION___ASSIGNMENTS_BEFORE;
+
+ /**
+ * The operation id for the '<em>Syntax Element assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NUMERIC_UNARY_EXPRESSION___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE = UNARY_EXPRESSION___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE;
+
+ /**
+ * The operation id for the '<em>Syntax Element assignments Before base</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NUMERIC_UNARY_EXPRESSION___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE_BASE = UNARY_EXPRESSION___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE_BASE;
+
+ /**
+ * The operation id for the '<em>Assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NUMERIC_UNARY_EXPRESSION___ASSIGNMENTS_BEFORE__SYNTAXELEMENT = UNARY_EXPRESSION___ASSIGNMENTS_BEFORE__SYNTAXELEMENT;
+
+ /**
+ * The operation id for the '<em>Update All</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NUMERIC_UNARY_EXPRESSION___UPDATE_ALL__ELIST_ELIST = UNARY_EXPRESSION___UPDATE_ALL__ELIST_ELIST;
+
+ /**
+ * The operation id for the '<em>Common Ancestor</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NUMERIC_UNARY_EXPRESSION___COMMON_ANCESTOR__ELIST = UNARY_EXPRESSION___COMMON_ANCESTOR__ELIST;
+
+ /**
+ * The operation id for the '<em>Common Ancestors</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NUMERIC_UNARY_EXPRESSION___COMMON_ANCESTORS__ELIST = UNARY_EXPRESSION___COMMON_ANCESTORS__ELIST;
+
+ /**
+ * The operation id for the '<em>Remove Duplicate Elements</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NUMERIC_UNARY_EXPRESSION___REMOVE_DUPLICATE_ELEMENTS__ELIST = UNARY_EXPRESSION___REMOVE_DUPLICATE_ELEMENTS__ELIST;
+
+ /**
+ * The operation id for the '<em>Resolve In Library</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NUMERIC_UNARY_EXPRESSION___RESOLVE_IN_LIBRARY__STRING = UNARY_EXPRESSION___RESOLVE_IN_LIBRARY__STRING;
+
+ /**
+ * The operation id for the '<em>Primitive Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NUMERIC_UNARY_EXPRESSION___PRIMITIVE_TYPE__STRING = UNARY_EXPRESSION___PRIMITIVE_TYPE__STRING;
+
+ /**
+ * The operation id for the '<em>Primitive Type </em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NUMERIC_UNARY_EXPRESSION___PRIMITIVE_TYPE____STRING = UNARY_EXPRESSION___PRIMITIVE_TYPE____STRING;
+
+ /**
+ * The operation id for the '<em>Boolean Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NUMERIC_UNARY_EXPRESSION___BOOLEAN_TYPE = UNARY_EXPRESSION___BOOLEAN_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Boolean Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NUMERIC_UNARY_EXPRESSION___IS_BOOLEAN_TYPE__ELEMENTREFERENCE = UNARY_EXPRESSION___IS_BOOLEAN_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Integer Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NUMERIC_UNARY_EXPRESSION___INTEGER_TYPE = UNARY_EXPRESSION___INTEGER_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Integer Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NUMERIC_UNARY_EXPRESSION___IS_INTEGER_TYPE__ELEMENTREFERENCE = UNARY_EXPRESSION___IS_INTEGER_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NUMERIC_UNARY_EXPRESSION___STRING_TYPE = UNARY_EXPRESSION___STRING_TYPE;
+
+ /**
+ * The operation id for the '<em>Is String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NUMERIC_UNARY_EXPRESSION___IS_STRING_TYPE__ELEMENTREFERENCE = UNARY_EXPRESSION___IS_STRING_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Unlimited Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NUMERIC_UNARY_EXPRESSION___UNLIMITED_NATURAL_TYPE = UNARY_EXPRESSION___UNLIMITED_NATURAL_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Unlimited Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NUMERIC_UNARY_EXPRESSION___IS_UNLIMITED_NATURAL_TYPE__ELEMENTREFERENCE = UNARY_EXPRESSION___IS_UNLIMITED_NATURAL_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Bit String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NUMERIC_UNARY_EXPRESSION___BIT_STRING_TYPE = UNARY_EXPRESSION___BIT_STRING_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Bit String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NUMERIC_UNARY_EXPRESSION___IS_BIT_STRING_TYPE__ELEMENTREFERENCE = UNARY_EXPRESSION___IS_BIT_STRING_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NUMERIC_UNARY_EXPRESSION___NATURAL_TYPE = UNARY_EXPRESSION___NATURAL_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NUMERIC_UNARY_EXPRESSION___IS_NATURAL_TYPE__ELEMENTREFERENCE = UNARY_EXPRESSION___IS_NATURAL_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Numeric Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NUMERIC_UNARY_EXPRESSION___IS_NUMERIC_TYPE__ELEMENTREFERENCE = UNARY_EXPRESSION___IS_NUMERIC_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Collection Function Add</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NUMERIC_UNARY_EXPRESSION___COLLECTION_FUNCTION_ADD = UNARY_EXPRESSION___COLLECTION_FUNCTION_ADD;
+
+ /**
+ * The operation id for the '<em>Is Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NUMERIC_UNARY_EXPRESSION___IS_COLLECTION_CLASS__ELEMENTREFERENCE = UNARY_EXPRESSION___IS_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Integer Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NUMERIC_UNARY_EXPRESSION___IS_INTEGER_COLLECTION_CLASS__ELEMENTREFERENCE = UNARY_EXPRESSION___IS_INTEGER_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Bit String Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NUMERIC_UNARY_EXPRESSION___IS_BIT_STRING_COLLECTION_CLASS__ELEMENTREFERENCE = UNARY_EXPRESSION___IS_BIT_STRING_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Type Cached</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NUMERIC_UNARY_EXPRESSION___TYPE_CACHED = UNARY_EXPRESSION___TYPE_CACHED;
+
+ /**
+ * The operation id for the '<em>Is Null</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NUMERIC_UNARY_EXPRESSION___IS_NULL = UNARY_EXPRESSION___IS_NULL;
+
+ /**
+ * The operation id for the '<em>Is Assignable From Element</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NUMERIC_UNARY_EXPRESSION___IS_ASSIGNABLE_FROM_ELEMENT__ELEMENTREFERENCE = UNARY_EXPRESSION___IS_ASSIGNABLE_FROM_ELEMENT__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Assignable From</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NUMERIC_UNARY_EXPRESSION___IS_ASSIGNABLE_FROM__ASSIGNABLEELEMENT = UNARY_EXPRESSION___IS_ASSIGNABLE_FROM__ASSIGNABLEELEMENT;
+
+ /**
+ * The operation id for the '<em>Is Type Conformant With</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NUMERIC_UNARY_EXPRESSION___IS_TYPE_CONFORMANT_WITH__ASSIGNABLEELEMENT = UNARY_EXPRESSION___IS_TYPE_CONFORMANT_WITH__ASSIGNABLEELEMENT;
+
+ /**
+ * The operation id for the '<em>Is Conformant With Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NUMERIC_UNARY_EXPRESSION___IS_CONFORMANT_WITH_TYPE__ELEMENTREFERENCE = UNARY_EXPRESSION___IS_CONFORMANT_WITH_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Multiplicity Conformant With</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NUMERIC_UNARY_EXPRESSION___IS_MULTIPLICITY_CONFORMANT_WITH__ASSIGNABLEELEMENT = UNARY_EXPRESSION___IS_MULTIPLICITY_CONFORMANT_WITH__ASSIGNABLEELEMENT;
+
+ /**
+ * The operation id for the '<em>New Assignments</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NUMERIC_UNARY_EXPRESSION___NEW_ASSIGNMENTS = UNARY_EXPRESSION___NEW_ASSIGNMENTS;
+
+ /**
+ * The operation id for the '<em>Expression update Assignments</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NUMERIC_UNARY_EXPRESSION___EXPRESSION_UPDATE_ASSIGNMENTS = UNARY_EXPRESSION___EXPRESSION_UPDATE_ASSIGNMENTS;
+
+ /**
+ * The operation id for the '<em>Update Assignments Cached</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NUMERIC_UNARY_EXPRESSION___UPDATE_ASSIGNMENTS_CACHED = UNARY_EXPRESSION___UPDATE_ASSIGNMENTS_CACHED;
+
+ /**
+ * The operation id for the '<em>Resolve</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NUMERIC_UNARY_EXPRESSION___RESOLVE__STRING = UNARY_EXPRESSION___RESOLVE__STRING;
+
+ /**
+ * The operation id for the '<em>Is Add Target</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NUMERIC_UNARY_EXPRESSION___IS_ADD_TARGET__EXPRESSION = UNARY_EXPRESSION___IS_ADD_TARGET__EXPRESSION;
+
+ /**
+ * The operation id for the '<em>Expression Assignment After Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NUMERIC_UNARY_EXPRESSION___EXPRESSION_ASSIGNMENT_AFTER_DERIVATION__DIAGNOSTICCHAIN_MAP = UNARY_EXPRESSION___EXPRESSION_ASSIGNMENT_AFTER_DERIVATION__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Expression Unique Assignments</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NUMERIC_UNARY_EXPRESSION___EXPRESSION_UNIQUE_ASSIGNMENTS__DIAGNOSTICCHAIN_MAP = UNARY_EXPRESSION___EXPRESSION_UNIQUE_ASSIGNMENTS__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Unary Expression Assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NUMERIC_UNARY_EXPRESSION___UNARY_EXPRESSION_ASSIGNMENTS_BEFORE__DIAGNOSTICCHAIN_MAP = UNARY_EXPRESSION___UNARY_EXPRESSION_ASSIGNMENTS_BEFORE__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Update Assignments</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NUMERIC_UNARY_EXPRESSION___UPDATE_ASSIGNMENTS = UNARY_EXPRESSION___UPDATE_ASSIGNMENTS;
+
+ /**
+ * The operation id for the '<em>Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NUMERIC_UNARY_EXPRESSION___TYPE = UNARY_EXPRESSION_OPERATION_COUNT + 0;
+
+ /**
+ * The operation id for the '<em>Lower</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NUMERIC_UNARY_EXPRESSION___LOWER = UNARY_EXPRESSION_OPERATION_COUNT + 1;
+
+ /**
+ * The operation id for the '<em>Upper</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NUMERIC_UNARY_EXPRESSION___UPPER = UNARY_EXPRESSION_OPERATION_COUNT + 2;
+
+ /**
+ * The operation id for the '<em>Numeric Unary Expression Type Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NUMERIC_UNARY_EXPRESSION___NUMERIC_UNARY_EXPRESSION_TYPE_DERIVATION__DIAGNOSTICCHAIN_MAP = UNARY_EXPRESSION_OPERATION_COUNT + 3;
+
+ /**
+ * The operation id for the '<em>Numeric Unary Expression Lower Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NUMERIC_UNARY_EXPRESSION___NUMERIC_UNARY_EXPRESSION_LOWER_DERIVATION__DIAGNOSTICCHAIN_MAP = UNARY_EXPRESSION_OPERATION_COUNT + 4;
+
+ /**
+ * The operation id for the '<em>Numeric Unary Expression Upper Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NUMERIC_UNARY_EXPRESSION___NUMERIC_UNARY_EXPRESSION_UPPER_DERIVATION__DIAGNOSTICCHAIN_MAP = UNARY_EXPRESSION_OPERATION_COUNT + 5;
+
+ /**
+ * The operation id for the '<em>Numeric Unary Expression Operand</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NUMERIC_UNARY_EXPRESSION___NUMERIC_UNARY_EXPRESSION_OPERAND__DIAGNOSTICCHAIN_MAP = UNARY_EXPRESSION_OPERATION_COUNT + 6;
+
+ /**
+ * The number of operations of the '<em>Numeric Unary Expression</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NUMERIC_UNARY_EXPRESSION_OPERATION_COUNT = UNARY_EXPRESSION_OPERATION_COUNT + 7;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.uml.alf.impl.ForAllOrExistsOrOneExpressionImpl <em>For All Or Exists Or One Expression</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.uml.alf.impl.ForAllOrExistsOrOneExpressionImpl
+ * @see org.eclipse.papyrus.uml.alf.impl.AlfPackageImpl#getForAllOrExistsOrOneExpression()
+ * @generated
+ */
+ int FOR_ALL_OR_EXISTS_OR_ONE_EXPRESSION = 21;
+
+ /**
+ * The feature id for the '<em><b>Owner</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FOR_ALL_OR_EXISTS_OR_ONE_EXPRESSION__OWNER = SEQUENCE_EXPANSION_EXPRESSION__OWNER;
+
+ /**
+ * The feature id for the '<em><b>Upper</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FOR_ALL_OR_EXISTS_OR_ONE_EXPRESSION__UPPER = SEQUENCE_EXPANSION_EXPRESSION__UPPER;
+
+ /**
+ * The feature id for the '<em><b>Lower</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FOR_ALL_OR_EXISTS_OR_ONE_EXPRESSION__LOWER = SEQUENCE_EXPANSION_EXPRESSION__LOWER;
+
+ /**
+ * The feature id for the '<em><b>Type</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FOR_ALL_OR_EXISTS_OR_ONE_EXPRESSION__TYPE = SEQUENCE_EXPANSION_EXPRESSION__TYPE;
+
+ /**
+ * The feature id for the '<em><b>Assignment Before</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FOR_ALL_OR_EXISTS_OR_ONE_EXPRESSION__ASSIGNMENT_BEFORE = SEQUENCE_EXPANSION_EXPRESSION__ASSIGNMENT_BEFORE;
+
+ /**
+ * The feature id for the '<em><b>Assignment After</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FOR_ALL_OR_EXISTS_OR_ONE_EXPRESSION__ASSIGNMENT_AFTER = SEQUENCE_EXPANSION_EXPRESSION__ASSIGNMENT_AFTER;
+
+ /**
+ * The feature id for the '<em><b>Operation</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FOR_ALL_OR_EXISTS_OR_ONE_EXPRESSION__OPERATION = SEQUENCE_EXPANSION_EXPRESSION__OPERATION;
+
+ /**
+ * The feature id for the '<em><b>Variable</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FOR_ALL_OR_EXISTS_OR_ONE_EXPRESSION__VARIABLE = SEQUENCE_EXPANSION_EXPRESSION__VARIABLE;
+
+ /**
+ * The feature id for the '<em><b>Variable Source</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FOR_ALL_OR_EXISTS_OR_ONE_EXPRESSION__VARIABLE_SOURCE = SEQUENCE_EXPANSION_EXPRESSION__VARIABLE_SOURCE;
+
+ /**
+ * The feature id for the '<em><b>Argument</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FOR_ALL_OR_EXISTS_OR_ONE_EXPRESSION__ARGUMENT = SEQUENCE_EXPANSION_EXPRESSION__ARGUMENT;
+
+ /**
+ * The feature id for the '<em><b>Primary</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FOR_ALL_OR_EXISTS_OR_ONE_EXPRESSION__PRIMARY = SEQUENCE_EXPANSION_EXPRESSION__PRIMARY;
+
+ /**
+ * The feature id for the '<em><b>Is Select Or Reject</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FOR_ALL_OR_EXISTS_OR_ONE_EXPRESSION__IS_SELECT_OR_REJECT = SEQUENCE_EXPANSION_EXPRESSION__IS_SELECT_OR_REJECT;
+
+ /**
+ * The feature id for the '<em><b>Is Collect Or Iterate</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FOR_ALL_OR_EXISTS_OR_ONE_EXPRESSION__IS_COLLECT_OR_ITERATE = SEQUENCE_EXPANSION_EXPRESSION__IS_COLLECT_OR_ITERATE;
+
+ /**
+ * The feature id for the '<em><b>Is For All Or Exists Or One</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FOR_ALL_OR_EXISTS_OR_ONE_EXPRESSION__IS_FOR_ALL_OR_EXISTS_OR_ONE = SEQUENCE_EXPANSION_EXPRESSION__IS_FOR_ALL_OR_EXISTS_OR_ONE;
+
+ /**
+ * The feature id for the '<em><b>Is Is Unique</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FOR_ALL_OR_EXISTS_OR_ONE_EXPRESSION__IS_IS_UNIQUE = SEQUENCE_EXPANSION_EXPRESSION__IS_IS_UNIQUE;
+
+ /**
+ * The number of structural features of the '<em>For All Or Exists Or One Expression</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FOR_ALL_OR_EXISTS_OR_ONE_EXPRESSION_FEATURE_COUNT = SEQUENCE_EXPANSION_EXPRESSION_FEATURE_COUNT + 0;
+
+ /**
+ * The operation id for the '<em>To Reference</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FOR_ALL_OR_EXISTS_OR_ONE_EXPRESSION___TO_REFERENCE = SEQUENCE_EXPANSION_EXPRESSION___TO_REFERENCE;
+
+ /**
+ * The operation id for the '<em>Owner</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FOR_ALL_OR_EXISTS_OR_ONE_EXPRESSION___OWNER = SEQUENCE_EXPANSION_EXPRESSION___OWNER;
+
+ /**
+ * The operation id for the '<em>Syntax Element owner</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FOR_ALL_OR_EXISTS_OR_ONE_EXPRESSION___SYNTAX_ELEMENT_OWNER = SEQUENCE_EXPANSION_EXPRESSION___SYNTAX_ELEMENT_OWNER;
+
+ /**
+ * The operation id for the '<em>Current Scope</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FOR_ALL_OR_EXISTS_OR_ONE_EXPRESSION___CURRENT_SCOPE = SEQUENCE_EXPANSION_EXPRESSION___CURRENT_SCOPE;
+
+ /**
+ * The operation id for the '<em>Syntax Element current Scope</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FOR_ALL_OR_EXISTS_OR_ONE_EXPRESSION___SYNTAX_ELEMENT_CURRENT_SCOPE = SEQUENCE_EXPANSION_EXPRESSION___SYNTAX_ELEMENT_CURRENT_SCOPE;
+
+ /**
+ * The operation id for the '<em>Enclosing Statement</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FOR_ALL_OR_EXISTS_OR_ONE_EXPRESSION___ENCLOSING_STATEMENT = SEQUENCE_EXPANSION_EXPRESSION___ENCLOSING_STATEMENT;
+
+ /**
+ * The operation id for the '<em>Enclosing Expression</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FOR_ALL_OR_EXISTS_OR_ONE_EXPRESSION___ENCLOSING_EXPRESSION = SEQUENCE_EXPANSION_EXPRESSION___ENCLOSING_EXPRESSION;
+
+ /**
+ * The operation id for the '<em>Assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FOR_ALL_OR_EXISTS_OR_ONE_EXPRESSION___ASSIGNMENTS_BEFORE = SEQUENCE_EXPANSION_EXPRESSION___ASSIGNMENTS_BEFORE;
+
+ /**
+ * The operation id for the '<em>Syntax Element assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FOR_ALL_OR_EXISTS_OR_ONE_EXPRESSION___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE = SEQUENCE_EXPANSION_EXPRESSION___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE;
+
+ /**
+ * The operation id for the '<em>Syntax Element assignments Before base</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FOR_ALL_OR_EXISTS_OR_ONE_EXPRESSION___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE_BASE = SEQUENCE_EXPANSION_EXPRESSION___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE_BASE;
+
+ /**
+ * The operation id for the '<em>Update All</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FOR_ALL_OR_EXISTS_OR_ONE_EXPRESSION___UPDATE_ALL__ELIST_ELIST = SEQUENCE_EXPANSION_EXPRESSION___UPDATE_ALL__ELIST_ELIST;
+
+ /**
+ * The operation id for the '<em>Common Ancestor</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FOR_ALL_OR_EXISTS_OR_ONE_EXPRESSION___COMMON_ANCESTOR__ELIST = SEQUENCE_EXPANSION_EXPRESSION___COMMON_ANCESTOR__ELIST;
+
+ /**
+ * The operation id for the '<em>Common Ancestors</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FOR_ALL_OR_EXISTS_OR_ONE_EXPRESSION___COMMON_ANCESTORS__ELIST = SEQUENCE_EXPANSION_EXPRESSION___COMMON_ANCESTORS__ELIST;
+
+ /**
+ * The operation id for the '<em>Remove Duplicate Elements</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FOR_ALL_OR_EXISTS_OR_ONE_EXPRESSION___REMOVE_DUPLICATE_ELEMENTS__ELIST = SEQUENCE_EXPANSION_EXPRESSION___REMOVE_DUPLICATE_ELEMENTS__ELIST;
+
+ /**
+ * The operation id for the '<em>Resolve In Library</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FOR_ALL_OR_EXISTS_OR_ONE_EXPRESSION___RESOLVE_IN_LIBRARY__STRING = SEQUENCE_EXPANSION_EXPRESSION___RESOLVE_IN_LIBRARY__STRING;
+
+ /**
+ * The operation id for the '<em>Primitive Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FOR_ALL_OR_EXISTS_OR_ONE_EXPRESSION___PRIMITIVE_TYPE__STRING = SEQUENCE_EXPANSION_EXPRESSION___PRIMITIVE_TYPE__STRING;
+
+ /**
+ * The operation id for the '<em>Primitive Type </em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FOR_ALL_OR_EXISTS_OR_ONE_EXPRESSION___PRIMITIVE_TYPE____STRING = SEQUENCE_EXPANSION_EXPRESSION___PRIMITIVE_TYPE____STRING;
+
+ /**
+ * The operation id for the '<em>Boolean Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FOR_ALL_OR_EXISTS_OR_ONE_EXPRESSION___BOOLEAN_TYPE = SEQUENCE_EXPANSION_EXPRESSION___BOOLEAN_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Boolean Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FOR_ALL_OR_EXISTS_OR_ONE_EXPRESSION___IS_BOOLEAN_TYPE__ELEMENTREFERENCE = SEQUENCE_EXPANSION_EXPRESSION___IS_BOOLEAN_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Integer Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FOR_ALL_OR_EXISTS_OR_ONE_EXPRESSION___INTEGER_TYPE = SEQUENCE_EXPANSION_EXPRESSION___INTEGER_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Integer Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FOR_ALL_OR_EXISTS_OR_ONE_EXPRESSION___IS_INTEGER_TYPE__ELEMENTREFERENCE = SEQUENCE_EXPANSION_EXPRESSION___IS_INTEGER_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FOR_ALL_OR_EXISTS_OR_ONE_EXPRESSION___STRING_TYPE = SEQUENCE_EXPANSION_EXPRESSION___STRING_TYPE;
+
+ /**
+ * The operation id for the '<em>Is String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FOR_ALL_OR_EXISTS_OR_ONE_EXPRESSION___IS_STRING_TYPE__ELEMENTREFERENCE = SEQUENCE_EXPANSION_EXPRESSION___IS_STRING_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Unlimited Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FOR_ALL_OR_EXISTS_OR_ONE_EXPRESSION___UNLIMITED_NATURAL_TYPE = SEQUENCE_EXPANSION_EXPRESSION___UNLIMITED_NATURAL_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Unlimited Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FOR_ALL_OR_EXISTS_OR_ONE_EXPRESSION___IS_UNLIMITED_NATURAL_TYPE__ELEMENTREFERENCE = SEQUENCE_EXPANSION_EXPRESSION___IS_UNLIMITED_NATURAL_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Bit String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FOR_ALL_OR_EXISTS_OR_ONE_EXPRESSION___BIT_STRING_TYPE = SEQUENCE_EXPANSION_EXPRESSION___BIT_STRING_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Bit String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FOR_ALL_OR_EXISTS_OR_ONE_EXPRESSION___IS_BIT_STRING_TYPE__ELEMENTREFERENCE = SEQUENCE_EXPANSION_EXPRESSION___IS_BIT_STRING_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FOR_ALL_OR_EXISTS_OR_ONE_EXPRESSION___NATURAL_TYPE = SEQUENCE_EXPANSION_EXPRESSION___NATURAL_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FOR_ALL_OR_EXISTS_OR_ONE_EXPRESSION___IS_NATURAL_TYPE__ELEMENTREFERENCE = SEQUENCE_EXPANSION_EXPRESSION___IS_NATURAL_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Numeric Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FOR_ALL_OR_EXISTS_OR_ONE_EXPRESSION___IS_NUMERIC_TYPE__ELEMENTREFERENCE = SEQUENCE_EXPANSION_EXPRESSION___IS_NUMERIC_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Collection Function Add</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FOR_ALL_OR_EXISTS_OR_ONE_EXPRESSION___COLLECTION_FUNCTION_ADD = SEQUENCE_EXPANSION_EXPRESSION___COLLECTION_FUNCTION_ADD;
+
+ /**
+ * The operation id for the '<em>Is Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FOR_ALL_OR_EXISTS_OR_ONE_EXPRESSION___IS_COLLECTION_CLASS__ELEMENTREFERENCE = SEQUENCE_EXPANSION_EXPRESSION___IS_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Integer Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FOR_ALL_OR_EXISTS_OR_ONE_EXPRESSION___IS_INTEGER_COLLECTION_CLASS__ELEMENTREFERENCE = SEQUENCE_EXPANSION_EXPRESSION___IS_INTEGER_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Bit String Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FOR_ALL_OR_EXISTS_OR_ONE_EXPRESSION___IS_BIT_STRING_COLLECTION_CLASS__ELEMENTREFERENCE = SEQUENCE_EXPANSION_EXPRESSION___IS_BIT_STRING_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Type Cached</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FOR_ALL_OR_EXISTS_OR_ONE_EXPRESSION___TYPE_CACHED = SEQUENCE_EXPANSION_EXPRESSION___TYPE_CACHED;
+
+ /**
+ * The operation id for the '<em>Is Null</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FOR_ALL_OR_EXISTS_OR_ONE_EXPRESSION___IS_NULL = SEQUENCE_EXPANSION_EXPRESSION___IS_NULL;
+
+ /**
+ * The operation id for the '<em>Is Assignable From Element</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FOR_ALL_OR_EXISTS_OR_ONE_EXPRESSION___IS_ASSIGNABLE_FROM_ELEMENT__ELEMENTREFERENCE = SEQUENCE_EXPANSION_EXPRESSION___IS_ASSIGNABLE_FROM_ELEMENT__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Assignable From</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FOR_ALL_OR_EXISTS_OR_ONE_EXPRESSION___IS_ASSIGNABLE_FROM__ASSIGNABLEELEMENT = SEQUENCE_EXPANSION_EXPRESSION___IS_ASSIGNABLE_FROM__ASSIGNABLEELEMENT;
+
+ /**
+ * The operation id for the '<em>Is Type Conformant With</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FOR_ALL_OR_EXISTS_OR_ONE_EXPRESSION___IS_TYPE_CONFORMANT_WITH__ASSIGNABLEELEMENT = SEQUENCE_EXPANSION_EXPRESSION___IS_TYPE_CONFORMANT_WITH__ASSIGNABLEELEMENT;
+
+ /**
+ * The operation id for the '<em>Is Conformant With Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FOR_ALL_OR_EXISTS_OR_ONE_EXPRESSION___IS_CONFORMANT_WITH_TYPE__ELEMENTREFERENCE = SEQUENCE_EXPANSION_EXPRESSION___IS_CONFORMANT_WITH_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Multiplicity Conformant With</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FOR_ALL_OR_EXISTS_OR_ONE_EXPRESSION___IS_MULTIPLICITY_CONFORMANT_WITH__ASSIGNABLEELEMENT = SEQUENCE_EXPANSION_EXPRESSION___IS_MULTIPLICITY_CONFORMANT_WITH__ASSIGNABLEELEMENT;
+
+ /**
+ * The operation id for the '<em>New Assignments</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FOR_ALL_OR_EXISTS_OR_ONE_EXPRESSION___NEW_ASSIGNMENTS = SEQUENCE_EXPANSION_EXPRESSION___NEW_ASSIGNMENTS;
+
+ /**
+ * The operation id for the '<em>Expression update Assignments</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FOR_ALL_OR_EXISTS_OR_ONE_EXPRESSION___EXPRESSION_UPDATE_ASSIGNMENTS = SEQUENCE_EXPANSION_EXPRESSION___EXPRESSION_UPDATE_ASSIGNMENTS;
+
+ /**
+ * The operation id for the '<em>Update Assignments Cached</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FOR_ALL_OR_EXISTS_OR_ONE_EXPRESSION___UPDATE_ASSIGNMENTS_CACHED = SEQUENCE_EXPANSION_EXPRESSION___UPDATE_ASSIGNMENTS_CACHED;
+
+ /**
+ * The operation id for the '<em>Resolve</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FOR_ALL_OR_EXISTS_OR_ONE_EXPRESSION___RESOLVE__STRING = SEQUENCE_EXPANSION_EXPRESSION___RESOLVE__STRING;
+
+ /**
+ * The operation id for the '<em>Is Add Target</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FOR_ALL_OR_EXISTS_OR_ONE_EXPRESSION___IS_ADD_TARGET__EXPRESSION = SEQUENCE_EXPANSION_EXPRESSION___IS_ADD_TARGET__EXPRESSION;
+
+ /**
+ * The operation id for the '<em>Expression Assignment After Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FOR_ALL_OR_EXISTS_OR_ONE_EXPRESSION___EXPRESSION_ASSIGNMENT_AFTER_DERIVATION__DIAGNOSTICCHAIN_MAP = SEQUENCE_EXPANSION_EXPRESSION___EXPRESSION_ASSIGNMENT_AFTER_DERIVATION__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Expression Unique Assignments</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FOR_ALL_OR_EXISTS_OR_ONE_EXPRESSION___EXPRESSION_UNIQUE_ASSIGNMENTS__DIAGNOSTICCHAIN_MAP = SEQUENCE_EXPANSION_EXPRESSION___EXPRESSION_UNIQUE_ASSIGNMENTS__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FOR_ALL_OR_EXISTS_OR_ONE_EXPRESSION___ASSIGNMENTS_BEFORE__SYNTAXELEMENT = SEQUENCE_EXPANSION_EXPRESSION___ASSIGNMENTS_BEFORE__SYNTAXELEMENT;
+
+ /**
+ * The operation id for the '<em>Assignments After Primary</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FOR_ALL_OR_EXISTS_OR_ONE_EXPRESSION___ASSIGNMENTS_AFTER_PRIMARY = SEQUENCE_EXPANSION_EXPRESSION___ASSIGNMENTS_AFTER_PRIMARY;
+
+ /**
+ * The operation id for the '<em>Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FOR_ALL_OR_EXISTS_OR_ONE_EXPRESSION___TYPE = SEQUENCE_EXPANSION_EXPRESSION___TYPE;
+
+ /**
+ * The operation id for the '<em>Lower</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FOR_ALL_OR_EXISTS_OR_ONE_EXPRESSION___LOWER = SEQUENCE_EXPANSION_EXPRESSION___LOWER;
+
+ /**
+ * The operation id for the '<em>Upper</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FOR_ALL_OR_EXISTS_OR_ONE_EXPRESSION___UPPER = SEQUENCE_EXPANSION_EXPRESSION___UPPER;
+
+ /**
+ * The operation id for the '<em>Sequence Expansion Expression Variable Source Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FOR_ALL_OR_EXISTS_OR_ONE_EXPRESSION___SEQUENCE_EXPANSION_EXPRESSION_VARIABLE_SOURCE_DERIVATION__DIAGNOSTICCHAIN_MAP = SEQUENCE_EXPANSION_EXPRESSION___SEQUENCE_EXPANSION_EXPRESSION_VARIABLE_SOURCE_DERIVATION__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Sequence Expansion Expression Assignments Before Primary</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FOR_ALL_OR_EXISTS_OR_ONE_EXPRESSION___SEQUENCE_EXPANSION_EXPRESSION_ASSIGNMENTS_BEFORE_PRIMARY__DIAGNOSTICCHAIN_MAP = SEQUENCE_EXPANSION_EXPRESSION___SEQUENCE_EXPANSION_EXPRESSION_ASSIGNMENTS_BEFORE_PRIMARY__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Sequence Expansion Expression Assignments Before Argument</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FOR_ALL_OR_EXISTS_OR_ONE_EXPRESSION___SEQUENCE_EXPANSION_EXPRESSION_ASSIGNMENTS_BEFORE_ARGUMENT__DIAGNOSTICCHAIN_MAP = SEQUENCE_EXPANSION_EXPRESSION___SEQUENCE_EXPANSION_EXPRESSION_ASSIGNMENTS_BEFORE_ARGUMENT__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Sequence Expansion Expression Variable Name</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FOR_ALL_OR_EXISTS_OR_ONE_EXPRESSION___SEQUENCE_EXPANSION_EXPRESSION_VARIABLE_NAME__DIAGNOSTICCHAIN_MAP = SEQUENCE_EXPANSION_EXPRESSION___SEQUENCE_EXPANSION_EXPRESSION_VARIABLE_NAME__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Sequence Expansion Expression Assignments After Argument</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FOR_ALL_OR_EXISTS_OR_ONE_EXPRESSION___SEQUENCE_EXPANSION_EXPRESSION_ASSIGNMENTS_AFTER_ARGUMENT__DIAGNOSTICCHAIN_MAP = SEQUENCE_EXPANSION_EXPRESSION___SEQUENCE_EXPANSION_EXPRESSION_ASSIGNMENTS_AFTER_ARGUMENT__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Select Or Reject Expression Type Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FOR_ALL_OR_EXISTS_OR_ONE_EXPRESSION___SELECT_OR_REJECT_EXPRESSION_TYPE_DERIVATION__DIAGNOSTICCHAIN_MAP = SEQUENCE_EXPANSION_EXPRESSION___SELECT_OR_REJECT_EXPRESSION_TYPE_DERIVATION__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Select Or Reject Expression Lower Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FOR_ALL_OR_EXISTS_OR_ONE_EXPRESSION___SELECT_OR_REJECT_EXPRESSION_LOWER_DERIVATION__DIAGNOSTICCHAIN_MAP = SEQUENCE_EXPANSION_EXPRESSION___SELECT_OR_REJECT_EXPRESSION_LOWER_DERIVATION__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Select Or Reject Expression Upper Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FOR_ALL_OR_EXISTS_OR_ONE_EXPRESSION___SELECT_OR_REJECT_EXPRESSION_UPPER_DERIVATION__DIAGNOSTICCHAIN_MAP = SEQUENCE_EXPANSION_EXPRESSION___SELECT_OR_REJECT_EXPRESSION_UPPER_DERIVATION__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Select Or Reject Expression Argument</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FOR_ALL_OR_EXISTS_OR_ONE_EXPRESSION___SELECT_OR_REJECT_EXPRESSION_ARGUMENT__DIAGNOSTICCHAIN_MAP = SEQUENCE_EXPANSION_EXPRESSION___SELECT_OR_REJECT_EXPRESSION_ARGUMENT__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Collect Or Iterate Expression Type Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FOR_ALL_OR_EXISTS_OR_ONE_EXPRESSION___COLLECT_OR_ITERATE_EXPRESSION_TYPE_DERIVATION__DIAGNOSTICCHAIN_MAP = SEQUENCE_EXPANSION_EXPRESSION___COLLECT_OR_ITERATE_EXPRESSION_TYPE_DERIVATION__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Collect Or Iterate Expression Lower Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FOR_ALL_OR_EXISTS_OR_ONE_EXPRESSION___COLLECT_OR_ITERATE_EXPRESSION_LOWER_DERIVATION__DIAGNOSTICCHAIN_MAP = SEQUENCE_EXPANSION_EXPRESSION___COLLECT_OR_ITERATE_EXPRESSION_LOWER_DERIVATION__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Collect Or Iterate Expression Upper Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FOR_ALL_OR_EXISTS_OR_ONE_EXPRESSION___COLLECT_OR_ITERATE_EXPRESSION_UPPER_DERIVATION__DIAGNOSTICCHAIN_MAP = SEQUENCE_EXPANSION_EXPRESSION___COLLECT_OR_ITERATE_EXPRESSION_UPPER_DERIVATION__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Is Unique Expression Type Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FOR_ALL_OR_EXISTS_OR_ONE_EXPRESSION___IS_UNIQUE_EXPRESSION_TYPE_DERIVATION__DIAGNOSTICCHAIN_MAP = SEQUENCE_EXPANSION_EXPRESSION___IS_UNIQUE_EXPRESSION_TYPE_DERIVATION__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Is Unique Expression Lower Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FOR_ALL_OR_EXISTS_OR_ONE_EXPRESSION___IS_UNIQUE_EXPRESSION_LOWER_DERIVATION__DIAGNOSTICCHAIN_MAP = SEQUENCE_EXPANSION_EXPRESSION___IS_UNIQUE_EXPRESSION_LOWER_DERIVATION__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Is Unique Expression Upper Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FOR_ALL_OR_EXISTS_OR_ONE_EXPRESSION___IS_UNIQUE_EXPRESSION_UPPER_DERIVATION__DIAGNOSTICCHAIN_MAP = SEQUENCE_EXPANSION_EXPRESSION___IS_UNIQUE_EXPRESSION_UPPER_DERIVATION__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Is Unique Expression Expression Argument</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FOR_ALL_OR_EXISTS_OR_ONE_EXPRESSION___IS_UNIQUE_EXPRESSION_EXPRESSION_ARGUMENT__DIAGNOSTICCHAIN_MAP = SEQUENCE_EXPANSION_EXPRESSION___IS_UNIQUE_EXPRESSION_EXPRESSION_ARGUMENT__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Update Assignments</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FOR_ALL_OR_EXISTS_OR_ONE_EXPRESSION___UPDATE_ASSIGNMENTS = SEQUENCE_EXPANSION_EXPRESSION___UPDATE_ASSIGNMENTS;
+
+ /**
+ * The operation id for the '<em>Sequence Expansion Expression Operation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FOR_ALL_OR_EXISTS_OR_ONE_EXPRESSION___SEQUENCE_EXPANSION_EXPRESSION_OPERATION__DIAGNOSTICCHAIN_MAP = SEQUENCE_EXPANSION_EXPRESSION___SEQUENCE_EXPANSION_EXPRESSION_OPERATION__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>For All Or Exists Or One Expression Type Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FOR_ALL_OR_EXISTS_OR_ONE_EXPRESSION___FOR_ALL_OR_EXISTS_OR_ONE_EXPRESSION_TYPE_DERIVATION__DIAGNOSTICCHAIN_MAP = SEQUENCE_EXPANSION_EXPRESSION_OPERATION_COUNT + 0;
+
+ /**
+ * The operation id for the '<em>For All Or Exists Or One Expression Lower Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FOR_ALL_OR_EXISTS_OR_ONE_EXPRESSION___FOR_ALL_OR_EXISTS_OR_ONE_EXPRESSION_LOWER_DERIVATION__DIAGNOSTICCHAIN_MAP = SEQUENCE_EXPANSION_EXPRESSION_OPERATION_COUNT + 1;
+
+ /**
+ * The operation id for the '<em>For All Or Exists Or One Expression Upper Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FOR_ALL_OR_EXISTS_OR_ONE_EXPRESSION___FOR_ALL_OR_EXISTS_OR_ONE_EXPRESSION_UPPER_DERIVATION__DIAGNOSTICCHAIN_MAP = SEQUENCE_EXPANSION_EXPRESSION_OPERATION_COUNT + 2;
+
+ /**
+ * The operation id for the '<em>For All Or Exists Or One Expression Argument</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FOR_ALL_OR_EXISTS_OR_ONE_EXPRESSION___FOR_ALL_OR_EXISTS_OR_ONE_EXPRESSION_ARGUMENT__DIAGNOSTICCHAIN_MAP = SEQUENCE_EXPANSION_EXPRESSION_OPERATION_COUNT + 3;
+
+ /**
+ * The number of operations of the '<em>For All Or Exists Or One Expression</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FOR_ALL_OR_EXISTS_OR_ONE_EXPRESSION_OPERATION_COUNT = SEQUENCE_EXPANSION_EXPRESSION_OPERATION_COUNT + 4;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.uml.alf.impl.IsolationExpressionImpl <em>Isolation Expression</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.uml.alf.impl.IsolationExpressionImpl
+ * @see org.eclipse.papyrus.uml.alf.impl.AlfPackageImpl#getIsolationExpression()
+ * @generated
+ */
+ int ISOLATION_EXPRESSION = 22;
+
+ /**
+ * The feature id for the '<em><b>Owner</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ISOLATION_EXPRESSION__OWNER = UNARY_EXPRESSION__OWNER;
+
+ /**
+ * The feature id for the '<em><b>Upper</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ISOLATION_EXPRESSION__UPPER = UNARY_EXPRESSION__UPPER;
+
+ /**
+ * The feature id for the '<em><b>Lower</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ISOLATION_EXPRESSION__LOWER = UNARY_EXPRESSION__LOWER;
+
+ /**
+ * The feature id for the '<em><b>Type</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ISOLATION_EXPRESSION__TYPE = UNARY_EXPRESSION__TYPE;
+
+ /**
+ * The feature id for the '<em><b>Assignment Before</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ISOLATION_EXPRESSION__ASSIGNMENT_BEFORE = UNARY_EXPRESSION__ASSIGNMENT_BEFORE;
+
+ /**
+ * The feature id for the '<em><b>Assignment After</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ISOLATION_EXPRESSION__ASSIGNMENT_AFTER = UNARY_EXPRESSION__ASSIGNMENT_AFTER;
+
+ /**
+ * The feature id for the '<em><b>Operator</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ISOLATION_EXPRESSION__OPERATOR = UNARY_EXPRESSION__OPERATOR;
+
+ /**
+ * The feature id for the '<em><b>Operand</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ISOLATION_EXPRESSION__OPERAND = UNARY_EXPRESSION__OPERAND;
+
+ /**
+ * The number of structural features of the '<em>Isolation Expression</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ISOLATION_EXPRESSION_FEATURE_COUNT = UNARY_EXPRESSION_FEATURE_COUNT + 0;
+
+ /**
+ * The operation id for the '<em>To Reference</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ISOLATION_EXPRESSION___TO_REFERENCE = UNARY_EXPRESSION___TO_REFERENCE;
+
+ /**
+ * The operation id for the '<em>Owner</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ISOLATION_EXPRESSION___OWNER = UNARY_EXPRESSION___OWNER;
+
+ /**
+ * The operation id for the '<em>Syntax Element owner</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ISOLATION_EXPRESSION___SYNTAX_ELEMENT_OWNER = UNARY_EXPRESSION___SYNTAX_ELEMENT_OWNER;
+
+ /**
+ * The operation id for the '<em>Current Scope</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ISOLATION_EXPRESSION___CURRENT_SCOPE = UNARY_EXPRESSION___CURRENT_SCOPE;
+
+ /**
+ * The operation id for the '<em>Syntax Element current Scope</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ISOLATION_EXPRESSION___SYNTAX_ELEMENT_CURRENT_SCOPE = UNARY_EXPRESSION___SYNTAX_ELEMENT_CURRENT_SCOPE;
+
+ /**
+ * The operation id for the '<em>Enclosing Statement</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ISOLATION_EXPRESSION___ENCLOSING_STATEMENT = UNARY_EXPRESSION___ENCLOSING_STATEMENT;
+
+ /**
+ * The operation id for the '<em>Enclosing Expression</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ISOLATION_EXPRESSION___ENCLOSING_EXPRESSION = UNARY_EXPRESSION___ENCLOSING_EXPRESSION;
+
+ /**
+ * The operation id for the '<em>Assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ISOLATION_EXPRESSION___ASSIGNMENTS_BEFORE = UNARY_EXPRESSION___ASSIGNMENTS_BEFORE;
+
+ /**
+ * The operation id for the '<em>Syntax Element assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ISOLATION_EXPRESSION___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE = UNARY_EXPRESSION___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE;
+
+ /**
+ * The operation id for the '<em>Syntax Element assignments Before base</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ISOLATION_EXPRESSION___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE_BASE = UNARY_EXPRESSION___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE_BASE;
+
+ /**
+ * The operation id for the '<em>Assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ISOLATION_EXPRESSION___ASSIGNMENTS_BEFORE__SYNTAXELEMENT = UNARY_EXPRESSION___ASSIGNMENTS_BEFORE__SYNTAXELEMENT;
+
+ /**
+ * The operation id for the '<em>Update All</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ISOLATION_EXPRESSION___UPDATE_ALL__ELIST_ELIST = UNARY_EXPRESSION___UPDATE_ALL__ELIST_ELIST;
+
+ /**
+ * The operation id for the '<em>Common Ancestor</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ISOLATION_EXPRESSION___COMMON_ANCESTOR__ELIST = UNARY_EXPRESSION___COMMON_ANCESTOR__ELIST;
+
+ /**
+ * The operation id for the '<em>Common Ancestors</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ISOLATION_EXPRESSION___COMMON_ANCESTORS__ELIST = UNARY_EXPRESSION___COMMON_ANCESTORS__ELIST;
+
+ /**
+ * The operation id for the '<em>Remove Duplicate Elements</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ISOLATION_EXPRESSION___REMOVE_DUPLICATE_ELEMENTS__ELIST = UNARY_EXPRESSION___REMOVE_DUPLICATE_ELEMENTS__ELIST;
+
+ /**
+ * The operation id for the '<em>Resolve In Library</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ISOLATION_EXPRESSION___RESOLVE_IN_LIBRARY__STRING = UNARY_EXPRESSION___RESOLVE_IN_LIBRARY__STRING;
+
+ /**
+ * The operation id for the '<em>Primitive Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ISOLATION_EXPRESSION___PRIMITIVE_TYPE__STRING = UNARY_EXPRESSION___PRIMITIVE_TYPE__STRING;
+
+ /**
+ * The operation id for the '<em>Primitive Type </em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ISOLATION_EXPRESSION___PRIMITIVE_TYPE____STRING = UNARY_EXPRESSION___PRIMITIVE_TYPE____STRING;
+
+ /**
+ * The operation id for the '<em>Boolean Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ISOLATION_EXPRESSION___BOOLEAN_TYPE = UNARY_EXPRESSION___BOOLEAN_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Boolean Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ISOLATION_EXPRESSION___IS_BOOLEAN_TYPE__ELEMENTREFERENCE = UNARY_EXPRESSION___IS_BOOLEAN_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Integer Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ISOLATION_EXPRESSION___INTEGER_TYPE = UNARY_EXPRESSION___INTEGER_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Integer Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ISOLATION_EXPRESSION___IS_INTEGER_TYPE__ELEMENTREFERENCE = UNARY_EXPRESSION___IS_INTEGER_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ISOLATION_EXPRESSION___STRING_TYPE = UNARY_EXPRESSION___STRING_TYPE;
+
+ /**
+ * The operation id for the '<em>Is String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ISOLATION_EXPRESSION___IS_STRING_TYPE__ELEMENTREFERENCE = UNARY_EXPRESSION___IS_STRING_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Unlimited Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ISOLATION_EXPRESSION___UNLIMITED_NATURAL_TYPE = UNARY_EXPRESSION___UNLIMITED_NATURAL_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Unlimited Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ISOLATION_EXPRESSION___IS_UNLIMITED_NATURAL_TYPE__ELEMENTREFERENCE = UNARY_EXPRESSION___IS_UNLIMITED_NATURAL_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Bit String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ISOLATION_EXPRESSION___BIT_STRING_TYPE = UNARY_EXPRESSION___BIT_STRING_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Bit String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ISOLATION_EXPRESSION___IS_BIT_STRING_TYPE__ELEMENTREFERENCE = UNARY_EXPRESSION___IS_BIT_STRING_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ISOLATION_EXPRESSION___NATURAL_TYPE = UNARY_EXPRESSION___NATURAL_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ISOLATION_EXPRESSION___IS_NATURAL_TYPE__ELEMENTREFERENCE = UNARY_EXPRESSION___IS_NATURAL_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Numeric Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ISOLATION_EXPRESSION___IS_NUMERIC_TYPE__ELEMENTREFERENCE = UNARY_EXPRESSION___IS_NUMERIC_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Collection Function Add</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ISOLATION_EXPRESSION___COLLECTION_FUNCTION_ADD = UNARY_EXPRESSION___COLLECTION_FUNCTION_ADD;
+
+ /**
+ * The operation id for the '<em>Is Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ISOLATION_EXPRESSION___IS_COLLECTION_CLASS__ELEMENTREFERENCE = UNARY_EXPRESSION___IS_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Integer Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ISOLATION_EXPRESSION___IS_INTEGER_COLLECTION_CLASS__ELEMENTREFERENCE = UNARY_EXPRESSION___IS_INTEGER_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Bit String Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ISOLATION_EXPRESSION___IS_BIT_STRING_COLLECTION_CLASS__ELEMENTREFERENCE = UNARY_EXPRESSION___IS_BIT_STRING_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Type Cached</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ISOLATION_EXPRESSION___TYPE_CACHED = UNARY_EXPRESSION___TYPE_CACHED;
+
+ /**
+ * The operation id for the '<em>Is Null</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ISOLATION_EXPRESSION___IS_NULL = UNARY_EXPRESSION___IS_NULL;
+
+ /**
+ * The operation id for the '<em>Is Assignable From Element</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ISOLATION_EXPRESSION___IS_ASSIGNABLE_FROM_ELEMENT__ELEMENTREFERENCE = UNARY_EXPRESSION___IS_ASSIGNABLE_FROM_ELEMENT__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Assignable From</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ISOLATION_EXPRESSION___IS_ASSIGNABLE_FROM__ASSIGNABLEELEMENT = UNARY_EXPRESSION___IS_ASSIGNABLE_FROM__ASSIGNABLEELEMENT;
+
+ /**
+ * The operation id for the '<em>Is Type Conformant With</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ISOLATION_EXPRESSION___IS_TYPE_CONFORMANT_WITH__ASSIGNABLEELEMENT = UNARY_EXPRESSION___IS_TYPE_CONFORMANT_WITH__ASSIGNABLEELEMENT;
+
+ /**
+ * The operation id for the '<em>Is Conformant With Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ISOLATION_EXPRESSION___IS_CONFORMANT_WITH_TYPE__ELEMENTREFERENCE = UNARY_EXPRESSION___IS_CONFORMANT_WITH_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Multiplicity Conformant With</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ISOLATION_EXPRESSION___IS_MULTIPLICITY_CONFORMANT_WITH__ASSIGNABLEELEMENT = UNARY_EXPRESSION___IS_MULTIPLICITY_CONFORMANT_WITH__ASSIGNABLEELEMENT;
+
+ /**
+ * The operation id for the '<em>New Assignments</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ISOLATION_EXPRESSION___NEW_ASSIGNMENTS = UNARY_EXPRESSION___NEW_ASSIGNMENTS;
+
+ /**
+ * The operation id for the '<em>Expression update Assignments</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ISOLATION_EXPRESSION___EXPRESSION_UPDATE_ASSIGNMENTS = UNARY_EXPRESSION___EXPRESSION_UPDATE_ASSIGNMENTS;
+
+ /**
+ * The operation id for the '<em>Update Assignments Cached</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ISOLATION_EXPRESSION___UPDATE_ASSIGNMENTS_CACHED = UNARY_EXPRESSION___UPDATE_ASSIGNMENTS_CACHED;
+
+ /**
+ * The operation id for the '<em>Resolve</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ISOLATION_EXPRESSION___RESOLVE__STRING = UNARY_EXPRESSION___RESOLVE__STRING;
+
+ /**
+ * The operation id for the '<em>Is Add Target</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ISOLATION_EXPRESSION___IS_ADD_TARGET__EXPRESSION = UNARY_EXPRESSION___IS_ADD_TARGET__EXPRESSION;
+
+ /**
+ * The operation id for the '<em>Expression Assignment After Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ISOLATION_EXPRESSION___EXPRESSION_ASSIGNMENT_AFTER_DERIVATION__DIAGNOSTICCHAIN_MAP = UNARY_EXPRESSION___EXPRESSION_ASSIGNMENT_AFTER_DERIVATION__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Expression Unique Assignments</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ISOLATION_EXPRESSION___EXPRESSION_UNIQUE_ASSIGNMENTS__DIAGNOSTICCHAIN_MAP = UNARY_EXPRESSION___EXPRESSION_UNIQUE_ASSIGNMENTS__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Unary Expression Assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ISOLATION_EXPRESSION___UNARY_EXPRESSION_ASSIGNMENTS_BEFORE__DIAGNOSTICCHAIN_MAP = UNARY_EXPRESSION___UNARY_EXPRESSION_ASSIGNMENTS_BEFORE__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Update Assignments</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ISOLATION_EXPRESSION___UPDATE_ASSIGNMENTS = UNARY_EXPRESSION___UPDATE_ASSIGNMENTS;
+
+ /**
+ * The operation id for the '<em>Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ISOLATION_EXPRESSION___TYPE = UNARY_EXPRESSION_OPERATION_COUNT + 0;
+
+ /**
+ * The operation id for the '<em>Lower</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ISOLATION_EXPRESSION___LOWER = UNARY_EXPRESSION_OPERATION_COUNT + 1;
+
+ /**
+ * The operation id for the '<em>Upper</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ISOLATION_EXPRESSION___UPPER = UNARY_EXPRESSION_OPERATION_COUNT + 2;
+
+ /**
+ * The operation id for the '<em>Isolation Expression Type Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ISOLATION_EXPRESSION___ISOLATION_EXPRESSION_TYPE_DERIVATION__DIAGNOSTICCHAIN_MAP = UNARY_EXPRESSION_OPERATION_COUNT + 3;
+
+ /**
+ * The operation id for the '<em>Isolation Expression Lower Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ISOLATION_EXPRESSION___ISOLATION_EXPRESSION_LOWER_DERIVATION__DIAGNOSTICCHAIN_MAP = UNARY_EXPRESSION_OPERATION_COUNT + 4;
+
+ /**
+ * The operation id for the '<em>Isolation Expression Upper Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ISOLATION_EXPRESSION___ISOLATION_EXPRESSION_UPPER_DERIVATION__DIAGNOSTICCHAIN_MAP = UNARY_EXPRESSION_OPERATION_COUNT + 5;
+
+ /**
+ * The number of operations of the '<em>Isolation Expression</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ISOLATION_EXPRESSION_OPERATION_COUNT = UNARY_EXPRESSION_OPERATION_COUNT + 6;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.uml.alf.impl.BinaryExpressionImpl <em>Binary Expression</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.uml.alf.impl.BinaryExpressionImpl
+ * @see org.eclipse.papyrus.uml.alf.impl.AlfPackageImpl#getBinaryExpression()
+ * @generated
+ */
+ int BINARY_EXPRESSION = 23;
+
+ /**
+ * The feature id for the '<em><b>Owner</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BINARY_EXPRESSION__OWNER = EXPRESSION__OWNER;
+
+ /**
+ * The feature id for the '<em><b>Upper</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BINARY_EXPRESSION__UPPER = EXPRESSION__UPPER;
+
+ /**
+ * The feature id for the '<em><b>Lower</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BINARY_EXPRESSION__LOWER = EXPRESSION__LOWER;
+
+ /**
+ * The feature id for the '<em><b>Type</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BINARY_EXPRESSION__TYPE = EXPRESSION__TYPE;
+
+ /**
+ * The feature id for the '<em><b>Assignment Before</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BINARY_EXPRESSION__ASSIGNMENT_BEFORE = EXPRESSION__ASSIGNMENT_BEFORE;
+
+ /**
+ * The feature id for the '<em><b>Assignment After</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BINARY_EXPRESSION__ASSIGNMENT_AFTER = EXPRESSION__ASSIGNMENT_AFTER;
+
+ /**
+ * The feature id for the '<em><b>Operand1</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BINARY_EXPRESSION__OPERAND1 = EXPRESSION_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Operand2</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BINARY_EXPRESSION__OPERAND2 = EXPRESSION_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Operator</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BINARY_EXPRESSION__OPERATOR = EXPRESSION_FEATURE_COUNT + 2;
+
+ /**
+ * The number of structural features of the '<em>Binary Expression</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BINARY_EXPRESSION_FEATURE_COUNT = EXPRESSION_FEATURE_COUNT + 3;
+
+ /**
+ * The operation id for the '<em>To Reference</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BINARY_EXPRESSION___TO_REFERENCE = EXPRESSION___TO_REFERENCE;
+
+ /**
+ * The operation id for the '<em>Owner</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BINARY_EXPRESSION___OWNER = EXPRESSION___OWNER;
+
+ /**
+ * The operation id for the '<em>Syntax Element owner</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BINARY_EXPRESSION___SYNTAX_ELEMENT_OWNER = EXPRESSION___SYNTAX_ELEMENT_OWNER;
+
+ /**
+ * The operation id for the '<em>Current Scope</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BINARY_EXPRESSION___CURRENT_SCOPE = EXPRESSION___CURRENT_SCOPE;
+
+ /**
+ * The operation id for the '<em>Syntax Element current Scope</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BINARY_EXPRESSION___SYNTAX_ELEMENT_CURRENT_SCOPE = EXPRESSION___SYNTAX_ELEMENT_CURRENT_SCOPE;
+
+ /**
+ * The operation id for the '<em>Enclosing Statement</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BINARY_EXPRESSION___ENCLOSING_STATEMENT = EXPRESSION___ENCLOSING_STATEMENT;
+
+ /**
+ * The operation id for the '<em>Enclosing Expression</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BINARY_EXPRESSION___ENCLOSING_EXPRESSION = EXPRESSION___ENCLOSING_EXPRESSION;
+
+ /**
+ * The operation id for the '<em>Assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BINARY_EXPRESSION___ASSIGNMENTS_BEFORE = EXPRESSION___ASSIGNMENTS_BEFORE;
+
+ /**
+ * The operation id for the '<em>Syntax Element assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BINARY_EXPRESSION___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE = EXPRESSION___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE;
+
+ /**
+ * The operation id for the '<em>Syntax Element assignments Before base</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BINARY_EXPRESSION___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE_BASE = EXPRESSION___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE_BASE;
+
+ /**
+ * The operation id for the '<em>Assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BINARY_EXPRESSION___ASSIGNMENTS_BEFORE__SYNTAXELEMENT = EXPRESSION___ASSIGNMENTS_BEFORE__SYNTAXELEMENT;
+
+ /**
+ * The operation id for the '<em>Update All</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BINARY_EXPRESSION___UPDATE_ALL__ELIST_ELIST = EXPRESSION___UPDATE_ALL__ELIST_ELIST;
+
+ /**
+ * The operation id for the '<em>Common Ancestor</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BINARY_EXPRESSION___COMMON_ANCESTOR__ELIST = EXPRESSION___COMMON_ANCESTOR__ELIST;
+
+ /**
+ * The operation id for the '<em>Common Ancestors</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BINARY_EXPRESSION___COMMON_ANCESTORS__ELIST = EXPRESSION___COMMON_ANCESTORS__ELIST;
+
+ /**
+ * The operation id for the '<em>Remove Duplicate Elements</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BINARY_EXPRESSION___REMOVE_DUPLICATE_ELEMENTS__ELIST = EXPRESSION___REMOVE_DUPLICATE_ELEMENTS__ELIST;
+
+ /**
+ * The operation id for the '<em>Resolve In Library</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BINARY_EXPRESSION___RESOLVE_IN_LIBRARY__STRING = EXPRESSION___RESOLVE_IN_LIBRARY__STRING;
+
+ /**
+ * The operation id for the '<em>Primitive Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BINARY_EXPRESSION___PRIMITIVE_TYPE__STRING = EXPRESSION___PRIMITIVE_TYPE__STRING;
+
+ /**
+ * The operation id for the '<em>Primitive Type </em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BINARY_EXPRESSION___PRIMITIVE_TYPE____STRING = EXPRESSION___PRIMITIVE_TYPE____STRING;
+
+ /**
+ * The operation id for the '<em>Boolean Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BINARY_EXPRESSION___BOOLEAN_TYPE = EXPRESSION___BOOLEAN_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Boolean Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BINARY_EXPRESSION___IS_BOOLEAN_TYPE__ELEMENTREFERENCE = EXPRESSION___IS_BOOLEAN_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Integer Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BINARY_EXPRESSION___INTEGER_TYPE = EXPRESSION___INTEGER_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Integer Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BINARY_EXPRESSION___IS_INTEGER_TYPE__ELEMENTREFERENCE = EXPRESSION___IS_INTEGER_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BINARY_EXPRESSION___STRING_TYPE = EXPRESSION___STRING_TYPE;
+
+ /**
+ * The operation id for the '<em>Is String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BINARY_EXPRESSION___IS_STRING_TYPE__ELEMENTREFERENCE = EXPRESSION___IS_STRING_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Unlimited Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BINARY_EXPRESSION___UNLIMITED_NATURAL_TYPE = EXPRESSION___UNLIMITED_NATURAL_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Unlimited Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BINARY_EXPRESSION___IS_UNLIMITED_NATURAL_TYPE__ELEMENTREFERENCE = EXPRESSION___IS_UNLIMITED_NATURAL_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Bit String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BINARY_EXPRESSION___BIT_STRING_TYPE = EXPRESSION___BIT_STRING_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Bit String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BINARY_EXPRESSION___IS_BIT_STRING_TYPE__ELEMENTREFERENCE = EXPRESSION___IS_BIT_STRING_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BINARY_EXPRESSION___NATURAL_TYPE = EXPRESSION___NATURAL_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BINARY_EXPRESSION___IS_NATURAL_TYPE__ELEMENTREFERENCE = EXPRESSION___IS_NATURAL_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Numeric Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BINARY_EXPRESSION___IS_NUMERIC_TYPE__ELEMENTREFERENCE = EXPRESSION___IS_NUMERIC_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Collection Function Add</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BINARY_EXPRESSION___COLLECTION_FUNCTION_ADD = EXPRESSION___COLLECTION_FUNCTION_ADD;
+
+ /**
+ * The operation id for the '<em>Is Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BINARY_EXPRESSION___IS_COLLECTION_CLASS__ELEMENTREFERENCE = EXPRESSION___IS_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Integer Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BINARY_EXPRESSION___IS_INTEGER_COLLECTION_CLASS__ELEMENTREFERENCE = EXPRESSION___IS_INTEGER_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Bit String Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BINARY_EXPRESSION___IS_BIT_STRING_COLLECTION_CLASS__ELEMENTREFERENCE = EXPRESSION___IS_BIT_STRING_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Type Cached</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BINARY_EXPRESSION___TYPE_CACHED = EXPRESSION___TYPE_CACHED;
+
+ /**
+ * The operation id for the '<em>Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BINARY_EXPRESSION___TYPE = EXPRESSION___TYPE;
+
+ /**
+ * The operation id for the '<em>Lower</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BINARY_EXPRESSION___LOWER = EXPRESSION___LOWER;
+
+ /**
+ * The operation id for the '<em>Upper</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BINARY_EXPRESSION___UPPER = EXPRESSION___UPPER;
+
+ /**
+ * The operation id for the '<em>Is Null</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BINARY_EXPRESSION___IS_NULL = EXPRESSION___IS_NULL;
+
+ /**
+ * The operation id for the '<em>Is Assignable From Element</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BINARY_EXPRESSION___IS_ASSIGNABLE_FROM_ELEMENT__ELEMENTREFERENCE = EXPRESSION___IS_ASSIGNABLE_FROM_ELEMENT__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Assignable From</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BINARY_EXPRESSION___IS_ASSIGNABLE_FROM__ASSIGNABLEELEMENT = EXPRESSION___IS_ASSIGNABLE_FROM__ASSIGNABLEELEMENT;
+
+ /**
+ * The operation id for the '<em>Is Type Conformant With</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BINARY_EXPRESSION___IS_TYPE_CONFORMANT_WITH__ASSIGNABLEELEMENT = EXPRESSION___IS_TYPE_CONFORMANT_WITH__ASSIGNABLEELEMENT;
+
+ /**
+ * The operation id for the '<em>Is Conformant With Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BINARY_EXPRESSION___IS_CONFORMANT_WITH_TYPE__ELEMENTREFERENCE = EXPRESSION___IS_CONFORMANT_WITH_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Multiplicity Conformant With</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BINARY_EXPRESSION___IS_MULTIPLICITY_CONFORMANT_WITH__ASSIGNABLEELEMENT = EXPRESSION___IS_MULTIPLICITY_CONFORMANT_WITH__ASSIGNABLEELEMENT;
+
+ /**
+ * The operation id for the '<em>New Assignments</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BINARY_EXPRESSION___NEW_ASSIGNMENTS = EXPRESSION___NEW_ASSIGNMENTS;
+
+ /**
+ * The operation id for the '<em>Expression update Assignments</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BINARY_EXPRESSION___EXPRESSION_UPDATE_ASSIGNMENTS = EXPRESSION___EXPRESSION_UPDATE_ASSIGNMENTS;
+
+ /**
+ * The operation id for the '<em>Update Assignments Cached</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BINARY_EXPRESSION___UPDATE_ASSIGNMENTS_CACHED = EXPRESSION___UPDATE_ASSIGNMENTS_CACHED;
+
+ /**
+ * The operation id for the '<em>Resolve</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BINARY_EXPRESSION___RESOLVE__STRING = EXPRESSION___RESOLVE__STRING;
+
+ /**
+ * The operation id for the '<em>Is Add Target</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BINARY_EXPRESSION___IS_ADD_TARGET__EXPRESSION = EXPRESSION___IS_ADD_TARGET__EXPRESSION;
+
+ /**
+ * The operation id for the '<em>Expression Assignment After Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BINARY_EXPRESSION___EXPRESSION_ASSIGNMENT_AFTER_DERIVATION__DIAGNOSTICCHAIN_MAP = EXPRESSION___EXPRESSION_ASSIGNMENT_AFTER_DERIVATION__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Expression Unique Assignments</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BINARY_EXPRESSION___EXPRESSION_UNIQUE_ASSIGNMENTS__DIAGNOSTICCHAIN_MAP = EXPRESSION___EXPRESSION_UNIQUE_ASSIGNMENTS__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Validate Assignments</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BINARY_EXPRESSION___VALIDATE_ASSIGNMENTS = EXPRESSION_OPERATION_COUNT + 0;
+
+ /**
+ * The operation id for the '<em>No Null Arguments</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BINARY_EXPRESSION___NO_NULL_ARGUMENTS = EXPRESSION_OPERATION_COUNT + 1;
+
+ /**
+ * The operation id for the '<em>Binary Expression Operand Multiplicity</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BINARY_EXPRESSION___BINARY_EXPRESSION_OPERAND_MULTIPLICITY__DIAGNOSTICCHAIN_MAP = EXPRESSION_OPERATION_COUNT + 2;
+
+ /**
+ * The operation id for the '<em>Binary Expression Operand Assignments</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BINARY_EXPRESSION___BINARY_EXPRESSION_OPERAND_ASSIGNMENTS__DIAGNOSTICCHAIN_MAP = EXPRESSION_OPERATION_COUNT + 3;
+
+ /**
+ * The operation id for the '<em>Update Assignments</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BINARY_EXPRESSION___UPDATE_ASSIGNMENTS = EXPRESSION_OPERATION_COUNT + 4;
+
+ /**
+ * The number of operations of the '<em>Binary Expression</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BINARY_EXPRESSION_OPERATION_COUNT = EXPRESSION_OPERATION_COUNT + 5;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.uml.alf.impl.BooleanUnaryExpressionImpl <em>Boolean Unary Expression</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.uml.alf.impl.BooleanUnaryExpressionImpl
+ * @see org.eclipse.papyrus.uml.alf.impl.AlfPackageImpl#getBooleanUnaryExpression()
+ * @generated
+ */
+ int BOOLEAN_UNARY_EXPRESSION = 24;
+
+ /**
+ * The feature id for the '<em><b>Owner</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BOOLEAN_UNARY_EXPRESSION__OWNER = UNARY_EXPRESSION__OWNER;
+
+ /**
+ * The feature id for the '<em><b>Upper</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BOOLEAN_UNARY_EXPRESSION__UPPER = UNARY_EXPRESSION__UPPER;
+
+ /**
+ * The feature id for the '<em><b>Lower</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BOOLEAN_UNARY_EXPRESSION__LOWER = UNARY_EXPRESSION__LOWER;
+
+ /**
+ * The feature id for the '<em><b>Type</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BOOLEAN_UNARY_EXPRESSION__TYPE = UNARY_EXPRESSION__TYPE;
+
+ /**
+ * The feature id for the '<em><b>Assignment Before</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BOOLEAN_UNARY_EXPRESSION__ASSIGNMENT_BEFORE = UNARY_EXPRESSION__ASSIGNMENT_BEFORE;
+
+ /**
+ * The feature id for the '<em><b>Assignment After</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BOOLEAN_UNARY_EXPRESSION__ASSIGNMENT_AFTER = UNARY_EXPRESSION__ASSIGNMENT_AFTER;
+
+ /**
+ * The feature id for the '<em><b>Operator</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BOOLEAN_UNARY_EXPRESSION__OPERATOR = UNARY_EXPRESSION__OPERATOR;
+
+ /**
+ * The feature id for the '<em><b>Operand</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BOOLEAN_UNARY_EXPRESSION__OPERAND = UNARY_EXPRESSION__OPERAND;
+
+ /**
+ * The number of structural features of the '<em>Boolean Unary Expression</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BOOLEAN_UNARY_EXPRESSION_FEATURE_COUNT = UNARY_EXPRESSION_FEATURE_COUNT + 0;
+
+ /**
+ * The operation id for the '<em>To Reference</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BOOLEAN_UNARY_EXPRESSION___TO_REFERENCE = UNARY_EXPRESSION___TO_REFERENCE;
+
+ /**
+ * The operation id for the '<em>Owner</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BOOLEAN_UNARY_EXPRESSION___OWNER = UNARY_EXPRESSION___OWNER;
+
+ /**
+ * The operation id for the '<em>Syntax Element owner</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BOOLEAN_UNARY_EXPRESSION___SYNTAX_ELEMENT_OWNER = UNARY_EXPRESSION___SYNTAX_ELEMENT_OWNER;
+
+ /**
+ * The operation id for the '<em>Current Scope</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BOOLEAN_UNARY_EXPRESSION___CURRENT_SCOPE = UNARY_EXPRESSION___CURRENT_SCOPE;
+
+ /**
+ * The operation id for the '<em>Syntax Element current Scope</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BOOLEAN_UNARY_EXPRESSION___SYNTAX_ELEMENT_CURRENT_SCOPE = UNARY_EXPRESSION___SYNTAX_ELEMENT_CURRENT_SCOPE;
+
+ /**
+ * The operation id for the '<em>Enclosing Statement</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BOOLEAN_UNARY_EXPRESSION___ENCLOSING_STATEMENT = UNARY_EXPRESSION___ENCLOSING_STATEMENT;
+
+ /**
+ * The operation id for the '<em>Enclosing Expression</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BOOLEAN_UNARY_EXPRESSION___ENCLOSING_EXPRESSION = UNARY_EXPRESSION___ENCLOSING_EXPRESSION;
+
+ /**
+ * The operation id for the '<em>Assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BOOLEAN_UNARY_EXPRESSION___ASSIGNMENTS_BEFORE = UNARY_EXPRESSION___ASSIGNMENTS_BEFORE;
+
+ /**
+ * The operation id for the '<em>Syntax Element assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BOOLEAN_UNARY_EXPRESSION___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE = UNARY_EXPRESSION___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE;
+
+ /**
+ * The operation id for the '<em>Syntax Element assignments Before base</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BOOLEAN_UNARY_EXPRESSION___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE_BASE = UNARY_EXPRESSION___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE_BASE;
+
+ /**
+ * The operation id for the '<em>Assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BOOLEAN_UNARY_EXPRESSION___ASSIGNMENTS_BEFORE__SYNTAXELEMENT = UNARY_EXPRESSION___ASSIGNMENTS_BEFORE__SYNTAXELEMENT;
+
+ /**
+ * The operation id for the '<em>Update All</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BOOLEAN_UNARY_EXPRESSION___UPDATE_ALL__ELIST_ELIST = UNARY_EXPRESSION___UPDATE_ALL__ELIST_ELIST;
+
+ /**
+ * The operation id for the '<em>Common Ancestor</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BOOLEAN_UNARY_EXPRESSION___COMMON_ANCESTOR__ELIST = UNARY_EXPRESSION___COMMON_ANCESTOR__ELIST;
+
+ /**
+ * The operation id for the '<em>Common Ancestors</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BOOLEAN_UNARY_EXPRESSION___COMMON_ANCESTORS__ELIST = UNARY_EXPRESSION___COMMON_ANCESTORS__ELIST;
+
+ /**
+ * The operation id for the '<em>Remove Duplicate Elements</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BOOLEAN_UNARY_EXPRESSION___REMOVE_DUPLICATE_ELEMENTS__ELIST = UNARY_EXPRESSION___REMOVE_DUPLICATE_ELEMENTS__ELIST;
+
+ /**
+ * The operation id for the '<em>Resolve In Library</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BOOLEAN_UNARY_EXPRESSION___RESOLVE_IN_LIBRARY__STRING = UNARY_EXPRESSION___RESOLVE_IN_LIBRARY__STRING;
+
+ /**
+ * The operation id for the '<em>Primitive Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BOOLEAN_UNARY_EXPRESSION___PRIMITIVE_TYPE__STRING = UNARY_EXPRESSION___PRIMITIVE_TYPE__STRING;
+
+ /**
+ * The operation id for the '<em>Primitive Type </em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BOOLEAN_UNARY_EXPRESSION___PRIMITIVE_TYPE____STRING = UNARY_EXPRESSION___PRIMITIVE_TYPE____STRING;
+
+ /**
+ * The operation id for the '<em>Boolean Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BOOLEAN_UNARY_EXPRESSION___BOOLEAN_TYPE = UNARY_EXPRESSION___BOOLEAN_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Boolean Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BOOLEAN_UNARY_EXPRESSION___IS_BOOLEAN_TYPE__ELEMENTREFERENCE = UNARY_EXPRESSION___IS_BOOLEAN_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Integer Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BOOLEAN_UNARY_EXPRESSION___INTEGER_TYPE = UNARY_EXPRESSION___INTEGER_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Integer Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BOOLEAN_UNARY_EXPRESSION___IS_INTEGER_TYPE__ELEMENTREFERENCE = UNARY_EXPRESSION___IS_INTEGER_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BOOLEAN_UNARY_EXPRESSION___STRING_TYPE = UNARY_EXPRESSION___STRING_TYPE;
+
+ /**
+ * The operation id for the '<em>Is String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BOOLEAN_UNARY_EXPRESSION___IS_STRING_TYPE__ELEMENTREFERENCE = UNARY_EXPRESSION___IS_STRING_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Unlimited Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BOOLEAN_UNARY_EXPRESSION___UNLIMITED_NATURAL_TYPE = UNARY_EXPRESSION___UNLIMITED_NATURAL_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Unlimited Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BOOLEAN_UNARY_EXPRESSION___IS_UNLIMITED_NATURAL_TYPE__ELEMENTREFERENCE = UNARY_EXPRESSION___IS_UNLIMITED_NATURAL_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Bit String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BOOLEAN_UNARY_EXPRESSION___BIT_STRING_TYPE = UNARY_EXPRESSION___BIT_STRING_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Bit String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BOOLEAN_UNARY_EXPRESSION___IS_BIT_STRING_TYPE__ELEMENTREFERENCE = UNARY_EXPRESSION___IS_BIT_STRING_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BOOLEAN_UNARY_EXPRESSION___NATURAL_TYPE = UNARY_EXPRESSION___NATURAL_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BOOLEAN_UNARY_EXPRESSION___IS_NATURAL_TYPE__ELEMENTREFERENCE = UNARY_EXPRESSION___IS_NATURAL_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Numeric Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BOOLEAN_UNARY_EXPRESSION___IS_NUMERIC_TYPE__ELEMENTREFERENCE = UNARY_EXPRESSION___IS_NUMERIC_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Collection Function Add</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BOOLEAN_UNARY_EXPRESSION___COLLECTION_FUNCTION_ADD = UNARY_EXPRESSION___COLLECTION_FUNCTION_ADD;
+
+ /**
+ * The operation id for the '<em>Is Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BOOLEAN_UNARY_EXPRESSION___IS_COLLECTION_CLASS__ELEMENTREFERENCE = UNARY_EXPRESSION___IS_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Integer Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BOOLEAN_UNARY_EXPRESSION___IS_INTEGER_COLLECTION_CLASS__ELEMENTREFERENCE = UNARY_EXPRESSION___IS_INTEGER_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Bit String Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BOOLEAN_UNARY_EXPRESSION___IS_BIT_STRING_COLLECTION_CLASS__ELEMENTREFERENCE = UNARY_EXPRESSION___IS_BIT_STRING_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Type Cached</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BOOLEAN_UNARY_EXPRESSION___TYPE_CACHED = UNARY_EXPRESSION___TYPE_CACHED;
+
+ /**
+ * The operation id for the '<em>Is Null</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BOOLEAN_UNARY_EXPRESSION___IS_NULL = UNARY_EXPRESSION___IS_NULL;
+
+ /**
+ * The operation id for the '<em>Is Assignable From Element</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BOOLEAN_UNARY_EXPRESSION___IS_ASSIGNABLE_FROM_ELEMENT__ELEMENTREFERENCE = UNARY_EXPRESSION___IS_ASSIGNABLE_FROM_ELEMENT__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Assignable From</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BOOLEAN_UNARY_EXPRESSION___IS_ASSIGNABLE_FROM__ASSIGNABLEELEMENT = UNARY_EXPRESSION___IS_ASSIGNABLE_FROM__ASSIGNABLEELEMENT;
+
+ /**
+ * The operation id for the '<em>Is Type Conformant With</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BOOLEAN_UNARY_EXPRESSION___IS_TYPE_CONFORMANT_WITH__ASSIGNABLEELEMENT = UNARY_EXPRESSION___IS_TYPE_CONFORMANT_WITH__ASSIGNABLEELEMENT;
+
+ /**
+ * The operation id for the '<em>Is Conformant With Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BOOLEAN_UNARY_EXPRESSION___IS_CONFORMANT_WITH_TYPE__ELEMENTREFERENCE = UNARY_EXPRESSION___IS_CONFORMANT_WITH_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Multiplicity Conformant With</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BOOLEAN_UNARY_EXPRESSION___IS_MULTIPLICITY_CONFORMANT_WITH__ASSIGNABLEELEMENT = UNARY_EXPRESSION___IS_MULTIPLICITY_CONFORMANT_WITH__ASSIGNABLEELEMENT;
+
+ /**
+ * The operation id for the '<em>New Assignments</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BOOLEAN_UNARY_EXPRESSION___NEW_ASSIGNMENTS = UNARY_EXPRESSION___NEW_ASSIGNMENTS;
+
+ /**
+ * The operation id for the '<em>Expression update Assignments</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BOOLEAN_UNARY_EXPRESSION___EXPRESSION_UPDATE_ASSIGNMENTS = UNARY_EXPRESSION___EXPRESSION_UPDATE_ASSIGNMENTS;
+
+ /**
+ * The operation id for the '<em>Update Assignments Cached</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BOOLEAN_UNARY_EXPRESSION___UPDATE_ASSIGNMENTS_CACHED = UNARY_EXPRESSION___UPDATE_ASSIGNMENTS_CACHED;
+
+ /**
+ * The operation id for the '<em>Resolve</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BOOLEAN_UNARY_EXPRESSION___RESOLVE__STRING = UNARY_EXPRESSION___RESOLVE__STRING;
+
+ /**
+ * The operation id for the '<em>Is Add Target</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BOOLEAN_UNARY_EXPRESSION___IS_ADD_TARGET__EXPRESSION = UNARY_EXPRESSION___IS_ADD_TARGET__EXPRESSION;
+
+ /**
+ * The operation id for the '<em>Expression Assignment After Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BOOLEAN_UNARY_EXPRESSION___EXPRESSION_ASSIGNMENT_AFTER_DERIVATION__DIAGNOSTICCHAIN_MAP = UNARY_EXPRESSION___EXPRESSION_ASSIGNMENT_AFTER_DERIVATION__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Expression Unique Assignments</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BOOLEAN_UNARY_EXPRESSION___EXPRESSION_UNIQUE_ASSIGNMENTS__DIAGNOSTICCHAIN_MAP = UNARY_EXPRESSION___EXPRESSION_UNIQUE_ASSIGNMENTS__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Unary Expression Assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BOOLEAN_UNARY_EXPRESSION___UNARY_EXPRESSION_ASSIGNMENTS_BEFORE__DIAGNOSTICCHAIN_MAP = UNARY_EXPRESSION___UNARY_EXPRESSION_ASSIGNMENTS_BEFORE__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Update Assignments</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BOOLEAN_UNARY_EXPRESSION___UPDATE_ASSIGNMENTS = UNARY_EXPRESSION___UPDATE_ASSIGNMENTS;
+
+ /**
+ * The operation id for the '<em>Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BOOLEAN_UNARY_EXPRESSION___TYPE = UNARY_EXPRESSION_OPERATION_COUNT + 0;
+
+ /**
+ * The operation id for the '<em>Lower</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BOOLEAN_UNARY_EXPRESSION___LOWER = UNARY_EXPRESSION_OPERATION_COUNT + 1;
+
+ /**
+ * The operation id for the '<em>Upper</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BOOLEAN_UNARY_EXPRESSION___UPPER = UNARY_EXPRESSION_OPERATION_COUNT + 2;
+
+ /**
+ * The operation id for the '<em>Boolean Unary Expression Type Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BOOLEAN_UNARY_EXPRESSION___BOOLEAN_UNARY_EXPRESSION_TYPE_DERIVATION__DIAGNOSTICCHAIN_MAP = UNARY_EXPRESSION_OPERATION_COUNT + 3;
+
+ /**
+ * The operation id for the '<em>Boolean Unary Expression Lower Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BOOLEAN_UNARY_EXPRESSION___BOOLEAN_UNARY_EXPRESSION_LOWER_DERIVATION__DIAGNOSTICCHAIN_MAP = UNARY_EXPRESSION_OPERATION_COUNT + 4;
+
+ /**
+ * The operation id for the '<em>Boolean Unary Expression Upper Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BOOLEAN_UNARY_EXPRESSION___BOOLEAN_UNARY_EXPRESSION_UPPER_DERIVATION__DIAGNOSTICCHAIN_MAP = UNARY_EXPRESSION_OPERATION_COUNT + 5;
+
+ /**
+ * The operation id for the '<em>Boolean Unary Expression Operand</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BOOLEAN_UNARY_EXPRESSION___BOOLEAN_UNARY_EXPRESSION_OPERAND__DIAGNOSTICCHAIN_MAP = UNARY_EXPRESSION_OPERATION_COUNT + 6;
+
+ /**
+ * The number of operations of the '<em>Boolean Unary Expression</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BOOLEAN_UNARY_EXPRESSION_OPERATION_COUNT = UNARY_EXPRESSION_OPERATION_COUNT + 7;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.uml.alf.impl.CastExpressionImpl <em>Cast Expression</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.uml.alf.impl.CastExpressionImpl
+ * @see org.eclipse.papyrus.uml.alf.impl.AlfPackageImpl#getCastExpression()
+ * @generated
+ */
+ int CAST_EXPRESSION = 25;
+
+ /**
+ * The feature id for the '<em><b>Owner</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CAST_EXPRESSION__OWNER = EXPRESSION__OWNER;
+
+ /**
+ * The feature id for the '<em><b>Upper</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CAST_EXPRESSION__UPPER = EXPRESSION__UPPER;
+
+ /**
+ * The feature id for the '<em><b>Lower</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CAST_EXPRESSION__LOWER = EXPRESSION__LOWER;
+
+ /**
+ * The feature id for the '<em><b>Type</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CAST_EXPRESSION__TYPE = EXPRESSION__TYPE;
+
+ /**
+ * The feature id for the '<em><b>Assignment Before</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CAST_EXPRESSION__ASSIGNMENT_BEFORE = EXPRESSION__ASSIGNMENT_BEFORE;
+
+ /**
+ * The feature id for the '<em><b>Assignment After</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CAST_EXPRESSION__ASSIGNMENT_AFTER = EXPRESSION__ASSIGNMENT_AFTER;
+
+ /**
+ * The feature id for the '<em><b>Operand</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CAST_EXPRESSION__OPERAND = EXPRESSION_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Type Name</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CAST_EXPRESSION__TYPE_NAME = EXPRESSION_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Is Any</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CAST_EXPRESSION__IS_ANY = EXPRESSION_FEATURE_COUNT + 2;
+
+ /**
+ * The number of structural features of the '<em>Cast Expression</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CAST_EXPRESSION_FEATURE_COUNT = EXPRESSION_FEATURE_COUNT + 3;
+
+ /**
+ * The operation id for the '<em>To Reference</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CAST_EXPRESSION___TO_REFERENCE = EXPRESSION___TO_REFERENCE;
+
+ /**
+ * The operation id for the '<em>Owner</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CAST_EXPRESSION___OWNER = EXPRESSION___OWNER;
+
+ /**
+ * The operation id for the '<em>Syntax Element owner</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CAST_EXPRESSION___SYNTAX_ELEMENT_OWNER = EXPRESSION___SYNTAX_ELEMENT_OWNER;
+
+ /**
+ * The operation id for the '<em>Current Scope</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CAST_EXPRESSION___CURRENT_SCOPE = EXPRESSION___CURRENT_SCOPE;
+
+ /**
+ * The operation id for the '<em>Syntax Element current Scope</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CAST_EXPRESSION___SYNTAX_ELEMENT_CURRENT_SCOPE = EXPRESSION___SYNTAX_ELEMENT_CURRENT_SCOPE;
+
+ /**
+ * The operation id for the '<em>Enclosing Statement</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CAST_EXPRESSION___ENCLOSING_STATEMENT = EXPRESSION___ENCLOSING_STATEMENT;
+
+ /**
+ * The operation id for the '<em>Enclosing Expression</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CAST_EXPRESSION___ENCLOSING_EXPRESSION = EXPRESSION___ENCLOSING_EXPRESSION;
+
+ /**
+ * The operation id for the '<em>Assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CAST_EXPRESSION___ASSIGNMENTS_BEFORE = EXPRESSION___ASSIGNMENTS_BEFORE;
+
+ /**
+ * The operation id for the '<em>Syntax Element assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CAST_EXPRESSION___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE = EXPRESSION___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE;
+
+ /**
+ * The operation id for the '<em>Syntax Element assignments Before base</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CAST_EXPRESSION___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE_BASE = EXPRESSION___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE_BASE;
+
+ /**
+ * The operation id for the '<em>Assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CAST_EXPRESSION___ASSIGNMENTS_BEFORE__SYNTAXELEMENT = EXPRESSION___ASSIGNMENTS_BEFORE__SYNTAXELEMENT;
+
+ /**
+ * The operation id for the '<em>Update All</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CAST_EXPRESSION___UPDATE_ALL__ELIST_ELIST = EXPRESSION___UPDATE_ALL__ELIST_ELIST;
+
+ /**
+ * The operation id for the '<em>Common Ancestor</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CAST_EXPRESSION___COMMON_ANCESTOR__ELIST = EXPRESSION___COMMON_ANCESTOR__ELIST;
+
+ /**
+ * The operation id for the '<em>Common Ancestors</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CAST_EXPRESSION___COMMON_ANCESTORS__ELIST = EXPRESSION___COMMON_ANCESTORS__ELIST;
+
+ /**
+ * The operation id for the '<em>Remove Duplicate Elements</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CAST_EXPRESSION___REMOVE_DUPLICATE_ELEMENTS__ELIST = EXPRESSION___REMOVE_DUPLICATE_ELEMENTS__ELIST;
+
+ /**
+ * The operation id for the '<em>Resolve In Library</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CAST_EXPRESSION___RESOLVE_IN_LIBRARY__STRING = EXPRESSION___RESOLVE_IN_LIBRARY__STRING;
+
+ /**
+ * The operation id for the '<em>Primitive Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CAST_EXPRESSION___PRIMITIVE_TYPE__STRING = EXPRESSION___PRIMITIVE_TYPE__STRING;
+
+ /**
+ * The operation id for the '<em>Primitive Type </em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CAST_EXPRESSION___PRIMITIVE_TYPE____STRING = EXPRESSION___PRIMITIVE_TYPE____STRING;
+
+ /**
+ * The operation id for the '<em>Boolean Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CAST_EXPRESSION___BOOLEAN_TYPE = EXPRESSION___BOOLEAN_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Boolean Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CAST_EXPRESSION___IS_BOOLEAN_TYPE__ELEMENTREFERENCE = EXPRESSION___IS_BOOLEAN_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Integer Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CAST_EXPRESSION___INTEGER_TYPE = EXPRESSION___INTEGER_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Integer Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CAST_EXPRESSION___IS_INTEGER_TYPE__ELEMENTREFERENCE = EXPRESSION___IS_INTEGER_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CAST_EXPRESSION___STRING_TYPE = EXPRESSION___STRING_TYPE;
+
+ /**
+ * The operation id for the '<em>Is String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CAST_EXPRESSION___IS_STRING_TYPE__ELEMENTREFERENCE = EXPRESSION___IS_STRING_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Unlimited Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CAST_EXPRESSION___UNLIMITED_NATURAL_TYPE = EXPRESSION___UNLIMITED_NATURAL_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Unlimited Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CAST_EXPRESSION___IS_UNLIMITED_NATURAL_TYPE__ELEMENTREFERENCE = EXPRESSION___IS_UNLIMITED_NATURAL_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Bit String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CAST_EXPRESSION___BIT_STRING_TYPE = EXPRESSION___BIT_STRING_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Bit String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CAST_EXPRESSION___IS_BIT_STRING_TYPE__ELEMENTREFERENCE = EXPRESSION___IS_BIT_STRING_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CAST_EXPRESSION___NATURAL_TYPE = EXPRESSION___NATURAL_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CAST_EXPRESSION___IS_NATURAL_TYPE__ELEMENTREFERENCE = EXPRESSION___IS_NATURAL_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Numeric Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CAST_EXPRESSION___IS_NUMERIC_TYPE__ELEMENTREFERENCE = EXPRESSION___IS_NUMERIC_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Collection Function Add</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CAST_EXPRESSION___COLLECTION_FUNCTION_ADD = EXPRESSION___COLLECTION_FUNCTION_ADD;
+
+ /**
+ * The operation id for the '<em>Is Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CAST_EXPRESSION___IS_COLLECTION_CLASS__ELEMENTREFERENCE = EXPRESSION___IS_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Integer Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CAST_EXPRESSION___IS_INTEGER_COLLECTION_CLASS__ELEMENTREFERENCE = EXPRESSION___IS_INTEGER_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Bit String Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CAST_EXPRESSION___IS_BIT_STRING_COLLECTION_CLASS__ELEMENTREFERENCE = EXPRESSION___IS_BIT_STRING_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Type Cached</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CAST_EXPRESSION___TYPE_CACHED = EXPRESSION___TYPE_CACHED;
+
+ /**
+ * The operation id for the '<em>Is Null</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CAST_EXPRESSION___IS_NULL = EXPRESSION___IS_NULL;
+
+ /**
+ * The operation id for the '<em>Is Assignable From Element</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CAST_EXPRESSION___IS_ASSIGNABLE_FROM_ELEMENT__ELEMENTREFERENCE = EXPRESSION___IS_ASSIGNABLE_FROM_ELEMENT__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Assignable From</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CAST_EXPRESSION___IS_ASSIGNABLE_FROM__ASSIGNABLEELEMENT = EXPRESSION___IS_ASSIGNABLE_FROM__ASSIGNABLEELEMENT;
+
+ /**
+ * The operation id for the '<em>Is Type Conformant With</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CAST_EXPRESSION___IS_TYPE_CONFORMANT_WITH__ASSIGNABLEELEMENT = EXPRESSION___IS_TYPE_CONFORMANT_WITH__ASSIGNABLEELEMENT;
+
+ /**
+ * The operation id for the '<em>Is Conformant With Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CAST_EXPRESSION___IS_CONFORMANT_WITH_TYPE__ELEMENTREFERENCE = EXPRESSION___IS_CONFORMANT_WITH_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Multiplicity Conformant With</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CAST_EXPRESSION___IS_MULTIPLICITY_CONFORMANT_WITH__ASSIGNABLEELEMENT = EXPRESSION___IS_MULTIPLICITY_CONFORMANT_WITH__ASSIGNABLEELEMENT;
+
+ /**
+ * The operation id for the '<em>New Assignments</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CAST_EXPRESSION___NEW_ASSIGNMENTS = EXPRESSION___NEW_ASSIGNMENTS;
+
+ /**
+ * The operation id for the '<em>Expression update Assignments</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CAST_EXPRESSION___EXPRESSION_UPDATE_ASSIGNMENTS = EXPRESSION___EXPRESSION_UPDATE_ASSIGNMENTS;
+
+ /**
+ * The operation id for the '<em>Update Assignments Cached</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CAST_EXPRESSION___UPDATE_ASSIGNMENTS_CACHED = EXPRESSION___UPDATE_ASSIGNMENTS_CACHED;
+
+ /**
+ * The operation id for the '<em>Resolve</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CAST_EXPRESSION___RESOLVE__STRING = EXPRESSION___RESOLVE__STRING;
+
+ /**
+ * The operation id for the '<em>Is Add Target</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CAST_EXPRESSION___IS_ADD_TARGET__EXPRESSION = EXPRESSION___IS_ADD_TARGET__EXPRESSION;
+
+ /**
+ * The operation id for the '<em>Expression Assignment After Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CAST_EXPRESSION___EXPRESSION_ASSIGNMENT_AFTER_DERIVATION__DIAGNOSTICCHAIN_MAP = EXPRESSION___EXPRESSION_ASSIGNMENT_AFTER_DERIVATION__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Expression Unique Assignments</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CAST_EXPRESSION___EXPRESSION_UNIQUE_ASSIGNMENTS__DIAGNOSTICCHAIN_MAP = EXPRESSION___EXPRESSION_UNIQUE_ASSIGNMENTS__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CAST_EXPRESSION___TYPE = EXPRESSION_OPERATION_COUNT + 0;
+
+ /**
+ * The operation id for the '<em>Lower</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CAST_EXPRESSION___LOWER = EXPRESSION_OPERATION_COUNT + 1;
+
+ /**
+ * The operation id for the '<em>Upper</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CAST_EXPRESSION___UPPER = EXPRESSION_OPERATION_COUNT + 2;
+
+ /**
+ * The operation id for the '<em>Cast Expression Type Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CAST_EXPRESSION___CAST_EXPRESSION_TYPE_DERIVATION__DIAGNOSTICCHAIN_MAP = EXPRESSION_OPERATION_COUNT + 3;
+
+ /**
+ * The operation id for the '<em>Cast Expression Lower Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CAST_EXPRESSION___CAST_EXPRESSION_LOWER_DERIVATION__DIAGNOSTICCHAIN_MAP = EXPRESSION_OPERATION_COUNT + 4;
+
+ /**
+ * The operation id for the '<em>Cast Expression Upper Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CAST_EXPRESSION___CAST_EXPRESSION_UPPER_DERIVATION__DIAGNOSTICCHAIN_MAP = EXPRESSION_OPERATION_COUNT + 5;
+
+ /**
+ * The operation id for the '<em>Cast Expression Type Resolution</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CAST_EXPRESSION___CAST_EXPRESSION_TYPE_RESOLUTION__DIAGNOSTICCHAIN_MAP = EXPRESSION_OPERATION_COUNT + 6;
+
+ /**
+ * The operation id for the '<em>Cast Expression Assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CAST_EXPRESSION___CAST_EXPRESSION_ASSIGNMENTS_BEFORE__DIAGNOSTICCHAIN_MAP = EXPRESSION_OPERATION_COUNT + 7;
+
+ /**
+ * The operation id for the '<em>Update Assignments</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CAST_EXPRESSION___UPDATE_ASSIGNMENTS = EXPRESSION_OPERATION_COUNT + 8;
+
+ /**
+ * The number of operations of the '<em>Cast Expression</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CAST_EXPRESSION_OPERATION_COUNT = EXPRESSION_OPERATION_COUNT + 9;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.uml.alf.impl.TupleImpl <em>Tuple</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.uml.alf.impl.TupleImpl
+ * @see org.eclipse.papyrus.uml.alf.impl.AlfPackageImpl#getTuple()
+ * @generated
+ */
+ int TUPLE = 27;
+
+ /**
+ * The feature id for the '<em><b>Owner</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int TUPLE__OWNER = SYNTAX_ELEMENT__OWNER;
+
+ /**
+ * The feature id for the '<em><b>Input</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int TUPLE__INPUT = SYNTAX_ELEMENT_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Invocation</b></em>' container reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int TUPLE__INVOCATION = SYNTAX_ELEMENT_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Output</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int TUPLE__OUTPUT = SYNTAX_ELEMENT_FEATURE_COUNT + 2;
+
+ /**
+ * The number of structural features of the '<em>Tuple</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int TUPLE_FEATURE_COUNT = SYNTAX_ELEMENT_FEATURE_COUNT + 3;
+
+ /**
+ * The operation id for the '<em>To Reference</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int TUPLE___TO_REFERENCE = SYNTAX_ELEMENT___TO_REFERENCE;
+
+ /**
+ * The operation id for the '<em>Owner</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int TUPLE___OWNER = SYNTAX_ELEMENT___OWNER;
+
+ /**
+ * The operation id for the '<em>Syntax Element owner</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int TUPLE___SYNTAX_ELEMENT_OWNER = SYNTAX_ELEMENT___SYNTAX_ELEMENT_OWNER;
+
+ /**
+ * The operation id for the '<em>Current Scope</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int TUPLE___CURRENT_SCOPE = SYNTAX_ELEMENT___CURRENT_SCOPE;
+
+ /**
+ * The operation id for the '<em>Syntax Element current Scope</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int TUPLE___SYNTAX_ELEMENT_CURRENT_SCOPE = SYNTAX_ELEMENT___SYNTAX_ELEMENT_CURRENT_SCOPE;
+
+ /**
+ * The operation id for the '<em>Enclosing Statement</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int TUPLE___ENCLOSING_STATEMENT = SYNTAX_ELEMENT___ENCLOSING_STATEMENT;
+
+ /**
+ * The operation id for the '<em>Enclosing Expression</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int TUPLE___ENCLOSING_EXPRESSION = SYNTAX_ELEMENT___ENCLOSING_EXPRESSION;
+
+ /**
+ * The operation id for the '<em>Assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int TUPLE___ASSIGNMENTS_BEFORE = SYNTAX_ELEMENT___ASSIGNMENTS_BEFORE;
+
+ /**
+ * The operation id for the '<em>Syntax Element assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int TUPLE___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE = SYNTAX_ELEMENT___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE;
+
+ /**
+ * The operation id for the '<em>Syntax Element assignments Before base</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int TUPLE___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE_BASE = SYNTAX_ELEMENT___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE_BASE;
+
+ /**
+ * The operation id for the '<em>Update All</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int TUPLE___UPDATE_ALL__ELIST_ELIST = SYNTAX_ELEMENT___UPDATE_ALL__ELIST_ELIST;
+
+ /**
+ * The operation id for the '<em>Common Ancestor</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int TUPLE___COMMON_ANCESTOR__ELIST = SYNTAX_ELEMENT___COMMON_ANCESTOR__ELIST;
+
+ /**
+ * The operation id for the '<em>Common Ancestors</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int TUPLE___COMMON_ANCESTORS__ELIST = SYNTAX_ELEMENT___COMMON_ANCESTORS__ELIST;
+
+ /**
+ * The operation id for the '<em>Remove Duplicate Elements</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int TUPLE___REMOVE_DUPLICATE_ELEMENTS__ELIST = SYNTAX_ELEMENT___REMOVE_DUPLICATE_ELEMENTS__ELIST;
+
+ /**
+ * The operation id for the '<em>Resolve In Library</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int TUPLE___RESOLVE_IN_LIBRARY__STRING = SYNTAX_ELEMENT___RESOLVE_IN_LIBRARY__STRING;
+
+ /**
+ * The operation id for the '<em>Primitive Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int TUPLE___PRIMITIVE_TYPE__STRING = SYNTAX_ELEMENT___PRIMITIVE_TYPE__STRING;
+
+ /**
+ * The operation id for the '<em>Primitive Type </em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int TUPLE___PRIMITIVE_TYPE____STRING = SYNTAX_ELEMENT___PRIMITIVE_TYPE____STRING;
+
+ /**
+ * The operation id for the '<em>Boolean Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int TUPLE___BOOLEAN_TYPE = SYNTAX_ELEMENT___BOOLEAN_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Boolean Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int TUPLE___IS_BOOLEAN_TYPE__ELEMENTREFERENCE = SYNTAX_ELEMENT___IS_BOOLEAN_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Integer Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int TUPLE___INTEGER_TYPE = SYNTAX_ELEMENT___INTEGER_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Integer Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int TUPLE___IS_INTEGER_TYPE__ELEMENTREFERENCE = SYNTAX_ELEMENT___IS_INTEGER_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int TUPLE___STRING_TYPE = SYNTAX_ELEMENT___STRING_TYPE;
+
+ /**
+ * The operation id for the '<em>Is String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int TUPLE___IS_STRING_TYPE__ELEMENTREFERENCE = SYNTAX_ELEMENT___IS_STRING_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Unlimited Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int TUPLE___UNLIMITED_NATURAL_TYPE = SYNTAX_ELEMENT___UNLIMITED_NATURAL_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Unlimited Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int TUPLE___IS_UNLIMITED_NATURAL_TYPE__ELEMENTREFERENCE = SYNTAX_ELEMENT___IS_UNLIMITED_NATURAL_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Bit String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int TUPLE___BIT_STRING_TYPE = SYNTAX_ELEMENT___BIT_STRING_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Bit String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int TUPLE___IS_BIT_STRING_TYPE__ELEMENTREFERENCE = SYNTAX_ELEMENT___IS_BIT_STRING_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int TUPLE___NATURAL_TYPE = SYNTAX_ELEMENT___NATURAL_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int TUPLE___IS_NATURAL_TYPE__ELEMENTREFERENCE = SYNTAX_ELEMENT___IS_NATURAL_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Numeric Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int TUPLE___IS_NUMERIC_TYPE__ELEMENTREFERENCE = SYNTAX_ELEMENT___IS_NUMERIC_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Collection Function Add</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int TUPLE___COLLECTION_FUNCTION_ADD = SYNTAX_ELEMENT___COLLECTION_FUNCTION_ADD;
+
+ /**
+ * The operation id for the '<em>Is Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int TUPLE___IS_COLLECTION_CLASS__ELEMENTREFERENCE = SYNTAX_ELEMENT___IS_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Integer Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int TUPLE___IS_INTEGER_COLLECTION_CLASS__ELEMENTREFERENCE = SYNTAX_ELEMENT___IS_INTEGER_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Bit String Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int TUPLE___IS_BIT_STRING_COLLECTION_CLASS__ELEMENTREFERENCE = SYNTAX_ELEMENT___IS_BIT_STRING_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Size</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int TUPLE___SIZE = SYNTAX_ELEMENT_OPERATION_COUNT + 0;
+
+ /**
+ * The operation id for the '<em>Input Cached</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int TUPLE___INPUT_CACHED = SYNTAX_ELEMENT_OPERATION_COUNT + 1;
+
+ /**
+ * The operation id for the '<em>Input</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int TUPLE___INPUT = SYNTAX_ELEMENT_OPERATION_COUNT + 2;
+
+ /**
+ * The operation id for the '<em>Input For</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int TUPLE___INPUT_FOR__ELIST = SYNTAX_ELEMENT_OPERATION_COUNT + 3;
+
+ /**
+ * The operation id for the '<em>Output Cached</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int TUPLE___OUTPUT_CACHED = SYNTAX_ELEMENT_OPERATION_COUNT + 4;
+
+ /**
+ * The operation id for the '<em>Output</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int TUPLE___OUTPUT = SYNTAX_ELEMENT_OPERATION_COUNT + 5;
+
+ /**
+ * The operation id for the '<em>Output For</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int TUPLE___OUTPUT_FOR__ELIST = SYNTAX_ELEMENT_OPERATION_COUNT + 6;
+
+ /**
+ * The operation id for the '<em>Assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int TUPLE___ASSIGNMENTS_BEFORE__SYNTAXELEMENT = SYNTAX_ELEMENT_OPERATION_COUNT + 7;
+
+ /**
+ * The operation id for the '<em>Assignments After</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int TUPLE___ASSIGNMENTS_AFTER = SYNTAX_ELEMENT_OPERATION_COUNT + 8;
+
+ /**
+ * The operation id for the '<em>New Assignments</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int TUPLE___NEW_ASSIGNMENTS = SYNTAX_ELEMENT_OPERATION_COUNT + 9;
+
+ /**
+ * The operation id for the '<em>Update For</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int TUPLE___UPDATE_FOR__ELIST_OUTPUTNAMEDEXPRESSION = SYNTAX_ELEMENT_OPERATION_COUNT + 10;
+
+ /**
+ * The operation id for the '<em>Tuple Input Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int TUPLE___TUPLE_INPUT_DERIVATION__DIAGNOSTICCHAIN_MAP = SYNTAX_ELEMENT_OPERATION_COUNT + 11;
+
+ /**
+ * The operation id for the '<em>Tuple Output Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int TUPLE___TUPLE_OUTPUT_DERIVATION__DIAGNOSTICCHAIN_MAP = SYNTAX_ELEMENT_OPERATION_COUNT + 12;
+
+ /**
+ * The operation id for the '<em>Tuple Null Inputs</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int TUPLE___TUPLE_NULL_INPUTS__DIAGNOSTICCHAIN_MAP = SYNTAX_ELEMENT_OPERATION_COUNT + 13;
+
+ /**
+ * The operation id for the '<em>Tuple Outputs</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int TUPLE___TUPLE_OUTPUTS__DIAGNOSTICCHAIN_MAP = SYNTAX_ELEMENT_OPERATION_COUNT + 14;
+
+ /**
+ * The operation id for the '<em>Tuple Assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int TUPLE___TUPLE_ASSIGNMENTS_BEFORE__DIAGNOSTICCHAIN_MAP = SYNTAX_ELEMENT_OPERATION_COUNT + 15;
+
+ /**
+ * The operation id for the '<em>Tuple Assignments After</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int TUPLE___TUPLE_ASSIGNMENTS_AFTER__DIAGNOSTICCHAIN_MAP = SYNTAX_ELEMENT_OPERATION_COUNT + 16;
+
+ /**
+ * The number of operations of the '<em>Tuple</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int TUPLE_OPERATION_COUNT = SYNTAX_ELEMENT_OPERATION_COUNT + 17;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.uml.alf.impl.PositionalTupleImpl <em>Positional Tuple</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.uml.alf.impl.PositionalTupleImpl
+ * @see org.eclipse.papyrus.uml.alf.impl.AlfPackageImpl#getPositionalTuple()
+ * @generated
+ */
+ int POSITIONAL_TUPLE = 26;
+
+ /**
+ * The feature id for the '<em><b>Owner</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int POSITIONAL_TUPLE__OWNER = TUPLE__OWNER;
+
+ /**
+ * The feature id for the '<em><b>Input</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int POSITIONAL_TUPLE__INPUT = TUPLE__INPUT;
+
+ /**
+ * The feature id for the '<em><b>Invocation</b></em>' container reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int POSITIONAL_TUPLE__INVOCATION = TUPLE__INVOCATION;
+
+ /**
+ * The feature id for the '<em><b>Output</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int POSITIONAL_TUPLE__OUTPUT = TUPLE__OUTPUT;
+
+ /**
+ * The feature id for the '<em><b>Expression</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int POSITIONAL_TUPLE__EXPRESSION = TUPLE_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the '<em>Positional Tuple</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int POSITIONAL_TUPLE_FEATURE_COUNT = TUPLE_FEATURE_COUNT + 1;
+
+ /**
+ * The operation id for the '<em>To Reference</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int POSITIONAL_TUPLE___TO_REFERENCE = TUPLE___TO_REFERENCE;
+
+ /**
+ * The operation id for the '<em>Owner</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int POSITIONAL_TUPLE___OWNER = TUPLE___OWNER;
+
+ /**
+ * The operation id for the '<em>Syntax Element owner</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int POSITIONAL_TUPLE___SYNTAX_ELEMENT_OWNER = TUPLE___SYNTAX_ELEMENT_OWNER;
+
+ /**
+ * The operation id for the '<em>Current Scope</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int POSITIONAL_TUPLE___CURRENT_SCOPE = TUPLE___CURRENT_SCOPE;
+
+ /**
+ * The operation id for the '<em>Syntax Element current Scope</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int POSITIONAL_TUPLE___SYNTAX_ELEMENT_CURRENT_SCOPE = TUPLE___SYNTAX_ELEMENT_CURRENT_SCOPE;
+
+ /**
+ * The operation id for the '<em>Enclosing Statement</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int POSITIONAL_TUPLE___ENCLOSING_STATEMENT = TUPLE___ENCLOSING_STATEMENT;
+
+ /**
+ * The operation id for the '<em>Enclosing Expression</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int POSITIONAL_TUPLE___ENCLOSING_EXPRESSION = TUPLE___ENCLOSING_EXPRESSION;
+
+ /**
+ * The operation id for the '<em>Assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int POSITIONAL_TUPLE___ASSIGNMENTS_BEFORE = TUPLE___ASSIGNMENTS_BEFORE;
+
+ /**
+ * The operation id for the '<em>Syntax Element assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int POSITIONAL_TUPLE___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE = TUPLE___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE;
+
+ /**
+ * The operation id for the '<em>Syntax Element assignments Before base</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int POSITIONAL_TUPLE___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE_BASE = TUPLE___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE_BASE;
+
+ /**
+ * The operation id for the '<em>Update All</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int POSITIONAL_TUPLE___UPDATE_ALL__ELIST_ELIST = TUPLE___UPDATE_ALL__ELIST_ELIST;
+
+ /**
+ * The operation id for the '<em>Common Ancestor</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int POSITIONAL_TUPLE___COMMON_ANCESTOR__ELIST = TUPLE___COMMON_ANCESTOR__ELIST;
+
+ /**
+ * The operation id for the '<em>Common Ancestors</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int POSITIONAL_TUPLE___COMMON_ANCESTORS__ELIST = TUPLE___COMMON_ANCESTORS__ELIST;
+
+ /**
+ * The operation id for the '<em>Remove Duplicate Elements</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int POSITIONAL_TUPLE___REMOVE_DUPLICATE_ELEMENTS__ELIST = TUPLE___REMOVE_DUPLICATE_ELEMENTS__ELIST;
+
+ /**
+ * The operation id for the '<em>Resolve In Library</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int POSITIONAL_TUPLE___RESOLVE_IN_LIBRARY__STRING = TUPLE___RESOLVE_IN_LIBRARY__STRING;
+
+ /**
+ * The operation id for the '<em>Primitive Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int POSITIONAL_TUPLE___PRIMITIVE_TYPE__STRING = TUPLE___PRIMITIVE_TYPE__STRING;
+
+ /**
+ * The operation id for the '<em>Primitive Type </em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int POSITIONAL_TUPLE___PRIMITIVE_TYPE____STRING = TUPLE___PRIMITIVE_TYPE____STRING;
+
+ /**
+ * The operation id for the '<em>Boolean Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int POSITIONAL_TUPLE___BOOLEAN_TYPE = TUPLE___BOOLEAN_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Boolean Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int POSITIONAL_TUPLE___IS_BOOLEAN_TYPE__ELEMENTREFERENCE = TUPLE___IS_BOOLEAN_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Integer Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int POSITIONAL_TUPLE___INTEGER_TYPE = TUPLE___INTEGER_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Integer Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int POSITIONAL_TUPLE___IS_INTEGER_TYPE__ELEMENTREFERENCE = TUPLE___IS_INTEGER_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int POSITIONAL_TUPLE___STRING_TYPE = TUPLE___STRING_TYPE;
+
+ /**
+ * The operation id for the '<em>Is String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int POSITIONAL_TUPLE___IS_STRING_TYPE__ELEMENTREFERENCE = TUPLE___IS_STRING_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Unlimited Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int POSITIONAL_TUPLE___UNLIMITED_NATURAL_TYPE = TUPLE___UNLIMITED_NATURAL_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Unlimited Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int POSITIONAL_TUPLE___IS_UNLIMITED_NATURAL_TYPE__ELEMENTREFERENCE = TUPLE___IS_UNLIMITED_NATURAL_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Bit String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int POSITIONAL_TUPLE___BIT_STRING_TYPE = TUPLE___BIT_STRING_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Bit String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int POSITIONAL_TUPLE___IS_BIT_STRING_TYPE__ELEMENTREFERENCE = TUPLE___IS_BIT_STRING_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int POSITIONAL_TUPLE___NATURAL_TYPE = TUPLE___NATURAL_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int POSITIONAL_TUPLE___IS_NATURAL_TYPE__ELEMENTREFERENCE = TUPLE___IS_NATURAL_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Numeric Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int POSITIONAL_TUPLE___IS_NUMERIC_TYPE__ELEMENTREFERENCE = TUPLE___IS_NUMERIC_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Collection Function Add</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int POSITIONAL_TUPLE___COLLECTION_FUNCTION_ADD = TUPLE___COLLECTION_FUNCTION_ADD;
+
+ /**
+ * The operation id for the '<em>Is Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int POSITIONAL_TUPLE___IS_COLLECTION_CLASS__ELEMENTREFERENCE = TUPLE___IS_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Integer Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int POSITIONAL_TUPLE___IS_INTEGER_COLLECTION_CLASS__ELEMENTREFERENCE = TUPLE___IS_INTEGER_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Bit String Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int POSITIONAL_TUPLE___IS_BIT_STRING_COLLECTION_CLASS__ELEMENTREFERENCE = TUPLE___IS_BIT_STRING_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Input Cached</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int POSITIONAL_TUPLE___INPUT_CACHED = TUPLE___INPUT_CACHED;
+
+ /**
+ * The operation id for the '<em>Input</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int POSITIONAL_TUPLE___INPUT = TUPLE___INPUT;
+
+ /**
+ * The operation id for the '<em>Output Cached</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int POSITIONAL_TUPLE___OUTPUT_CACHED = TUPLE___OUTPUT_CACHED;
+
+ /**
+ * The operation id for the '<em>Output</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int POSITIONAL_TUPLE___OUTPUT = TUPLE___OUTPUT;
+
+ /**
+ * The operation id for the '<em>Assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int POSITIONAL_TUPLE___ASSIGNMENTS_BEFORE__SYNTAXELEMENT = TUPLE___ASSIGNMENTS_BEFORE__SYNTAXELEMENT;
+
+ /**
+ * The operation id for the '<em>Assignments After</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int POSITIONAL_TUPLE___ASSIGNMENTS_AFTER = TUPLE___ASSIGNMENTS_AFTER;
+
+ /**
+ * The operation id for the '<em>New Assignments</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int POSITIONAL_TUPLE___NEW_ASSIGNMENTS = TUPLE___NEW_ASSIGNMENTS;
+
+ /**
+ * The operation id for the '<em>Update For</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int POSITIONAL_TUPLE___UPDATE_FOR__ELIST_OUTPUTNAMEDEXPRESSION = TUPLE___UPDATE_FOR__ELIST_OUTPUTNAMEDEXPRESSION;
+
+ /**
+ * The operation id for the '<em>Tuple Input Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int POSITIONAL_TUPLE___TUPLE_INPUT_DERIVATION__DIAGNOSTICCHAIN_MAP = TUPLE___TUPLE_INPUT_DERIVATION__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Tuple Output Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int POSITIONAL_TUPLE___TUPLE_OUTPUT_DERIVATION__DIAGNOSTICCHAIN_MAP = TUPLE___TUPLE_OUTPUT_DERIVATION__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Tuple Null Inputs</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int POSITIONAL_TUPLE___TUPLE_NULL_INPUTS__DIAGNOSTICCHAIN_MAP = TUPLE___TUPLE_NULL_INPUTS__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Tuple Outputs</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int POSITIONAL_TUPLE___TUPLE_OUTPUTS__DIAGNOSTICCHAIN_MAP = TUPLE___TUPLE_OUTPUTS__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Tuple Assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int POSITIONAL_TUPLE___TUPLE_ASSIGNMENTS_BEFORE__DIAGNOSTICCHAIN_MAP = TUPLE___TUPLE_ASSIGNMENTS_BEFORE__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Tuple Assignments After</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int POSITIONAL_TUPLE___TUPLE_ASSIGNMENTS_AFTER__DIAGNOSTICCHAIN_MAP = TUPLE___TUPLE_ASSIGNMENTS_AFTER__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Size</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int POSITIONAL_TUPLE___SIZE = TUPLE_OPERATION_COUNT + 0;
+
+ /**
+ * The operation id for the '<em>Input For</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int POSITIONAL_TUPLE___INPUT_FOR__ELIST = TUPLE_OPERATION_COUNT + 1;
+
+ /**
+ * The operation id for the '<em>Output For</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int POSITIONAL_TUPLE___OUTPUT_FOR__ELIST = TUPLE_OPERATION_COUNT + 2;
+
+ /**
+ * The operation id for the '<em>Positional Tuple Arguments</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int POSITIONAL_TUPLE___POSITIONAL_TUPLE_ARGUMENTS__DIAGNOSTICCHAIN_MAP = TUPLE_OPERATION_COUNT + 3;
+
+ /**
+ * The number of operations of the '<em>Positional Tuple</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int POSITIONAL_TUPLE_OPERATION_COUNT = TUPLE_OPERATION_COUNT + 4;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.uml.alf.impl.NamedExpressionImpl <em>Named Expression</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.uml.alf.impl.NamedExpressionImpl
+ * @see org.eclipse.papyrus.uml.alf.impl.AlfPackageImpl#getNamedExpression()
+ * @generated
+ */
+ int NAMED_EXPRESSION = 28;
+
+ /**
+ * The feature id for the '<em><b>Owner</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAMED_EXPRESSION__OWNER = SYNTAX_ELEMENT__OWNER;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAMED_EXPRESSION__NAME = SYNTAX_ELEMENT_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Expression</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAMED_EXPRESSION__EXPRESSION = SYNTAX_ELEMENT_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Index</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAMED_EXPRESSION__INDEX = SYNTAX_ELEMENT_FEATURE_COUNT + 2;
+
+ /**
+ * The number of structural features of the '<em>Named Expression</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAMED_EXPRESSION_FEATURE_COUNT = SYNTAX_ELEMENT_FEATURE_COUNT + 3;
+
+ /**
+ * The operation id for the '<em>To Reference</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAMED_EXPRESSION___TO_REFERENCE = SYNTAX_ELEMENT___TO_REFERENCE;
+
+ /**
+ * The operation id for the '<em>Owner</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAMED_EXPRESSION___OWNER = SYNTAX_ELEMENT___OWNER;
+
+ /**
+ * The operation id for the '<em>Syntax Element owner</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAMED_EXPRESSION___SYNTAX_ELEMENT_OWNER = SYNTAX_ELEMENT___SYNTAX_ELEMENT_OWNER;
+
+ /**
+ * The operation id for the '<em>Current Scope</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAMED_EXPRESSION___CURRENT_SCOPE = SYNTAX_ELEMENT___CURRENT_SCOPE;
+
+ /**
+ * The operation id for the '<em>Syntax Element current Scope</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAMED_EXPRESSION___SYNTAX_ELEMENT_CURRENT_SCOPE = SYNTAX_ELEMENT___SYNTAX_ELEMENT_CURRENT_SCOPE;
+
+ /**
+ * The operation id for the '<em>Enclosing Statement</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAMED_EXPRESSION___ENCLOSING_STATEMENT = SYNTAX_ELEMENT___ENCLOSING_STATEMENT;
+
+ /**
+ * The operation id for the '<em>Enclosing Expression</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAMED_EXPRESSION___ENCLOSING_EXPRESSION = SYNTAX_ELEMENT___ENCLOSING_EXPRESSION;
+
+ /**
+ * The operation id for the '<em>Assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAMED_EXPRESSION___ASSIGNMENTS_BEFORE = SYNTAX_ELEMENT___ASSIGNMENTS_BEFORE;
+
+ /**
+ * The operation id for the '<em>Syntax Element assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAMED_EXPRESSION___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE = SYNTAX_ELEMENT___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE;
+
+ /**
+ * The operation id for the '<em>Syntax Element assignments Before base</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAMED_EXPRESSION___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE_BASE = SYNTAX_ELEMENT___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE_BASE;
+
+ /**
+ * The operation id for the '<em>Assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAMED_EXPRESSION___ASSIGNMENTS_BEFORE__SYNTAXELEMENT = SYNTAX_ELEMENT___ASSIGNMENTS_BEFORE__SYNTAXELEMENT;
+
+ /**
+ * The operation id for the '<em>Update All</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAMED_EXPRESSION___UPDATE_ALL__ELIST_ELIST = SYNTAX_ELEMENT___UPDATE_ALL__ELIST_ELIST;
+
+ /**
+ * The operation id for the '<em>Common Ancestor</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAMED_EXPRESSION___COMMON_ANCESTOR__ELIST = SYNTAX_ELEMENT___COMMON_ANCESTOR__ELIST;
+
+ /**
+ * The operation id for the '<em>Common Ancestors</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAMED_EXPRESSION___COMMON_ANCESTORS__ELIST = SYNTAX_ELEMENT___COMMON_ANCESTORS__ELIST;
+
+ /**
+ * The operation id for the '<em>Remove Duplicate Elements</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAMED_EXPRESSION___REMOVE_DUPLICATE_ELEMENTS__ELIST = SYNTAX_ELEMENT___REMOVE_DUPLICATE_ELEMENTS__ELIST;
+
+ /**
+ * The operation id for the '<em>Resolve In Library</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAMED_EXPRESSION___RESOLVE_IN_LIBRARY__STRING = SYNTAX_ELEMENT___RESOLVE_IN_LIBRARY__STRING;
+
+ /**
+ * The operation id for the '<em>Primitive Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAMED_EXPRESSION___PRIMITIVE_TYPE__STRING = SYNTAX_ELEMENT___PRIMITIVE_TYPE__STRING;
+
+ /**
+ * The operation id for the '<em>Primitive Type </em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAMED_EXPRESSION___PRIMITIVE_TYPE____STRING = SYNTAX_ELEMENT___PRIMITIVE_TYPE____STRING;
+
+ /**
+ * The operation id for the '<em>Boolean Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAMED_EXPRESSION___BOOLEAN_TYPE = SYNTAX_ELEMENT___BOOLEAN_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Boolean Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAMED_EXPRESSION___IS_BOOLEAN_TYPE__ELEMENTREFERENCE = SYNTAX_ELEMENT___IS_BOOLEAN_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Integer Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAMED_EXPRESSION___INTEGER_TYPE = SYNTAX_ELEMENT___INTEGER_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Integer Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAMED_EXPRESSION___IS_INTEGER_TYPE__ELEMENTREFERENCE = SYNTAX_ELEMENT___IS_INTEGER_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAMED_EXPRESSION___STRING_TYPE = SYNTAX_ELEMENT___STRING_TYPE;
+
+ /**
+ * The operation id for the '<em>Is String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAMED_EXPRESSION___IS_STRING_TYPE__ELEMENTREFERENCE = SYNTAX_ELEMENT___IS_STRING_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Unlimited Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAMED_EXPRESSION___UNLIMITED_NATURAL_TYPE = SYNTAX_ELEMENT___UNLIMITED_NATURAL_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Unlimited Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAMED_EXPRESSION___IS_UNLIMITED_NATURAL_TYPE__ELEMENTREFERENCE = SYNTAX_ELEMENT___IS_UNLIMITED_NATURAL_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Bit String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAMED_EXPRESSION___BIT_STRING_TYPE = SYNTAX_ELEMENT___BIT_STRING_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Bit String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAMED_EXPRESSION___IS_BIT_STRING_TYPE__ELEMENTREFERENCE = SYNTAX_ELEMENT___IS_BIT_STRING_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAMED_EXPRESSION___NATURAL_TYPE = SYNTAX_ELEMENT___NATURAL_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAMED_EXPRESSION___IS_NATURAL_TYPE__ELEMENTREFERENCE = SYNTAX_ELEMENT___IS_NATURAL_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Numeric Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAMED_EXPRESSION___IS_NUMERIC_TYPE__ELEMENTREFERENCE = SYNTAX_ELEMENT___IS_NUMERIC_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Collection Function Add</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAMED_EXPRESSION___COLLECTION_FUNCTION_ADD = SYNTAX_ELEMENT___COLLECTION_FUNCTION_ADD;
+
+ /**
+ * The operation id for the '<em>Is Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAMED_EXPRESSION___IS_COLLECTION_CLASS__ELEMENTREFERENCE = SYNTAX_ELEMENT___IS_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Integer Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAMED_EXPRESSION___IS_INTEGER_COLLECTION_CLASS__ELEMENTREFERENCE = SYNTAX_ELEMENT___IS_INTEGER_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Bit String Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAMED_EXPRESSION___IS_BIT_STRING_COLLECTION_CLASS__ELEMENTREFERENCE = SYNTAX_ELEMENT___IS_BIT_STRING_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Actual Name</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAMED_EXPRESSION___ACTUAL_NAME = SYNTAX_ELEMENT_OPERATION_COUNT + 0;
+
+ /**
+ * The number of operations of the '<em>Named Expression</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAMED_EXPRESSION_OPERATION_COUNT = SYNTAX_ELEMENT_OPERATION_COUNT + 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.uml.alf.impl.InputNamedExpressionImpl <em>Input Named Expression</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.uml.alf.impl.InputNamedExpressionImpl
+ * @see org.eclipse.papyrus.uml.alf.impl.AlfPackageImpl#getInputNamedExpression()
+ * @generated
+ */
+ int INPUT_NAMED_EXPRESSION = 29;
+
+ /**
+ * The feature id for the '<em><b>Owner</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INPUT_NAMED_EXPRESSION__OWNER = SYNTAX_ELEMENT__OWNER;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INPUT_NAMED_EXPRESSION__NAME = SYNTAX_ELEMENT_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Expression</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INPUT_NAMED_EXPRESSION__EXPRESSION = SYNTAX_ELEMENT_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Index</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INPUT_NAMED_EXPRESSION__INDEX = SYNTAX_ELEMENT_FEATURE_COUNT + 2;
+
+ /**
+ * The feature id for the '<em><b>Is Collection Conversion</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INPUT_NAMED_EXPRESSION__IS_COLLECTION_CONVERSION = SYNTAX_ELEMENT_FEATURE_COUNT + 3;
+
+ /**
+ * The feature id for the '<em><b>Is Bit String Conversion</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INPUT_NAMED_EXPRESSION__IS_BIT_STRING_CONVERSION = SYNTAX_ELEMENT_FEATURE_COUNT + 4;
+
+ /**
+ * The number of structural features of the '<em>Input Named Expression</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INPUT_NAMED_EXPRESSION_FEATURE_COUNT = SYNTAX_ELEMENT_FEATURE_COUNT + 5;
+
+ /**
+ * The operation id for the '<em>To Reference</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INPUT_NAMED_EXPRESSION___TO_REFERENCE = SYNTAX_ELEMENT___TO_REFERENCE;
+
+ /**
+ * The operation id for the '<em>Owner</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INPUT_NAMED_EXPRESSION___OWNER = SYNTAX_ELEMENT___OWNER;
+
+ /**
+ * The operation id for the '<em>Syntax Element owner</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INPUT_NAMED_EXPRESSION___SYNTAX_ELEMENT_OWNER = SYNTAX_ELEMENT___SYNTAX_ELEMENT_OWNER;
+
+ /**
+ * The operation id for the '<em>Current Scope</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INPUT_NAMED_EXPRESSION___CURRENT_SCOPE = SYNTAX_ELEMENT___CURRENT_SCOPE;
+
+ /**
+ * The operation id for the '<em>Syntax Element current Scope</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INPUT_NAMED_EXPRESSION___SYNTAX_ELEMENT_CURRENT_SCOPE = SYNTAX_ELEMENT___SYNTAX_ELEMENT_CURRENT_SCOPE;
+
+ /**
+ * The operation id for the '<em>Enclosing Statement</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INPUT_NAMED_EXPRESSION___ENCLOSING_STATEMENT = SYNTAX_ELEMENT___ENCLOSING_STATEMENT;
+
+ /**
+ * The operation id for the '<em>Enclosing Expression</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INPUT_NAMED_EXPRESSION___ENCLOSING_EXPRESSION = SYNTAX_ELEMENT___ENCLOSING_EXPRESSION;
+
+ /**
+ * The operation id for the '<em>Assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INPUT_NAMED_EXPRESSION___ASSIGNMENTS_BEFORE = SYNTAX_ELEMENT___ASSIGNMENTS_BEFORE;
+
+ /**
+ * The operation id for the '<em>Syntax Element assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INPUT_NAMED_EXPRESSION___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE = SYNTAX_ELEMENT___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE;
+
+ /**
+ * The operation id for the '<em>Syntax Element assignments Before base</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INPUT_NAMED_EXPRESSION___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE_BASE = SYNTAX_ELEMENT___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE_BASE;
+
+ /**
+ * The operation id for the '<em>Assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INPUT_NAMED_EXPRESSION___ASSIGNMENTS_BEFORE__SYNTAXELEMENT = SYNTAX_ELEMENT___ASSIGNMENTS_BEFORE__SYNTAXELEMENT;
+
+ /**
+ * The operation id for the '<em>Update All</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INPUT_NAMED_EXPRESSION___UPDATE_ALL__ELIST_ELIST = SYNTAX_ELEMENT___UPDATE_ALL__ELIST_ELIST;
+
+ /**
+ * The operation id for the '<em>Common Ancestor</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INPUT_NAMED_EXPRESSION___COMMON_ANCESTOR__ELIST = SYNTAX_ELEMENT___COMMON_ANCESTOR__ELIST;
+
+ /**
+ * The operation id for the '<em>Common Ancestors</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INPUT_NAMED_EXPRESSION___COMMON_ANCESTORS__ELIST = SYNTAX_ELEMENT___COMMON_ANCESTORS__ELIST;
+
+ /**
+ * The operation id for the '<em>Remove Duplicate Elements</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INPUT_NAMED_EXPRESSION___REMOVE_DUPLICATE_ELEMENTS__ELIST = SYNTAX_ELEMENT___REMOVE_DUPLICATE_ELEMENTS__ELIST;
+
+ /**
+ * The operation id for the '<em>Resolve In Library</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INPUT_NAMED_EXPRESSION___RESOLVE_IN_LIBRARY__STRING = SYNTAX_ELEMENT___RESOLVE_IN_LIBRARY__STRING;
+
+ /**
+ * The operation id for the '<em>Primitive Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INPUT_NAMED_EXPRESSION___PRIMITIVE_TYPE__STRING = SYNTAX_ELEMENT___PRIMITIVE_TYPE__STRING;
+
+ /**
+ * The operation id for the '<em>Primitive Type </em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INPUT_NAMED_EXPRESSION___PRIMITIVE_TYPE____STRING = SYNTAX_ELEMENT___PRIMITIVE_TYPE____STRING;
+
+ /**
+ * The operation id for the '<em>Boolean Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INPUT_NAMED_EXPRESSION___BOOLEAN_TYPE = SYNTAX_ELEMENT___BOOLEAN_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Boolean Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INPUT_NAMED_EXPRESSION___IS_BOOLEAN_TYPE__ELEMENTREFERENCE = SYNTAX_ELEMENT___IS_BOOLEAN_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Integer Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INPUT_NAMED_EXPRESSION___INTEGER_TYPE = SYNTAX_ELEMENT___INTEGER_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Integer Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INPUT_NAMED_EXPRESSION___IS_INTEGER_TYPE__ELEMENTREFERENCE = SYNTAX_ELEMENT___IS_INTEGER_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INPUT_NAMED_EXPRESSION___STRING_TYPE = SYNTAX_ELEMENT___STRING_TYPE;
+
+ /**
+ * The operation id for the '<em>Is String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INPUT_NAMED_EXPRESSION___IS_STRING_TYPE__ELEMENTREFERENCE = SYNTAX_ELEMENT___IS_STRING_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Unlimited Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INPUT_NAMED_EXPRESSION___UNLIMITED_NATURAL_TYPE = SYNTAX_ELEMENT___UNLIMITED_NATURAL_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Unlimited Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INPUT_NAMED_EXPRESSION___IS_UNLIMITED_NATURAL_TYPE__ELEMENTREFERENCE = SYNTAX_ELEMENT___IS_UNLIMITED_NATURAL_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Bit String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INPUT_NAMED_EXPRESSION___BIT_STRING_TYPE = SYNTAX_ELEMENT___BIT_STRING_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Bit String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INPUT_NAMED_EXPRESSION___IS_BIT_STRING_TYPE__ELEMENTREFERENCE = SYNTAX_ELEMENT___IS_BIT_STRING_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INPUT_NAMED_EXPRESSION___NATURAL_TYPE = SYNTAX_ELEMENT___NATURAL_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INPUT_NAMED_EXPRESSION___IS_NATURAL_TYPE__ELEMENTREFERENCE = SYNTAX_ELEMENT___IS_NATURAL_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Numeric Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INPUT_NAMED_EXPRESSION___IS_NUMERIC_TYPE__ELEMENTREFERENCE = SYNTAX_ELEMENT___IS_NUMERIC_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Collection Function Add</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INPUT_NAMED_EXPRESSION___COLLECTION_FUNCTION_ADD = SYNTAX_ELEMENT___COLLECTION_FUNCTION_ADD;
+
+ /**
+ * The operation id for the '<em>Is Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INPUT_NAMED_EXPRESSION___IS_COLLECTION_CLASS__ELEMENTREFERENCE = SYNTAX_ELEMENT___IS_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Integer Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INPUT_NAMED_EXPRESSION___IS_INTEGER_COLLECTION_CLASS__ELEMENTREFERENCE = SYNTAX_ELEMENT___IS_INTEGER_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Bit String Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INPUT_NAMED_EXPRESSION___IS_BIT_STRING_COLLECTION_CLASS__ELEMENTREFERENCE = SYNTAX_ELEMENT___IS_BIT_STRING_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Tuple</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INPUT_NAMED_EXPRESSION___TUPLE = SYNTAX_ELEMENT_OPERATION_COUNT + 0;
+
+ /**
+ * The operation id for the '<em>Named Expression Is Collection Conversion Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INPUT_NAMED_EXPRESSION___NAMED_EXPRESSION_IS_COLLECTION_CONVERSION_DERIVATION__DIAGNOSTICCHAIN_MAP = SYNTAX_ELEMENT_OPERATION_COUNT + 1;
+
+ /**
+ * The operation id for the '<em>Named Expression Is Bit String Conversion Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INPUT_NAMED_EXPRESSION___NAMED_EXPRESSION_IS_BIT_STRING_CONVERSION_DERIVATION__DIAGNOSTICCHAIN_MAP = SYNTAX_ELEMENT_OPERATION_COUNT + 2;
+
+ /**
+ * The number of operations of the '<em>Input Named Expression</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INPUT_NAMED_EXPRESSION_OPERATION_COUNT = SYNTAX_ELEMENT_OPERATION_COUNT + 3;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.uml.alf.impl.InvocationExpressionImpl <em>Invocation Expression</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.uml.alf.impl.InvocationExpressionImpl
+ * @see org.eclipse.papyrus.uml.alf.impl.AlfPackageImpl#getInvocationExpression()
+ * @generated
+ */
+ int INVOCATION_EXPRESSION = 30;
+
+ /**
+ * The feature id for the '<em><b>Owner</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INVOCATION_EXPRESSION__OWNER = EXPRESSION__OWNER;
+
+ /**
+ * The feature id for the '<em><b>Upper</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INVOCATION_EXPRESSION__UPPER = EXPRESSION__UPPER;
+
+ /**
+ * The feature id for the '<em><b>Lower</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INVOCATION_EXPRESSION__LOWER = EXPRESSION__LOWER;
+
+ /**
+ * The feature id for the '<em><b>Type</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INVOCATION_EXPRESSION__TYPE = EXPRESSION__TYPE;
+
+ /**
+ * The feature id for the '<em><b>Assignment Before</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INVOCATION_EXPRESSION__ASSIGNMENT_BEFORE = EXPRESSION__ASSIGNMENT_BEFORE;
+
+ /**
+ * The feature id for the '<em><b>Assignment After</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INVOCATION_EXPRESSION__ASSIGNMENT_AFTER = EXPRESSION__ASSIGNMENT_AFTER;
+
+ /**
+ * The feature id for the '<em><b>Is Behavior</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INVOCATION_EXPRESSION__IS_BEHAVIOR = EXPRESSION_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Is Association End</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INVOCATION_EXPRESSION__IS_ASSOCIATION_END = EXPRESSION_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Feature</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INVOCATION_EXPRESSION__FEATURE = EXPRESSION_FEATURE_COUNT + 2;
+
+ /**
+ * The feature id for the '<em><b>Is Operation</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INVOCATION_EXPRESSION__IS_OPERATION = EXPRESSION_FEATURE_COUNT + 3;
+
+ /**
+ * The feature id for the '<em><b>Is Destructor</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INVOCATION_EXPRESSION__IS_DESTRUCTOR = EXPRESSION_FEATURE_COUNT + 4;
+
+ /**
+ * The feature id for the '<em><b>Is Implicit</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INVOCATION_EXPRESSION__IS_IMPLICIT = EXPRESSION_FEATURE_COUNT + 5;
+
+ /**
+ * The feature id for the '<em><b>Referent</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INVOCATION_EXPRESSION__REFERENT = EXPRESSION_FEATURE_COUNT + 6;
+
+ /**
+ * The feature id for the '<em><b>Parameter</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INVOCATION_EXPRESSION__PARAMETER = EXPRESSION_FEATURE_COUNT + 7;
+
+ /**
+ * The feature id for the '<em><b>Is Signal</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INVOCATION_EXPRESSION__IS_SIGNAL = EXPRESSION_FEATURE_COUNT + 8;
+
+ /**
+ * The feature id for the '<em><b>Tuple</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INVOCATION_EXPRESSION__TUPLE = EXPRESSION_FEATURE_COUNT + 9;
+
+ /**
+ * The number of structural features of the '<em>Invocation Expression</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INVOCATION_EXPRESSION_FEATURE_COUNT = EXPRESSION_FEATURE_COUNT + 10;
+
+ /**
+ * The operation id for the '<em>To Reference</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INVOCATION_EXPRESSION___TO_REFERENCE = EXPRESSION___TO_REFERENCE;
+
+ /**
+ * The operation id for the '<em>Owner</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INVOCATION_EXPRESSION___OWNER = EXPRESSION___OWNER;
+
+ /**
+ * The operation id for the '<em>Syntax Element owner</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INVOCATION_EXPRESSION___SYNTAX_ELEMENT_OWNER = EXPRESSION___SYNTAX_ELEMENT_OWNER;
+
+ /**
+ * The operation id for the '<em>Current Scope</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INVOCATION_EXPRESSION___CURRENT_SCOPE = EXPRESSION___CURRENT_SCOPE;
+
+ /**
+ * The operation id for the '<em>Syntax Element current Scope</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INVOCATION_EXPRESSION___SYNTAX_ELEMENT_CURRENT_SCOPE = EXPRESSION___SYNTAX_ELEMENT_CURRENT_SCOPE;
+
+ /**
+ * The operation id for the '<em>Enclosing Statement</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INVOCATION_EXPRESSION___ENCLOSING_STATEMENT = EXPRESSION___ENCLOSING_STATEMENT;
+
+ /**
+ * The operation id for the '<em>Enclosing Expression</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INVOCATION_EXPRESSION___ENCLOSING_EXPRESSION = EXPRESSION___ENCLOSING_EXPRESSION;
+
+ /**
+ * The operation id for the '<em>Assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INVOCATION_EXPRESSION___ASSIGNMENTS_BEFORE = EXPRESSION___ASSIGNMENTS_BEFORE;
+
+ /**
+ * The operation id for the '<em>Syntax Element assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INVOCATION_EXPRESSION___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE = EXPRESSION___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE;
+
+ /**
+ * The operation id for the '<em>Syntax Element assignments Before base</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INVOCATION_EXPRESSION___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE_BASE = EXPRESSION___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE_BASE;
+
+ /**
+ * The operation id for the '<em>Update All</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INVOCATION_EXPRESSION___UPDATE_ALL__ELIST_ELIST = EXPRESSION___UPDATE_ALL__ELIST_ELIST;
+
+ /**
+ * The operation id for the '<em>Common Ancestor</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INVOCATION_EXPRESSION___COMMON_ANCESTOR__ELIST = EXPRESSION___COMMON_ANCESTOR__ELIST;
+
+ /**
+ * The operation id for the '<em>Common Ancestors</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INVOCATION_EXPRESSION___COMMON_ANCESTORS__ELIST = EXPRESSION___COMMON_ANCESTORS__ELIST;
+
+ /**
+ * The operation id for the '<em>Remove Duplicate Elements</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INVOCATION_EXPRESSION___REMOVE_DUPLICATE_ELEMENTS__ELIST = EXPRESSION___REMOVE_DUPLICATE_ELEMENTS__ELIST;
+
+ /**
+ * The operation id for the '<em>Resolve In Library</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INVOCATION_EXPRESSION___RESOLVE_IN_LIBRARY__STRING = EXPRESSION___RESOLVE_IN_LIBRARY__STRING;
+
+ /**
+ * The operation id for the '<em>Primitive Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INVOCATION_EXPRESSION___PRIMITIVE_TYPE__STRING = EXPRESSION___PRIMITIVE_TYPE__STRING;
+
+ /**
+ * The operation id for the '<em>Primitive Type </em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INVOCATION_EXPRESSION___PRIMITIVE_TYPE____STRING = EXPRESSION___PRIMITIVE_TYPE____STRING;
+
+ /**
+ * The operation id for the '<em>Boolean Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INVOCATION_EXPRESSION___BOOLEAN_TYPE = EXPRESSION___BOOLEAN_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Boolean Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INVOCATION_EXPRESSION___IS_BOOLEAN_TYPE__ELEMENTREFERENCE = EXPRESSION___IS_BOOLEAN_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Integer Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INVOCATION_EXPRESSION___INTEGER_TYPE = EXPRESSION___INTEGER_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Integer Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INVOCATION_EXPRESSION___IS_INTEGER_TYPE__ELEMENTREFERENCE = EXPRESSION___IS_INTEGER_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INVOCATION_EXPRESSION___STRING_TYPE = EXPRESSION___STRING_TYPE;
+
+ /**
+ * The operation id for the '<em>Is String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INVOCATION_EXPRESSION___IS_STRING_TYPE__ELEMENTREFERENCE = EXPRESSION___IS_STRING_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Unlimited Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INVOCATION_EXPRESSION___UNLIMITED_NATURAL_TYPE = EXPRESSION___UNLIMITED_NATURAL_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Unlimited Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INVOCATION_EXPRESSION___IS_UNLIMITED_NATURAL_TYPE__ELEMENTREFERENCE = EXPRESSION___IS_UNLIMITED_NATURAL_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Bit String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INVOCATION_EXPRESSION___BIT_STRING_TYPE = EXPRESSION___BIT_STRING_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Bit String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INVOCATION_EXPRESSION___IS_BIT_STRING_TYPE__ELEMENTREFERENCE = EXPRESSION___IS_BIT_STRING_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INVOCATION_EXPRESSION___NATURAL_TYPE = EXPRESSION___NATURAL_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INVOCATION_EXPRESSION___IS_NATURAL_TYPE__ELEMENTREFERENCE = EXPRESSION___IS_NATURAL_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Numeric Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INVOCATION_EXPRESSION___IS_NUMERIC_TYPE__ELEMENTREFERENCE = EXPRESSION___IS_NUMERIC_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Collection Function Add</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INVOCATION_EXPRESSION___COLLECTION_FUNCTION_ADD = EXPRESSION___COLLECTION_FUNCTION_ADD;
+
+ /**
+ * The operation id for the '<em>Is Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INVOCATION_EXPRESSION___IS_COLLECTION_CLASS__ELEMENTREFERENCE = EXPRESSION___IS_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Integer Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INVOCATION_EXPRESSION___IS_INTEGER_COLLECTION_CLASS__ELEMENTREFERENCE = EXPRESSION___IS_INTEGER_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Bit String Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INVOCATION_EXPRESSION___IS_BIT_STRING_COLLECTION_CLASS__ELEMENTREFERENCE = EXPRESSION___IS_BIT_STRING_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Type Cached</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INVOCATION_EXPRESSION___TYPE_CACHED = EXPRESSION___TYPE_CACHED;
+
+ /**
+ * The operation id for the '<em>Is Null</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INVOCATION_EXPRESSION___IS_NULL = EXPRESSION___IS_NULL;
+
+ /**
+ * The operation id for the '<em>Is Assignable From Element</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INVOCATION_EXPRESSION___IS_ASSIGNABLE_FROM_ELEMENT__ELEMENTREFERENCE = EXPRESSION___IS_ASSIGNABLE_FROM_ELEMENT__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Assignable From</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INVOCATION_EXPRESSION___IS_ASSIGNABLE_FROM__ASSIGNABLEELEMENT = EXPRESSION___IS_ASSIGNABLE_FROM__ASSIGNABLEELEMENT;
+
+ /**
+ * The operation id for the '<em>Is Type Conformant With</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INVOCATION_EXPRESSION___IS_TYPE_CONFORMANT_WITH__ASSIGNABLEELEMENT = EXPRESSION___IS_TYPE_CONFORMANT_WITH__ASSIGNABLEELEMENT;
+
+ /**
+ * The operation id for the '<em>Is Conformant With Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INVOCATION_EXPRESSION___IS_CONFORMANT_WITH_TYPE__ELEMENTREFERENCE = EXPRESSION___IS_CONFORMANT_WITH_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Multiplicity Conformant With</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INVOCATION_EXPRESSION___IS_MULTIPLICITY_CONFORMANT_WITH__ASSIGNABLEELEMENT = EXPRESSION___IS_MULTIPLICITY_CONFORMANT_WITH__ASSIGNABLEELEMENT;
+
+ /**
+ * The operation id for the '<em>New Assignments</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INVOCATION_EXPRESSION___NEW_ASSIGNMENTS = EXPRESSION___NEW_ASSIGNMENTS;
+
+ /**
+ * The operation id for the '<em>Expression update Assignments</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INVOCATION_EXPRESSION___EXPRESSION_UPDATE_ASSIGNMENTS = EXPRESSION___EXPRESSION_UPDATE_ASSIGNMENTS;
+
+ /**
+ * The operation id for the '<em>Update Assignments Cached</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INVOCATION_EXPRESSION___UPDATE_ASSIGNMENTS_CACHED = EXPRESSION___UPDATE_ASSIGNMENTS_CACHED;
+
+ /**
+ * The operation id for the '<em>Resolve</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INVOCATION_EXPRESSION___RESOLVE__STRING = EXPRESSION___RESOLVE__STRING;
+
+ /**
+ * The operation id for the '<em>Is Add Target</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INVOCATION_EXPRESSION___IS_ADD_TARGET__EXPRESSION = EXPRESSION___IS_ADD_TARGET__EXPRESSION;
+
+ /**
+ * The operation id for the '<em>Expression Assignment After Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INVOCATION_EXPRESSION___EXPRESSION_ASSIGNMENT_AFTER_DERIVATION__DIAGNOSTICCHAIN_MAP = EXPRESSION___EXPRESSION_ASSIGNMENT_AFTER_DERIVATION__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Expression Unique Assignments</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INVOCATION_EXPRESSION___EXPRESSION_UNIQUE_ASSIGNMENTS__DIAGNOSTICCHAIN_MAP = EXPRESSION___EXPRESSION_UNIQUE_ASSIGNMENTS__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INVOCATION_EXPRESSION___ASSIGNMENTS_BEFORE__SYNTAXELEMENT = EXPRESSION_OPERATION_COUNT + 0;
+
+ /**
+ * The operation id for the '<em>Feature</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INVOCATION_EXPRESSION___FEATURE = EXPRESSION_OPERATION_COUNT + 1;
+
+ /**
+ * The operation id for the '<em>Referent</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INVOCATION_EXPRESSION___REFERENT = EXPRESSION_OPERATION_COUNT + 2;
+
+ /**
+ * The operation id for the '<em>Referent Cached</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INVOCATION_EXPRESSION___REFERENT_CACHED = EXPRESSION_OPERATION_COUNT + 3;
+
+ /**
+ * The operation id for the '<em>Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INVOCATION_EXPRESSION___TYPE = EXPRESSION_OPERATION_COUNT + 4;
+
+ /**
+ * The operation id for the '<em>Invocation Expression type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INVOCATION_EXPRESSION___INVOCATION_EXPRESSION_TYPE = EXPRESSION_OPERATION_COUNT + 5;
+
+ /**
+ * The operation id for the '<em>Upper</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INVOCATION_EXPRESSION___UPPER = EXPRESSION_OPERATION_COUNT + 6;
+
+ /**
+ * The operation id for the '<em>Invocation Expression upper</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INVOCATION_EXPRESSION___INVOCATION_EXPRESSION_UPPER = EXPRESSION_OPERATION_COUNT + 7;
+
+ /**
+ * The operation id for the '<em>Lower</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INVOCATION_EXPRESSION___LOWER = EXPRESSION_OPERATION_COUNT + 8;
+
+ /**
+ * The operation id for the '<em>Invocation Expression lower</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INVOCATION_EXPRESSION___INVOCATION_EXPRESSION_LOWER = EXPRESSION_OPERATION_COUNT + 9;
+
+ /**
+ * The operation id for the '<em>Parameter Named</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INVOCATION_EXPRESSION___PARAMETER_NAMED__STRING = EXPRESSION_OPERATION_COUNT + 10;
+
+ /**
+ * The operation id for the '<em>Parameter Count</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INVOCATION_EXPRESSION___PARAMETER_COUNT = EXPRESSION_OPERATION_COUNT + 11;
+
+ /**
+ * The operation id for the '<em>Parameter Is Assignable From</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INVOCATION_EXPRESSION___PARAMETER_IS_ASSIGNABLE_FROM__INPUTNAMEDEXPRESSION = EXPRESSION_OPERATION_COUNT + 12;
+
+ /**
+ * The operation id for the '<em>Parameter Is Assignable To</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INVOCATION_EXPRESSION___PARAMETER_IS_ASSIGNABLE_TO__OUTPUTNAMEDEXPRESSION = EXPRESSION_OPERATION_COUNT + 13;
+
+ /**
+ * The operation id for the '<em>Alternative Constructor Is Valid</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INVOCATION_EXPRESSION___ALTERNATIVE_CONSTRUCTOR_IS_VALID = EXPRESSION_OPERATION_COUNT + 14;
+
+ /**
+ * The operation id for the '<em>Bind Template Implicit Arguments</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INVOCATION_EXPRESSION___BIND_TEMPLATE_IMPLICIT_ARGUMENTS__ELEMENTREFERENCE_EXPRESSION = EXPRESSION_OPERATION_COUNT + 15;
+
+ /**
+ * The operation id for the '<em>Bind Template Implicit Arguments1</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INVOCATION_EXPRESSION___BIND_TEMPLATE_IMPLICIT_ARGUMENTS1__ELEMENTREFERENCE_EXPRESSION = EXPRESSION_OPERATION_COUNT + 16;
+
+ /**
+ * The operation id for the '<em>Effective Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INVOCATION_EXPRESSION___EFFECTIVE_TYPE__ELEMENTREFERENCE_EXPRESSION = EXPRESSION_OPERATION_COUNT + 17;
+
+ /**
+ * The operation id for the '<em>Parameter Elements</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INVOCATION_EXPRESSION___PARAMETER_ELEMENTS = EXPRESSION_OPERATION_COUNT + 18;
+
+ /**
+ * The operation id for the '<em>Invocation Expression parameter Elements</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INVOCATION_EXPRESSION___INVOCATION_EXPRESSION_PARAMETER_ELEMENTS = EXPRESSION_OPERATION_COUNT + 19;
+
+ /**
+ * The operation id for the '<em>Parameter From Property</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INVOCATION_EXPRESSION___PARAMETER_FROM_PROPERTY__ELEMENTREFERENCE = EXPRESSION_OPERATION_COUNT + 20;
+
+ /**
+ * The operation id for the '<em>Parameter From Property With Multiplicity</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INVOCATION_EXPRESSION___PARAMETER_FROM_PROPERTY_WITH_MULTIPLICITY__ELEMENTREFERENCE_STRING_STRING = EXPRESSION_OPERATION_COUNT + 21;
+
+ /**
+ * The operation id for the '<em>Invocation Expression Is Behavior Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INVOCATION_EXPRESSION___INVOCATION_EXPRESSION_IS_BEHAVIOR_DERIVATION__DIAGNOSTICCHAIN_MAP = EXPRESSION_OPERATION_COUNT + 22;
+
+ /**
+ * The operation id for the '<em>Invocation Expression Is Association End Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INVOCATION_EXPRESSION___INVOCATION_EXPRESSION_IS_ASSOCIATION_END_DERIVATION__DIAGNOSTICCHAIN_MAP = EXPRESSION_OPERATION_COUNT + 23;
+
+ /**
+ * The operation id for the '<em>Invocation Expression Is Operation Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INVOCATION_EXPRESSION___INVOCATION_EXPRESSION_IS_OPERATION_DERIVATION__DIAGNOSTICCHAIN_MAP = EXPRESSION_OPERATION_COUNT + 24;
+
+ /**
+ * The operation id for the '<em>Invocation Expression Is Destructor Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INVOCATION_EXPRESSION___INVOCATION_EXPRESSION_IS_DESTRUCTOR_DERIVATION__DIAGNOSTICCHAIN_MAP = EXPRESSION_OPERATION_COUNT + 25;
+
+ /**
+ * The operation id for the '<em>Invocation Expression Is Implicit Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INVOCATION_EXPRESSION___INVOCATION_EXPRESSION_IS_IMPLICIT_DERIVATION__DIAGNOSTICCHAIN_MAP = EXPRESSION_OPERATION_COUNT + 26;
+
+ /**
+ * The operation id for the '<em>Invocation Expression Is Signal Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INVOCATION_EXPRESSION___INVOCATION_EXPRESSION_IS_SIGNAL_DERIVATION__DIAGNOSTICCHAIN_MAP = EXPRESSION_OPERATION_COUNT + 27;
+
+ /**
+ * The operation id for the '<em>Invocation Expression Parameter Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INVOCATION_EXPRESSION___INVOCATION_EXPRESSION_PARAMETER_DERIVATION__DIAGNOSTICCHAIN_MAP = EXPRESSION_OPERATION_COUNT + 28;
+
+ /**
+ * The operation id for the '<em>Invocation Expression Type Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INVOCATION_EXPRESSION___INVOCATION_EXPRESSION_TYPE_DERIVATION__DIAGNOSTICCHAIN_MAP = EXPRESSION_OPERATION_COUNT + 29;
+
+ /**
+ * The operation id for the '<em>Invocation Expression Upper Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INVOCATION_EXPRESSION___INVOCATION_EXPRESSION_UPPER_DERIVATION__DIAGNOSTICCHAIN_MAP = EXPRESSION_OPERATION_COUNT + 30;
+
+ /**
+ * The operation id for the '<em>Invocation Expression Lower Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INVOCATION_EXPRESSION___INVOCATION_EXPRESSION_LOWER_DERIVATION__DIAGNOSTICCHAIN_MAP = EXPRESSION_OPERATION_COUNT + 31;
+
+ /**
+ * The operation id for the '<em>Invocation Expression Assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INVOCATION_EXPRESSION___INVOCATION_EXPRESSION_ASSIGNMENTS_BEFORE__DIAGNOSTICCHAIN_MAP = EXPRESSION_OPERATION_COUNT + 32;
+
+ /**
+ * The operation id for the '<em>Update Assignments</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INVOCATION_EXPRESSION___UPDATE_ASSIGNMENTS = EXPRESSION_OPERATION_COUNT + 33;
+
+ /**
+ * The operation id for the '<em>Invocation Expression Template Parameters</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INVOCATION_EXPRESSION___INVOCATION_EXPRESSION_TEMPLATE_PARAMETERS__DIAGNOSTICCHAIN_MAP = EXPRESSION_OPERATION_COUNT + 34;
+
+ /**
+ * The number of operations of the '<em>Invocation Expression</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INVOCATION_EXPRESSION_OPERATION_COUNT = EXPRESSION_OPERATION_COUNT + 35;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.uml.alf.impl.OutputNamedExpressionImpl <em>Output Named Expression</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.uml.alf.impl.OutputNamedExpressionImpl
+ * @see org.eclipse.papyrus.uml.alf.impl.AlfPackageImpl#getOutputNamedExpression()
+ * @generated
+ */
+ int OUTPUT_NAMED_EXPRESSION = 31;
+
+ /**
+ * The feature id for the '<em><b>Owner</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int OUTPUT_NAMED_EXPRESSION__OWNER = INPUT_NAMED_EXPRESSION__OWNER;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int OUTPUT_NAMED_EXPRESSION__NAME = INPUT_NAMED_EXPRESSION__NAME;
+
+ /**
+ * The feature id for the '<em><b>Expression</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int OUTPUT_NAMED_EXPRESSION__EXPRESSION = INPUT_NAMED_EXPRESSION__EXPRESSION;
+
+ /**
+ * The feature id for the '<em><b>Index</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int OUTPUT_NAMED_EXPRESSION__INDEX = INPUT_NAMED_EXPRESSION__INDEX;
+
+ /**
+ * The feature id for the '<em><b>Is Collection Conversion</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int OUTPUT_NAMED_EXPRESSION__IS_COLLECTION_CONVERSION = INPUT_NAMED_EXPRESSION__IS_COLLECTION_CONVERSION;
+
+ /**
+ * The feature id for the '<em><b>Is Bit String Conversion</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int OUTPUT_NAMED_EXPRESSION__IS_BIT_STRING_CONVERSION = INPUT_NAMED_EXPRESSION__IS_BIT_STRING_CONVERSION;
+
+ /**
+ * The feature id for the '<em><b>Left Hand Side</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int OUTPUT_NAMED_EXPRESSION__LEFT_HAND_SIDE = INPUT_NAMED_EXPRESSION_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the '<em>Output Named Expression</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int OUTPUT_NAMED_EXPRESSION_FEATURE_COUNT = INPUT_NAMED_EXPRESSION_FEATURE_COUNT + 1;
+
+ /**
+ * The operation id for the '<em>To Reference</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int OUTPUT_NAMED_EXPRESSION___TO_REFERENCE = INPUT_NAMED_EXPRESSION___TO_REFERENCE;
+
+ /**
+ * The operation id for the '<em>Owner</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int OUTPUT_NAMED_EXPRESSION___OWNER = INPUT_NAMED_EXPRESSION___OWNER;
+
+ /**
+ * The operation id for the '<em>Syntax Element owner</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int OUTPUT_NAMED_EXPRESSION___SYNTAX_ELEMENT_OWNER = INPUT_NAMED_EXPRESSION___SYNTAX_ELEMENT_OWNER;
+
+ /**
+ * The operation id for the '<em>Current Scope</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int OUTPUT_NAMED_EXPRESSION___CURRENT_SCOPE = INPUT_NAMED_EXPRESSION___CURRENT_SCOPE;
+
+ /**
+ * The operation id for the '<em>Syntax Element current Scope</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int OUTPUT_NAMED_EXPRESSION___SYNTAX_ELEMENT_CURRENT_SCOPE = INPUT_NAMED_EXPRESSION___SYNTAX_ELEMENT_CURRENT_SCOPE;
+
+ /**
+ * The operation id for the '<em>Enclosing Statement</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int OUTPUT_NAMED_EXPRESSION___ENCLOSING_STATEMENT = INPUT_NAMED_EXPRESSION___ENCLOSING_STATEMENT;
+
+ /**
+ * The operation id for the '<em>Enclosing Expression</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int OUTPUT_NAMED_EXPRESSION___ENCLOSING_EXPRESSION = INPUT_NAMED_EXPRESSION___ENCLOSING_EXPRESSION;
+
+ /**
+ * The operation id for the '<em>Assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int OUTPUT_NAMED_EXPRESSION___ASSIGNMENTS_BEFORE = INPUT_NAMED_EXPRESSION___ASSIGNMENTS_BEFORE;
+
+ /**
+ * The operation id for the '<em>Syntax Element assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int OUTPUT_NAMED_EXPRESSION___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE = INPUT_NAMED_EXPRESSION___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE;
+
+ /**
+ * The operation id for the '<em>Syntax Element assignments Before base</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int OUTPUT_NAMED_EXPRESSION___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE_BASE = INPUT_NAMED_EXPRESSION___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE_BASE;
+
+ /**
+ * The operation id for the '<em>Assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int OUTPUT_NAMED_EXPRESSION___ASSIGNMENTS_BEFORE__SYNTAXELEMENT = INPUT_NAMED_EXPRESSION___ASSIGNMENTS_BEFORE__SYNTAXELEMENT;
+
+ /**
+ * The operation id for the '<em>Update All</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int OUTPUT_NAMED_EXPRESSION___UPDATE_ALL__ELIST_ELIST = INPUT_NAMED_EXPRESSION___UPDATE_ALL__ELIST_ELIST;
+
+ /**
+ * The operation id for the '<em>Common Ancestor</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int OUTPUT_NAMED_EXPRESSION___COMMON_ANCESTOR__ELIST = INPUT_NAMED_EXPRESSION___COMMON_ANCESTOR__ELIST;
+
+ /**
+ * The operation id for the '<em>Common Ancestors</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int OUTPUT_NAMED_EXPRESSION___COMMON_ANCESTORS__ELIST = INPUT_NAMED_EXPRESSION___COMMON_ANCESTORS__ELIST;
+
+ /**
+ * The operation id for the '<em>Remove Duplicate Elements</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int OUTPUT_NAMED_EXPRESSION___REMOVE_DUPLICATE_ELEMENTS__ELIST = INPUT_NAMED_EXPRESSION___REMOVE_DUPLICATE_ELEMENTS__ELIST;
+
+ /**
+ * The operation id for the '<em>Resolve In Library</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int OUTPUT_NAMED_EXPRESSION___RESOLVE_IN_LIBRARY__STRING = INPUT_NAMED_EXPRESSION___RESOLVE_IN_LIBRARY__STRING;
+
+ /**
+ * The operation id for the '<em>Primitive Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int OUTPUT_NAMED_EXPRESSION___PRIMITIVE_TYPE__STRING = INPUT_NAMED_EXPRESSION___PRIMITIVE_TYPE__STRING;
+
+ /**
+ * The operation id for the '<em>Primitive Type </em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int OUTPUT_NAMED_EXPRESSION___PRIMITIVE_TYPE____STRING = INPUT_NAMED_EXPRESSION___PRIMITIVE_TYPE____STRING;
+
+ /**
+ * The operation id for the '<em>Boolean Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int OUTPUT_NAMED_EXPRESSION___BOOLEAN_TYPE = INPUT_NAMED_EXPRESSION___BOOLEAN_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Boolean Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int OUTPUT_NAMED_EXPRESSION___IS_BOOLEAN_TYPE__ELEMENTREFERENCE = INPUT_NAMED_EXPRESSION___IS_BOOLEAN_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Integer Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int OUTPUT_NAMED_EXPRESSION___INTEGER_TYPE = INPUT_NAMED_EXPRESSION___INTEGER_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Integer Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int OUTPUT_NAMED_EXPRESSION___IS_INTEGER_TYPE__ELEMENTREFERENCE = INPUT_NAMED_EXPRESSION___IS_INTEGER_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int OUTPUT_NAMED_EXPRESSION___STRING_TYPE = INPUT_NAMED_EXPRESSION___STRING_TYPE;
+
+ /**
+ * The operation id for the '<em>Is String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int OUTPUT_NAMED_EXPRESSION___IS_STRING_TYPE__ELEMENTREFERENCE = INPUT_NAMED_EXPRESSION___IS_STRING_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Unlimited Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int OUTPUT_NAMED_EXPRESSION___UNLIMITED_NATURAL_TYPE = INPUT_NAMED_EXPRESSION___UNLIMITED_NATURAL_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Unlimited Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int OUTPUT_NAMED_EXPRESSION___IS_UNLIMITED_NATURAL_TYPE__ELEMENTREFERENCE = INPUT_NAMED_EXPRESSION___IS_UNLIMITED_NATURAL_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Bit String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int OUTPUT_NAMED_EXPRESSION___BIT_STRING_TYPE = INPUT_NAMED_EXPRESSION___BIT_STRING_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Bit String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int OUTPUT_NAMED_EXPRESSION___IS_BIT_STRING_TYPE__ELEMENTREFERENCE = INPUT_NAMED_EXPRESSION___IS_BIT_STRING_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int OUTPUT_NAMED_EXPRESSION___NATURAL_TYPE = INPUT_NAMED_EXPRESSION___NATURAL_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int OUTPUT_NAMED_EXPRESSION___IS_NATURAL_TYPE__ELEMENTREFERENCE = INPUT_NAMED_EXPRESSION___IS_NATURAL_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Numeric Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int OUTPUT_NAMED_EXPRESSION___IS_NUMERIC_TYPE__ELEMENTREFERENCE = INPUT_NAMED_EXPRESSION___IS_NUMERIC_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Collection Function Add</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int OUTPUT_NAMED_EXPRESSION___COLLECTION_FUNCTION_ADD = INPUT_NAMED_EXPRESSION___COLLECTION_FUNCTION_ADD;
+
+ /**
+ * The operation id for the '<em>Is Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int OUTPUT_NAMED_EXPRESSION___IS_COLLECTION_CLASS__ELEMENTREFERENCE = INPUT_NAMED_EXPRESSION___IS_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Integer Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int OUTPUT_NAMED_EXPRESSION___IS_INTEGER_COLLECTION_CLASS__ELEMENTREFERENCE = INPUT_NAMED_EXPRESSION___IS_INTEGER_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Bit String Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int OUTPUT_NAMED_EXPRESSION___IS_BIT_STRING_COLLECTION_CLASS__ELEMENTREFERENCE = INPUT_NAMED_EXPRESSION___IS_BIT_STRING_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Tuple</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int OUTPUT_NAMED_EXPRESSION___TUPLE = INPUT_NAMED_EXPRESSION___TUPLE;
+
+ /**
+ * The operation id for the '<em>Named Expression Is Collection Conversion Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int OUTPUT_NAMED_EXPRESSION___NAMED_EXPRESSION_IS_COLLECTION_CONVERSION_DERIVATION__DIAGNOSTICCHAIN_MAP = INPUT_NAMED_EXPRESSION___NAMED_EXPRESSION_IS_COLLECTION_CONVERSION_DERIVATION__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Named Expression Is Bit String Conversion Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int OUTPUT_NAMED_EXPRESSION___NAMED_EXPRESSION_IS_BIT_STRING_CONVERSION_DERIVATION__DIAGNOSTICCHAIN_MAP = INPUT_NAMED_EXPRESSION___NAMED_EXPRESSION_IS_BIT_STRING_CONVERSION_DERIVATION__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Output Named Expression Left Hand Side Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int OUTPUT_NAMED_EXPRESSION___OUTPUT_NAMED_EXPRESSION_LEFT_HAND_SIDE_DERIVATION__DIAGNOSTICCHAIN_MAP = INPUT_NAMED_EXPRESSION_OPERATION_COUNT + 0;
+
+ /**
+ * The operation id for the '<em>Output Named Expression Form</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int OUTPUT_NAMED_EXPRESSION___OUTPUT_NAMED_EXPRESSION_FORM__DIAGNOSTICCHAIN_MAP = INPUT_NAMED_EXPRESSION_OPERATION_COUNT + 1;
+
+ /**
+ * The operation id for the '<em>Has Legal Expression</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int OUTPUT_NAMED_EXPRESSION___HAS_LEGAL_EXPRESSION = INPUT_NAMED_EXPRESSION_OPERATION_COUNT + 2;
+
+ /**
+ * The number of operations of the '<em>Output Named Expression</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int OUTPUT_NAMED_EXPRESSION_OPERATION_COUNT = INPUT_NAMED_EXPRESSION_OPERATION_COUNT + 3;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.uml.alf.impl.LeftHandSideImpl <em>Left Hand Side</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.uml.alf.impl.LeftHandSideImpl
+ * @see org.eclipse.papyrus.uml.alf.impl.AlfPackageImpl#getLeftHandSide()
+ * @generated
+ */
+ int LEFT_HAND_SIDE = 32;
+
+ /**
+ * The feature id for the '<em><b>Owner</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LEFT_HAND_SIDE__OWNER = ASSIGNABLE_ELEMENT__OWNER;
+
+ /**
+ * The feature id for the '<em><b>Upper</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LEFT_HAND_SIDE__UPPER = ASSIGNABLE_ELEMENT__UPPER;
+
+ /**
+ * The feature id for the '<em><b>Lower</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LEFT_HAND_SIDE__LOWER = ASSIGNABLE_ELEMENT__LOWER;
+
+ /**
+ * The feature id for the '<em><b>Type</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LEFT_HAND_SIDE__TYPE = ASSIGNABLE_ELEMENT__TYPE;
+
+ /**
+ * The feature id for the '<em><b>Assignment Before</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LEFT_HAND_SIDE__ASSIGNMENT_BEFORE = ASSIGNABLE_ELEMENT_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Assignment After</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LEFT_HAND_SIDE__ASSIGNMENT_AFTER = ASSIGNABLE_ELEMENT_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Referent</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LEFT_HAND_SIDE__REFERENT = ASSIGNABLE_ELEMENT_FEATURE_COUNT + 2;
+
+ /**
+ * The number of structural features of the '<em>Left Hand Side</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LEFT_HAND_SIDE_FEATURE_COUNT = ASSIGNABLE_ELEMENT_FEATURE_COUNT + 3;
+
+ /**
+ * The operation id for the '<em>To Reference</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LEFT_HAND_SIDE___TO_REFERENCE = ASSIGNABLE_ELEMENT___TO_REFERENCE;
+
+ /**
+ * The operation id for the '<em>Owner</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LEFT_HAND_SIDE___OWNER = ASSIGNABLE_ELEMENT___OWNER;
+
+ /**
+ * The operation id for the '<em>Syntax Element owner</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LEFT_HAND_SIDE___SYNTAX_ELEMENT_OWNER = ASSIGNABLE_ELEMENT___SYNTAX_ELEMENT_OWNER;
+
+ /**
+ * The operation id for the '<em>Current Scope</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LEFT_HAND_SIDE___CURRENT_SCOPE = ASSIGNABLE_ELEMENT___CURRENT_SCOPE;
+
+ /**
+ * The operation id for the '<em>Syntax Element current Scope</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LEFT_HAND_SIDE___SYNTAX_ELEMENT_CURRENT_SCOPE = ASSIGNABLE_ELEMENT___SYNTAX_ELEMENT_CURRENT_SCOPE;
+
+ /**
+ * The operation id for the '<em>Enclosing Statement</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LEFT_HAND_SIDE___ENCLOSING_STATEMENT = ASSIGNABLE_ELEMENT___ENCLOSING_STATEMENT;
+
+ /**
+ * The operation id for the '<em>Enclosing Expression</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LEFT_HAND_SIDE___ENCLOSING_EXPRESSION = ASSIGNABLE_ELEMENT___ENCLOSING_EXPRESSION;
+
+ /**
+ * The operation id for the '<em>Assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LEFT_HAND_SIDE___ASSIGNMENTS_BEFORE = ASSIGNABLE_ELEMENT___ASSIGNMENTS_BEFORE;
+
+ /**
+ * The operation id for the '<em>Syntax Element assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LEFT_HAND_SIDE___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE = ASSIGNABLE_ELEMENT___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE;
+
+ /**
+ * The operation id for the '<em>Syntax Element assignments Before base</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LEFT_HAND_SIDE___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE_BASE = ASSIGNABLE_ELEMENT___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE_BASE;
+
+ /**
+ * The operation id for the '<em>Update All</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LEFT_HAND_SIDE___UPDATE_ALL__ELIST_ELIST = ASSIGNABLE_ELEMENT___UPDATE_ALL__ELIST_ELIST;
+
+ /**
+ * The operation id for the '<em>Common Ancestor</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LEFT_HAND_SIDE___COMMON_ANCESTOR__ELIST = ASSIGNABLE_ELEMENT___COMMON_ANCESTOR__ELIST;
+
+ /**
+ * The operation id for the '<em>Common Ancestors</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LEFT_HAND_SIDE___COMMON_ANCESTORS__ELIST = ASSIGNABLE_ELEMENT___COMMON_ANCESTORS__ELIST;
+
+ /**
+ * The operation id for the '<em>Remove Duplicate Elements</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LEFT_HAND_SIDE___REMOVE_DUPLICATE_ELEMENTS__ELIST = ASSIGNABLE_ELEMENT___REMOVE_DUPLICATE_ELEMENTS__ELIST;
+
+ /**
+ * The operation id for the '<em>Resolve In Library</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LEFT_HAND_SIDE___RESOLVE_IN_LIBRARY__STRING = ASSIGNABLE_ELEMENT___RESOLVE_IN_LIBRARY__STRING;
+
+ /**
+ * The operation id for the '<em>Primitive Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LEFT_HAND_SIDE___PRIMITIVE_TYPE__STRING = ASSIGNABLE_ELEMENT___PRIMITIVE_TYPE__STRING;
+
+ /**
+ * The operation id for the '<em>Primitive Type </em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LEFT_HAND_SIDE___PRIMITIVE_TYPE____STRING = ASSIGNABLE_ELEMENT___PRIMITIVE_TYPE____STRING;
+
+ /**
+ * The operation id for the '<em>Boolean Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LEFT_HAND_SIDE___BOOLEAN_TYPE = ASSIGNABLE_ELEMENT___BOOLEAN_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Boolean Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LEFT_HAND_SIDE___IS_BOOLEAN_TYPE__ELEMENTREFERENCE = ASSIGNABLE_ELEMENT___IS_BOOLEAN_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Integer Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LEFT_HAND_SIDE___INTEGER_TYPE = ASSIGNABLE_ELEMENT___INTEGER_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Integer Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LEFT_HAND_SIDE___IS_INTEGER_TYPE__ELEMENTREFERENCE = ASSIGNABLE_ELEMENT___IS_INTEGER_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LEFT_HAND_SIDE___STRING_TYPE = ASSIGNABLE_ELEMENT___STRING_TYPE;
+
+ /**
+ * The operation id for the '<em>Is String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LEFT_HAND_SIDE___IS_STRING_TYPE__ELEMENTREFERENCE = ASSIGNABLE_ELEMENT___IS_STRING_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Unlimited Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LEFT_HAND_SIDE___UNLIMITED_NATURAL_TYPE = ASSIGNABLE_ELEMENT___UNLIMITED_NATURAL_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Unlimited Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LEFT_HAND_SIDE___IS_UNLIMITED_NATURAL_TYPE__ELEMENTREFERENCE = ASSIGNABLE_ELEMENT___IS_UNLIMITED_NATURAL_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Bit String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LEFT_HAND_SIDE___BIT_STRING_TYPE = ASSIGNABLE_ELEMENT___BIT_STRING_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Bit String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LEFT_HAND_SIDE___IS_BIT_STRING_TYPE__ELEMENTREFERENCE = ASSIGNABLE_ELEMENT___IS_BIT_STRING_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LEFT_HAND_SIDE___NATURAL_TYPE = ASSIGNABLE_ELEMENT___NATURAL_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LEFT_HAND_SIDE___IS_NATURAL_TYPE__ELEMENTREFERENCE = ASSIGNABLE_ELEMENT___IS_NATURAL_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Numeric Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LEFT_HAND_SIDE___IS_NUMERIC_TYPE__ELEMENTREFERENCE = ASSIGNABLE_ELEMENT___IS_NUMERIC_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Collection Function Add</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LEFT_HAND_SIDE___COLLECTION_FUNCTION_ADD = ASSIGNABLE_ELEMENT___COLLECTION_FUNCTION_ADD;
+
+ /**
+ * The operation id for the '<em>Is Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LEFT_HAND_SIDE___IS_COLLECTION_CLASS__ELEMENTREFERENCE = ASSIGNABLE_ELEMENT___IS_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Integer Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LEFT_HAND_SIDE___IS_INTEGER_COLLECTION_CLASS__ELEMENTREFERENCE = ASSIGNABLE_ELEMENT___IS_INTEGER_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Bit String Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LEFT_HAND_SIDE___IS_BIT_STRING_COLLECTION_CLASS__ELEMENTREFERENCE = ASSIGNABLE_ELEMENT___IS_BIT_STRING_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Type Cached</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LEFT_HAND_SIDE___TYPE_CACHED = ASSIGNABLE_ELEMENT___TYPE_CACHED;
+
+ /**
+ * The operation id for the '<em>Is Null</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LEFT_HAND_SIDE___IS_NULL = ASSIGNABLE_ELEMENT___IS_NULL;
+
+ /**
+ * The operation id for the '<em>Is Assignable From Element</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LEFT_HAND_SIDE___IS_ASSIGNABLE_FROM_ELEMENT__ELEMENTREFERENCE = ASSIGNABLE_ELEMENT___IS_ASSIGNABLE_FROM_ELEMENT__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Assignable From</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LEFT_HAND_SIDE___IS_ASSIGNABLE_FROM__ASSIGNABLEELEMENT = ASSIGNABLE_ELEMENT___IS_ASSIGNABLE_FROM__ASSIGNABLEELEMENT;
+
+ /**
+ * The operation id for the '<em>Is Type Conformant With</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LEFT_HAND_SIDE___IS_TYPE_CONFORMANT_WITH__ASSIGNABLEELEMENT = ASSIGNABLE_ELEMENT___IS_TYPE_CONFORMANT_WITH__ASSIGNABLEELEMENT;
+
+ /**
+ * The operation id for the '<em>Is Conformant With Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LEFT_HAND_SIDE___IS_CONFORMANT_WITH_TYPE__ELEMENTREFERENCE = ASSIGNABLE_ELEMENT___IS_CONFORMANT_WITH_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Multiplicity Conformant With</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LEFT_HAND_SIDE___IS_MULTIPLICITY_CONFORMANT_WITH__ASSIGNABLEELEMENT = ASSIGNABLE_ELEMENT___IS_MULTIPLICITY_CONFORMANT_WITH__ASSIGNABLEELEMENT;
+
+ /**
+ * The operation id for the '<em>Assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LEFT_HAND_SIDE___ASSIGNMENTS_BEFORE__SYNTAXELEMENT = ASSIGNABLE_ELEMENT_OPERATION_COUNT + 0;
+
+ /**
+ * The operation id for the '<em>Assignments After</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LEFT_HAND_SIDE___ASSIGNMENTS_AFTER = ASSIGNABLE_ELEMENT_OPERATION_COUNT + 1;
+
+ /**
+ * The operation id for the '<em>Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LEFT_HAND_SIDE___TYPE = ASSIGNABLE_ELEMENT_OPERATION_COUNT + 2;
+
+ /**
+ * The operation id for the '<em>Left Hand Side type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LEFT_HAND_SIDE___LEFT_HAND_SIDE_TYPE = ASSIGNABLE_ELEMENT_OPERATION_COUNT + 3;
+
+ /**
+ * The operation id for the '<em>Upper</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LEFT_HAND_SIDE___UPPER = ASSIGNABLE_ELEMENT_OPERATION_COUNT + 4;
+
+ /**
+ * The operation id for the '<em>Left Hand Side upper</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LEFT_HAND_SIDE___LEFT_HAND_SIDE_UPPER = ASSIGNABLE_ELEMENT_OPERATION_COUNT + 5;
+
+ /**
+ * The operation id for the '<em>Lower</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LEFT_HAND_SIDE___LOWER = ASSIGNABLE_ELEMENT_OPERATION_COUNT + 6;
+
+ /**
+ * The operation id for the '<em>Left Hand Side lower</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LEFT_HAND_SIDE___LEFT_HAND_SIDE_LOWER = ASSIGNABLE_ELEMENT_OPERATION_COUNT + 7;
+
+ /**
+ * The operation id for the '<em>Referent</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LEFT_HAND_SIDE___REFERENT = ASSIGNABLE_ELEMENT_OPERATION_COUNT + 8;
+
+ /**
+ * The operation id for the '<em>Assigned Name</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LEFT_HAND_SIDE___ASSIGNED_NAME = ASSIGNABLE_ELEMENT_OPERATION_COUNT + 9;
+
+ /**
+ * The operation id for the '<em>Local Name</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LEFT_HAND_SIDE___LOCAL_NAME = ASSIGNABLE_ELEMENT_OPERATION_COUNT + 10;
+
+ /**
+ * The operation id for the '<em>Feature</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LEFT_HAND_SIDE___FEATURE = ASSIGNABLE_ELEMENT_OPERATION_COUNT + 11;
+
+ /**
+ * The operation id for the '<em>Expression</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LEFT_HAND_SIDE___EXPRESSION = ASSIGNABLE_ELEMENT_OPERATION_COUNT + 12;
+
+ /**
+ * The operation id for the '<em>Is Data Value Update</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LEFT_HAND_SIDE___IS_DATA_VALUE_UPDATE = ASSIGNABLE_ELEMENT_OPERATION_COUNT + 13;
+
+ /**
+ * The operation id for the '<em>Left Hand Side Index Expression</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LEFT_HAND_SIDE___LEFT_HAND_SIDE_INDEX_EXPRESSION__DIAGNOSTICCHAIN_MAP = ASSIGNABLE_ELEMENT_OPERATION_COUNT + 14;
+
+ /**
+ * The operation id for the '<em>Index</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LEFT_HAND_SIDE___INDEX = ASSIGNABLE_ELEMENT_OPERATION_COUNT + 15;
+
+ /**
+ * The number of operations of the '<em>Left Hand Side</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LEFT_HAND_SIDE_OPERATION_COUNT = ASSIGNABLE_ELEMENT_OPERATION_COUNT + 16;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.uml.alf.impl.SequenceAccessExpressionImpl <em>Sequence Access Expression</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.uml.alf.impl.SequenceAccessExpressionImpl
+ * @see org.eclipse.papyrus.uml.alf.impl.AlfPackageImpl#getSequenceAccessExpression()
+ * @generated
+ */
+ int SEQUENCE_ACCESS_EXPRESSION = 33;
+
+ /**
+ * The feature id for the '<em><b>Owner</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_ACCESS_EXPRESSION__OWNER = EXPRESSION__OWNER;
+
+ /**
+ * The feature id for the '<em><b>Upper</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_ACCESS_EXPRESSION__UPPER = EXPRESSION__UPPER;
+
+ /**
+ * The feature id for the '<em><b>Lower</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_ACCESS_EXPRESSION__LOWER = EXPRESSION__LOWER;
+
+ /**
+ * The feature id for the '<em><b>Type</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_ACCESS_EXPRESSION__TYPE = EXPRESSION__TYPE;
+
+ /**
+ * The feature id for the '<em><b>Assignment Before</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_ACCESS_EXPRESSION__ASSIGNMENT_BEFORE = EXPRESSION__ASSIGNMENT_BEFORE;
+
+ /**
+ * The feature id for the '<em><b>Assignment After</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_ACCESS_EXPRESSION__ASSIGNMENT_AFTER = EXPRESSION__ASSIGNMENT_AFTER;
+
+ /**
+ * The feature id for the '<em><b>Primary</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_ACCESS_EXPRESSION__PRIMARY = EXPRESSION_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Index</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_ACCESS_EXPRESSION__INDEX = EXPRESSION_FEATURE_COUNT + 1;
+
+ /**
+ * The number of structural features of the '<em>Sequence Access Expression</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_ACCESS_EXPRESSION_FEATURE_COUNT = EXPRESSION_FEATURE_COUNT + 2;
+
+ /**
+ * The operation id for the '<em>To Reference</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_ACCESS_EXPRESSION___TO_REFERENCE = EXPRESSION___TO_REFERENCE;
+
+ /**
+ * The operation id for the '<em>Owner</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_ACCESS_EXPRESSION___OWNER = EXPRESSION___OWNER;
+
+ /**
+ * The operation id for the '<em>Syntax Element owner</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_ACCESS_EXPRESSION___SYNTAX_ELEMENT_OWNER = EXPRESSION___SYNTAX_ELEMENT_OWNER;
+
+ /**
+ * The operation id for the '<em>Current Scope</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_ACCESS_EXPRESSION___CURRENT_SCOPE = EXPRESSION___CURRENT_SCOPE;
+
+ /**
+ * The operation id for the '<em>Syntax Element current Scope</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_ACCESS_EXPRESSION___SYNTAX_ELEMENT_CURRENT_SCOPE = EXPRESSION___SYNTAX_ELEMENT_CURRENT_SCOPE;
+
+ /**
+ * The operation id for the '<em>Enclosing Statement</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_ACCESS_EXPRESSION___ENCLOSING_STATEMENT = EXPRESSION___ENCLOSING_STATEMENT;
+
+ /**
+ * The operation id for the '<em>Enclosing Expression</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_ACCESS_EXPRESSION___ENCLOSING_EXPRESSION = EXPRESSION___ENCLOSING_EXPRESSION;
+
+ /**
+ * The operation id for the '<em>Assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_ACCESS_EXPRESSION___ASSIGNMENTS_BEFORE = EXPRESSION___ASSIGNMENTS_BEFORE;
+
+ /**
+ * The operation id for the '<em>Syntax Element assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_ACCESS_EXPRESSION___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE = EXPRESSION___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE;
+
+ /**
+ * The operation id for the '<em>Syntax Element assignments Before base</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_ACCESS_EXPRESSION___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE_BASE = EXPRESSION___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE_BASE;
+
+ /**
+ * The operation id for the '<em>Assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_ACCESS_EXPRESSION___ASSIGNMENTS_BEFORE__SYNTAXELEMENT = EXPRESSION___ASSIGNMENTS_BEFORE__SYNTAXELEMENT;
+
+ /**
+ * The operation id for the '<em>Update All</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_ACCESS_EXPRESSION___UPDATE_ALL__ELIST_ELIST = EXPRESSION___UPDATE_ALL__ELIST_ELIST;
+
+ /**
+ * The operation id for the '<em>Common Ancestor</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_ACCESS_EXPRESSION___COMMON_ANCESTOR__ELIST = EXPRESSION___COMMON_ANCESTOR__ELIST;
+
+ /**
+ * The operation id for the '<em>Common Ancestors</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_ACCESS_EXPRESSION___COMMON_ANCESTORS__ELIST = EXPRESSION___COMMON_ANCESTORS__ELIST;
+
+ /**
+ * The operation id for the '<em>Remove Duplicate Elements</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_ACCESS_EXPRESSION___REMOVE_DUPLICATE_ELEMENTS__ELIST = EXPRESSION___REMOVE_DUPLICATE_ELEMENTS__ELIST;
+
+ /**
+ * The operation id for the '<em>Resolve In Library</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_ACCESS_EXPRESSION___RESOLVE_IN_LIBRARY__STRING = EXPRESSION___RESOLVE_IN_LIBRARY__STRING;
+
+ /**
+ * The operation id for the '<em>Primitive Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_ACCESS_EXPRESSION___PRIMITIVE_TYPE__STRING = EXPRESSION___PRIMITIVE_TYPE__STRING;
+
+ /**
+ * The operation id for the '<em>Primitive Type </em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_ACCESS_EXPRESSION___PRIMITIVE_TYPE____STRING = EXPRESSION___PRIMITIVE_TYPE____STRING;
+
+ /**
+ * The operation id for the '<em>Boolean Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_ACCESS_EXPRESSION___BOOLEAN_TYPE = EXPRESSION___BOOLEAN_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Boolean Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_ACCESS_EXPRESSION___IS_BOOLEAN_TYPE__ELEMENTREFERENCE = EXPRESSION___IS_BOOLEAN_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Integer Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_ACCESS_EXPRESSION___INTEGER_TYPE = EXPRESSION___INTEGER_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Integer Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_ACCESS_EXPRESSION___IS_INTEGER_TYPE__ELEMENTREFERENCE = EXPRESSION___IS_INTEGER_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_ACCESS_EXPRESSION___STRING_TYPE = EXPRESSION___STRING_TYPE;
+
+ /**
+ * The operation id for the '<em>Is String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_ACCESS_EXPRESSION___IS_STRING_TYPE__ELEMENTREFERENCE = EXPRESSION___IS_STRING_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Unlimited Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_ACCESS_EXPRESSION___UNLIMITED_NATURAL_TYPE = EXPRESSION___UNLIMITED_NATURAL_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Unlimited Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_ACCESS_EXPRESSION___IS_UNLIMITED_NATURAL_TYPE__ELEMENTREFERENCE = EXPRESSION___IS_UNLIMITED_NATURAL_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Bit String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_ACCESS_EXPRESSION___BIT_STRING_TYPE = EXPRESSION___BIT_STRING_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Bit String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_ACCESS_EXPRESSION___IS_BIT_STRING_TYPE__ELEMENTREFERENCE = EXPRESSION___IS_BIT_STRING_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_ACCESS_EXPRESSION___NATURAL_TYPE = EXPRESSION___NATURAL_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_ACCESS_EXPRESSION___IS_NATURAL_TYPE__ELEMENTREFERENCE = EXPRESSION___IS_NATURAL_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Numeric Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_ACCESS_EXPRESSION___IS_NUMERIC_TYPE__ELEMENTREFERENCE = EXPRESSION___IS_NUMERIC_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Collection Function Add</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_ACCESS_EXPRESSION___COLLECTION_FUNCTION_ADD = EXPRESSION___COLLECTION_FUNCTION_ADD;
+
+ /**
+ * The operation id for the '<em>Is Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_ACCESS_EXPRESSION___IS_COLLECTION_CLASS__ELEMENTREFERENCE = EXPRESSION___IS_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Integer Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_ACCESS_EXPRESSION___IS_INTEGER_COLLECTION_CLASS__ELEMENTREFERENCE = EXPRESSION___IS_INTEGER_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Bit String Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_ACCESS_EXPRESSION___IS_BIT_STRING_COLLECTION_CLASS__ELEMENTREFERENCE = EXPRESSION___IS_BIT_STRING_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Type Cached</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_ACCESS_EXPRESSION___TYPE_CACHED = EXPRESSION___TYPE_CACHED;
+
+ /**
+ * The operation id for the '<em>Is Null</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_ACCESS_EXPRESSION___IS_NULL = EXPRESSION___IS_NULL;
+
+ /**
+ * The operation id for the '<em>Is Assignable From Element</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_ACCESS_EXPRESSION___IS_ASSIGNABLE_FROM_ELEMENT__ELEMENTREFERENCE = EXPRESSION___IS_ASSIGNABLE_FROM_ELEMENT__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Assignable From</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_ACCESS_EXPRESSION___IS_ASSIGNABLE_FROM__ASSIGNABLEELEMENT = EXPRESSION___IS_ASSIGNABLE_FROM__ASSIGNABLEELEMENT;
+
+ /**
+ * The operation id for the '<em>Is Type Conformant With</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_ACCESS_EXPRESSION___IS_TYPE_CONFORMANT_WITH__ASSIGNABLEELEMENT = EXPRESSION___IS_TYPE_CONFORMANT_WITH__ASSIGNABLEELEMENT;
+
+ /**
+ * The operation id for the '<em>Is Conformant With Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_ACCESS_EXPRESSION___IS_CONFORMANT_WITH_TYPE__ELEMENTREFERENCE = EXPRESSION___IS_CONFORMANT_WITH_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Multiplicity Conformant With</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_ACCESS_EXPRESSION___IS_MULTIPLICITY_CONFORMANT_WITH__ASSIGNABLEELEMENT = EXPRESSION___IS_MULTIPLICITY_CONFORMANT_WITH__ASSIGNABLEELEMENT;
+
+ /**
+ * The operation id for the '<em>New Assignments</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_ACCESS_EXPRESSION___NEW_ASSIGNMENTS = EXPRESSION___NEW_ASSIGNMENTS;
+
+ /**
+ * The operation id for the '<em>Expression update Assignments</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_ACCESS_EXPRESSION___EXPRESSION_UPDATE_ASSIGNMENTS = EXPRESSION___EXPRESSION_UPDATE_ASSIGNMENTS;
+
+ /**
+ * The operation id for the '<em>Update Assignments Cached</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_ACCESS_EXPRESSION___UPDATE_ASSIGNMENTS_CACHED = EXPRESSION___UPDATE_ASSIGNMENTS_CACHED;
+
+ /**
+ * The operation id for the '<em>Resolve</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_ACCESS_EXPRESSION___RESOLVE__STRING = EXPRESSION___RESOLVE__STRING;
+
+ /**
+ * The operation id for the '<em>Is Add Target</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_ACCESS_EXPRESSION___IS_ADD_TARGET__EXPRESSION = EXPRESSION___IS_ADD_TARGET__EXPRESSION;
+
+ /**
+ * The operation id for the '<em>Expression Assignment After Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_ACCESS_EXPRESSION___EXPRESSION_ASSIGNMENT_AFTER_DERIVATION__DIAGNOSTICCHAIN_MAP = EXPRESSION___EXPRESSION_ASSIGNMENT_AFTER_DERIVATION__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Expression Unique Assignments</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_ACCESS_EXPRESSION___EXPRESSION_UNIQUE_ASSIGNMENTS__DIAGNOSTICCHAIN_MAP = EXPRESSION___EXPRESSION_UNIQUE_ASSIGNMENTS__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_ACCESS_EXPRESSION___TYPE = EXPRESSION_OPERATION_COUNT + 0;
+
+ /**
+ * The operation id for the '<em>Lower</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_ACCESS_EXPRESSION___LOWER = EXPRESSION_OPERATION_COUNT + 1;
+
+ /**
+ * The operation id for the '<em>Upper</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_ACCESS_EXPRESSION___UPPER = EXPRESSION_OPERATION_COUNT + 2;
+
+ /**
+ * The operation id for the '<em>Update Assignments</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_ACCESS_EXPRESSION___UPDATE_ASSIGNMENTS = EXPRESSION_OPERATION_COUNT + 3;
+
+ /**
+ * The operation id for the '<em>Sequence Access Expression Type Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_ACCESS_EXPRESSION___SEQUENCE_ACCESS_EXPRESSION_TYPE_DERIVATION__DIAGNOSTICCHAIN_MAP = EXPRESSION_OPERATION_COUNT + 4;
+
+ /**
+ * The operation id for the '<em>Sequence Access Expression Lower Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_ACCESS_EXPRESSION___SEQUENCE_ACCESS_EXPRESSION_LOWER_DERIVATION__DIAGNOSTICCHAIN_MAP = EXPRESSION_OPERATION_COUNT + 5;
+
+ /**
+ * The operation id for the '<em>Sequence Access Expression Upper Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_ACCESS_EXPRESSION___SEQUENCE_ACCESS_EXPRESSION_UPPER_DERIVATION__DIAGNOSTICCHAIN_MAP = EXPRESSION_OPERATION_COUNT + 6;
+
+ /**
+ * The operation id for the '<em>Sequence Access Expression Index Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_ACCESS_EXPRESSION___SEQUENCE_ACCESS_EXPRESSION_INDEX_TYPE__DIAGNOSTICCHAIN_MAP = EXPRESSION_OPERATION_COUNT + 7;
+
+ /**
+ * The operation id for the '<em>Sequence Access Expression Index Multiplicity</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_ACCESS_EXPRESSION___SEQUENCE_ACCESS_EXPRESSION_INDEX_MULTIPLICITY__DIAGNOSTICCHAIN_MAP = EXPRESSION_OPERATION_COUNT + 8;
+
+ /**
+ * The number of operations of the '<em>Sequence Access Expression</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_ACCESS_EXPRESSION_OPERATION_COUNT = EXPRESSION_OPERATION_COUNT + 9;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.uml.alf.impl.LiteralExpressionImpl <em>Literal Expression</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.uml.alf.impl.LiteralExpressionImpl
+ * @see org.eclipse.papyrus.uml.alf.impl.AlfPackageImpl#getLiteralExpression()
+ * @generated
+ */
+ int LITERAL_EXPRESSION = 35;
+
+ /**
+ * The feature id for the '<em><b>Owner</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LITERAL_EXPRESSION__OWNER = EXPRESSION__OWNER;
+
+ /**
+ * The feature id for the '<em><b>Upper</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LITERAL_EXPRESSION__UPPER = EXPRESSION__UPPER;
+
+ /**
+ * The feature id for the '<em><b>Lower</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LITERAL_EXPRESSION__LOWER = EXPRESSION__LOWER;
+
+ /**
+ * The feature id for the '<em><b>Type</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LITERAL_EXPRESSION__TYPE = EXPRESSION__TYPE;
+
+ /**
+ * The feature id for the '<em><b>Assignment Before</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LITERAL_EXPRESSION__ASSIGNMENT_BEFORE = EXPRESSION__ASSIGNMENT_BEFORE;
+
+ /**
+ * The feature id for the '<em><b>Assignment After</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LITERAL_EXPRESSION__ASSIGNMENT_AFTER = EXPRESSION__ASSIGNMENT_AFTER;
+
+ /**
+ * The number of structural features of the '<em>Literal Expression</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LITERAL_EXPRESSION_FEATURE_COUNT = EXPRESSION_FEATURE_COUNT + 0;
+
+ /**
+ * The operation id for the '<em>To Reference</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LITERAL_EXPRESSION___TO_REFERENCE = EXPRESSION___TO_REFERENCE;
+
+ /**
+ * The operation id for the '<em>Owner</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LITERAL_EXPRESSION___OWNER = EXPRESSION___OWNER;
+
+ /**
+ * The operation id for the '<em>Syntax Element owner</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LITERAL_EXPRESSION___SYNTAX_ELEMENT_OWNER = EXPRESSION___SYNTAX_ELEMENT_OWNER;
+
+ /**
+ * The operation id for the '<em>Current Scope</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LITERAL_EXPRESSION___CURRENT_SCOPE = EXPRESSION___CURRENT_SCOPE;
+
+ /**
+ * The operation id for the '<em>Syntax Element current Scope</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LITERAL_EXPRESSION___SYNTAX_ELEMENT_CURRENT_SCOPE = EXPRESSION___SYNTAX_ELEMENT_CURRENT_SCOPE;
+
+ /**
+ * The operation id for the '<em>Enclosing Statement</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LITERAL_EXPRESSION___ENCLOSING_STATEMENT = EXPRESSION___ENCLOSING_STATEMENT;
+
+ /**
+ * The operation id for the '<em>Enclosing Expression</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LITERAL_EXPRESSION___ENCLOSING_EXPRESSION = EXPRESSION___ENCLOSING_EXPRESSION;
+
+ /**
+ * The operation id for the '<em>Assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LITERAL_EXPRESSION___ASSIGNMENTS_BEFORE = EXPRESSION___ASSIGNMENTS_BEFORE;
+
+ /**
+ * The operation id for the '<em>Syntax Element assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LITERAL_EXPRESSION___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE = EXPRESSION___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE;
+
+ /**
+ * The operation id for the '<em>Syntax Element assignments Before base</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LITERAL_EXPRESSION___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE_BASE = EXPRESSION___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE_BASE;
+
+ /**
+ * The operation id for the '<em>Assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LITERAL_EXPRESSION___ASSIGNMENTS_BEFORE__SYNTAXELEMENT = EXPRESSION___ASSIGNMENTS_BEFORE__SYNTAXELEMENT;
+
+ /**
+ * The operation id for the '<em>Update All</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LITERAL_EXPRESSION___UPDATE_ALL__ELIST_ELIST = EXPRESSION___UPDATE_ALL__ELIST_ELIST;
+
+ /**
+ * The operation id for the '<em>Common Ancestor</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LITERAL_EXPRESSION___COMMON_ANCESTOR__ELIST = EXPRESSION___COMMON_ANCESTOR__ELIST;
+
+ /**
+ * The operation id for the '<em>Common Ancestors</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LITERAL_EXPRESSION___COMMON_ANCESTORS__ELIST = EXPRESSION___COMMON_ANCESTORS__ELIST;
+
+ /**
+ * The operation id for the '<em>Remove Duplicate Elements</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LITERAL_EXPRESSION___REMOVE_DUPLICATE_ELEMENTS__ELIST = EXPRESSION___REMOVE_DUPLICATE_ELEMENTS__ELIST;
+
+ /**
+ * The operation id for the '<em>Resolve In Library</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LITERAL_EXPRESSION___RESOLVE_IN_LIBRARY__STRING = EXPRESSION___RESOLVE_IN_LIBRARY__STRING;
+
+ /**
+ * The operation id for the '<em>Primitive Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LITERAL_EXPRESSION___PRIMITIVE_TYPE__STRING = EXPRESSION___PRIMITIVE_TYPE__STRING;
+
+ /**
+ * The operation id for the '<em>Primitive Type </em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LITERAL_EXPRESSION___PRIMITIVE_TYPE____STRING = EXPRESSION___PRIMITIVE_TYPE____STRING;
+
+ /**
+ * The operation id for the '<em>Boolean Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LITERAL_EXPRESSION___BOOLEAN_TYPE = EXPRESSION___BOOLEAN_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Boolean Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LITERAL_EXPRESSION___IS_BOOLEAN_TYPE__ELEMENTREFERENCE = EXPRESSION___IS_BOOLEAN_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Integer Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LITERAL_EXPRESSION___INTEGER_TYPE = EXPRESSION___INTEGER_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Integer Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LITERAL_EXPRESSION___IS_INTEGER_TYPE__ELEMENTREFERENCE = EXPRESSION___IS_INTEGER_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LITERAL_EXPRESSION___STRING_TYPE = EXPRESSION___STRING_TYPE;
+
+ /**
+ * The operation id for the '<em>Is String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LITERAL_EXPRESSION___IS_STRING_TYPE__ELEMENTREFERENCE = EXPRESSION___IS_STRING_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Unlimited Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LITERAL_EXPRESSION___UNLIMITED_NATURAL_TYPE = EXPRESSION___UNLIMITED_NATURAL_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Unlimited Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LITERAL_EXPRESSION___IS_UNLIMITED_NATURAL_TYPE__ELEMENTREFERENCE = EXPRESSION___IS_UNLIMITED_NATURAL_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Bit String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LITERAL_EXPRESSION___BIT_STRING_TYPE = EXPRESSION___BIT_STRING_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Bit String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LITERAL_EXPRESSION___IS_BIT_STRING_TYPE__ELEMENTREFERENCE = EXPRESSION___IS_BIT_STRING_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LITERAL_EXPRESSION___NATURAL_TYPE = EXPRESSION___NATURAL_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LITERAL_EXPRESSION___IS_NATURAL_TYPE__ELEMENTREFERENCE = EXPRESSION___IS_NATURAL_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Numeric Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LITERAL_EXPRESSION___IS_NUMERIC_TYPE__ELEMENTREFERENCE = EXPRESSION___IS_NUMERIC_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Collection Function Add</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LITERAL_EXPRESSION___COLLECTION_FUNCTION_ADD = EXPRESSION___COLLECTION_FUNCTION_ADD;
+
+ /**
+ * The operation id for the '<em>Is Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LITERAL_EXPRESSION___IS_COLLECTION_CLASS__ELEMENTREFERENCE = EXPRESSION___IS_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Integer Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LITERAL_EXPRESSION___IS_INTEGER_COLLECTION_CLASS__ELEMENTREFERENCE = EXPRESSION___IS_INTEGER_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Bit String Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LITERAL_EXPRESSION___IS_BIT_STRING_COLLECTION_CLASS__ELEMENTREFERENCE = EXPRESSION___IS_BIT_STRING_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Type Cached</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LITERAL_EXPRESSION___TYPE_CACHED = EXPRESSION___TYPE_CACHED;
+
+ /**
+ * The operation id for the '<em>Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LITERAL_EXPRESSION___TYPE = EXPRESSION___TYPE;
+
+ /**
+ * The operation id for the '<em>Is Null</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LITERAL_EXPRESSION___IS_NULL = EXPRESSION___IS_NULL;
+
+ /**
+ * The operation id for the '<em>Is Assignable From Element</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LITERAL_EXPRESSION___IS_ASSIGNABLE_FROM_ELEMENT__ELEMENTREFERENCE = EXPRESSION___IS_ASSIGNABLE_FROM_ELEMENT__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Assignable From</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LITERAL_EXPRESSION___IS_ASSIGNABLE_FROM__ASSIGNABLEELEMENT = EXPRESSION___IS_ASSIGNABLE_FROM__ASSIGNABLEELEMENT;
+
+ /**
+ * The operation id for the '<em>Is Type Conformant With</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LITERAL_EXPRESSION___IS_TYPE_CONFORMANT_WITH__ASSIGNABLEELEMENT = EXPRESSION___IS_TYPE_CONFORMANT_WITH__ASSIGNABLEELEMENT;
+
+ /**
+ * The operation id for the '<em>Is Conformant With Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LITERAL_EXPRESSION___IS_CONFORMANT_WITH_TYPE__ELEMENTREFERENCE = EXPRESSION___IS_CONFORMANT_WITH_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Multiplicity Conformant With</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LITERAL_EXPRESSION___IS_MULTIPLICITY_CONFORMANT_WITH__ASSIGNABLEELEMENT = EXPRESSION___IS_MULTIPLICITY_CONFORMANT_WITH__ASSIGNABLEELEMENT;
+
+ /**
+ * The operation id for the '<em>New Assignments</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LITERAL_EXPRESSION___NEW_ASSIGNMENTS = EXPRESSION___NEW_ASSIGNMENTS;
+
+ /**
+ * The operation id for the '<em>Update Assignments</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LITERAL_EXPRESSION___UPDATE_ASSIGNMENTS = EXPRESSION___UPDATE_ASSIGNMENTS;
+
+ /**
+ * The operation id for the '<em>Expression update Assignments</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LITERAL_EXPRESSION___EXPRESSION_UPDATE_ASSIGNMENTS = EXPRESSION___EXPRESSION_UPDATE_ASSIGNMENTS;
+
+ /**
+ * The operation id for the '<em>Update Assignments Cached</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LITERAL_EXPRESSION___UPDATE_ASSIGNMENTS_CACHED = EXPRESSION___UPDATE_ASSIGNMENTS_CACHED;
+
+ /**
+ * The operation id for the '<em>Resolve</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LITERAL_EXPRESSION___RESOLVE__STRING = EXPRESSION___RESOLVE__STRING;
+
+ /**
+ * The operation id for the '<em>Is Add Target</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LITERAL_EXPRESSION___IS_ADD_TARGET__EXPRESSION = EXPRESSION___IS_ADD_TARGET__EXPRESSION;
+
+ /**
+ * The operation id for the '<em>Expression Assignment After Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LITERAL_EXPRESSION___EXPRESSION_ASSIGNMENT_AFTER_DERIVATION__DIAGNOSTICCHAIN_MAP = EXPRESSION___EXPRESSION_ASSIGNMENT_AFTER_DERIVATION__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Expression Unique Assignments</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LITERAL_EXPRESSION___EXPRESSION_UNIQUE_ASSIGNMENTS__DIAGNOSTICCHAIN_MAP = EXPRESSION___EXPRESSION_UNIQUE_ASSIGNMENTS__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Upper</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LITERAL_EXPRESSION___UPPER = EXPRESSION_OPERATION_COUNT + 0;
+
+ /**
+ * The operation id for the '<em>Lower</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LITERAL_EXPRESSION___LOWER = EXPRESSION_OPERATION_COUNT + 1;
+
+ /**
+ * The operation id for the '<em>Literal Expression Upper Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LITERAL_EXPRESSION___LITERAL_EXPRESSION_UPPER_DERIVATION__DIAGNOSTICCHAIN_MAP = EXPRESSION_OPERATION_COUNT + 2;
+
+ /**
+ * The operation id for the '<em>Literal Expression Lower Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LITERAL_EXPRESSION___LITERAL_EXPRESSION_LOWER_DERIVATION__DIAGNOSTICCHAIN_MAP = EXPRESSION_OPERATION_COUNT + 3;
+
+ /**
+ * The number of operations of the '<em>Literal Expression</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LITERAL_EXPRESSION_OPERATION_COUNT = EXPRESSION_OPERATION_COUNT + 4;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.uml.alf.impl.StringLiteralExpressionImpl <em>String Literal Expression</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.uml.alf.impl.StringLiteralExpressionImpl
+ * @see org.eclipse.papyrus.uml.alf.impl.AlfPackageImpl#getStringLiteralExpression()
+ * @generated
+ */
+ int STRING_LITERAL_EXPRESSION = 34;
+
+ /**
+ * The feature id for the '<em><b>Owner</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int STRING_LITERAL_EXPRESSION__OWNER = LITERAL_EXPRESSION__OWNER;
+
+ /**
+ * The feature id for the '<em><b>Upper</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int STRING_LITERAL_EXPRESSION__UPPER = LITERAL_EXPRESSION__UPPER;
+
+ /**
+ * The feature id for the '<em><b>Lower</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int STRING_LITERAL_EXPRESSION__LOWER = LITERAL_EXPRESSION__LOWER;
+
+ /**
+ * The feature id for the '<em><b>Type</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int STRING_LITERAL_EXPRESSION__TYPE = LITERAL_EXPRESSION__TYPE;
+
+ /**
+ * The feature id for the '<em><b>Assignment Before</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int STRING_LITERAL_EXPRESSION__ASSIGNMENT_BEFORE = LITERAL_EXPRESSION__ASSIGNMENT_BEFORE;
+
+ /**
+ * The feature id for the '<em><b>Assignment After</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int STRING_LITERAL_EXPRESSION__ASSIGNMENT_AFTER = LITERAL_EXPRESSION__ASSIGNMENT_AFTER;
+
+ /**
+ * The feature id for the '<em><b>Image</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int STRING_LITERAL_EXPRESSION__IMAGE = LITERAL_EXPRESSION_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the '<em>String Literal Expression</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int STRING_LITERAL_EXPRESSION_FEATURE_COUNT = LITERAL_EXPRESSION_FEATURE_COUNT + 1;
+
+ /**
+ * The operation id for the '<em>To Reference</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int STRING_LITERAL_EXPRESSION___TO_REFERENCE = LITERAL_EXPRESSION___TO_REFERENCE;
+
+ /**
+ * The operation id for the '<em>Owner</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int STRING_LITERAL_EXPRESSION___OWNER = LITERAL_EXPRESSION___OWNER;
+
+ /**
+ * The operation id for the '<em>Syntax Element owner</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int STRING_LITERAL_EXPRESSION___SYNTAX_ELEMENT_OWNER = LITERAL_EXPRESSION___SYNTAX_ELEMENT_OWNER;
+
+ /**
+ * The operation id for the '<em>Current Scope</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int STRING_LITERAL_EXPRESSION___CURRENT_SCOPE = LITERAL_EXPRESSION___CURRENT_SCOPE;
+
+ /**
+ * The operation id for the '<em>Syntax Element current Scope</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int STRING_LITERAL_EXPRESSION___SYNTAX_ELEMENT_CURRENT_SCOPE = LITERAL_EXPRESSION___SYNTAX_ELEMENT_CURRENT_SCOPE;
+
+ /**
+ * The operation id for the '<em>Enclosing Statement</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int STRING_LITERAL_EXPRESSION___ENCLOSING_STATEMENT = LITERAL_EXPRESSION___ENCLOSING_STATEMENT;
+
+ /**
+ * The operation id for the '<em>Enclosing Expression</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int STRING_LITERAL_EXPRESSION___ENCLOSING_EXPRESSION = LITERAL_EXPRESSION___ENCLOSING_EXPRESSION;
+
+ /**
+ * The operation id for the '<em>Assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int STRING_LITERAL_EXPRESSION___ASSIGNMENTS_BEFORE = LITERAL_EXPRESSION___ASSIGNMENTS_BEFORE;
+
+ /**
+ * The operation id for the '<em>Syntax Element assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int STRING_LITERAL_EXPRESSION___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE = LITERAL_EXPRESSION___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE;
+
+ /**
+ * The operation id for the '<em>Syntax Element assignments Before base</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int STRING_LITERAL_EXPRESSION___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE_BASE = LITERAL_EXPRESSION___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE_BASE;
+
+ /**
+ * The operation id for the '<em>Assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int STRING_LITERAL_EXPRESSION___ASSIGNMENTS_BEFORE__SYNTAXELEMENT = LITERAL_EXPRESSION___ASSIGNMENTS_BEFORE__SYNTAXELEMENT;
+
+ /**
+ * The operation id for the '<em>Update All</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int STRING_LITERAL_EXPRESSION___UPDATE_ALL__ELIST_ELIST = LITERAL_EXPRESSION___UPDATE_ALL__ELIST_ELIST;
+
+ /**
+ * The operation id for the '<em>Common Ancestor</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int STRING_LITERAL_EXPRESSION___COMMON_ANCESTOR__ELIST = LITERAL_EXPRESSION___COMMON_ANCESTOR__ELIST;
+
+ /**
+ * The operation id for the '<em>Common Ancestors</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int STRING_LITERAL_EXPRESSION___COMMON_ANCESTORS__ELIST = LITERAL_EXPRESSION___COMMON_ANCESTORS__ELIST;
+
+ /**
+ * The operation id for the '<em>Remove Duplicate Elements</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int STRING_LITERAL_EXPRESSION___REMOVE_DUPLICATE_ELEMENTS__ELIST = LITERAL_EXPRESSION___REMOVE_DUPLICATE_ELEMENTS__ELIST;
+
+ /**
+ * The operation id for the '<em>Resolve In Library</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int STRING_LITERAL_EXPRESSION___RESOLVE_IN_LIBRARY__STRING = LITERAL_EXPRESSION___RESOLVE_IN_LIBRARY__STRING;
+
+ /**
+ * The operation id for the '<em>Primitive Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int STRING_LITERAL_EXPRESSION___PRIMITIVE_TYPE__STRING = LITERAL_EXPRESSION___PRIMITIVE_TYPE__STRING;
+
+ /**
+ * The operation id for the '<em>Primitive Type </em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int STRING_LITERAL_EXPRESSION___PRIMITIVE_TYPE____STRING = LITERAL_EXPRESSION___PRIMITIVE_TYPE____STRING;
+
+ /**
+ * The operation id for the '<em>Boolean Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int STRING_LITERAL_EXPRESSION___BOOLEAN_TYPE = LITERAL_EXPRESSION___BOOLEAN_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Boolean Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int STRING_LITERAL_EXPRESSION___IS_BOOLEAN_TYPE__ELEMENTREFERENCE = LITERAL_EXPRESSION___IS_BOOLEAN_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Integer Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int STRING_LITERAL_EXPRESSION___INTEGER_TYPE = LITERAL_EXPRESSION___INTEGER_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Integer Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int STRING_LITERAL_EXPRESSION___IS_INTEGER_TYPE__ELEMENTREFERENCE = LITERAL_EXPRESSION___IS_INTEGER_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int STRING_LITERAL_EXPRESSION___STRING_TYPE = LITERAL_EXPRESSION___STRING_TYPE;
+
+ /**
+ * The operation id for the '<em>Is String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int STRING_LITERAL_EXPRESSION___IS_STRING_TYPE__ELEMENTREFERENCE = LITERAL_EXPRESSION___IS_STRING_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Unlimited Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int STRING_LITERAL_EXPRESSION___UNLIMITED_NATURAL_TYPE = LITERAL_EXPRESSION___UNLIMITED_NATURAL_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Unlimited Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int STRING_LITERAL_EXPRESSION___IS_UNLIMITED_NATURAL_TYPE__ELEMENTREFERENCE = LITERAL_EXPRESSION___IS_UNLIMITED_NATURAL_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Bit String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int STRING_LITERAL_EXPRESSION___BIT_STRING_TYPE = LITERAL_EXPRESSION___BIT_STRING_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Bit String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int STRING_LITERAL_EXPRESSION___IS_BIT_STRING_TYPE__ELEMENTREFERENCE = LITERAL_EXPRESSION___IS_BIT_STRING_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int STRING_LITERAL_EXPRESSION___NATURAL_TYPE = LITERAL_EXPRESSION___NATURAL_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int STRING_LITERAL_EXPRESSION___IS_NATURAL_TYPE__ELEMENTREFERENCE = LITERAL_EXPRESSION___IS_NATURAL_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Numeric Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int STRING_LITERAL_EXPRESSION___IS_NUMERIC_TYPE__ELEMENTREFERENCE = LITERAL_EXPRESSION___IS_NUMERIC_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Collection Function Add</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int STRING_LITERAL_EXPRESSION___COLLECTION_FUNCTION_ADD = LITERAL_EXPRESSION___COLLECTION_FUNCTION_ADD;
+
+ /**
+ * The operation id for the '<em>Is Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int STRING_LITERAL_EXPRESSION___IS_COLLECTION_CLASS__ELEMENTREFERENCE = LITERAL_EXPRESSION___IS_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Integer Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int STRING_LITERAL_EXPRESSION___IS_INTEGER_COLLECTION_CLASS__ELEMENTREFERENCE = LITERAL_EXPRESSION___IS_INTEGER_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Bit String Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int STRING_LITERAL_EXPRESSION___IS_BIT_STRING_COLLECTION_CLASS__ELEMENTREFERENCE = LITERAL_EXPRESSION___IS_BIT_STRING_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Type Cached</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int STRING_LITERAL_EXPRESSION___TYPE_CACHED = LITERAL_EXPRESSION___TYPE_CACHED;
+
+ /**
+ * The operation id for the '<em>Is Null</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int STRING_LITERAL_EXPRESSION___IS_NULL = LITERAL_EXPRESSION___IS_NULL;
+
+ /**
+ * The operation id for the '<em>Is Assignable From Element</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int STRING_LITERAL_EXPRESSION___IS_ASSIGNABLE_FROM_ELEMENT__ELEMENTREFERENCE = LITERAL_EXPRESSION___IS_ASSIGNABLE_FROM_ELEMENT__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Assignable From</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int STRING_LITERAL_EXPRESSION___IS_ASSIGNABLE_FROM__ASSIGNABLEELEMENT = LITERAL_EXPRESSION___IS_ASSIGNABLE_FROM__ASSIGNABLEELEMENT;
+
+ /**
+ * The operation id for the '<em>Is Type Conformant With</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int STRING_LITERAL_EXPRESSION___IS_TYPE_CONFORMANT_WITH__ASSIGNABLEELEMENT = LITERAL_EXPRESSION___IS_TYPE_CONFORMANT_WITH__ASSIGNABLEELEMENT;
+
+ /**
+ * The operation id for the '<em>Is Conformant With Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int STRING_LITERAL_EXPRESSION___IS_CONFORMANT_WITH_TYPE__ELEMENTREFERENCE = LITERAL_EXPRESSION___IS_CONFORMANT_WITH_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Multiplicity Conformant With</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int STRING_LITERAL_EXPRESSION___IS_MULTIPLICITY_CONFORMANT_WITH__ASSIGNABLEELEMENT = LITERAL_EXPRESSION___IS_MULTIPLICITY_CONFORMANT_WITH__ASSIGNABLEELEMENT;
+
+ /**
+ * The operation id for the '<em>New Assignments</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int STRING_LITERAL_EXPRESSION___NEW_ASSIGNMENTS = LITERAL_EXPRESSION___NEW_ASSIGNMENTS;
+
+ /**
+ * The operation id for the '<em>Update Assignments</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int STRING_LITERAL_EXPRESSION___UPDATE_ASSIGNMENTS = LITERAL_EXPRESSION___UPDATE_ASSIGNMENTS;
+
+ /**
+ * The operation id for the '<em>Expression update Assignments</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int STRING_LITERAL_EXPRESSION___EXPRESSION_UPDATE_ASSIGNMENTS = LITERAL_EXPRESSION___EXPRESSION_UPDATE_ASSIGNMENTS;
+
+ /**
+ * The operation id for the '<em>Update Assignments Cached</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int STRING_LITERAL_EXPRESSION___UPDATE_ASSIGNMENTS_CACHED = LITERAL_EXPRESSION___UPDATE_ASSIGNMENTS_CACHED;
+
+ /**
+ * The operation id for the '<em>Resolve</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int STRING_LITERAL_EXPRESSION___RESOLVE__STRING = LITERAL_EXPRESSION___RESOLVE__STRING;
+
+ /**
+ * The operation id for the '<em>Is Add Target</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int STRING_LITERAL_EXPRESSION___IS_ADD_TARGET__EXPRESSION = LITERAL_EXPRESSION___IS_ADD_TARGET__EXPRESSION;
+
+ /**
+ * The operation id for the '<em>Expression Assignment After Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int STRING_LITERAL_EXPRESSION___EXPRESSION_ASSIGNMENT_AFTER_DERIVATION__DIAGNOSTICCHAIN_MAP = LITERAL_EXPRESSION___EXPRESSION_ASSIGNMENT_AFTER_DERIVATION__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Expression Unique Assignments</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int STRING_LITERAL_EXPRESSION___EXPRESSION_UNIQUE_ASSIGNMENTS__DIAGNOSTICCHAIN_MAP = LITERAL_EXPRESSION___EXPRESSION_UNIQUE_ASSIGNMENTS__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Upper</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int STRING_LITERAL_EXPRESSION___UPPER = LITERAL_EXPRESSION___UPPER;
+
+ /**
+ * The operation id for the '<em>Lower</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int STRING_LITERAL_EXPRESSION___LOWER = LITERAL_EXPRESSION___LOWER;
+
+ /**
+ * The operation id for the '<em>Literal Expression Upper Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int STRING_LITERAL_EXPRESSION___LITERAL_EXPRESSION_UPPER_DERIVATION__DIAGNOSTICCHAIN_MAP = LITERAL_EXPRESSION___LITERAL_EXPRESSION_UPPER_DERIVATION__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Literal Expression Lower Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int STRING_LITERAL_EXPRESSION___LITERAL_EXPRESSION_LOWER_DERIVATION__DIAGNOSTICCHAIN_MAP = LITERAL_EXPRESSION___LITERAL_EXPRESSION_LOWER_DERIVATION__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int STRING_LITERAL_EXPRESSION___TYPE = LITERAL_EXPRESSION_OPERATION_COUNT + 0;
+
+ /**
+ * The operation id for the '<em>String Literal Expression Type Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int STRING_LITERAL_EXPRESSION___STRING_LITERAL_EXPRESSION_TYPE_DERIVATION__DIAGNOSTICCHAIN_MAP = LITERAL_EXPRESSION_OPERATION_COUNT + 1;
+
+ /**
+ * The number of operations of the '<em>String Literal Expression</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int STRING_LITERAL_EXPRESSION_OPERATION_COUNT = LITERAL_EXPRESSION_OPERATION_COUNT + 2;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.uml.alf.impl.SequenceOperationExpressionImpl <em>Sequence Operation Expression</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.uml.alf.impl.SequenceOperationExpressionImpl
+ * @see org.eclipse.papyrus.uml.alf.impl.AlfPackageImpl#getSequenceOperationExpression()
+ * @generated
+ */
+ int SEQUENCE_OPERATION_EXPRESSION = 36;
+
+ /**
+ * The feature id for the '<em><b>Owner</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_OPERATION_EXPRESSION__OWNER = INVOCATION_EXPRESSION__OWNER;
+
+ /**
+ * The feature id for the '<em><b>Upper</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_OPERATION_EXPRESSION__UPPER = INVOCATION_EXPRESSION__UPPER;
+
+ /**
+ * The feature id for the '<em><b>Lower</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_OPERATION_EXPRESSION__LOWER = INVOCATION_EXPRESSION__LOWER;
+
+ /**
+ * The feature id for the '<em><b>Type</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_OPERATION_EXPRESSION__TYPE = INVOCATION_EXPRESSION__TYPE;
+
+ /**
+ * The feature id for the '<em><b>Assignment Before</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_OPERATION_EXPRESSION__ASSIGNMENT_BEFORE = INVOCATION_EXPRESSION__ASSIGNMENT_BEFORE;
+
+ /**
+ * The feature id for the '<em><b>Assignment After</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_OPERATION_EXPRESSION__ASSIGNMENT_AFTER = INVOCATION_EXPRESSION__ASSIGNMENT_AFTER;
+
+ /**
+ * The feature id for the '<em><b>Is Behavior</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_OPERATION_EXPRESSION__IS_BEHAVIOR = INVOCATION_EXPRESSION__IS_BEHAVIOR;
+
+ /**
+ * The feature id for the '<em><b>Is Association End</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_OPERATION_EXPRESSION__IS_ASSOCIATION_END = INVOCATION_EXPRESSION__IS_ASSOCIATION_END;
+
+ /**
+ * The feature id for the '<em><b>Feature</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_OPERATION_EXPRESSION__FEATURE = INVOCATION_EXPRESSION__FEATURE;
+
+ /**
+ * The feature id for the '<em><b>Is Operation</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_OPERATION_EXPRESSION__IS_OPERATION = INVOCATION_EXPRESSION__IS_OPERATION;
+
+ /**
+ * The feature id for the '<em><b>Is Destructor</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_OPERATION_EXPRESSION__IS_DESTRUCTOR = INVOCATION_EXPRESSION__IS_DESTRUCTOR;
+
+ /**
+ * The feature id for the '<em><b>Is Implicit</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_OPERATION_EXPRESSION__IS_IMPLICIT = INVOCATION_EXPRESSION__IS_IMPLICIT;
+
+ /**
+ * The feature id for the '<em><b>Referent</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_OPERATION_EXPRESSION__REFERENT = INVOCATION_EXPRESSION__REFERENT;
+
+ /**
+ * The feature id for the '<em><b>Parameter</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_OPERATION_EXPRESSION__PARAMETER = INVOCATION_EXPRESSION__PARAMETER;
+
+ /**
+ * The feature id for the '<em><b>Is Signal</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_OPERATION_EXPRESSION__IS_SIGNAL = INVOCATION_EXPRESSION__IS_SIGNAL;
+
+ /**
+ * The feature id for the '<em><b>Tuple</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_OPERATION_EXPRESSION__TUPLE = INVOCATION_EXPRESSION__TUPLE;
+
+ /**
+ * The feature id for the '<em><b>Primary</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_OPERATION_EXPRESSION__PRIMARY = INVOCATION_EXPRESSION_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Operation</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_OPERATION_EXPRESSION__OPERATION = INVOCATION_EXPRESSION_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Is Collection Conversion</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_OPERATION_EXPRESSION__IS_COLLECTION_CONVERSION = INVOCATION_EXPRESSION_FEATURE_COUNT + 2;
+
+ /**
+ * The feature id for the '<em><b>Is Bit String Conversion</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_OPERATION_EXPRESSION__IS_BIT_STRING_CONVERSION = INVOCATION_EXPRESSION_FEATURE_COUNT + 3;
+
+ /**
+ * The feature id for the '<em><b>Left Hand Side</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_OPERATION_EXPRESSION__LEFT_HAND_SIDE = INVOCATION_EXPRESSION_FEATURE_COUNT + 4;
+
+ /**
+ * The number of structural features of the '<em>Sequence Operation Expression</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_OPERATION_EXPRESSION_FEATURE_COUNT = INVOCATION_EXPRESSION_FEATURE_COUNT + 5;
+
+ /**
+ * The operation id for the '<em>To Reference</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_OPERATION_EXPRESSION___TO_REFERENCE = INVOCATION_EXPRESSION___TO_REFERENCE;
+
+ /**
+ * The operation id for the '<em>Owner</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_OPERATION_EXPRESSION___OWNER = INVOCATION_EXPRESSION___OWNER;
+
+ /**
+ * The operation id for the '<em>Syntax Element owner</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_OPERATION_EXPRESSION___SYNTAX_ELEMENT_OWNER = INVOCATION_EXPRESSION___SYNTAX_ELEMENT_OWNER;
+
+ /**
+ * The operation id for the '<em>Current Scope</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_OPERATION_EXPRESSION___CURRENT_SCOPE = INVOCATION_EXPRESSION___CURRENT_SCOPE;
+
+ /**
+ * The operation id for the '<em>Syntax Element current Scope</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_OPERATION_EXPRESSION___SYNTAX_ELEMENT_CURRENT_SCOPE = INVOCATION_EXPRESSION___SYNTAX_ELEMENT_CURRENT_SCOPE;
+
+ /**
+ * The operation id for the '<em>Enclosing Statement</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_OPERATION_EXPRESSION___ENCLOSING_STATEMENT = INVOCATION_EXPRESSION___ENCLOSING_STATEMENT;
+
+ /**
+ * The operation id for the '<em>Enclosing Expression</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_OPERATION_EXPRESSION___ENCLOSING_EXPRESSION = INVOCATION_EXPRESSION___ENCLOSING_EXPRESSION;
+
+ /**
+ * The operation id for the '<em>Assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_OPERATION_EXPRESSION___ASSIGNMENTS_BEFORE = INVOCATION_EXPRESSION___ASSIGNMENTS_BEFORE;
+
+ /**
+ * The operation id for the '<em>Syntax Element assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_OPERATION_EXPRESSION___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE = INVOCATION_EXPRESSION___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE;
+
+ /**
+ * The operation id for the '<em>Syntax Element assignments Before base</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_OPERATION_EXPRESSION___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE_BASE = INVOCATION_EXPRESSION___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE_BASE;
+
+ /**
+ * The operation id for the '<em>Update All</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_OPERATION_EXPRESSION___UPDATE_ALL__ELIST_ELIST = INVOCATION_EXPRESSION___UPDATE_ALL__ELIST_ELIST;
+
+ /**
+ * The operation id for the '<em>Common Ancestor</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_OPERATION_EXPRESSION___COMMON_ANCESTOR__ELIST = INVOCATION_EXPRESSION___COMMON_ANCESTOR__ELIST;
+
+ /**
+ * The operation id for the '<em>Common Ancestors</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_OPERATION_EXPRESSION___COMMON_ANCESTORS__ELIST = INVOCATION_EXPRESSION___COMMON_ANCESTORS__ELIST;
+
+ /**
+ * The operation id for the '<em>Remove Duplicate Elements</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_OPERATION_EXPRESSION___REMOVE_DUPLICATE_ELEMENTS__ELIST = INVOCATION_EXPRESSION___REMOVE_DUPLICATE_ELEMENTS__ELIST;
+
+ /**
+ * The operation id for the '<em>Resolve In Library</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_OPERATION_EXPRESSION___RESOLVE_IN_LIBRARY__STRING = INVOCATION_EXPRESSION___RESOLVE_IN_LIBRARY__STRING;
+
+ /**
+ * The operation id for the '<em>Primitive Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_OPERATION_EXPRESSION___PRIMITIVE_TYPE__STRING = INVOCATION_EXPRESSION___PRIMITIVE_TYPE__STRING;
+
+ /**
+ * The operation id for the '<em>Primitive Type </em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_OPERATION_EXPRESSION___PRIMITIVE_TYPE____STRING = INVOCATION_EXPRESSION___PRIMITIVE_TYPE____STRING;
+
+ /**
+ * The operation id for the '<em>Boolean Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_OPERATION_EXPRESSION___BOOLEAN_TYPE = INVOCATION_EXPRESSION___BOOLEAN_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Boolean Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_OPERATION_EXPRESSION___IS_BOOLEAN_TYPE__ELEMENTREFERENCE = INVOCATION_EXPRESSION___IS_BOOLEAN_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Integer Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_OPERATION_EXPRESSION___INTEGER_TYPE = INVOCATION_EXPRESSION___INTEGER_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Integer Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_OPERATION_EXPRESSION___IS_INTEGER_TYPE__ELEMENTREFERENCE = INVOCATION_EXPRESSION___IS_INTEGER_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_OPERATION_EXPRESSION___STRING_TYPE = INVOCATION_EXPRESSION___STRING_TYPE;
+
+ /**
+ * The operation id for the '<em>Is String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_OPERATION_EXPRESSION___IS_STRING_TYPE__ELEMENTREFERENCE = INVOCATION_EXPRESSION___IS_STRING_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Unlimited Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_OPERATION_EXPRESSION___UNLIMITED_NATURAL_TYPE = INVOCATION_EXPRESSION___UNLIMITED_NATURAL_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Unlimited Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_OPERATION_EXPRESSION___IS_UNLIMITED_NATURAL_TYPE__ELEMENTREFERENCE = INVOCATION_EXPRESSION___IS_UNLIMITED_NATURAL_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Bit String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_OPERATION_EXPRESSION___BIT_STRING_TYPE = INVOCATION_EXPRESSION___BIT_STRING_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Bit String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_OPERATION_EXPRESSION___IS_BIT_STRING_TYPE__ELEMENTREFERENCE = INVOCATION_EXPRESSION___IS_BIT_STRING_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_OPERATION_EXPRESSION___NATURAL_TYPE = INVOCATION_EXPRESSION___NATURAL_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_OPERATION_EXPRESSION___IS_NATURAL_TYPE__ELEMENTREFERENCE = INVOCATION_EXPRESSION___IS_NATURAL_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Numeric Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_OPERATION_EXPRESSION___IS_NUMERIC_TYPE__ELEMENTREFERENCE = INVOCATION_EXPRESSION___IS_NUMERIC_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Collection Function Add</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_OPERATION_EXPRESSION___COLLECTION_FUNCTION_ADD = INVOCATION_EXPRESSION___COLLECTION_FUNCTION_ADD;
+
+ /**
+ * The operation id for the '<em>Is Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_OPERATION_EXPRESSION___IS_COLLECTION_CLASS__ELEMENTREFERENCE = INVOCATION_EXPRESSION___IS_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Integer Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_OPERATION_EXPRESSION___IS_INTEGER_COLLECTION_CLASS__ELEMENTREFERENCE = INVOCATION_EXPRESSION___IS_INTEGER_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Bit String Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_OPERATION_EXPRESSION___IS_BIT_STRING_COLLECTION_CLASS__ELEMENTREFERENCE = INVOCATION_EXPRESSION___IS_BIT_STRING_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Type Cached</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_OPERATION_EXPRESSION___TYPE_CACHED = INVOCATION_EXPRESSION___TYPE_CACHED;
+
+ /**
+ * The operation id for the '<em>Is Null</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_OPERATION_EXPRESSION___IS_NULL = INVOCATION_EXPRESSION___IS_NULL;
+
+ /**
+ * The operation id for the '<em>Is Assignable From Element</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_OPERATION_EXPRESSION___IS_ASSIGNABLE_FROM_ELEMENT__ELEMENTREFERENCE = INVOCATION_EXPRESSION___IS_ASSIGNABLE_FROM_ELEMENT__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Assignable From</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_OPERATION_EXPRESSION___IS_ASSIGNABLE_FROM__ASSIGNABLEELEMENT = INVOCATION_EXPRESSION___IS_ASSIGNABLE_FROM__ASSIGNABLEELEMENT;
+
+ /**
+ * The operation id for the '<em>Is Type Conformant With</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_OPERATION_EXPRESSION___IS_TYPE_CONFORMANT_WITH__ASSIGNABLEELEMENT = INVOCATION_EXPRESSION___IS_TYPE_CONFORMANT_WITH__ASSIGNABLEELEMENT;
+
+ /**
+ * The operation id for the '<em>Is Conformant With Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_OPERATION_EXPRESSION___IS_CONFORMANT_WITH_TYPE__ELEMENTREFERENCE = INVOCATION_EXPRESSION___IS_CONFORMANT_WITH_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Multiplicity Conformant With</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_OPERATION_EXPRESSION___IS_MULTIPLICITY_CONFORMANT_WITH__ASSIGNABLEELEMENT = INVOCATION_EXPRESSION___IS_MULTIPLICITY_CONFORMANT_WITH__ASSIGNABLEELEMENT;
+
+ /**
+ * The operation id for the '<em>New Assignments</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_OPERATION_EXPRESSION___NEW_ASSIGNMENTS = INVOCATION_EXPRESSION___NEW_ASSIGNMENTS;
+
+ /**
+ * The operation id for the '<em>Expression update Assignments</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_OPERATION_EXPRESSION___EXPRESSION_UPDATE_ASSIGNMENTS = INVOCATION_EXPRESSION___EXPRESSION_UPDATE_ASSIGNMENTS;
+
+ /**
+ * The operation id for the '<em>Update Assignments Cached</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_OPERATION_EXPRESSION___UPDATE_ASSIGNMENTS_CACHED = INVOCATION_EXPRESSION___UPDATE_ASSIGNMENTS_CACHED;
+
+ /**
+ * The operation id for the '<em>Resolve</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_OPERATION_EXPRESSION___RESOLVE__STRING = INVOCATION_EXPRESSION___RESOLVE__STRING;
+
+ /**
+ * The operation id for the '<em>Expression Assignment After Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_OPERATION_EXPRESSION___EXPRESSION_ASSIGNMENT_AFTER_DERIVATION__DIAGNOSTICCHAIN_MAP = INVOCATION_EXPRESSION___EXPRESSION_ASSIGNMENT_AFTER_DERIVATION__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Expression Unique Assignments</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_OPERATION_EXPRESSION___EXPRESSION_UNIQUE_ASSIGNMENTS__DIAGNOSTICCHAIN_MAP = INVOCATION_EXPRESSION___EXPRESSION_UNIQUE_ASSIGNMENTS__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_OPERATION_EXPRESSION___ASSIGNMENTS_BEFORE__SYNTAXELEMENT = INVOCATION_EXPRESSION___ASSIGNMENTS_BEFORE__SYNTAXELEMENT;
+
+ /**
+ * The operation id for the '<em>Referent Cached</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_OPERATION_EXPRESSION___REFERENT_CACHED = INVOCATION_EXPRESSION___REFERENT_CACHED;
+
+ /**
+ * The operation id for the '<em>Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_OPERATION_EXPRESSION___TYPE = INVOCATION_EXPRESSION___TYPE;
+
+ /**
+ * The operation id for the '<em>Invocation Expression type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_OPERATION_EXPRESSION___INVOCATION_EXPRESSION_TYPE = INVOCATION_EXPRESSION___INVOCATION_EXPRESSION_TYPE;
+
+ /**
+ * The operation id for the '<em>Upper</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_OPERATION_EXPRESSION___UPPER = INVOCATION_EXPRESSION___UPPER;
+
+ /**
+ * The operation id for the '<em>Invocation Expression upper</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_OPERATION_EXPRESSION___INVOCATION_EXPRESSION_UPPER = INVOCATION_EXPRESSION___INVOCATION_EXPRESSION_UPPER;
+
+ /**
+ * The operation id for the '<em>Lower</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_OPERATION_EXPRESSION___LOWER = INVOCATION_EXPRESSION___LOWER;
+
+ /**
+ * The operation id for the '<em>Invocation Expression lower</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_OPERATION_EXPRESSION___INVOCATION_EXPRESSION_LOWER = INVOCATION_EXPRESSION___INVOCATION_EXPRESSION_LOWER;
+
+ /**
+ * The operation id for the '<em>Parameter Named</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_OPERATION_EXPRESSION___PARAMETER_NAMED__STRING = INVOCATION_EXPRESSION___PARAMETER_NAMED__STRING;
+
+ /**
+ * The operation id for the '<em>Parameter Count</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_OPERATION_EXPRESSION___PARAMETER_COUNT = INVOCATION_EXPRESSION___PARAMETER_COUNT;
+
+ /**
+ * The operation id for the '<em>Parameter Is Assignable From</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_OPERATION_EXPRESSION___PARAMETER_IS_ASSIGNABLE_FROM__INPUTNAMEDEXPRESSION = INVOCATION_EXPRESSION___PARAMETER_IS_ASSIGNABLE_FROM__INPUTNAMEDEXPRESSION;
+
+ /**
+ * The operation id for the '<em>Parameter Is Assignable To</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_OPERATION_EXPRESSION___PARAMETER_IS_ASSIGNABLE_TO__OUTPUTNAMEDEXPRESSION = INVOCATION_EXPRESSION___PARAMETER_IS_ASSIGNABLE_TO__OUTPUTNAMEDEXPRESSION;
+
+ /**
+ * The operation id for the '<em>Alternative Constructor Is Valid</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_OPERATION_EXPRESSION___ALTERNATIVE_CONSTRUCTOR_IS_VALID = INVOCATION_EXPRESSION___ALTERNATIVE_CONSTRUCTOR_IS_VALID;
+
+ /**
+ * The operation id for the '<em>Bind Template Implicit Arguments</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_OPERATION_EXPRESSION___BIND_TEMPLATE_IMPLICIT_ARGUMENTS__ELEMENTREFERENCE_EXPRESSION = INVOCATION_EXPRESSION___BIND_TEMPLATE_IMPLICIT_ARGUMENTS__ELEMENTREFERENCE_EXPRESSION;
+
+ /**
+ * The operation id for the '<em>Bind Template Implicit Arguments1</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_OPERATION_EXPRESSION___BIND_TEMPLATE_IMPLICIT_ARGUMENTS1__ELEMENTREFERENCE_EXPRESSION = INVOCATION_EXPRESSION___BIND_TEMPLATE_IMPLICIT_ARGUMENTS1__ELEMENTREFERENCE_EXPRESSION;
+
+ /**
+ * The operation id for the '<em>Effective Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_OPERATION_EXPRESSION___EFFECTIVE_TYPE__ELEMENTREFERENCE_EXPRESSION = INVOCATION_EXPRESSION___EFFECTIVE_TYPE__ELEMENTREFERENCE_EXPRESSION;
+
+ /**
+ * The operation id for the '<em>Invocation Expression parameter Elements</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_OPERATION_EXPRESSION___INVOCATION_EXPRESSION_PARAMETER_ELEMENTS = INVOCATION_EXPRESSION___INVOCATION_EXPRESSION_PARAMETER_ELEMENTS;
+
+ /**
+ * The operation id for the '<em>Parameter From Property</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_OPERATION_EXPRESSION___PARAMETER_FROM_PROPERTY__ELEMENTREFERENCE = INVOCATION_EXPRESSION___PARAMETER_FROM_PROPERTY__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Parameter From Property With Multiplicity</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_OPERATION_EXPRESSION___PARAMETER_FROM_PROPERTY_WITH_MULTIPLICITY__ELEMENTREFERENCE_STRING_STRING = INVOCATION_EXPRESSION___PARAMETER_FROM_PROPERTY_WITH_MULTIPLICITY__ELEMENTREFERENCE_STRING_STRING;
+
+ /**
+ * The operation id for the '<em>Invocation Expression Is Behavior Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_OPERATION_EXPRESSION___INVOCATION_EXPRESSION_IS_BEHAVIOR_DERIVATION__DIAGNOSTICCHAIN_MAP = INVOCATION_EXPRESSION___INVOCATION_EXPRESSION_IS_BEHAVIOR_DERIVATION__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Invocation Expression Is Association End Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_OPERATION_EXPRESSION___INVOCATION_EXPRESSION_IS_ASSOCIATION_END_DERIVATION__DIAGNOSTICCHAIN_MAP = INVOCATION_EXPRESSION___INVOCATION_EXPRESSION_IS_ASSOCIATION_END_DERIVATION__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Invocation Expression Is Operation Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_OPERATION_EXPRESSION___INVOCATION_EXPRESSION_IS_OPERATION_DERIVATION__DIAGNOSTICCHAIN_MAP = INVOCATION_EXPRESSION___INVOCATION_EXPRESSION_IS_OPERATION_DERIVATION__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Invocation Expression Is Destructor Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_OPERATION_EXPRESSION___INVOCATION_EXPRESSION_IS_DESTRUCTOR_DERIVATION__DIAGNOSTICCHAIN_MAP = INVOCATION_EXPRESSION___INVOCATION_EXPRESSION_IS_DESTRUCTOR_DERIVATION__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Invocation Expression Is Implicit Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_OPERATION_EXPRESSION___INVOCATION_EXPRESSION_IS_IMPLICIT_DERIVATION__DIAGNOSTICCHAIN_MAP = INVOCATION_EXPRESSION___INVOCATION_EXPRESSION_IS_IMPLICIT_DERIVATION__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Invocation Expression Is Signal Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_OPERATION_EXPRESSION___INVOCATION_EXPRESSION_IS_SIGNAL_DERIVATION__DIAGNOSTICCHAIN_MAP = INVOCATION_EXPRESSION___INVOCATION_EXPRESSION_IS_SIGNAL_DERIVATION__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Invocation Expression Parameter Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_OPERATION_EXPRESSION___INVOCATION_EXPRESSION_PARAMETER_DERIVATION__DIAGNOSTICCHAIN_MAP = INVOCATION_EXPRESSION___INVOCATION_EXPRESSION_PARAMETER_DERIVATION__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Invocation Expression Type Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_OPERATION_EXPRESSION___INVOCATION_EXPRESSION_TYPE_DERIVATION__DIAGNOSTICCHAIN_MAP = INVOCATION_EXPRESSION___INVOCATION_EXPRESSION_TYPE_DERIVATION__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Invocation Expression Upper Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_OPERATION_EXPRESSION___INVOCATION_EXPRESSION_UPPER_DERIVATION__DIAGNOSTICCHAIN_MAP = INVOCATION_EXPRESSION___INVOCATION_EXPRESSION_UPPER_DERIVATION__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Invocation Expression Lower Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_OPERATION_EXPRESSION___INVOCATION_EXPRESSION_LOWER_DERIVATION__DIAGNOSTICCHAIN_MAP = INVOCATION_EXPRESSION___INVOCATION_EXPRESSION_LOWER_DERIVATION__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Invocation Expression Assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_OPERATION_EXPRESSION___INVOCATION_EXPRESSION_ASSIGNMENTS_BEFORE__DIAGNOSTICCHAIN_MAP = INVOCATION_EXPRESSION___INVOCATION_EXPRESSION_ASSIGNMENTS_BEFORE__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Invocation Expression Template Parameters</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_OPERATION_EXPRESSION___INVOCATION_EXPRESSION_TEMPLATE_PARAMETERS__DIAGNOSTICCHAIN_MAP = INVOCATION_EXPRESSION___INVOCATION_EXPRESSION_TEMPLATE_PARAMETERS__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Feature</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_OPERATION_EXPRESSION___FEATURE = INVOCATION_EXPRESSION_OPERATION_COUNT + 0;
+
+ /**
+ * The operation id for the '<em>Referent</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_OPERATION_EXPRESSION___REFERENT = INVOCATION_EXPRESSION_OPERATION_COUNT + 1;
+
+ /**
+ * The operation id for the '<em>Is Add Target</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_OPERATION_EXPRESSION___IS_ADD_TARGET__EXPRESSION = INVOCATION_EXPRESSION_OPERATION_COUNT + 2;
+
+ /**
+ * The operation id for the '<em>First Parameter</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_OPERATION_EXPRESSION___FIRST_PARAMETER = INVOCATION_EXPRESSION_OPERATION_COUNT + 3;
+
+ /**
+ * The operation id for the '<em>Sequence Operation Expression Referent Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_OPERATION_EXPRESSION___SEQUENCE_OPERATION_EXPRESSION_REFERENT_DERIVATION__DIAGNOSTICCHAIN_MAP = INVOCATION_EXPRESSION_OPERATION_COUNT + 4;
+
+ /**
+ * The operation id for the '<em>Sequence Operation Expression Feature Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_OPERATION_EXPRESSION___SEQUENCE_OPERATION_EXPRESSION_FEATURE_DERIVATION__DIAGNOSTICCHAIN_MAP = INVOCATION_EXPRESSION_OPERATION_COUNT + 5;
+
+ /**
+ * The operation id for the '<em>Sequence Operation Expression Operation Referent</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_OPERATION_EXPRESSION___SEQUENCE_OPERATION_EXPRESSION_OPERATION_REFERENT__DIAGNOSTICCHAIN_MAP = INVOCATION_EXPRESSION_OPERATION_COUNT + 6;
+
+ /**
+ * The operation id for the '<em>Sequence Operation Expression Target Compatibility</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_OPERATION_EXPRESSION___SEQUENCE_OPERATION_EXPRESSION_TARGET_COMPATIBILITY__DIAGNOSTICCHAIN_MAP = INVOCATION_EXPRESSION_OPERATION_COUNT + 7;
+
+ /**
+ * The operation id for the '<em>Sequence Operation Expression Argument Compatibility</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_OPERATION_EXPRESSION___SEQUENCE_OPERATION_EXPRESSION_ARGUMENT_COMPATIBILITY__DIAGNOSTICCHAIN_MAP = INVOCATION_EXPRESSION_OPERATION_COUNT + 8;
+
+ /**
+ * The operation id for the '<em>Sequence Operation Expression Assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_OPERATION_EXPRESSION___SEQUENCE_OPERATION_EXPRESSION_ASSIGNMENTS_BEFORE__DIAGNOSTICCHAIN_MAP = INVOCATION_EXPRESSION_OPERATION_COUNT + 9;
+
+ /**
+ * The operation id for the '<em>Sequence Operation Expression Is Collection Conversion Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_OPERATION_EXPRESSION___SEQUENCE_OPERATION_EXPRESSION_IS_COLLECTION_CONVERSION_DERIVATION__DIAGNOSTICCHAIN_MAP = INVOCATION_EXPRESSION_OPERATION_COUNT + 10;
+
+ /**
+ * The operation id for the '<em>Sequence Operation Expression Is Bit String Conversion Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_OPERATION_EXPRESSION___SEQUENCE_OPERATION_EXPRESSION_IS_BIT_STRING_CONVERSION_DERIVATION__DIAGNOSTICCHAIN_MAP = INVOCATION_EXPRESSION_OPERATION_COUNT + 11;
+
+ /**
+ * The operation id for the '<em>Sequence Operation Expression Assignments After</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_OPERATION_EXPRESSION___SEQUENCE_OPERATION_EXPRESSION_ASSIGNMENTS_AFTER__DIAGNOSTICCHAIN_MAP = INVOCATION_EXPRESSION_OPERATION_COUNT + 12;
+
+ /**
+ * The operation id for the '<em>Sequence Operation Expression Left Hand Side Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_OPERATION_EXPRESSION___SEQUENCE_OPERATION_EXPRESSION_LEFT_HAND_SIDE_DERIVATION__DIAGNOSTICCHAIN_MAP = INVOCATION_EXPRESSION_OPERATION_COUNT + 13;
+
+ /**
+ * The operation id for the '<em>Update Assignments</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_OPERATION_EXPRESSION___UPDATE_ASSIGNMENTS = INVOCATION_EXPRESSION_OPERATION_COUNT + 14;
+
+ /**
+ * The operation id for the '<em>Parameter Elements</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_OPERATION_EXPRESSION___PARAMETER_ELEMENTS = INVOCATION_EXPRESSION_OPERATION_COUNT + 15;
+
+ /**
+ * The number of operations of the '<em>Sequence Operation Expression</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_OPERATION_EXPRESSION_OPERATION_COUNT = INVOCATION_EXPRESSION_OPERATION_COUNT + 16;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.uml.alf.impl.SelectOrRejectExpressionImpl <em>Select Or Reject Expression</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.uml.alf.impl.SelectOrRejectExpressionImpl
+ * @see org.eclipse.papyrus.uml.alf.impl.AlfPackageImpl#getSelectOrRejectExpression()
+ * @generated
+ */
+ int SELECT_OR_REJECT_EXPRESSION = 37;
+
+ /**
+ * The feature id for the '<em><b>Owner</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SELECT_OR_REJECT_EXPRESSION__OWNER = SEQUENCE_EXPANSION_EXPRESSION__OWNER;
+
+ /**
+ * The feature id for the '<em><b>Upper</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SELECT_OR_REJECT_EXPRESSION__UPPER = SEQUENCE_EXPANSION_EXPRESSION__UPPER;
+
+ /**
+ * The feature id for the '<em><b>Lower</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SELECT_OR_REJECT_EXPRESSION__LOWER = SEQUENCE_EXPANSION_EXPRESSION__LOWER;
+
+ /**
+ * The feature id for the '<em><b>Type</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SELECT_OR_REJECT_EXPRESSION__TYPE = SEQUENCE_EXPANSION_EXPRESSION__TYPE;
+
+ /**
+ * The feature id for the '<em><b>Assignment Before</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SELECT_OR_REJECT_EXPRESSION__ASSIGNMENT_BEFORE = SEQUENCE_EXPANSION_EXPRESSION__ASSIGNMENT_BEFORE;
+
+ /**
+ * The feature id for the '<em><b>Assignment After</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SELECT_OR_REJECT_EXPRESSION__ASSIGNMENT_AFTER = SEQUENCE_EXPANSION_EXPRESSION__ASSIGNMENT_AFTER;
+
+ /**
+ * The feature id for the '<em><b>Operation</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SELECT_OR_REJECT_EXPRESSION__OPERATION = SEQUENCE_EXPANSION_EXPRESSION__OPERATION;
+
+ /**
+ * The feature id for the '<em><b>Variable</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SELECT_OR_REJECT_EXPRESSION__VARIABLE = SEQUENCE_EXPANSION_EXPRESSION__VARIABLE;
+
+ /**
+ * The feature id for the '<em><b>Variable Source</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SELECT_OR_REJECT_EXPRESSION__VARIABLE_SOURCE = SEQUENCE_EXPANSION_EXPRESSION__VARIABLE_SOURCE;
+
+ /**
+ * The feature id for the '<em><b>Argument</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SELECT_OR_REJECT_EXPRESSION__ARGUMENT = SEQUENCE_EXPANSION_EXPRESSION__ARGUMENT;
+
+ /**
+ * The feature id for the '<em><b>Primary</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SELECT_OR_REJECT_EXPRESSION__PRIMARY = SEQUENCE_EXPANSION_EXPRESSION__PRIMARY;
+
+ /**
+ * The feature id for the '<em><b>Is Select Or Reject</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SELECT_OR_REJECT_EXPRESSION__IS_SELECT_OR_REJECT = SEQUENCE_EXPANSION_EXPRESSION__IS_SELECT_OR_REJECT;
+
+ /**
+ * The feature id for the '<em><b>Is Collect Or Iterate</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SELECT_OR_REJECT_EXPRESSION__IS_COLLECT_OR_ITERATE = SEQUENCE_EXPANSION_EXPRESSION__IS_COLLECT_OR_ITERATE;
+
+ /**
+ * The feature id for the '<em><b>Is For All Or Exists Or One</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SELECT_OR_REJECT_EXPRESSION__IS_FOR_ALL_OR_EXISTS_OR_ONE = SEQUENCE_EXPANSION_EXPRESSION__IS_FOR_ALL_OR_EXISTS_OR_ONE;
+
+ /**
+ * The feature id for the '<em><b>Is Is Unique</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SELECT_OR_REJECT_EXPRESSION__IS_IS_UNIQUE = SEQUENCE_EXPANSION_EXPRESSION__IS_IS_UNIQUE;
+
+ /**
+ * The number of structural features of the '<em>Select Or Reject Expression</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SELECT_OR_REJECT_EXPRESSION_FEATURE_COUNT = SEQUENCE_EXPANSION_EXPRESSION_FEATURE_COUNT + 0;
+
+ /**
+ * The operation id for the '<em>To Reference</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SELECT_OR_REJECT_EXPRESSION___TO_REFERENCE = SEQUENCE_EXPANSION_EXPRESSION___TO_REFERENCE;
+
+ /**
+ * The operation id for the '<em>Owner</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SELECT_OR_REJECT_EXPRESSION___OWNER = SEQUENCE_EXPANSION_EXPRESSION___OWNER;
+
+ /**
+ * The operation id for the '<em>Syntax Element owner</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SELECT_OR_REJECT_EXPRESSION___SYNTAX_ELEMENT_OWNER = SEQUENCE_EXPANSION_EXPRESSION___SYNTAX_ELEMENT_OWNER;
+
+ /**
+ * The operation id for the '<em>Current Scope</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SELECT_OR_REJECT_EXPRESSION___CURRENT_SCOPE = SEQUENCE_EXPANSION_EXPRESSION___CURRENT_SCOPE;
+
+ /**
+ * The operation id for the '<em>Syntax Element current Scope</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SELECT_OR_REJECT_EXPRESSION___SYNTAX_ELEMENT_CURRENT_SCOPE = SEQUENCE_EXPANSION_EXPRESSION___SYNTAX_ELEMENT_CURRENT_SCOPE;
+
+ /**
+ * The operation id for the '<em>Enclosing Statement</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SELECT_OR_REJECT_EXPRESSION___ENCLOSING_STATEMENT = SEQUENCE_EXPANSION_EXPRESSION___ENCLOSING_STATEMENT;
+
+ /**
+ * The operation id for the '<em>Enclosing Expression</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SELECT_OR_REJECT_EXPRESSION___ENCLOSING_EXPRESSION = SEQUENCE_EXPANSION_EXPRESSION___ENCLOSING_EXPRESSION;
+
+ /**
+ * The operation id for the '<em>Assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SELECT_OR_REJECT_EXPRESSION___ASSIGNMENTS_BEFORE = SEQUENCE_EXPANSION_EXPRESSION___ASSIGNMENTS_BEFORE;
+
+ /**
+ * The operation id for the '<em>Syntax Element assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SELECT_OR_REJECT_EXPRESSION___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE = SEQUENCE_EXPANSION_EXPRESSION___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE;
+
+ /**
+ * The operation id for the '<em>Syntax Element assignments Before base</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SELECT_OR_REJECT_EXPRESSION___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE_BASE = SEQUENCE_EXPANSION_EXPRESSION___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE_BASE;
+
+ /**
+ * The operation id for the '<em>Update All</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SELECT_OR_REJECT_EXPRESSION___UPDATE_ALL__ELIST_ELIST = SEQUENCE_EXPANSION_EXPRESSION___UPDATE_ALL__ELIST_ELIST;
+
+ /**
+ * The operation id for the '<em>Common Ancestor</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SELECT_OR_REJECT_EXPRESSION___COMMON_ANCESTOR__ELIST = SEQUENCE_EXPANSION_EXPRESSION___COMMON_ANCESTOR__ELIST;
+
+ /**
+ * The operation id for the '<em>Common Ancestors</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SELECT_OR_REJECT_EXPRESSION___COMMON_ANCESTORS__ELIST = SEQUENCE_EXPANSION_EXPRESSION___COMMON_ANCESTORS__ELIST;
+
+ /**
+ * The operation id for the '<em>Remove Duplicate Elements</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SELECT_OR_REJECT_EXPRESSION___REMOVE_DUPLICATE_ELEMENTS__ELIST = SEQUENCE_EXPANSION_EXPRESSION___REMOVE_DUPLICATE_ELEMENTS__ELIST;
+
+ /**
+ * The operation id for the '<em>Resolve In Library</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SELECT_OR_REJECT_EXPRESSION___RESOLVE_IN_LIBRARY__STRING = SEQUENCE_EXPANSION_EXPRESSION___RESOLVE_IN_LIBRARY__STRING;
+
+ /**
+ * The operation id for the '<em>Primitive Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SELECT_OR_REJECT_EXPRESSION___PRIMITIVE_TYPE__STRING = SEQUENCE_EXPANSION_EXPRESSION___PRIMITIVE_TYPE__STRING;
+
+ /**
+ * The operation id for the '<em>Primitive Type </em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SELECT_OR_REJECT_EXPRESSION___PRIMITIVE_TYPE____STRING = SEQUENCE_EXPANSION_EXPRESSION___PRIMITIVE_TYPE____STRING;
+
+ /**
+ * The operation id for the '<em>Boolean Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SELECT_OR_REJECT_EXPRESSION___BOOLEAN_TYPE = SEQUENCE_EXPANSION_EXPRESSION___BOOLEAN_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Boolean Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SELECT_OR_REJECT_EXPRESSION___IS_BOOLEAN_TYPE__ELEMENTREFERENCE = SEQUENCE_EXPANSION_EXPRESSION___IS_BOOLEAN_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Integer Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SELECT_OR_REJECT_EXPRESSION___INTEGER_TYPE = SEQUENCE_EXPANSION_EXPRESSION___INTEGER_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Integer Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SELECT_OR_REJECT_EXPRESSION___IS_INTEGER_TYPE__ELEMENTREFERENCE = SEQUENCE_EXPANSION_EXPRESSION___IS_INTEGER_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SELECT_OR_REJECT_EXPRESSION___STRING_TYPE = SEQUENCE_EXPANSION_EXPRESSION___STRING_TYPE;
+
+ /**
+ * The operation id for the '<em>Is String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SELECT_OR_REJECT_EXPRESSION___IS_STRING_TYPE__ELEMENTREFERENCE = SEQUENCE_EXPANSION_EXPRESSION___IS_STRING_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Unlimited Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SELECT_OR_REJECT_EXPRESSION___UNLIMITED_NATURAL_TYPE = SEQUENCE_EXPANSION_EXPRESSION___UNLIMITED_NATURAL_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Unlimited Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SELECT_OR_REJECT_EXPRESSION___IS_UNLIMITED_NATURAL_TYPE__ELEMENTREFERENCE = SEQUENCE_EXPANSION_EXPRESSION___IS_UNLIMITED_NATURAL_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Bit String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SELECT_OR_REJECT_EXPRESSION___BIT_STRING_TYPE = SEQUENCE_EXPANSION_EXPRESSION___BIT_STRING_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Bit String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SELECT_OR_REJECT_EXPRESSION___IS_BIT_STRING_TYPE__ELEMENTREFERENCE = SEQUENCE_EXPANSION_EXPRESSION___IS_BIT_STRING_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SELECT_OR_REJECT_EXPRESSION___NATURAL_TYPE = SEQUENCE_EXPANSION_EXPRESSION___NATURAL_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SELECT_OR_REJECT_EXPRESSION___IS_NATURAL_TYPE__ELEMENTREFERENCE = SEQUENCE_EXPANSION_EXPRESSION___IS_NATURAL_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Numeric Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SELECT_OR_REJECT_EXPRESSION___IS_NUMERIC_TYPE__ELEMENTREFERENCE = SEQUENCE_EXPANSION_EXPRESSION___IS_NUMERIC_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Collection Function Add</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SELECT_OR_REJECT_EXPRESSION___COLLECTION_FUNCTION_ADD = SEQUENCE_EXPANSION_EXPRESSION___COLLECTION_FUNCTION_ADD;
+
+ /**
+ * The operation id for the '<em>Is Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SELECT_OR_REJECT_EXPRESSION___IS_COLLECTION_CLASS__ELEMENTREFERENCE = SEQUENCE_EXPANSION_EXPRESSION___IS_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Integer Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SELECT_OR_REJECT_EXPRESSION___IS_INTEGER_COLLECTION_CLASS__ELEMENTREFERENCE = SEQUENCE_EXPANSION_EXPRESSION___IS_INTEGER_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Bit String Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SELECT_OR_REJECT_EXPRESSION___IS_BIT_STRING_COLLECTION_CLASS__ELEMENTREFERENCE = SEQUENCE_EXPANSION_EXPRESSION___IS_BIT_STRING_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Type Cached</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SELECT_OR_REJECT_EXPRESSION___TYPE_CACHED = SEQUENCE_EXPANSION_EXPRESSION___TYPE_CACHED;
+
+ /**
+ * The operation id for the '<em>Is Null</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SELECT_OR_REJECT_EXPRESSION___IS_NULL = SEQUENCE_EXPANSION_EXPRESSION___IS_NULL;
+
+ /**
+ * The operation id for the '<em>Is Assignable From Element</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SELECT_OR_REJECT_EXPRESSION___IS_ASSIGNABLE_FROM_ELEMENT__ELEMENTREFERENCE = SEQUENCE_EXPANSION_EXPRESSION___IS_ASSIGNABLE_FROM_ELEMENT__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Assignable From</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SELECT_OR_REJECT_EXPRESSION___IS_ASSIGNABLE_FROM__ASSIGNABLEELEMENT = SEQUENCE_EXPANSION_EXPRESSION___IS_ASSIGNABLE_FROM__ASSIGNABLEELEMENT;
+
+ /**
+ * The operation id for the '<em>Is Type Conformant With</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SELECT_OR_REJECT_EXPRESSION___IS_TYPE_CONFORMANT_WITH__ASSIGNABLEELEMENT = SEQUENCE_EXPANSION_EXPRESSION___IS_TYPE_CONFORMANT_WITH__ASSIGNABLEELEMENT;
+
+ /**
+ * The operation id for the '<em>Is Conformant With Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SELECT_OR_REJECT_EXPRESSION___IS_CONFORMANT_WITH_TYPE__ELEMENTREFERENCE = SEQUENCE_EXPANSION_EXPRESSION___IS_CONFORMANT_WITH_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Multiplicity Conformant With</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SELECT_OR_REJECT_EXPRESSION___IS_MULTIPLICITY_CONFORMANT_WITH__ASSIGNABLEELEMENT = SEQUENCE_EXPANSION_EXPRESSION___IS_MULTIPLICITY_CONFORMANT_WITH__ASSIGNABLEELEMENT;
+
+ /**
+ * The operation id for the '<em>New Assignments</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SELECT_OR_REJECT_EXPRESSION___NEW_ASSIGNMENTS = SEQUENCE_EXPANSION_EXPRESSION___NEW_ASSIGNMENTS;
+
+ /**
+ * The operation id for the '<em>Expression update Assignments</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SELECT_OR_REJECT_EXPRESSION___EXPRESSION_UPDATE_ASSIGNMENTS = SEQUENCE_EXPANSION_EXPRESSION___EXPRESSION_UPDATE_ASSIGNMENTS;
+
+ /**
+ * The operation id for the '<em>Update Assignments Cached</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SELECT_OR_REJECT_EXPRESSION___UPDATE_ASSIGNMENTS_CACHED = SEQUENCE_EXPANSION_EXPRESSION___UPDATE_ASSIGNMENTS_CACHED;
+
+ /**
+ * The operation id for the '<em>Resolve</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SELECT_OR_REJECT_EXPRESSION___RESOLVE__STRING = SEQUENCE_EXPANSION_EXPRESSION___RESOLVE__STRING;
+
+ /**
+ * The operation id for the '<em>Is Add Target</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SELECT_OR_REJECT_EXPRESSION___IS_ADD_TARGET__EXPRESSION = SEQUENCE_EXPANSION_EXPRESSION___IS_ADD_TARGET__EXPRESSION;
+
+ /**
+ * The operation id for the '<em>Expression Assignment After Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SELECT_OR_REJECT_EXPRESSION___EXPRESSION_ASSIGNMENT_AFTER_DERIVATION__DIAGNOSTICCHAIN_MAP = SEQUENCE_EXPANSION_EXPRESSION___EXPRESSION_ASSIGNMENT_AFTER_DERIVATION__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Expression Unique Assignments</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SELECT_OR_REJECT_EXPRESSION___EXPRESSION_UNIQUE_ASSIGNMENTS__DIAGNOSTICCHAIN_MAP = SEQUENCE_EXPANSION_EXPRESSION___EXPRESSION_UNIQUE_ASSIGNMENTS__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SELECT_OR_REJECT_EXPRESSION___ASSIGNMENTS_BEFORE__SYNTAXELEMENT = SEQUENCE_EXPANSION_EXPRESSION___ASSIGNMENTS_BEFORE__SYNTAXELEMENT;
+
+ /**
+ * The operation id for the '<em>Assignments After Primary</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SELECT_OR_REJECT_EXPRESSION___ASSIGNMENTS_AFTER_PRIMARY = SEQUENCE_EXPANSION_EXPRESSION___ASSIGNMENTS_AFTER_PRIMARY;
+
+ /**
+ * The operation id for the '<em>Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SELECT_OR_REJECT_EXPRESSION___TYPE = SEQUENCE_EXPANSION_EXPRESSION___TYPE;
+
+ /**
+ * The operation id for the '<em>Lower</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SELECT_OR_REJECT_EXPRESSION___LOWER = SEQUENCE_EXPANSION_EXPRESSION___LOWER;
+
+ /**
+ * The operation id for the '<em>Upper</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SELECT_OR_REJECT_EXPRESSION___UPPER = SEQUENCE_EXPANSION_EXPRESSION___UPPER;
+
+ /**
+ * The operation id for the '<em>Sequence Expansion Expression Variable Source Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SELECT_OR_REJECT_EXPRESSION___SEQUENCE_EXPANSION_EXPRESSION_VARIABLE_SOURCE_DERIVATION__DIAGNOSTICCHAIN_MAP = SEQUENCE_EXPANSION_EXPRESSION___SEQUENCE_EXPANSION_EXPRESSION_VARIABLE_SOURCE_DERIVATION__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Sequence Expansion Expression Assignments Before Primary</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SELECT_OR_REJECT_EXPRESSION___SEQUENCE_EXPANSION_EXPRESSION_ASSIGNMENTS_BEFORE_PRIMARY__DIAGNOSTICCHAIN_MAP = SEQUENCE_EXPANSION_EXPRESSION___SEQUENCE_EXPANSION_EXPRESSION_ASSIGNMENTS_BEFORE_PRIMARY__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Sequence Expansion Expression Assignments Before Argument</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SELECT_OR_REJECT_EXPRESSION___SEQUENCE_EXPANSION_EXPRESSION_ASSIGNMENTS_BEFORE_ARGUMENT__DIAGNOSTICCHAIN_MAP = SEQUENCE_EXPANSION_EXPRESSION___SEQUENCE_EXPANSION_EXPRESSION_ASSIGNMENTS_BEFORE_ARGUMENT__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Sequence Expansion Expression Variable Name</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SELECT_OR_REJECT_EXPRESSION___SEQUENCE_EXPANSION_EXPRESSION_VARIABLE_NAME__DIAGNOSTICCHAIN_MAP = SEQUENCE_EXPANSION_EXPRESSION___SEQUENCE_EXPANSION_EXPRESSION_VARIABLE_NAME__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Sequence Expansion Expression Assignments After Argument</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SELECT_OR_REJECT_EXPRESSION___SEQUENCE_EXPANSION_EXPRESSION_ASSIGNMENTS_AFTER_ARGUMENT__DIAGNOSTICCHAIN_MAP = SEQUENCE_EXPANSION_EXPRESSION___SEQUENCE_EXPANSION_EXPRESSION_ASSIGNMENTS_AFTER_ARGUMENT__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Collect Or Iterate Expression Type Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SELECT_OR_REJECT_EXPRESSION___COLLECT_OR_ITERATE_EXPRESSION_TYPE_DERIVATION__DIAGNOSTICCHAIN_MAP = SEQUENCE_EXPANSION_EXPRESSION___COLLECT_OR_ITERATE_EXPRESSION_TYPE_DERIVATION__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Collect Or Iterate Expression Lower Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SELECT_OR_REJECT_EXPRESSION___COLLECT_OR_ITERATE_EXPRESSION_LOWER_DERIVATION__DIAGNOSTICCHAIN_MAP = SEQUENCE_EXPANSION_EXPRESSION___COLLECT_OR_ITERATE_EXPRESSION_LOWER_DERIVATION__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Collect Or Iterate Expression Upper Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SELECT_OR_REJECT_EXPRESSION___COLLECT_OR_ITERATE_EXPRESSION_UPPER_DERIVATION__DIAGNOSTICCHAIN_MAP = SEQUENCE_EXPANSION_EXPRESSION___COLLECT_OR_ITERATE_EXPRESSION_UPPER_DERIVATION__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>For All Or Exists Or One Expression Type Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SELECT_OR_REJECT_EXPRESSION___FOR_ALL_OR_EXISTS_OR_ONE_EXPRESSION_TYPE_DERIVATION__DIAGNOSTICCHAIN_MAP = SEQUENCE_EXPANSION_EXPRESSION___FOR_ALL_OR_EXISTS_OR_ONE_EXPRESSION_TYPE_DERIVATION__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>For All Or Exists Or One Expression Lower Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SELECT_OR_REJECT_EXPRESSION___FOR_ALL_OR_EXISTS_OR_ONE_EXPRESSION_LOWER_DERIVATION__DIAGNOSTICCHAIN_MAP = SEQUENCE_EXPANSION_EXPRESSION___FOR_ALL_OR_EXISTS_OR_ONE_EXPRESSION_LOWER_DERIVATION__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>For All Or Exists Or One Expression Upper Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SELECT_OR_REJECT_EXPRESSION___FOR_ALL_OR_EXISTS_OR_ONE_EXPRESSION_UPPER_DERIVATION__DIAGNOSTICCHAIN_MAP = SEQUENCE_EXPANSION_EXPRESSION___FOR_ALL_OR_EXISTS_OR_ONE_EXPRESSION_UPPER_DERIVATION__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>For All Or Exists Or One Expression Argument</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SELECT_OR_REJECT_EXPRESSION___FOR_ALL_OR_EXISTS_OR_ONE_EXPRESSION_ARGUMENT__DIAGNOSTICCHAIN_MAP = SEQUENCE_EXPANSION_EXPRESSION___FOR_ALL_OR_EXISTS_OR_ONE_EXPRESSION_ARGUMENT__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Is Unique Expression Type Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SELECT_OR_REJECT_EXPRESSION___IS_UNIQUE_EXPRESSION_TYPE_DERIVATION__DIAGNOSTICCHAIN_MAP = SEQUENCE_EXPANSION_EXPRESSION___IS_UNIQUE_EXPRESSION_TYPE_DERIVATION__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Is Unique Expression Lower Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SELECT_OR_REJECT_EXPRESSION___IS_UNIQUE_EXPRESSION_LOWER_DERIVATION__DIAGNOSTICCHAIN_MAP = SEQUENCE_EXPANSION_EXPRESSION___IS_UNIQUE_EXPRESSION_LOWER_DERIVATION__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Is Unique Expression Upper Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SELECT_OR_REJECT_EXPRESSION___IS_UNIQUE_EXPRESSION_UPPER_DERIVATION__DIAGNOSTICCHAIN_MAP = SEQUENCE_EXPANSION_EXPRESSION___IS_UNIQUE_EXPRESSION_UPPER_DERIVATION__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Is Unique Expression Expression Argument</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SELECT_OR_REJECT_EXPRESSION___IS_UNIQUE_EXPRESSION_EXPRESSION_ARGUMENT__DIAGNOSTICCHAIN_MAP = SEQUENCE_EXPANSION_EXPRESSION___IS_UNIQUE_EXPRESSION_EXPRESSION_ARGUMENT__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Update Assignments</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SELECT_OR_REJECT_EXPRESSION___UPDATE_ASSIGNMENTS = SEQUENCE_EXPANSION_EXPRESSION___UPDATE_ASSIGNMENTS;
+
+ /**
+ * The operation id for the '<em>Sequence Expansion Expression Operation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SELECT_OR_REJECT_EXPRESSION___SEQUENCE_EXPANSION_EXPRESSION_OPERATION__DIAGNOSTICCHAIN_MAP = SEQUENCE_EXPANSION_EXPRESSION___SEQUENCE_EXPANSION_EXPRESSION_OPERATION__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Select Or Reject Expression Type Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SELECT_OR_REJECT_EXPRESSION___SELECT_OR_REJECT_EXPRESSION_TYPE_DERIVATION__DIAGNOSTICCHAIN_MAP = SEQUENCE_EXPANSION_EXPRESSION_OPERATION_COUNT + 0;
+
+ /**
+ * The operation id for the '<em>Select Or Reject Expression Lower Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SELECT_OR_REJECT_EXPRESSION___SELECT_OR_REJECT_EXPRESSION_LOWER_DERIVATION__DIAGNOSTICCHAIN_MAP = SEQUENCE_EXPANSION_EXPRESSION_OPERATION_COUNT + 1;
+
+ /**
+ * The operation id for the '<em>Select Or Reject Expression Upper Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SELECT_OR_REJECT_EXPRESSION___SELECT_OR_REJECT_EXPRESSION_UPPER_DERIVATION__DIAGNOSTICCHAIN_MAP = SEQUENCE_EXPANSION_EXPRESSION_OPERATION_COUNT + 2;
+
+ /**
+ * The operation id for the '<em>Select Or Reject Expression Argument</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SELECT_OR_REJECT_EXPRESSION___SELECT_OR_REJECT_EXPRESSION_ARGUMENT__DIAGNOSTICCHAIN_MAP = SEQUENCE_EXPANSION_EXPRESSION_OPERATION_COUNT + 3;
+
+ /**
+ * The number of operations of the '<em>Select Or Reject Expression</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SELECT_OR_REJECT_EXPRESSION_OPERATION_COUNT = SEQUENCE_EXPANSION_EXPRESSION_OPERATION_COUNT + 4;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.uml.alf.impl.ClassExtentExpressionImpl <em>Class Extent Expression</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.uml.alf.impl.ClassExtentExpressionImpl
+ * @see org.eclipse.papyrus.uml.alf.impl.AlfPackageImpl#getClassExtentExpression()
+ * @generated
+ */
+ int CLASS_EXTENT_EXPRESSION = 38;
+
+ /**
+ * The feature id for the '<em><b>Owner</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASS_EXTENT_EXPRESSION__OWNER = EXPRESSION__OWNER;
+
+ /**
+ * The feature id for the '<em><b>Upper</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASS_EXTENT_EXPRESSION__UPPER = EXPRESSION__UPPER;
+
+ /**
+ * The feature id for the '<em><b>Lower</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASS_EXTENT_EXPRESSION__LOWER = EXPRESSION__LOWER;
+
+ /**
+ * The feature id for the '<em><b>Type</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASS_EXTENT_EXPRESSION__TYPE = EXPRESSION__TYPE;
+
+ /**
+ * The feature id for the '<em><b>Assignment Before</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASS_EXTENT_EXPRESSION__ASSIGNMENT_BEFORE = EXPRESSION__ASSIGNMENT_BEFORE;
+
+ /**
+ * The feature id for the '<em><b>Assignment After</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASS_EXTENT_EXPRESSION__ASSIGNMENT_AFTER = EXPRESSION__ASSIGNMENT_AFTER;
+
+ /**
+ * The feature id for the '<em><b>Class Name</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASS_EXTENT_EXPRESSION__CLASS_NAME = EXPRESSION_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the '<em>Class Extent Expression</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASS_EXTENT_EXPRESSION_FEATURE_COUNT = EXPRESSION_FEATURE_COUNT + 1;
+
+ /**
+ * The operation id for the '<em>To Reference</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASS_EXTENT_EXPRESSION___TO_REFERENCE = EXPRESSION___TO_REFERENCE;
+
+ /**
+ * The operation id for the '<em>Owner</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASS_EXTENT_EXPRESSION___OWNER = EXPRESSION___OWNER;
+
+ /**
+ * The operation id for the '<em>Syntax Element owner</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASS_EXTENT_EXPRESSION___SYNTAX_ELEMENT_OWNER = EXPRESSION___SYNTAX_ELEMENT_OWNER;
+
+ /**
+ * The operation id for the '<em>Current Scope</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASS_EXTENT_EXPRESSION___CURRENT_SCOPE = EXPRESSION___CURRENT_SCOPE;
+
+ /**
+ * The operation id for the '<em>Syntax Element current Scope</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASS_EXTENT_EXPRESSION___SYNTAX_ELEMENT_CURRENT_SCOPE = EXPRESSION___SYNTAX_ELEMENT_CURRENT_SCOPE;
+
+ /**
+ * The operation id for the '<em>Enclosing Statement</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASS_EXTENT_EXPRESSION___ENCLOSING_STATEMENT = EXPRESSION___ENCLOSING_STATEMENT;
+
+ /**
+ * The operation id for the '<em>Enclosing Expression</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASS_EXTENT_EXPRESSION___ENCLOSING_EXPRESSION = EXPRESSION___ENCLOSING_EXPRESSION;
+
+ /**
+ * The operation id for the '<em>Assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASS_EXTENT_EXPRESSION___ASSIGNMENTS_BEFORE = EXPRESSION___ASSIGNMENTS_BEFORE;
+
+ /**
+ * The operation id for the '<em>Syntax Element assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASS_EXTENT_EXPRESSION___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE = EXPRESSION___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE;
+
+ /**
+ * The operation id for the '<em>Syntax Element assignments Before base</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASS_EXTENT_EXPRESSION___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE_BASE = EXPRESSION___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE_BASE;
+
+ /**
+ * The operation id for the '<em>Assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASS_EXTENT_EXPRESSION___ASSIGNMENTS_BEFORE__SYNTAXELEMENT = EXPRESSION___ASSIGNMENTS_BEFORE__SYNTAXELEMENT;
+
+ /**
+ * The operation id for the '<em>Update All</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASS_EXTENT_EXPRESSION___UPDATE_ALL__ELIST_ELIST = EXPRESSION___UPDATE_ALL__ELIST_ELIST;
+
+ /**
+ * The operation id for the '<em>Common Ancestor</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASS_EXTENT_EXPRESSION___COMMON_ANCESTOR__ELIST = EXPRESSION___COMMON_ANCESTOR__ELIST;
+
+ /**
+ * The operation id for the '<em>Common Ancestors</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASS_EXTENT_EXPRESSION___COMMON_ANCESTORS__ELIST = EXPRESSION___COMMON_ANCESTORS__ELIST;
+
+ /**
+ * The operation id for the '<em>Remove Duplicate Elements</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASS_EXTENT_EXPRESSION___REMOVE_DUPLICATE_ELEMENTS__ELIST = EXPRESSION___REMOVE_DUPLICATE_ELEMENTS__ELIST;
+
+ /**
+ * The operation id for the '<em>Resolve In Library</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASS_EXTENT_EXPRESSION___RESOLVE_IN_LIBRARY__STRING = EXPRESSION___RESOLVE_IN_LIBRARY__STRING;
+
+ /**
+ * The operation id for the '<em>Primitive Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASS_EXTENT_EXPRESSION___PRIMITIVE_TYPE__STRING = EXPRESSION___PRIMITIVE_TYPE__STRING;
+
+ /**
+ * The operation id for the '<em>Primitive Type </em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASS_EXTENT_EXPRESSION___PRIMITIVE_TYPE____STRING = EXPRESSION___PRIMITIVE_TYPE____STRING;
+
+ /**
+ * The operation id for the '<em>Boolean Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASS_EXTENT_EXPRESSION___BOOLEAN_TYPE = EXPRESSION___BOOLEAN_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Boolean Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASS_EXTENT_EXPRESSION___IS_BOOLEAN_TYPE__ELEMENTREFERENCE = EXPRESSION___IS_BOOLEAN_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Integer Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASS_EXTENT_EXPRESSION___INTEGER_TYPE = EXPRESSION___INTEGER_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Integer Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASS_EXTENT_EXPRESSION___IS_INTEGER_TYPE__ELEMENTREFERENCE = EXPRESSION___IS_INTEGER_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASS_EXTENT_EXPRESSION___STRING_TYPE = EXPRESSION___STRING_TYPE;
+
+ /**
+ * The operation id for the '<em>Is String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASS_EXTENT_EXPRESSION___IS_STRING_TYPE__ELEMENTREFERENCE = EXPRESSION___IS_STRING_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Unlimited Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASS_EXTENT_EXPRESSION___UNLIMITED_NATURAL_TYPE = EXPRESSION___UNLIMITED_NATURAL_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Unlimited Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASS_EXTENT_EXPRESSION___IS_UNLIMITED_NATURAL_TYPE__ELEMENTREFERENCE = EXPRESSION___IS_UNLIMITED_NATURAL_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Bit String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASS_EXTENT_EXPRESSION___BIT_STRING_TYPE = EXPRESSION___BIT_STRING_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Bit String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASS_EXTENT_EXPRESSION___IS_BIT_STRING_TYPE__ELEMENTREFERENCE = EXPRESSION___IS_BIT_STRING_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASS_EXTENT_EXPRESSION___NATURAL_TYPE = EXPRESSION___NATURAL_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASS_EXTENT_EXPRESSION___IS_NATURAL_TYPE__ELEMENTREFERENCE = EXPRESSION___IS_NATURAL_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Numeric Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASS_EXTENT_EXPRESSION___IS_NUMERIC_TYPE__ELEMENTREFERENCE = EXPRESSION___IS_NUMERIC_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Collection Function Add</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASS_EXTENT_EXPRESSION___COLLECTION_FUNCTION_ADD = EXPRESSION___COLLECTION_FUNCTION_ADD;
+
+ /**
+ * The operation id for the '<em>Is Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASS_EXTENT_EXPRESSION___IS_COLLECTION_CLASS__ELEMENTREFERENCE = EXPRESSION___IS_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Integer Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASS_EXTENT_EXPRESSION___IS_INTEGER_COLLECTION_CLASS__ELEMENTREFERENCE = EXPRESSION___IS_INTEGER_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Bit String Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASS_EXTENT_EXPRESSION___IS_BIT_STRING_COLLECTION_CLASS__ELEMENTREFERENCE = EXPRESSION___IS_BIT_STRING_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Type Cached</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASS_EXTENT_EXPRESSION___TYPE_CACHED = EXPRESSION___TYPE_CACHED;
+
+ /**
+ * The operation id for the '<em>Is Null</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASS_EXTENT_EXPRESSION___IS_NULL = EXPRESSION___IS_NULL;
+
+ /**
+ * The operation id for the '<em>Is Assignable From Element</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASS_EXTENT_EXPRESSION___IS_ASSIGNABLE_FROM_ELEMENT__ELEMENTREFERENCE = EXPRESSION___IS_ASSIGNABLE_FROM_ELEMENT__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Assignable From</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASS_EXTENT_EXPRESSION___IS_ASSIGNABLE_FROM__ASSIGNABLEELEMENT = EXPRESSION___IS_ASSIGNABLE_FROM__ASSIGNABLEELEMENT;
+
+ /**
+ * The operation id for the '<em>Is Type Conformant With</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASS_EXTENT_EXPRESSION___IS_TYPE_CONFORMANT_WITH__ASSIGNABLEELEMENT = EXPRESSION___IS_TYPE_CONFORMANT_WITH__ASSIGNABLEELEMENT;
+
+ /**
+ * The operation id for the '<em>Is Conformant With Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASS_EXTENT_EXPRESSION___IS_CONFORMANT_WITH_TYPE__ELEMENTREFERENCE = EXPRESSION___IS_CONFORMANT_WITH_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Multiplicity Conformant With</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASS_EXTENT_EXPRESSION___IS_MULTIPLICITY_CONFORMANT_WITH__ASSIGNABLEELEMENT = EXPRESSION___IS_MULTIPLICITY_CONFORMANT_WITH__ASSIGNABLEELEMENT;
+
+ /**
+ * The operation id for the '<em>New Assignments</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASS_EXTENT_EXPRESSION___NEW_ASSIGNMENTS = EXPRESSION___NEW_ASSIGNMENTS;
+
+ /**
+ * The operation id for the '<em>Update Assignments</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASS_EXTENT_EXPRESSION___UPDATE_ASSIGNMENTS = EXPRESSION___UPDATE_ASSIGNMENTS;
+
+ /**
+ * The operation id for the '<em>Expression update Assignments</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASS_EXTENT_EXPRESSION___EXPRESSION_UPDATE_ASSIGNMENTS = EXPRESSION___EXPRESSION_UPDATE_ASSIGNMENTS;
+
+ /**
+ * The operation id for the '<em>Update Assignments Cached</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASS_EXTENT_EXPRESSION___UPDATE_ASSIGNMENTS_CACHED = EXPRESSION___UPDATE_ASSIGNMENTS_CACHED;
+
+ /**
+ * The operation id for the '<em>Resolve</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASS_EXTENT_EXPRESSION___RESOLVE__STRING = EXPRESSION___RESOLVE__STRING;
+
+ /**
+ * The operation id for the '<em>Is Add Target</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASS_EXTENT_EXPRESSION___IS_ADD_TARGET__EXPRESSION = EXPRESSION___IS_ADD_TARGET__EXPRESSION;
+
+ /**
+ * The operation id for the '<em>Expression Assignment After Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASS_EXTENT_EXPRESSION___EXPRESSION_ASSIGNMENT_AFTER_DERIVATION__DIAGNOSTICCHAIN_MAP = EXPRESSION___EXPRESSION_ASSIGNMENT_AFTER_DERIVATION__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Expression Unique Assignments</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASS_EXTENT_EXPRESSION___EXPRESSION_UNIQUE_ASSIGNMENTS__DIAGNOSTICCHAIN_MAP = EXPRESSION___EXPRESSION_UNIQUE_ASSIGNMENTS__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASS_EXTENT_EXPRESSION___TYPE = EXPRESSION_OPERATION_COUNT + 0;
+
+ /**
+ * The operation id for the '<em>Upper</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASS_EXTENT_EXPRESSION___UPPER = EXPRESSION_OPERATION_COUNT + 1;
+
+ /**
+ * The operation id for the '<em>Lower</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASS_EXTENT_EXPRESSION___LOWER = EXPRESSION_OPERATION_COUNT + 2;
+
+ /**
+ * The operation id for the '<em>Class Extent Expression Type Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASS_EXTENT_EXPRESSION___CLASS_EXTENT_EXPRESSION_TYPE_DERIVATION__DIAGNOSTICCHAIN_MAP = EXPRESSION_OPERATION_COUNT + 3;
+
+ /**
+ * The operation id for the '<em>Class Extent Expression Upper Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASS_EXTENT_EXPRESSION___CLASS_EXTENT_EXPRESSION_UPPER_DERIVATION__DIAGNOSTICCHAIN_MAP = EXPRESSION_OPERATION_COUNT + 4;
+
+ /**
+ * The operation id for the '<em>Class Extent Expression Lower Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASS_EXTENT_EXPRESSION___CLASS_EXTENT_EXPRESSION_LOWER_DERIVATION__DIAGNOSTICCHAIN_MAP = EXPRESSION_OPERATION_COUNT + 5;
+
+ /**
+ * The operation id for the '<em>Class Extent Expression Extent Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASS_EXTENT_EXPRESSION___CLASS_EXTENT_EXPRESSION_EXTENT_TYPE__DIAGNOSTICCHAIN_MAP = EXPRESSION_OPERATION_COUNT + 6;
+
+ /**
+ * The operation id for the '<em>Validate Class Extent Expression Extent Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASS_EXTENT_EXPRESSION___VALIDATE_CLASS_EXTENT_EXPRESSION_EXTENT_TYPE = EXPRESSION_OPERATION_COUNT + 7;
+
+ /**
+ * The number of operations of the '<em>Class Extent Expression</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASS_EXTENT_EXPRESSION_OPERATION_COUNT = EXPRESSION_OPERATION_COUNT + 8;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.uml.alf.impl.PositionalTemplateBindingImpl <em>Positional Template Binding</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.uml.alf.impl.PositionalTemplateBindingImpl
+ * @see org.eclipse.papyrus.uml.alf.impl.AlfPackageImpl#getPositionalTemplateBinding()
+ * @generated
+ */
+ int POSITIONAL_TEMPLATE_BINDING = 39;
+
+ /**
+ * The feature id for the '<em><b>Owner</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int POSITIONAL_TEMPLATE_BINDING__OWNER = TEMPLATE_BINDING__OWNER;
+
+ /**
+ * The feature id for the '<em><b>Argument Name</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int POSITIONAL_TEMPLATE_BINDING__ARGUMENT_NAME = TEMPLATE_BINDING_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the '<em>Positional Template Binding</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int POSITIONAL_TEMPLATE_BINDING_FEATURE_COUNT = TEMPLATE_BINDING_FEATURE_COUNT + 1;
+
+ /**
+ * The operation id for the '<em>To Reference</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int POSITIONAL_TEMPLATE_BINDING___TO_REFERENCE = TEMPLATE_BINDING___TO_REFERENCE;
+
+ /**
+ * The operation id for the '<em>Owner</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int POSITIONAL_TEMPLATE_BINDING___OWNER = TEMPLATE_BINDING___OWNER;
+
+ /**
+ * The operation id for the '<em>Syntax Element owner</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int POSITIONAL_TEMPLATE_BINDING___SYNTAX_ELEMENT_OWNER = TEMPLATE_BINDING___SYNTAX_ELEMENT_OWNER;
+
+ /**
+ * The operation id for the '<em>Current Scope</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int POSITIONAL_TEMPLATE_BINDING___CURRENT_SCOPE = TEMPLATE_BINDING___CURRENT_SCOPE;
+
+ /**
+ * The operation id for the '<em>Syntax Element current Scope</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int POSITIONAL_TEMPLATE_BINDING___SYNTAX_ELEMENT_CURRENT_SCOPE = TEMPLATE_BINDING___SYNTAX_ELEMENT_CURRENT_SCOPE;
+
+ /**
+ * The operation id for the '<em>Enclosing Statement</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int POSITIONAL_TEMPLATE_BINDING___ENCLOSING_STATEMENT = TEMPLATE_BINDING___ENCLOSING_STATEMENT;
+
+ /**
+ * The operation id for the '<em>Enclosing Expression</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int POSITIONAL_TEMPLATE_BINDING___ENCLOSING_EXPRESSION = TEMPLATE_BINDING___ENCLOSING_EXPRESSION;
+
+ /**
+ * The operation id for the '<em>Assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int POSITIONAL_TEMPLATE_BINDING___ASSIGNMENTS_BEFORE = TEMPLATE_BINDING___ASSIGNMENTS_BEFORE;
+
+ /**
+ * The operation id for the '<em>Syntax Element assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int POSITIONAL_TEMPLATE_BINDING___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE = TEMPLATE_BINDING___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE;
+
+ /**
+ * The operation id for the '<em>Syntax Element assignments Before base</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int POSITIONAL_TEMPLATE_BINDING___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE_BASE = TEMPLATE_BINDING___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE_BASE;
+
+ /**
+ * The operation id for the '<em>Assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int POSITIONAL_TEMPLATE_BINDING___ASSIGNMENTS_BEFORE__SYNTAXELEMENT = TEMPLATE_BINDING___ASSIGNMENTS_BEFORE__SYNTAXELEMENT;
+
+ /**
+ * The operation id for the '<em>Update All</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int POSITIONAL_TEMPLATE_BINDING___UPDATE_ALL__ELIST_ELIST = TEMPLATE_BINDING___UPDATE_ALL__ELIST_ELIST;
+
+ /**
+ * The operation id for the '<em>Common Ancestor</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int POSITIONAL_TEMPLATE_BINDING___COMMON_ANCESTOR__ELIST = TEMPLATE_BINDING___COMMON_ANCESTOR__ELIST;
+
+ /**
+ * The operation id for the '<em>Common Ancestors</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int POSITIONAL_TEMPLATE_BINDING___COMMON_ANCESTORS__ELIST = TEMPLATE_BINDING___COMMON_ANCESTORS__ELIST;
+
+ /**
+ * The operation id for the '<em>Remove Duplicate Elements</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int POSITIONAL_TEMPLATE_BINDING___REMOVE_DUPLICATE_ELEMENTS__ELIST = TEMPLATE_BINDING___REMOVE_DUPLICATE_ELEMENTS__ELIST;
+
+ /**
+ * The operation id for the '<em>Resolve In Library</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int POSITIONAL_TEMPLATE_BINDING___RESOLVE_IN_LIBRARY__STRING = TEMPLATE_BINDING___RESOLVE_IN_LIBRARY__STRING;
+
+ /**
+ * The operation id for the '<em>Primitive Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int POSITIONAL_TEMPLATE_BINDING___PRIMITIVE_TYPE__STRING = TEMPLATE_BINDING___PRIMITIVE_TYPE__STRING;
+
+ /**
+ * The operation id for the '<em>Primitive Type </em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int POSITIONAL_TEMPLATE_BINDING___PRIMITIVE_TYPE____STRING = TEMPLATE_BINDING___PRIMITIVE_TYPE____STRING;
+
+ /**
+ * The operation id for the '<em>Boolean Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int POSITIONAL_TEMPLATE_BINDING___BOOLEAN_TYPE = TEMPLATE_BINDING___BOOLEAN_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Boolean Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int POSITIONAL_TEMPLATE_BINDING___IS_BOOLEAN_TYPE__ELEMENTREFERENCE = TEMPLATE_BINDING___IS_BOOLEAN_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Integer Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int POSITIONAL_TEMPLATE_BINDING___INTEGER_TYPE = TEMPLATE_BINDING___INTEGER_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Integer Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int POSITIONAL_TEMPLATE_BINDING___IS_INTEGER_TYPE__ELEMENTREFERENCE = TEMPLATE_BINDING___IS_INTEGER_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int POSITIONAL_TEMPLATE_BINDING___STRING_TYPE = TEMPLATE_BINDING___STRING_TYPE;
+
+ /**
+ * The operation id for the '<em>Is String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int POSITIONAL_TEMPLATE_BINDING___IS_STRING_TYPE__ELEMENTREFERENCE = TEMPLATE_BINDING___IS_STRING_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Unlimited Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int POSITIONAL_TEMPLATE_BINDING___UNLIMITED_NATURAL_TYPE = TEMPLATE_BINDING___UNLIMITED_NATURAL_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Unlimited Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int POSITIONAL_TEMPLATE_BINDING___IS_UNLIMITED_NATURAL_TYPE__ELEMENTREFERENCE = TEMPLATE_BINDING___IS_UNLIMITED_NATURAL_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Bit String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int POSITIONAL_TEMPLATE_BINDING___BIT_STRING_TYPE = TEMPLATE_BINDING___BIT_STRING_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Bit String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int POSITIONAL_TEMPLATE_BINDING___IS_BIT_STRING_TYPE__ELEMENTREFERENCE = TEMPLATE_BINDING___IS_BIT_STRING_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int POSITIONAL_TEMPLATE_BINDING___NATURAL_TYPE = TEMPLATE_BINDING___NATURAL_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int POSITIONAL_TEMPLATE_BINDING___IS_NATURAL_TYPE__ELEMENTREFERENCE = TEMPLATE_BINDING___IS_NATURAL_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Numeric Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int POSITIONAL_TEMPLATE_BINDING___IS_NUMERIC_TYPE__ELEMENTREFERENCE = TEMPLATE_BINDING___IS_NUMERIC_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Collection Function Add</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int POSITIONAL_TEMPLATE_BINDING___COLLECTION_FUNCTION_ADD = TEMPLATE_BINDING___COLLECTION_FUNCTION_ADD;
+
+ /**
+ * The operation id for the '<em>Is Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int POSITIONAL_TEMPLATE_BINDING___IS_COLLECTION_CLASS__ELEMENTREFERENCE = TEMPLATE_BINDING___IS_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Integer Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int POSITIONAL_TEMPLATE_BINDING___IS_INTEGER_COLLECTION_CLASS__ELEMENTREFERENCE = TEMPLATE_BINDING___IS_INTEGER_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Bit String Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int POSITIONAL_TEMPLATE_BINDING___IS_BIT_STRING_COLLECTION_CLASS__ELEMENTREFERENCE = TEMPLATE_BINDING___IS_BIT_STRING_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>To String</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int POSITIONAL_TEMPLATE_BINDING___TO_STRING = TEMPLATE_BINDING_OPERATION_COUNT + 0;
+
+ /**
+ * The operation id for the '<em>Matches</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int POSITIONAL_TEMPLATE_BINDING___MATCHES__ELEMENTREFERENCE = TEMPLATE_BINDING_OPERATION_COUNT + 1;
+
+ /**
+ * The operation id for the '<em>Matches</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int POSITIONAL_TEMPLATE_BINDING___MATCHES__ELEMENTREFERENCE_QUALIFIEDNAME = TEMPLATE_BINDING_OPERATION_COUNT + 2;
+
+ /**
+ * The operation id for the '<em>Bind To</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int POSITIONAL_TEMPLATE_BINDING___BIND_TO__ELEMENTREFERENCE = TEMPLATE_BINDING_OPERATION_COUNT + 3;
+
+ /**
+ * The operation id for the '<em>Copy</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int POSITIONAL_TEMPLATE_BINDING___COPY = TEMPLATE_BINDING_OPERATION_COUNT + 4;
+
+ /**
+ * The number of operations of the '<em>Positional Template Binding</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int POSITIONAL_TEMPLATE_BINDING_OPERATION_COUNT = TEMPLATE_BINDING_OPERATION_COUNT + 5;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.uml.alf.impl.ConditionalLogicalExpressionImpl <em>Conditional Logical Expression</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.uml.alf.impl.ConditionalLogicalExpressionImpl
+ * @see org.eclipse.papyrus.uml.alf.impl.AlfPackageImpl#getConditionalLogicalExpression()
+ * @generated
+ */
+ int CONDITIONAL_LOGICAL_EXPRESSION = 40;
+
+ /**
+ * The feature id for the '<em><b>Owner</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CONDITIONAL_LOGICAL_EXPRESSION__OWNER = BINARY_EXPRESSION__OWNER;
+
+ /**
+ * The feature id for the '<em><b>Upper</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CONDITIONAL_LOGICAL_EXPRESSION__UPPER = BINARY_EXPRESSION__UPPER;
+
+ /**
+ * The feature id for the '<em><b>Lower</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CONDITIONAL_LOGICAL_EXPRESSION__LOWER = BINARY_EXPRESSION__LOWER;
+
+ /**
+ * The feature id for the '<em><b>Type</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CONDITIONAL_LOGICAL_EXPRESSION__TYPE = BINARY_EXPRESSION__TYPE;
+
+ /**
+ * The feature id for the '<em><b>Assignment Before</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CONDITIONAL_LOGICAL_EXPRESSION__ASSIGNMENT_BEFORE = BINARY_EXPRESSION__ASSIGNMENT_BEFORE;
+
+ /**
+ * The feature id for the '<em><b>Assignment After</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CONDITIONAL_LOGICAL_EXPRESSION__ASSIGNMENT_AFTER = BINARY_EXPRESSION__ASSIGNMENT_AFTER;
+
+ /**
+ * The feature id for the '<em><b>Operand1</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CONDITIONAL_LOGICAL_EXPRESSION__OPERAND1 = BINARY_EXPRESSION__OPERAND1;
+
+ /**
+ * The feature id for the '<em><b>Operand2</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CONDITIONAL_LOGICAL_EXPRESSION__OPERAND2 = BINARY_EXPRESSION__OPERAND2;
+
+ /**
+ * The feature id for the '<em><b>Operator</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CONDITIONAL_LOGICAL_EXPRESSION__OPERATOR = BINARY_EXPRESSION__OPERATOR;
+
+ /**
+ * The number of structural features of the '<em>Conditional Logical Expression</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CONDITIONAL_LOGICAL_EXPRESSION_FEATURE_COUNT = BINARY_EXPRESSION_FEATURE_COUNT + 0;
+
+ /**
+ * The operation id for the '<em>To Reference</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CONDITIONAL_LOGICAL_EXPRESSION___TO_REFERENCE = BINARY_EXPRESSION___TO_REFERENCE;
+
+ /**
+ * The operation id for the '<em>Owner</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CONDITIONAL_LOGICAL_EXPRESSION___OWNER = BINARY_EXPRESSION___OWNER;
+
+ /**
+ * The operation id for the '<em>Syntax Element owner</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CONDITIONAL_LOGICAL_EXPRESSION___SYNTAX_ELEMENT_OWNER = BINARY_EXPRESSION___SYNTAX_ELEMENT_OWNER;
+
+ /**
+ * The operation id for the '<em>Current Scope</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CONDITIONAL_LOGICAL_EXPRESSION___CURRENT_SCOPE = BINARY_EXPRESSION___CURRENT_SCOPE;
+
+ /**
+ * The operation id for the '<em>Syntax Element current Scope</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CONDITIONAL_LOGICAL_EXPRESSION___SYNTAX_ELEMENT_CURRENT_SCOPE = BINARY_EXPRESSION___SYNTAX_ELEMENT_CURRENT_SCOPE;
+
+ /**
+ * The operation id for the '<em>Enclosing Statement</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CONDITIONAL_LOGICAL_EXPRESSION___ENCLOSING_STATEMENT = BINARY_EXPRESSION___ENCLOSING_STATEMENT;
+
+ /**
+ * The operation id for the '<em>Enclosing Expression</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CONDITIONAL_LOGICAL_EXPRESSION___ENCLOSING_EXPRESSION = BINARY_EXPRESSION___ENCLOSING_EXPRESSION;
+
+ /**
+ * The operation id for the '<em>Assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CONDITIONAL_LOGICAL_EXPRESSION___ASSIGNMENTS_BEFORE = BINARY_EXPRESSION___ASSIGNMENTS_BEFORE;
+
+ /**
+ * The operation id for the '<em>Syntax Element assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CONDITIONAL_LOGICAL_EXPRESSION___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE = BINARY_EXPRESSION___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE;
+
+ /**
+ * The operation id for the '<em>Syntax Element assignments Before base</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CONDITIONAL_LOGICAL_EXPRESSION___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE_BASE = BINARY_EXPRESSION___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE_BASE;
+
+ /**
+ * The operation id for the '<em>Update All</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CONDITIONAL_LOGICAL_EXPRESSION___UPDATE_ALL__ELIST_ELIST = BINARY_EXPRESSION___UPDATE_ALL__ELIST_ELIST;
+
+ /**
+ * The operation id for the '<em>Common Ancestor</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CONDITIONAL_LOGICAL_EXPRESSION___COMMON_ANCESTOR__ELIST = BINARY_EXPRESSION___COMMON_ANCESTOR__ELIST;
+
+ /**
+ * The operation id for the '<em>Common Ancestors</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CONDITIONAL_LOGICAL_EXPRESSION___COMMON_ANCESTORS__ELIST = BINARY_EXPRESSION___COMMON_ANCESTORS__ELIST;
+
+ /**
+ * The operation id for the '<em>Remove Duplicate Elements</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CONDITIONAL_LOGICAL_EXPRESSION___REMOVE_DUPLICATE_ELEMENTS__ELIST = BINARY_EXPRESSION___REMOVE_DUPLICATE_ELEMENTS__ELIST;
+
+ /**
+ * The operation id for the '<em>Resolve In Library</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CONDITIONAL_LOGICAL_EXPRESSION___RESOLVE_IN_LIBRARY__STRING = BINARY_EXPRESSION___RESOLVE_IN_LIBRARY__STRING;
+
+ /**
+ * The operation id for the '<em>Primitive Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CONDITIONAL_LOGICAL_EXPRESSION___PRIMITIVE_TYPE__STRING = BINARY_EXPRESSION___PRIMITIVE_TYPE__STRING;
+
+ /**
+ * The operation id for the '<em>Primitive Type </em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CONDITIONAL_LOGICAL_EXPRESSION___PRIMITIVE_TYPE____STRING = BINARY_EXPRESSION___PRIMITIVE_TYPE____STRING;
+
+ /**
+ * The operation id for the '<em>Boolean Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CONDITIONAL_LOGICAL_EXPRESSION___BOOLEAN_TYPE = BINARY_EXPRESSION___BOOLEAN_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Boolean Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CONDITIONAL_LOGICAL_EXPRESSION___IS_BOOLEAN_TYPE__ELEMENTREFERENCE = BINARY_EXPRESSION___IS_BOOLEAN_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Integer Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CONDITIONAL_LOGICAL_EXPRESSION___INTEGER_TYPE = BINARY_EXPRESSION___INTEGER_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Integer Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CONDITIONAL_LOGICAL_EXPRESSION___IS_INTEGER_TYPE__ELEMENTREFERENCE = BINARY_EXPRESSION___IS_INTEGER_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CONDITIONAL_LOGICAL_EXPRESSION___STRING_TYPE = BINARY_EXPRESSION___STRING_TYPE;
+
+ /**
+ * The operation id for the '<em>Is String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CONDITIONAL_LOGICAL_EXPRESSION___IS_STRING_TYPE__ELEMENTREFERENCE = BINARY_EXPRESSION___IS_STRING_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Unlimited Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CONDITIONAL_LOGICAL_EXPRESSION___UNLIMITED_NATURAL_TYPE = BINARY_EXPRESSION___UNLIMITED_NATURAL_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Unlimited Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CONDITIONAL_LOGICAL_EXPRESSION___IS_UNLIMITED_NATURAL_TYPE__ELEMENTREFERENCE = BINARY_EXPRESSION___IS_UNLIMITED_NATURAL_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Bit String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CONDITIONAL_LOGICAL_EXPRESSION___BIT_STRING_TYPE = BINARY_EXPRESSION___BIT_STRING_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Bit String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CONDITIONAL_LOGICAL_EXPRESSION___IS_BIT_STRING_TYPE__ELEMENTREFERENCE = BINARY_EXPRESSION___IS_BIT_STRING_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CONDITIONAL_LOGICAL_EXPRESSION___NATURAL_TYPE = BINARY_EXPRESSION___NATURAL_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CONDITIONAL_LOGICAL_EXPRESSION___IS_NATURAL_TYPE__ELEMENTREFERENCE = BINARY_EXPRESSION___IS_NATURAL_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Numeric Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CONDITIONAL_LOGICAL_EXPRESSION___IS_NUMERIC_TYPE__ELEMENTREFERENCE = BINARY_EXPRESSION___IS_NUMERIC_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Collection Function Add</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CONDITIONAL_LOGICAL_EXPRESSION___COLLECTION_FUNCTION_ADD = BINARY_EXPRESSION___COLLECTION_FUNCTION_ADD;
+
+ /**
+ * The operation id for the '<em>Is Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CONDITIONAL_LOGICAL_EXPRESSION___IS_COLLECTION_CLASS__ELEMENTREFERENCE = BINARY_EXPRESSION___IS_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Integer Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CONDITIONAL_LOGICAL_EXPRESSION___IS_INTEGER_COLLECTION_CLASS__ELEMENTREFERENCE = BINARY_EXPRESSION___IS_INTEGER_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Bit String Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CONDITIONAL_LOGICAL_EXPRESSION___IS_BIT_STRING_COLLECTION_CLASS__ELEMENTREFERENCE = BINARY_EXPRESSION___IS_BIT_STRING_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Type Cached</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CONDITIONAL_LOGICAL_EXPRESSION___TYPE_CACHED = BINARY_EXPRESSION___TYPE_CACHED;
+
+ /**
+ * The operation id for the '<em>Is Null</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CONDITIONAL_LOGICAL_EXPRESSION___IS_NULL = BINARY_EXPRESSION___IS_NULL;
+
+ /**
+ * The operation id for the '<em>Is Assignable From Element</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CONDITIONAL_LOGICAL_EXPRESSION___IS_ASSIGNABLE_FROM_ELEMENT__ELEMENTREFERENCE = BINARY_EXPRESSION___IS_ASSIGNABLE_FROM_ELEMENT__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Assignable From</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CONDITIONAL_LOGICAL_EXPRESSION___IS_ASSIGNABLE_FROM__ASSIGNABLEELEMENT = BINARY_EXPRESSION___IS_ASSIGNABLE_FROM__ASSIGNABLEELEMENT;
+
+ /**
+ * The operation id for the '<em>Is Type Conformant With</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CONDITIONAL_LOGICAL_EXPRESSION___IS_TYPE_CONFORMANT_WITH__ASSIGNABLEELEMENT = BINARY_EXPRESSION___IS_TYPE_CONFORMANT_WITH__ASSIGNABLEELEMENT;
+
+ /**
+ * The operation id for the '<em>Is Conformant With Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CONDITIONAL_LOGICAL_EXPRESSION___IS_CONFORMANT_WITH_TYPE__ELEMENTREFERENCE = BINARY_EXPRESSION___IS_CONFORMANT_WITH_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Multiplicity Conformant With</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CONDITIONAL_LOGICAL_EXPRESSION___IS_MULTIPLICITY_CONFORMANT_WITH__ASSIGNABLEELEMENT = BINARY_EXPRESSION___IS_MULTIPLICITY_CONFORMANT_WITH__ASSIGNABLEELEMENT;
+
+ /**
+ * The operation id for the '<em>New Assignments</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CONDITIONAL_LOGICAL_EXPRESSION___NEW_ASSIGNMENTS = BINARY_EXPRESSION___NEW_ASSIGNMENTS;
+
+ /**
+ * The operation id for the '<em>Expression update Assignments</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CONDITIONAL_LOGICAL_EXPRESSION___EXPRESSION_UPDATE_ASSIGNMENTS = BINARY_EXPRESSION___EXPRESSION_UPDATE_ASSIGNMENTS;
+
+ /**
+ * The operation id for the '<em>Update Assignments Cached</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CONDITIONAL_LOGICAL_EXPRESSION___UPDATE_ASSIGNMENTS_CACHED = BINARY_EXPRESSION___UPDATE_ASSIGNMENTS_CACHED;
+
+ /**
+ * The operation id for the '<em>Resolve</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CONDITIONAL_LOGICAL_EXPRESSION___RESOLVE__STRING = BINARY_EXPRESSION___RESOLVE__STRING;
+
+ /**
+ * The operation id for the '<em>Is Add Target</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CONDITIONAL_LOGICAL_EXPRESSION___IS_ADD_TARGET__EXPRESSION = BINARY_EXPRESSION___IS_ADD_TARGET__EXPRESSION;
+
+ /**
+ * The operation id for the '<em>Expression Assignment After Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CONDITIONAL_LOGICAL_EXPRESSION___EXPRESSION_ASSIGNMENT_AFTER_DERIVATION__DIAGNOSTICCHAIN_MAP = BINARY_EXPRESSION___EXPRESSION_ASSIGNMENT_AFTER_DERIVATION__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Expression Unique Assignments</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CONDITIONAL_LOGICAL_EXPRESSION___EXPRESSION_UNIQUE_ASSIGNMENTS__DIAGNOSTICCHAIN_MAP = BINARY_EXPRESSION___EXPRESSION_UNIQUE_ASSIGNMENTS__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>No Null Arguments</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CONDITIONAL_LOGICAL_EXPRESSION___NO_NULL_ARGUMENTS = BINARY_EXPRESSION___NO_NULL_ARGUMENTS;
+
+ /**
+ * The operation id for the '<em>Binary Expression Operand Multiplicity</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CONDITIONAL_LOGICAL_EXPRESSION___BINARY_EXPRESSION_OPERAND_MULTIPLICITY__DIAGNOSTICCHAIN_MAP = BINARY_EXPRESSION___BINARY_EXPRESSION_OPERAND_MULTIPLICITY__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Binary Expression Operand Assignments</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CONDITIONAL_LOGICAL_EXPRESSION___BINARY_EXPRESSION_OPERAND_ASSIGNMENTS__DIAGNOSTICCHAIN_MAP = BINARY_EXPRESSION___BINARY_EXPRESSION_OPERAND_ASSIGNMENTS__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CONDITIONAL_LOGICAL_EXPRESSION___TYPE = BINARY_EXPRESSION_OPERATION_COUNT + 0;
+
+ /**
+ * The operation id for the '<em>Lower</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CONDITIONAL_LOGICAL_EXPRESSION___LOWER = BINARY_EXPRESSION_OPERATION_COUNT + 1;
+
+ /**
+ * The operation id for the '<em>Upper</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CONDITIONAL_LOGICAL_EXPRESSION___UPPER = BINARY_EXPRESSION_OPERATION_COUNT + 2;
+
+ /**
+ * The operation id for the '<em>Conditional Logical Expression Type Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CONDITIONAL_LOGICAL_EXPRESSION___CONDITIONAL_LOGICAL_EXPRESSION_TYPE_DERIVATION__DIAGNOSTICCHAIN_MAP = BINARY_EXPRESSION_OPERATION_COUNT + 3;
+
+ /**
+ * The operation id for the '<em>Conditional Logical Expression Lower</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CONDITIONAL_LOGICAL_EXPRESSION___CONDITIONAL_LOGICAL_EXPRESSION_LOWER__DIAGNOSTICCHAIN_MAP = BINARY_EXPRESSION_OPERATION_COUNT + 4;
+
+ /**
+ * The operation id for the '<em>Conditional Logical Expression Upper</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CONDITIONAL_LOGICAL_EXPRESSION___CONDITIONAL_LOGICAL_EXPRESSION_UPPER__DIAGNOSTICCHAIN_MAP = BINARY_EXPRESSION_OPERATION_COUNT + 5;
+
+ /**
+ * The operation id for the '<em>Conditional Logical Expression Operands</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CONDITIONAL_LOGICAL_EXPRESSION___CONDITIONAL_LOGICAL_EXPRESSION_OPERANDS__DIAGNOSTICCHAIN_MAP = BINARY_EXPRESSION_OPERATION_COUNT + 6;
+
+ /**
+ * The operation id for the '<em>Validate Assignments</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CONDITIONAL_LOGICAL_EXPRESSION___VALIDATE_ASSIGNMENTS = BINARY_EXPRESSION_OPERATION_COUNT + 7;
+
+ /**
+ * The operation id for the '<em>Assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CONDITIONAL_LOGICAL_EXPRESSION___ASSIGNMENTS_BEFORE__SYNTAXELEMENT = BINARY_EXPRESSION_OPERATION_COUNT + 8;
+
+ /**
+ * The operation id for the '<em>Update Assignments</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CONDITIONAL_LOGICAL_EXPRESSION___UPDATE_ASSIGNMENTS = BINARY_EXPRESSION_OPERATION_COUNT + 9;
+
+ /**
+ * The number of operations of the '<em>Conditional Logical Expression</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CONDITIONAL_LOGICAL_EXPRESSION_OPERATION_COUNT = BINARY_EXPRESSION_OPERATION_COUNT + 10;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.uml.alf.impl.LinkOperationExpressionImpl <em>Link Operation Expression</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.uml.alf.impl.LinkOperationExpressionImpl
+ * @see org.eclipse.papyrus.uml.alf.impl.AlfPackageImpl#getLinkOperationExpression()
+ * @generated
+ */
+ int LINK_OPERATION_EXPRESSION = 41;
+
+ /**
+ * The feature id for the '<em><b>Owner</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LINK_OPERATION_EXPRESSION__OWNER = INVOCATION_EXPRESSION__OWNER;
+
+ /**
+ * The feature id for the '<em><b>Upper</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LINK_OPERATION_EXPRESSION__UPPER = INVOCATION_EXPRESSION__UPPER;
+
+ /**
+ * The feature id for the '<em><b>Lower</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LINK_OPERATION_EXPRESSION__LOWER = INVOCATION_EXPRESSION__LOWER;
+
+ /**
+ * The feature id for the '<em><b>Type</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LINK_OPERATION_EXPRESSION__TYPE = INVOCATION_EXPRESSION__TYPE;
+
+ /**
+ * The feature id for the '<em><b>Assignment Before</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LINK_OPERATION_EXPRESSION__ASSIGNMENT_BEFORE = INVOCATION_EXPRESSION__ASSIGNMENT_BEFORE;
+
+ /**
+ * The feature id for the '<em><b>Assignment After</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LINK_OPERATION_EXPRESSION__ASSIGNMENT_AFTER = INVOCATION_EXPRESSION__ASSIGNMENT_AFTER;
+
+ /**
+ * The feature id for the '<em><b>Is Behavior</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LINK_OPERATION_EXPRESSION__IS_BEHAVIOR = INVOCATION_EXPRESSION__IS_BEHAVIOR;
+
+ /**
+ * The feature id for the '<em><b>Is Association End</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LINK_OPERATION_EXPRESSION__IS_ASSOCIATION_END = INVOCATION_EXPRESSION__IS_ASSOCIATION_END;
+
+ /**
+ * The feature id for the '<em><b>Feature</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LINK_OPERATION_EXPRESSION__FEATURE = INVOCATION_EXPRESSION__FEATURE;
+
+ /**
+ * The feature id for the '<em><b>Is Operation</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LINK_OPERATION_EXPRESSION__IS_OPERATION = INVOCATION_EXPRESSION__IS_OPERATION;
+
+ /**
+ * The feature id for the '<em><b>Is Destructor</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LINK_OPERATION_EXPRESSION__IS_DESTRUCTOR = INVOCATION_EXPRESSION__IS_DESTRUCTOR;
+
+ /**
+ * The feature id for the '<em><b>Is Implicit</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LINK_OPERATION_EXPRESSION__IS_IMPLICIT = INVOCATION_EXPRESSION__IS_IMPLICIT;
+
+ /**
+ * The feature id for the '<em><b>Referent</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LINK_OPERATION_EXPRESSION__REFERENT = INVOCATION_EXPRESSION__REFERENT;
+
+ /**
+ * The feature id for the '<em><b>Parameter</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LINK_OPERATION_EXPRESSION__PARAMETER = INVOCATION_EXPRESSION__PARAMETER;
+
+ /**
+ * The feature id for the '<em><b>Is Signal</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LINK_OPERATION_EXPRESSION__IS_SIGNAL = INVOCATION_EXPRESSION__IS_SIGNAL;
+
+ /**
+ * The feature id for the '<em><b>Tuple</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LINK_OPERATION_EXPRESSION__TUPLE = INVOCATION_EXPRESSION__TUPLE;
+
+ /**
+ * The feature id for the '<em><b>Operation</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LINK_OPERATION_EXPRESSION__OPERATION = INVOCATION_EXPRESSION_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Is Creation</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LINK_OPERATION_EXPRESSION__IS_CREATION = INVOCATION_EXPRESSION_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Is Clear</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LINK_OPERATION_EXPRESSION__IS_CLEAR = INVOCATION_EXPRESSION_FEATURE_COUNT + 2;
+
+ /**
+ * The feature id for the '<em><b>Association Name</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LINK_OPERATION_EXPRESSION__ASSOCIATION_NAME = INVOCATION_EXPRESSION_FEATURE_COUNT + 3;
+
+ /**
+ * The number of structural features of the '<em>Link Operation Expression</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LINK_OPERATION_EXPRESSION_FEATURE_COUNT = INVOCATION_EXPRESSION_FEATURE_COUNT + 4;
+
+ /**
+ * The operation id for the '<em>To Reference</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LINK_OPERATION_EXPRESSION___TO_REFERENCE = INVOCATION_EXPRESSION___TO_REFERENCE;
+
+ /**
+ * The operation id for the '<em>Owner</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LINK_OPERATION_EXPRESSION___OWNER = INVOCATION_EXPRESSION___OWNER;
+
+ /**
+ * The operation id for the '<em>Syntax Element owner</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LINK_OPERATION_EXPRESSION___SYNTAX_ELEMENT_OWNER = INVOCATION_EXPRESSION___SYNTAX_ELEMENT_OWNER;
+
+ /**
+ * The operation id for the '<em>Current Scope</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LINK_OPERATION_EXPRESSION___CURRENT_SCOPE = INVOCATION_EXPRESSION___CURRENT_SCOPE;
+
+ /**
+ * The operation id for the '<em>Syntax Element current Scope</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LINK_OPERATION_EXPRESSION___SYNTAX_ELEMENT_CURRENT_SCOPE = INVOCATION_EXPRESSION___SYNTAX_ELEMENT_CURRENT_SCOPE;
+
+ /**
+ * The operation id for the '<em>Enclosing Statement</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LINK_OPERATION_EXPRESSION___ENCLOSING_STATEMENT = INVOCATION_EXPRESSION___ENCLOSING_STATEMENT;
+
+ /**
+ * The operation id for the '<em>Enclosing Expression</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LINK_OPERATION_EXPRESSION___ENCLOSING_EXPRESSION = INVOCATION_EXPRESSION___ENCLOSING_EXPRESSION;
+
+ /**
+ * The operation id for the '<em>Assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LINK_OPERATION_EXPRESSION___ASSIGNMENTS_BEFORE = INVOCATION_EXPRESSION___ASSIGNMENTS_BEFORE;
+
+ /**
+ * The operation id for the '<em>Syntax Element assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LINK_OPERATION_EXPRESSION___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE = INVOCATION_EXPRESSION___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE;
+
+ /**
+ * The operation id for the '<em>Syntax Element assignments Before base</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LINK_OPERATION_EXPRESSION___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE_BASE = INVOCATION_EXPRESSION___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE_BASE;
+
+ /**
+ * The operation id for the '<em>Update All</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LINK_OPERATION_EXPRESSION___UPDATE_ALL__ELIST_ELIST = INVOCATION_EXPRESSION___UPDATE_ALL__ELIST_ELIST;
+
+ /**
+ * The operation id for the '<em>Common Ancestor</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LINK_OPERATION_EXPRESSION___COMMON_ANCESTOR__ELIST = INVOCATION_EXPRESSION___COMMON_ANCESTOR__ELIST;
+
+ /**
+ * The operation id for the '<em>Common Ancestors</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LINK_OPERATION_EXPRESSION___COMMON_ANCESTORS__ELIST = INVOCATION_EXPRESSION___COMMON_ANCESTORS__ELIST;
+
+ /**
+ * The operation id for the '<em>Remove Duplicate Elements</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LINK_OPERATION_EXPRESSION___REMOVE_DUPLICATE_ELEMENTS__ELIST = INVOCATION_EXPRESSION___REMOVE_DUPLICATE_ELEMENTS__ELIST;
+
+ /**
+ * The operation id for the '<em>Resolve In Library</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LINK_OPERATION_EXPRESSION___RESOLVE_IN_LIBRARY__STRING = INVOCATION_EXPRESSION___RESOLVE_IN_LIBRARY__STRING;
+
+ /**
+ * The operation id for the '<em>Primitive Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LINK_OPERATION_EXPRESSION___PRIMITIVE_TYPE__STRING = INVOCATION_EXPRESSION___PRIMITIVE_TYPE__STRING;
+
+ /**
+ * The operation id for the '<em>Primitive Type </em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LINK_OPERATION_EXPRESSION___PRIMITIVE_TYPE____STRING = INVOCATION_EXPRESSION___PRIMITIVE_TYPE____STRING;
+
+ /**
+ * The operation id for the '<em>Boolean Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LINK_OPERATION_EXPRESSION___BOOLEAN_TYPE = INVOCATION_EXPRESSION___BOOLEAN_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Boolean Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LINK_OPERATION_EXPRESSION___IS_BOOLEAN_TYPE__ELEMENTREFERENCE = INVOCATION_EXPRESSION___IS_BOOLEAN_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Integer Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LINK_OPERATION_EXPRESSION___INTEGER_TYPE = INVOCATION_EXPRESSION___INTEGER_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Integer Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LINK_OPERATION_EXPRESSION___IS_INTEGER_TYPE__ELEMENTREFERENCE = INVOCATION_EXPRESSION___IS_INTEGER_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LINK_OPERATION_EXPRESSION___STRING_TYPE = INVOCATION_EXPRESSION___STRING_TYPE;
+
+ /**
+ * The operation id for the '<em>Is String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LINK_OPERATION_EXPRESSION___IS_STRING_TYPE__ELEMENTREFERENCE = INVOCATION_EXPRESSION___IS_STRING_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Unlimited Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LINK_OPERATION_EXPRESSION___UNLIMITED_NATURAL_TYPE = INVOCATION_EXPRESSION___UNLIMITED_NATURAL_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Unlimited Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LINK_OPERATION_EXPRESSION___IS_UNLIMITED_NATURAL_TYPE__ELEMENTREFERENCE = INVOCATION_EXPRESSION___IS_UNLIMITED_NATURAL_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Bit String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LINK_OPERATION_EXPRESSION___BIT_STRING_TYPE = INVOCATION_EXPRESSION___BIT_STRING_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Bit String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LINK_OPERATION_EXPRESSION___IS_BIT_STRING_TYPE__ELEMENTREFERENCE = INVOCATION_EXPRESSION___IS_BIT_STRING_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LINK_OPERATION_EXPRESSION___NATURAL_TYPE = INVOCATION_EXPRESSION___NATURAL_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LINK_OPERATION_EXPRESSION___IS_NATURAL_TYPE__ELEMENTREFERENCE = INVOCATION_EXPRESSION___IS_NATURAL_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Numeric Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LINK_OPERATION_EXPRESSION___IS_NUMERIC_TYPE__ELEMENTREFERENCE = INVOCATION_EXPRESSION___IS_NUMERIC_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Collection Function Add</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LINK_OPERATION_EXPRESSION___COLLECTION_FUNCTION_ADD = INVOCATION_EXPRESSION___COLLECTION_FUNCTION_ADD;
+
+ /**
+ * The operation id for the '<em>Is Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LINK_OPERATION_EXPRESSION___IS_COLLECTION_CLASS__ELEMENTREFERENCE = INVOCATION_EXPRESSION___IS_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Integer Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LINK_OPERATION_EXPRESSION___IS_INTEGER_COLLECTION_CLASS__ELEMENTREFERENCE = INVOCATION_EXPRESSION___IS_INTEGER_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Bit String Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LINK_OPERATION_EXPRESSION___IS_BIT_STRING_COLLECTION_CLASS__ELEMENTREFERENCE = INVOCATION_EXPRESSION___IS_BIT_STRING_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Type Cached</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LINK_OPERATION_EXPRESSION___TYPE_CACHED = INVOCATION_EXPRESSION___TYPE_CACHED;
+
+ /**
+ * The operation id for the '<em>Is Null</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LINK_OPERATION_EXPRESSION___IS_NULL = INVOCATION_EXPRESSION___IS_NULL;
+
+ /**
+ * The operation id for the '<em>Is Assignable From Element</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LINK_OPERATION_EXPRESSION___IS_ASSIGNABLE_FROM_ELEMENT__ELEMENTREFERENCE = INVOCATION_EXPRESSION___IS_ASSIGNABLE_FROM_ELEMENT__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Assignable From</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LINK_OPERATION_EXPRESSION___IS_ASSIGNABLE_FROM__ASSIGNABLEELEMENT = INVOCATION_EXPRESSION___IS_ASSIGNABLE_FROM__ASSIGNABLEELEMENT;
+
+ /**
+ * The operation id for the '<em>Is Type Conformant With</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LINK_OPERATION_EXPRESSION___IS_TYPE_CONFORMANT_WITH__ASSIGNABLEELEMENT = INVOCATION_EXPRESSION___IS_TYPE_CONFORMANT_WITH__ASSIGNABLEELEMENT;
+
+ /**
+ * The operation id for the '<em>Is Conformant With Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LINK_OPERATION_EXPRESSION___IS_CONFORMANT_WITH_TYPE__ELEMENTREFERENCE = INVOCATION_EXPRESSION___IS_CONFORMANT_WITH_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Multiplicity Conformant With</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LINK_OPERATION_EXPRESSION___IS_MULTIPLICITY_CONFORMANT_WITH__ASSIGNABLEELEMENT = INVOCATION_EXPRESSION___IS_MULTIPLICITY_CONFORMANT_WITH__ASSIGNABLEELEMENT;
+
+ /**
+ * The operation id for the '<em>New Assignments</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LINK_OPERATION_EXPRESSION___NEW_ASSIGNMENTS = INVOCATION_EXPRESSION___NEW_ASSIGNMENTS;
+
+ /**
+ * The operation id for the '<em>Expression update Assignments</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LINK_OPERATION_EXPRESSION___EXPRESSION_UPDATE_ASSIGNMENTS = INVOCATION_EXPRESSION___EXPRESSION_UPDATE_ASSIGNMENTS;
+
+ /**
+ * The operation id for the '<em>Update Assignments Cached</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LINK_OPERATION_EXPRESSION___UPDATE_ASSIGNMENTS_CACHED = INVOCATION_EXPRESSION___UPDATE_ASSIGNMENTS_CACHED;
+
+ /**
+ * The operation id for the '<em>Resolve</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LINK_OPERATION_EXPRESSION___RESOLVE__STRING = INVOCATION_EXPRESSION___RESOLVE__STRING;
+
+ /**
+ * The operation id for the '<em>Is Add Target</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LINK_OPERATION_EXPRESSION___IS_ADD_TARGET__EXPRESSION = INVOCATION_EXPRESSION___IS_ADD_TARGET__EXPRESSION;
+
+ /**
+ * The operation id for the '<em>Expression Assignment After Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LINK_OPERATION_EXPRESSION___EXPRESSION_ASSIGNMENT_AFTER_DERIVATION__DIAGNOSTICCHAIN_MAP = INVOCATION_EXPRESSION___EXPRESSION_ASSIGNMENT_AFTER_DERIVATION__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Expression Unique Assignments</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LINK_OPERATION_EXPRESSION___EXPRESSION_UNIQUE_ASSIGNMENTS__DIAGNOSTICCHAIN_MAP = INVOCATION_EXPRESSION___EXPRESSION_UNIQUE_ASSIGNMENTS__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LINK_OPERATION_EXPRESSION___ASSIGNMENTS_BEFORE__SYNTAXELEMENT = INVOCATION_EXPRESSION___ASSIGNMENTS_BEFORE__SYNTAXELEMENT;
+
+ /**
+ * The operation id for the '<em>Referent Cached</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LINK_OPERATION_EXPRESSION___REFERENT_CACHED = INVOCATION_EXPRESSION___REFERENT_CACHED;
+
+ /**
+ * The operation id for the '<em>Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LINK_OPERATION_EXPRESSION___TYPE = INVOCATION_EXPRESSION___TYPE;
+
+ /**
+ * The operation id for the '<em>Invocation Expression type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LINK_OPERATION_EXPRESSION___INVOCATION_EXPRESSION_TYPE = INVOCATION_EXPRESSION___INVOCATION_EXPRESSION_TYPE;
+
+ /**
+ * The operation id for the '<em>Upper</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LINK_OPERATION_EXPRESSION___UPPER = INVOCATION_EXPRESSION___UPPER;
+
+ /**
+ * The operation id for the '<em>Invocation Expression upper</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LINK_OPERATION_EXPRESSION___INVOCATION_EXPRESSION_UPPER = INVOCATION_EXPRESSION___INVOCATION_EXPRESSION_UPPER;
+
+ /**
+ * The operation id for the '<em>Lower</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LINK_OPERATION_EXPRESSION___LOWER = INVOCATION_EXPRESSION___LOWER;
+
+ /**
+ * The operation id for the '<em>Invocation Expression lower</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LINK_OPERATION_EXPRESSION___INVOCATION_EXPRESSION_LOWER = INVOCATION_EXPRESSION___INVOCATION_EXPRESSION_LOWER;
+
+ /**
+ * The operation id for the '<em>Parameter Named</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LINK_OPERATION_EXPRESSION___PARAMETER_NAMED__STRING = INVOCATION_EXPRESSION___PARAMETER_NAMED__STRING;
+
+ /**
+ * The operation id for the '<em>Parameter Count</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LINK_OPERATION_EXPRESSION___PARAMETER_COUNT = INVOCATION_EXPRESSION___PARAMETER_COUNT;
+
+ /**
+ * The operation id for the '<em>Parameter Is Assignable From</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LINK_OPERATION_EXPRESSION___PARAMETER_IS_ASSIGNABLE_FROM__INPUTNAMEDEXPRESSION = INVOCATION_EXPRESSION___PARAMETER_IS_ASSIGNABLE_FROM__INPUTNAMEDEXPRESSION;
+
+ /**
+ * The operation id for the '<em>Parameter Is Assignable To</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LINK_OPERATION_EXPRESSION___PARAMETER_IS_ASSIGNABLE_TO__OUTPUTNAMEDEXPRESSION = INVOCATION_EXPRESSION___PARAMETER_IS_ASSIGNABLE_TO__OUTPUTNAMEDEXPRESSION;
+
+ /**
+ * The operation id for the '<em>Alternative Constructor Is Valid</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LINK_OPERATION_EXPRESSION___ALTERNATIVE_CONSTRUCTOR_IS_VALID = INVOCATION_EXPRESSION___ALTERNATIVE_CONSTRUCTOR_IS_VALID;
+
+ /**
+ * The operation id for the '<em>Bind Template Implicit Arguments</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LINK_OPERATION_EXPRESSION___BIND_TEMPLATE_IMPLICIT_ARGUMENTS__ELEMENTREFERENCE_EXPRESSION = INVOCATION_EXPRESSION___BIND_TEMPLATE_IMPLICIT_ARGUMENTS__ELEMENTREFERENCE_EXPRESSION;
+
+ /**
+ * The operation id for the '<em>Bind Template Implicit Arguments1</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LINK_OPERATION_EXPRESSION___BIND_TEMPLATE_IMPLICIT_ARGUMENTS1__ELEMENTREFERENCE_EXPRESSION = INVOCATION_EXPRESSION___BIND_TEMPLATE_IMPLICIT_ARGUMENTS1__ELEMENTREFERENCE_EXPRESSION;
+
+ /**
+ * The operation id for the '<em>Effective Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LINK_OPERATION_EXPRESSION___EFFECTIVE_TYPE__ELEMENTREFERENCE_EXPRESSION = INVOCATION_EXPRESSION___EFFECTIVE_TYPE__ELEMENTREFERENCE_EXPRESSION;
+
+ /**
+ * The operation id for the '<em>Invocation Expression parameter Elements</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LINK_OPERATION_EXPRESSION___INVOCATION_EXPRESSION_PARAMETER_ELEMENTS = INVOCATION_EXPRESSION___INVOCATION_EXPRESSION_PARAMETER_ELEMENTS;
+
+ /**
+ * The operation id for the '<em>Parameter From Property</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LINK_OPERATION_EXPRESSION___PARAMETER_FROM_PROPERTY__ELEMENTREFERENCE = INVOCATION_EXPRESSION___PARAMETER_FROM_PROPERTY__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Parameter From Property With Multiplicity</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LINK_OPERATION_EXPRESSION___PARAMETER_FROM_PROPERTY_WITH_MULTIPLICITY__ELEMENTREFERENCE_STRING_STRING = INVOCATION_EXPRESSION___PARAMETER_FROM_PROPERTY_WITH_MULTIPLICITY__ELEMENTREFERENCE_STRING_STRING;
+
+ /**
+ * The operation id for the '<em>Invocation Expression Is Behavior Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LINK_OPERATION_EXPRESSION___INVOCATION_EXPRESSION_IS_BEHAVIOR_DERIVATION__DIAGNOSTICCHAIN_MAP = INVOCATION_EXPRESSION___INVOCATION_EXPRESSION_IS_BEHAVIOR_DERIVATION__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Invocation Expression Is Association End Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LINK_OPERATION_EXPRESSION___INVOCATION_EXPRESSION_IS_ASSOCIATION_END_DERIVATION__DIAGNOSTICCHAIN_MAP = INVOCATION_EXPRESSION___INVOCATION_EXPRESSION_IS_ASSOCIATION_END_DERIVATION__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Invocation Expression Is Operation Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LINK_OPERATION_EXPRESSION___INVOCATION_EXPRESSION_IS_OPERATION_DERIVATION__DIAGNOSTICCHAIN_MAP = INVOCATION_EXPRESSION___INVOCATION_EXPRESSION_IS_OPERATION_DERIVATION__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Invocation Expression Is Destructor Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LINK_OPERATION_EXPRESSION___INVOCATION_EXPRESSION_IS_DESTRUCTOR_DERIVATION__DIAGNOSTICCHAIN_MAP = INVOCATION_EXPRESSION___INVOCATION_EXPRESSION_IS_DESTRUCTOR_DERIVATION__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Invocation Expression Is Implicit Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LINK_OPERATION_EXPRESSION___INVOCATION_EXPRESSION_IS_IMPLICIT_DERIVATION__DIAGNOSTICCHAIN_MAP = INVOCATION_EXPRESSION___INVOCATION_EXPRESSION_IS_IMPLICIT_DERIVATION__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Invocation Expression Is Signal Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LINK_OPERATION_EXPRESSION___INVOCATION_EXPRESSION_IS_SIGNAL_DERIVATION__DIAGNOSTICCHAIN_MAP = INVOCATION_EXPRESSION___INVOCATION_EXPRESSION_IS_SIGNAL_DERIVATION__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Invocation Expression Parameter Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LINK_OPERATION_EXPRESSION___INVOCATION_EXPRESSION_PARAMETER_DERIVATION__DIAGNOSTICCHAIN_MAP = INVOCATION_EXPRESSION___INVOCATION_EXPRESSION_PARAMETER_DERIVATION__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Invocation Expression Type Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LINK_OPERATION_EXPRESSION___INVOCATION_EXPRESSION_TYPE_DERIVATION__DIAGNOSTICCHAIN_MAP = INVOCATION_EXPRESSION___INVOCATION_EXPRESSION_TYPE_DERIVATION__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Invocation Expression Upper Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LINK_OPERATION_EXPRESSION___INVOCATION_EXPRESSION_UPPER_DERIVATION__DIAGNOSTICCHAIN_MAP = INVOCATION_EXPRESSION___INVOCATION_EXPRESSION_UPPER_DERIVATION__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Invocation Expression Lower Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LINK_OPERATION_EXPRESSION___INVOCATION_EXPRESSION_LOWER_DERIVATION__DIAGNOSTICCHAIN_MAP = INVOCATION_EXPRESSION___INVOCATION_EXPRESSION_LOWER_DERIVATION__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Invocation Expression Assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LINK_OPERATION_EXPRESSION___INVOCATION_EXPRESSION_ASSIGNMENTS_BEFORE__DIAGNOSTICCHAIN_MAP = INVOCATION_EXPRESSION___INVOCATION_EXPRESSION_ASSIGNMENTS_BEFORE__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Update Assignments</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LINK_OPERATION_EXPRESSION___UPDATE_ASSIGNMENTS = INVOCATION_EXPRESSION___UPDATE_ASSIGNMENTS;
+
+ /**
+ * The operation id for the '<em>Invocation Expression Template Parameters</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LINK_OPERATION_EXPRESSION___INVOCATION_EXPRESSION_TEMPLATE_PARAMETERS__DIAGNOSTICCHAIN_MAP = INVOCATION_EXPRESSION___INVOCATION_EXPRESSION_TEMPLATE_PARAMETERS__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Referent</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LINK_OPERATION_EXPRESSION___REFERENT = INVOCATION_EXPRESSION_OPERATION_COUNT + 0;
+
+ /**
+ * The operation id for the '<em>Feature</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LINK_OPERATION_EXPRESSION___FEATURE = INVOCATION_EXPRESSION_OPERATION_COUNT + 1;
+
+ /**
+ * The operation id for the '<em>Link Operation Expression Is Creation Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LINK_OPERATION_EXPRESSION___LINK_OPERATION_EXPRESSION_IS_CREATION_DERIVATION__DIAGNOSTICCHAIN_MAP = INVOCATION_EXPRESSION_OPERATION_COUNT + 2;
+
+ /**
+ * The operation id for the '<em>Link Operation Expression Is Clear Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LINK_OPERATION_EXPRESSION___LINK_OPERATION_EXPRESSION_IS_CLEAR_DERIVATION__DIAGNOSTICCHAIN_MAP = INVOCATION_EXPRESSION_OPERATION_COUNT + 3;
+
+ /**
+ * The operation id for the '<em>Link Operation Expression Referent Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LINK_OPERATION_EXPRESSION___LINK_OPERATION_EXPRESSION_REFERENT_DERIVATION__DIAGNOSTICCHAIN_MAP = INVOCATION_EXPRESSION_OPERATION_COUNT + 4;
+
+ /**
+ * The operation id for the '<em>Link Operation Expression Feature Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LINK_OPERATION_EXPRESSION___LINK_OPERATION_EXPRESSION_FEATURE_DERIVATION__DIAGNOSTICCHAIN_MAP = INVOCATION_EXPRESSION_OPERATION_COUNT + 5;
+
+ /**
+ * The operation id for the '<em>Link Operation Expression Association Reference</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LINK_OPERATION_EXPRESSION___LINK_OPERATION_EXPRESSION_ASSOCIATION_REFERENCE__DIAGNOSTICCHAIN_MAP = INVOCATION_EXPRESSION_OPERATION_COUNT + 6;
+
+ /**
+ * The operation id for the '<em>Link Operation Expression Argument Compatibility</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LINK_OPERATION_EXPRESSION___LINK_OPERATION_EXPRESSION_ARGUMENT_COMPATIBILITY__DIAGNOSTICCHAIN_MAP = INVOCATION_EXPRESSION_OPERATION_COUNT + 7;
+
+ /**
+ * The operation id for the '<em>Parameter Elements</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LINK_OPERATION_EXPRESSION___PARAMETER_ELEMENTS = INVOCATION_EXPRESSION_OPERATION_COUNT + 8;
+
+ /**
+ * The number of operations of the '<em>Link Operation Expression</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LINK_OPERATION_EXPRESSION_OPERATION_COUNT = INVOCATION_EXPRESSION_OPERATION_COUNT + 9;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.uml.alf.impl.EqualityExpressionImpl <em>Equality Expression</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.uml.alf.impl.EqualityExpressionImpl
+ * @see org.eclipse.papyrus.uml.alf.impl.AlfPackageImpl#getEqualityExpression()
+ * @generated
+ */
+ int EQUALITY_EXPRESSION = 42;
+
+ /**
+ * The feature id for the '<em><b>Owner</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EQUALITY_EXPRESSION__OWNER = BINARY_EXPRESSION__OWNER;
+
+ /**
+ * The feature id for the '<em><b>Upper</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EQUALITY_EXPRESSION__UPPER = BINARY_EXPRESSION__UPPER;
+
+ /**
+ * The feature id for the '<em><b>Lower</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EQUALITY_EXPRESSION__LOWER = BINARY_EXPRESSION__LOWER;
+
+ /**
+ * The feature id for the '<em><b>Type</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EQUALITY_EXPRESSION__TYPE = BINARY_EXPRESSION__TYPE;
+
+ /**
+ * The feature id for the '<em><b>Assignment Before</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EQUALITY_EXPRESSION__ASSIGNMENT_BEFORE = BINARY_EXPRESSION__ASSIGNMENT_BEFORE;
+
+ /**
+ * The feature id for the '<em><b>Assignment After</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EQUALITY_EXPRESSION__ASSIGNMENT_AFTER = BINARY_EXPRESSION__ASSIGNMENT_AFTER;
+
+ /**
+ * The feature id for the '<em><b>Operand1</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EQUALITY_EXPRESSION__OPERAND1 = BINARY_EXPRESSION__OPERAND1;
+
+ /**
+ * The feature id for the '<em><b>Operand2</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EQUALITY_EXPRESSION__OPERAND2 = BINARY_EXPRESSION__OPERAND2;
+
+ /**
+ * The feature id for the '<em><b>Operator</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EQUALITY_EXPRESSION__OPERATOR = BINARY_EXPRESSION__OPERATOR;
+
+ /**
+ * The feature id for the '<em><b>Is Negated</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EQUALITY_EXPRESSION__IS_NEGATED = BINARY_EXPRESSION_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the '<em>Equality Expression</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EQUALITY_EXPRESSION_FEATURE_COUNT = BINARY_EXPRESSION_FEATURE_COUNT + 1;
+
+ /**
+ * The operation id for the '<em>To Reference</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EQUALITY_EXPRESSION___TO_REFERENCE = BINARY_EXPRESSION___TO_REFERENCE;
+
+ /**
+ * The operation id for the '<em>Owner</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EQUALITY_EXPRESSION___OWNER = BINARY_EXPRESSION___OWNER;
+
+ /**
+ * The operation id for the '<em>Syntax Element owner</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EQUALITY_EXPRESSION___SYNTAX_ELEMENT_OWNER = BINARY_EXPRESSION___SYNTAX_ELEMENT_OWNER;
+
+ /**
+ * The operation id for the '<em>Current Scope</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EQUALITY_EXPRESSION___CURRENT_SCOPE = BINARY_EXPRESSION___CURRENT_SCOPE;
+
+ /**
+ * The operation id for the '<em>Syntax Element current Scope</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EQUALITY_EXPRESSION___SYNTAX_ELEMENT_CURRENT_SCOPE = BINARY_EXPRESSION___SYNTAX_ELEMENT_CURRENT_SCOPE;
+
+ /**
+ * The operation id for the '<em>Enclosing Statement</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EQUALITY_EXPRESSION___ENCLOSING_STATEMENT = BINARY_EXPRESSION___ENCLOSING_STATEMENT;
+
+ /**
+ * The operation id for the '<em>Enclosing Expression</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EQUALITY_EXPRESSION___ENCLOSING_EXPRESSION = BINARY_EXPRESSION___ENCLOSING_EXPRESSION;
+
+ /**
+ * The operation id for the '<em>Assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EQUALITY_EXPRESSION___ASSIGNMENTS_BEFORE = BINARY_EXPRESSION___ASSIGNMENTS_BEFORE;
+
+ /**
+ * The operation id for the '<em>Syntax Element assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EQUALITY_EXPRESSION___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE = BINARY_EXPRESSION___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE;
+
+ /**
+ * The operation id for the '<em>Syntax Element assignments Before base</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EQUALITY_EXPRESSION___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE_BASE = BINARY_EXPRESSION___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE_BASE;
+
+ /**
+ * The operation id for the '<em>Assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EQUALITY_EXPRESSION___ASSIGNMENTS_BEFORE__SYNTAXELEMENT = BINARY_EXPRESSION___ASSIGNMENTS_BEFORE__SYNTAXELEMENT;
+
+ /**
+ * The operation id for the '<em>Update All</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EQUALITY_EXPRESSION___UPDATE_ALL__ELIST_ELIST = BINARY_EXPRESSION___UPDATE_ALL__ELIST_ELIST;
+
+ /**
+ * The operation id for the '<em>Common Ancestor</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EQUALITY_EXPRESSION___COMMON_ANCESTOR__ELIST = BINARY_EXPRESSION___COMMON_ANCESTOR__ELIST;
+
+ /**
+ * The operation id for the '<em>Common Ancestors</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EQUALITY_EXPRESSION___COMMON_ANCESTORS__ELIST = BINARY_EXPRESSION___COMMON_ANCESTORS__ELIST;
+
+ /**
+ * The operation id for the '<em>Remove Duplicate Elements</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EQUALITY_EXPRESSION___REMOVE_DUPLICATE_ELEMENTS__ELIST = BINARY_EXPRESSION___REMOVE_DUPLICATE_ELEMENTS__ELIST;
+
+ /**
+ * The operation id for the '<em>Resolve In Library</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EQUALITY_EXPRESSION___RESOLVE_IN_LIBRARY__STRING = BINARY_EXPRESSION___RESOLVE_IN_LIBRARY__STRING;
+
+ /**
+ * The operation id for the '<em>Primitive Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EQUALITY_EXPRESSION___PRIMITIVE_TYPE__STRING = BINARY_EXPRESSION___PRIMITIVE_TYPE__STRING;
+
+ /**
+ * The operation id for the '<em>Primitive Type </em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EQUALITY_EXPRESSION___PRIMITIVE_TYPE____STRING = BINARY_EXPRESSION___PRIMITIVE_TYPE____STRING;
+
+ /**
+ * The operation id for the '<em>Boolean Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EQUALITY_EXPRESSION___BOOLEAN_TYPE = BINARY_EXPRESSION___BOOLEAN_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Boolean Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EQUALITY_EXPRESSION___IS_BOOLEAN_TYPE__ELEMENTREFERENCE = BINARY_EXPRESSION___IS_BOOLEAN_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Integer Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EQUALITY_EXPRESSION___INTEGER_TYPE = BINARY_EXPRESSION___INTEGER_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Integer Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EQUALITY_EXPRESSION___IS_INTEGER_TYPE__ELEMENTREFERENCE = BINARY_EXPRESSION___IS_INTEGER_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EQUALITY_EXPRESSION___STRING_TYPE = BINARY_EXPRESSION___STRING_TYPE;
+
+ /**
+ * The operation id for the '<em>Is String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EQUALITY_EXPRESSION___IS_STRING_TYPE__ELEMENTREFERENCE = BINARY_EXPRESSION___IS_STRING_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Unlimited Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EQUALITY_EXPRESSION___UNLIMITED_NATURAL_TYPE = BINARY_EXPRESSION___UNLIMITED_NATURAL_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Unlimited Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EQUALITY_EXPRESSION___IS_UNLIMITED_NATURAL_TYPE__ELEMENTREFERENCE = BINARY_EXPRESSION___IS_UNLIMITED_NATURAL_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Bit String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EQUALITY_EXPRESSION___BIT_STRING_TYPE = BINARY_EXPRESSION___BIT_STRING_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Bit String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EQUALITY_EXPRESSION___IS_BIT_STRING_TYPE__ELEMENTREFERENCE = BINARY_EXPRESSION___IS_BIT_STRING_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EQUALITY_EXPRESSION___NATURAL_TYPE = BINARY_EXPRESSION___NATURAL_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EQUALITY_EXPRESSION___IS_NATURAL_TYPE__ELEMENTREFERENCE = BINARY_EXPRESSION___IS_NATURAL_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Numeric Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EQUALITY_EXPRESSION___IS_NUMERIC_TYPE__ELEMENTREFERENCE = BINARY_EXPRESSION___IS_NUMERIC_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Collection Function Add</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EQUALITY_EXPRESSION___COLLECTION_FUNCTION_ADD = BINARY_EXPRESSION___COLLECTION_FUNCTION_ADD;
+
+ /**
+ * The operation id for the '<em>Is Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EQUALITY_EXPRESSION___IS_COLLECTION_CLASS__ELEMENTREFERENCE = BINARY_EXPRESSION___IS_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Integer Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EQUALITY_EXPRESSION___IS_INTEGER_COLLECTION_CLASS__ELEMENTREFERENCE = BINARY_EXPRESSION___IS_INTEGER_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Bit String Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EQUALITY_EXPRESSION___IS_BIT_STRING_COLLECTION_CLASS__ELEMENTREFERENCE = BINARY_EXPRESSION___IS_BIT_STRING_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Type Cached</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EQUALITY_EXPRESSION___TYPE_CACHED = BINARY_EXPRESSION___TYPE_CACHED;
+
+ /**
+ * The operation id for the '<em>Is Null</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EQUALITY_EXPRESSION___IS_NULL = BINARY_EXPRESSION___IS_NULL;
+
+ /**
+ * The operation id for the '<em>Is Assignable From Element</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EQUALITY_EXPRESSION___IS_ASSIGNABLE_FROM_ELEMENT__ELEMENTREFERENCE = BINARY_EXPRESSION___IS_ASSIGNABLE_FROM_ELEMENT__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Assignable From</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EQUALITY_EXPRESSION___IS_ASSIGNABLE_FROM__ASSIGNABLEELEMENT = BINARY_EXPRESSION___IS_ASSIGNABLE_FROM__ASSIGNABLEELEMENT;
+
+ /**
+ * The operation id for the '<em>Is Type Conformant With</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EQUALITY_EXPRESSION___IS_TYPE_CONFORMANT_WITH__ASSIGNABLEELEMENT = BINARY_EXPRESSION___IS_TYPE_CONFORMANT_WITH__ASSIGNABLEELEMENT;
+
+ /**
+ * The operation id for the '<em>Is Conformant With Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EQUALITY_EXPRESSION___IS_CONFORMANT_WITH_TYPE__ELEMENTREFERENCE = BINARY_EXPRESSION___IS_CONFORMANT_WITH_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Multiplicity Conformant With</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EQUALITY_EXPRESSION___IS_MULTIPLICITY_CONFORMANT_WITH__ASSIGNABLEELEMENT = BINARY_EXPRESSION___IS_MULTIPLICITY_CONFORMANT_WITH__ASSIGNABLEELEMENT;
+
+ /**
+ * The operation id for the '<em>New Assignments</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EQUALITY_EXPRESSION___NEW_ASSIGNMENTS = BINARY_EXPRESSION___NEW_ASSIGNMENTS;
+
+ /**
+ * The operation id for the '<em>Expression update Assignments</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EQUALITY_EXPRESSION___EXPRESSION_UPDATE_ASSIGNMENTS = BINARY_EXPRESSION___EXPRESSION_UPDATE_ASSIGNMENTS;
+
+ /**
+ * The operation id for the '<em>Update Assignments Cached</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EQUALITY_EXPRESSION___UPDATE_ASSIGNMENTS_CACHED = BINARY_EXPRESSION___UPDATE_ASSIGNMENTS_CACHED;
+
+ /**
+ * The operation id for the '<em>Resolve</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EQUALITY_EXPRESSION___RESOLVE__STRING = BINARY_EXPRESSION___RESOLVE__STRING;
+
+ /**
+ * The operation id for the '<em>Is Add Target</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EQUALITY_EXPRESSION___IS_ADD_TARGET__EXPRESSION = BINARY_EXPRESSION___IS_ADD_TARGET__EXPRESSION;
+
+ /**
+ * The operation id for the '<em>Expression Assignment After Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EQUALITY_EXPRESSION___EXPRESSION_ASSIGNMENT_AFTER_DERIVATION__DIAGNOSTICCHAIN_MAP = BINARY_EXPRESSION___EXPRESSION_ASSIGNMENT_AFTER_DERIVATION__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Expression Unique Assignments</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EQUALITY_EXPRESSION___EXPRESSION_UNIQUE_ASSIGNMENTS__DIAGNOSTICCHAIN_MAP = BINARY_EXPRESSION___EXPRESSION_UNIQUE_ASSIGNMENTS__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Validate Assignments</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EQUALITY_EXPRESSION___VALIDATE_ASSIGNMENTS = BINARY_EXPRESSION___VALIDATE_ASSIGNMENTS;
+
+ /**
+ * The operation id for the '<em>Binary Expression Operand Multiplicity</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EQUALITY_EXPRESSION___BINARY_EXPRESSION_OPERAND_MULTIPLICITY__DIAGNOSTICCHAIN_MAP = BINARY_EXPRESSION___BINARY_EXPRESSION_OPERAND_MULTIPLICITY__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Binary Expression Operand Assignments</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EQUALITY_EXPRESSION___BINARY_EXPRESSION_OPERAND_ASSIGNMENTS__DIAGNOSTICCHAIN_MAP = BINARY_EXPRESSION___BINARY_EXPRESSION_OPERAND_ASSIGNMENTS__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Update Assignments</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EQUALITY_EXPRESSION___UPDATE_ASSIGNMENTS = BINARY_EXPRESSION___UPDATE_ASSIGNMENTS;
+
+ /**
+ * The operation id for the '<em>Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EQUALITY_EXPRESSION___TYPE = BINARY_EXPRESSION_OPERATION_COUNT + 0;
+
+ /**
+ * The operation id for the '<em>Lower</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EQUALITY_EXPRESSION___LOWER = BINARY_EXPRESSION_OPERATION_COUNT + 1;
+
+ /**
+ * The operation id for the '<em>Upper</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EQUALITY_EXPRESSION___UPPER = BINARY_EXPRESSION_OPERATION_COUNT + 2;
+
+ /**
+ * The operation id for the '<em>Equality Expression Is Negated Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EQUALITY_EXPRESSION___EQUALITY_EXPRESSION_IS_NEGATED_DERIVATION__DIAGNOSTICCHAIN_MAP = BINARY_EXPRESSION_OPERATION_COUNT + 3;
+
+ /**
+ * The operation id for the '<em>Equality Expression Type Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EQUALITY_EXPRESSION___EQUALITY_EXPRESSION_TYPE_DERIVATION__DIAGNOSTICCHAIN_MAP = BINARY_EXPRESSION_OPERATION_COUNT + 4;
+
+ /**
+ * The operation id for the '<em>Equality Expression Lower Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EQUALITY_EXPRESSION___EQUALITY_EXPRESSION_LOWER_DERIVATION__DIAGNOSTICCHAIN_MAP = BINARY_EXPRESSION_OPERATION_COUNT + 5;
+
+ /**
+ * The operation id for the '<em>Equality Expression Upper Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EQUALITY_EXPRESSION___EQUALITY_EXPRESSION_UPPER_DERIVATION__DIAGNOSTICCHAIN_MAP = BINARY_EXPRESSION_OPERATION_COUNT + 6;
+
+ /**
+ * The operation id for the '<em>No Null Arguments</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EQUALITY_EXPRESSION___NO_NULL_ARGUMENTS = BINARY_EXPRESSION_OPERATION_COUNT + 7;
+
+ /**
+ * The number of operations of the '<em>Equality Expression</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EQUALITY_EXPRESSION_OPERATION_COUNT = BINARY_EXPRESSION_OPERATION_COUNT + 8;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.uml.alf.impl.AssignmentExpressionImpl <em>Assignment Expression</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.uml.alf.impl.AssignmentExpressionImpl
+ * @see org.eclipse.papyrus.uml.alf.impl.AlfPackageImpl#getAssignmentExpression()
+ * @generated
+ */
+ int ASSIGNMENT_EXPRESSION = 43;
+
+ /**
+ * The feature id for the '<em><b>Owner</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSIGNMENT_EXPRESSION__OWNER = EXPRESSION__OWNER;
+
+ /**
+ * The feature id for the '<em><b>Upper</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSIGNMENT_EXPRESSION__UPPER = EXPRESSION__UPPER;
+
+ /**
+ * The feature id for the '<em><b>Lower</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSIGNMENT_EXPRESSION__LOWER = EXPRESSION__LOWER;
+
+ /**
+ * The feature id for the '<em><b>Type</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSIGNMENT_EXPRESSION__TYPE = EXPRESSION__TYPE;
+
+ /**
+ * The feature id for the '<em><b>Assignment Before</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSIGNMENT_EXPRESSION__ASSIGNMENT_BEFORE = EXPRESSION__ASSIGNMENT_BEFORE;
+
+ /**
+ * The feature id for the '<em><b>Assignment After</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSIGNMENT_EXPRESSION__ASSIGNMENT_AFTER = EXPRESSION__ASSIGNMENT_AFTER;
+
+ /**
+ * The feature id for the '<em><b>Operator</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSIGNMENT_EXPRESSION__OPERATOR = EXPRESSION_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Left Hand Side</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSIGNMENT_EXPRESSION__LEFT_HAND_SIDE = EXPRESSION_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Right Hand Side</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSIGNMENT_EXPRESSION__RIGHT_HAND_SIDE = EXPRESSION_FEATURE_COUNT + 2;
+
+ /**
+ * The feature id for the '<em><b>Assignment</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSIGNMENT_EXPRESSION__ASSIGNMENT = EXPRESSION_FEATURE_COUNT + 3;
+
+ /**
+ * The feature id for the '<em><b>Feature</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSIGNMENT_EXPRESSION__FEATURE = EXPRESSION_FEATURE_COUNT + 4;
+
+ /**
+ * The feature id for the '<em><b>Is Indexed</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSIGNMENT_EXPRESSION__IS_INDEXED = EXPRESSION_FEATURE_COUNT + 5;
+
+ /**
+ * The feature id for the '<em><b>Is Arithmetic</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSIGNMENT_EXPRESSION__IS_ARITHMETIC = EXPRESSION_FEATURE_COUNT + 6;
+
+ /**
+ * The feature id for the '<em><b>Is Logical</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSIGNMENT_EXPRESSION__IS_LOGICAL = EXPRESSION_FEATURE_COUNT + 7;
+
+ /**
+ * The feature id for the '<em><b>Is Shift</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSIGNMENT_EXPRESSION__IS_SHIFT = EXPRESSION_FEATURE_COUNT + 8;
+
+ /**
+ * The feature id for the '<em><b>Is Concatenation</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSIGNMENT_EXPRESSION__IS_CONCATENATION = EXPRESSION_FEATURE_COUNT + 9;
+
+ /**
+ * The feature id for the '<em><b>Is Definition</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSIGNMENT_EXPRESSION__IS_DEFINITION = EXPRESSION_FEATURE_COUNT + 10;
+
+ /**
+ * The feature id for the '<em><b>Is Simple</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSIGNMENT_EXPRESSION__IS_SIMPLE = EXPRESSION_FEATURE_COUNT + 11;
+
+ /**
+ * The feature id for the '<em><b>Expression</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSIGNMENT_EXPRESSION__EXPRESSION = EXPRESSION_FEATURE_COUNT + 12;
+
+ /**
+ * The feature id for the '<em><b>Is Feature</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSIGNMENT_EXPRESSION__IS_FEATURE = EXPRESSION_FEATURE_COUNT + 13;
+
+ /**
+ * The feature id for the '<em><b>Is Data Value Update</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSIGNMENT_EXPRESSION__IS_DATA_VALUE_UPDATE = EXPRESSION_FEATURE_COUNT + 14;
+
+ /**
+ * The feature id for the '<em><b>Is Collection Conversion</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSIGNMENT_EXPRESSION__IS_COLLECTION_CONVERSION = EXPRESSION_FEATURE_COUNT + 15;
+
+ /**
+ * The feature id for the '<em><b>Is Bit String Conversion</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSIGNMENT_EXPRESSION__IS_BIT_STRING_CONVERSION = EXPRESSION_FEATURE_COUNT + 16;
+
+ /**
+ * The number of structural features of the '<em>Assignment Expression</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSIGNMENT_EXPRESSION_FEATURE_COUNT = EXPRESSION_FEATURE_COUNT + 17;
+
+ /**
+ * The operation id for the '<em>To Reference</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSIGNMENT_EXPRESSION___TO_REFERENCE = EXPRESSION___TO_REFERENCE;
+
+ /**
+ * The operation id for the '<em>Owner</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSIGNMENT_EXPRESSION___OWNER = EXPRESSION___OWNER;
+
+ /**
+ * The operation id for the '<em>Syntax Element owner</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSIGNMENT_EXPRESSION___SYNTAX_ELEMENT_OWNER = EXPRESSION___SYNTAX_ELEMENT_OWNER;
+
+ /**
+ * The operation id for the '<em>Current Scope</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSIGNMENT_EXPRESSION___CURRENT_SCOPE = EXPRESSION___CURRENT_SCOPE;
+
+ /**
+ * The operation id for the '<em>Syntax Element current Scope</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSIGNMENT_EXPRESSION___SYNTAX_ELEMENT_CURRENT_SCOPE = EXPRESSION___SYNTAX_ELEMENT_CURRENT_SCOPE;
+
+ /**
+ * The operation id for the '<em>Enclosing Statement</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSIGNMENT_EXPRESSION___ENCLOSING_STATEMENT = EXPRESSION___ENCLOSING_STATEMENT;
+
+ /**
+ * The operation id for the '<em>Enclosing Expression</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSIGNMENT_EXPRESSION___ENCLOSING_EXPRESSION = EXPRESSION___ENCLOSING_EXPRESSION;
+
+ /**
+ * The operation id for the '<em>Assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSIGNMENT_EXPRESSION___ASSIGNMENTS_BEFORE = EXPRESSION___ASSIGNMENTS_BEFORE;
+
+ /**
+ * The operation id for the '<em>Syntax Element assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSIGNMENT_EXPRESSION___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE = EXPRESSION___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE;
+
+ /**
+ * The operation id for the '<em>Syntax Element assignments Before base</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSIGNMENT_EXPRESSION___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE_BASE = EXPRESSION___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE_BASE;
+
+ /**
+ * The operation id for the '<em>Update All</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSIGNMENT_EXPRESSION___UPDATE_ALL__ELIST_ELIST = EXPRESSION___UPDATE_ALL__ELIST_ELIST;
+
+ /**
+ * The operation id for the '<em>Common Ancestor</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSIGNMENT_EXPRESSION___COMMON_ANCESTOR__ELIST = EXPRESSION___COMMON_ANCESTOR__ELIST;
+
+ /**
+ * The operation id for the '<em>Common Ancestors</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSIGNMENT_EXPRESSION___COMMON_ANCESTORS__ELIST = EXPRESSION___COMMON_ANCESTORS__ELIST;
+
+ /**
+ * The operation id for the '<em>Remove Duplicate Elements</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSIGNMENT_EXPRESSION___REMOVE_DUPLICATE_ELEMENTS__ELIST = EXPRESSION___REMOVE_DUPLICATE_ELEMENTS__ELIST;
+
+ /**
+ * The operation id for the '<em>Resolve In Library</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSIGNMENT_EXPRESSION___RESOLVE_IN_LIBRARY__STRING = EXPRESSION___RESOLVE_IN_LIBRARY__STRING;
+
+ /**
+ * The operation id for the '<em>Primitive Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSIGNMENT_EXPRESSION___PRIMITIVE_TYPE__STRING = EXPRESSION___PRIMITIVE_TYPE__STRING;
+
+ /**
+ * The operation id for the '<em>Primitive Type </em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSIGNMENT_EXPRESSION___PRIMITIVE_TYPE____STRING = EXPRESSION___PRIMITIVE_TYPE____STRING;
+
+ /**
+ * The operation id for the '<em>Boolean Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSIGNMENT_EXPRESSION___BOOLEAN_TYPE = EXPRESSION___BOOLEAN_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Boolean Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSIGNMENT_EXPRESSION___IS_BOOLEAN_TYPE__ELEMENTREFERENCE = EXPRESSION___IS_BOOLEAN_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Integer Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSIGNMENT_EXPRESSION___INTEGER_TYPE = EXPRESSION___INTEGER_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Integer Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSIGNMENT_EXPRESSION___IS_INTEGER_TYPE__ELEMENTREFERENCE = EXPRESSION___IS_INTEGER_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSIGNMENT_EXPRESSION___STRING_TYPE = EXPRESSION___STRING_TYPE;
+
+ /**
+ * The operation id for the '<em>Is String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSIGNMENT_EXPRESSION___IS_STRING_TYPE__ELEMENTREFERENCE = EXPRESSION___IS_STRING_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Unlimited Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSIGNMENT_EXPRESSION___UNLIMITED_NATURAL_TYPE = EXPRESSION___UNLIMITED_NATURAL_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Unlimited Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSIGNMENT_EXPRESSION___IS_UNLIMITED_NATURAL_TYPE__ELEMENTREFERENCE = EXPRESSION___IS_UNLIMITED_NATURAL_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Bit String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSIGNMENT_EXPRESSION___BIT_STRING_TYPE = EXPRESSION___BIT_STRING_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Bit String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSIGNMENT_EXPRESSION___IS_BIT_STRING_TYPE__ELEMENTREFERENCE = EXPRESSION___IS_BIT_STRING_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSIGNMENT_EXPRESSION___NATURAL_TYPE = EXPRESSION___NATURAL_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSIGNMENT_EXPRESSION___IS_NATURAL_TYPE__ELEMENTREFERENCE = EXPRESSION___IS_NATURAL_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Numeric Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSIGNMENT_EXPRESSION___IS_NUMERIC_TYPE__ELEMENTREFERENCE = EXPRESSION___IS_NUMERIC_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Collection Function Add</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSIGNMENT_EXPRESSION___COLLECTION_FUNCTION_ADD = EXPRESSION___COLLECTION_FUNCTION_ADD;
+
+ /**
+ * The operation id for the '<em>Is Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSIGNMENT_EXPRESSION___IS_COLLECTION_CLASS__ELEMENTREFERENCE = EXPRESSION___IS_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Integer Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSIGNMENT_EXPRESSION___IS_INTEGER_COLLECTION_CLASS__ELEMENTREFERENCE = EXPRESSION___IS_INTEGER_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Bit String Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSIGNMENT_EXPRESSION___IS_BIT_STRING_COLLECTION_CLASS__ELEMENTREFERENCE = EXPRESSION___IS_BIT_STRING_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Type Cached</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSIGNMENT_EXPRESSION___TYPE_CACHED = EXPRESSION___TYPE_CACHED;
+
+ /**
+ * The operation id for the '<em>Is Null</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSIGNMENT_EXPRESSION___IS_NULL = EXPRESSION___IS_NULL;
+
+ /**
+ * The operation id for the '<em>Is Assignable From Element</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSIGNMENT_EXPRESSION___IS_ASSIGNABLE_FROM_ELEMENT__ELEMENTREFERENCE = EXPRESSION___IS_ASSIGNABLE_FROM_ELEMENT__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Assignable From</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSIGNMENT_EXPRESSION___IS_ASSIGNABLE_FROM__ASSIGNABLEELEMENT = EXPRESSION___IS_ASSIGNABLE_FROM__ASSIGNABLEELEMENT;
+
+ /**
+ * The operation id for the '<em>Is Type Conformant With</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSIGNMENT_EXPRESSION___IS_TYPE_CONFORMANT_WITH__ASSIGNABLEELEMENT = EXPRESSION___IS_TYPE_CONFORMANT_WITH__ASSIGNABLEELEMENT;
+
+ /**
+ * The operation id for the '<em>Is Conformant With Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSIGNMENT_EXPRESSION___IS_CONFORMANT_WITH_TYPE__ELEMENTREFERENCE = EXPRESSION___IS_CONFORMANT_WITH_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Multiplicity Conformant With</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSIGNMENT_EXPRESSION___IS_MULTIPLICITY_CONFORMANT_WITH__ASSIGNABLEELEMENT = EXPRESSION___IS_MULTIPLICITY_CONFORMANT_WITH__ASSIGNABLEELEMENT;
+
+ /**
+ * The operation id for the '<em>New Assignments</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSIGNMENT_EXPRESSION___NEW_ASSIGNMENTS = EXPRESSION___NEW_ASSIGNMENTS;
+
+ /**
+ * The operation id for the '<em>Expression update Assignments</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSIGNMENT_EXPRESSION___EXPRESSION_UPDATE_ASSIGNMENTS = EXPRESSION___EXPRESSION_UPDATE_ASSIGNMENTS;
+
+ /**
+ * The operation id for the '<em>Update Assignments Cached</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSIGNMENT_EXPRESSION___UPDATE_ASSIGNMENTS_CACHED = EXPRESSION___UPDATE_ASSIGNMENTS_CACHED;
+
+ /**
+ * The operation id for the '<em>Resolve</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSIGNMENT_EXPRESSION___RESOLVE__STRING = EXPRESSION___RESOLVE__STRING;
+
+ /**
+ * The operation id for the '<em>Is Add Target</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSIGNMENT_EXPRESSION___IS_ADD_TARGET__EXPRESSION = EXPRESSION___IS_ADD_TARGET__EXPRESSION;
+
+ /**
+ * The operation id for the '<em>Expression Assignment After Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSIGNMENT_EXPRESSION___EXPRESSION_ASSIGNMENT_AFTER_DERIVATION__DIAGNOSTICCHAIN_MAP = EXPRESSION___EXPRESSION_ASSIGNMENT_AFTER_DERIVATION__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Expression Unique Assignments</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSIGNMENT_EXPRESSION___EXPRESSION_UNIQUE_ASSIGNMENTS__DIAGNOSTICCHAIN_MAP = EXPRESSION___EXPRESSION_UNIQUE_ASSIGNMENTS__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSIGNMENT_EXPRESSION___TYPE = EXPRESSION_OPERATION_COUNT + 0;
+
+ /**
+ * The operation id for the '<em>Upper</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSIGNMENT_EXPRESSION___UPPER = EXPRESSION_OPERATION_COUNT + 1;
+
+ /**
+ * The operation id for the '<em>Lower</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSIGNMENT_EXPRESSION___LOWER = EXPRESSION_OPERATION_COUNT + 2;
+
+ /**
+ * The operation id for the '<em>Assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSIGNMENT_EXPRESSION___ASSIGNMENTS_BEFORE__SYNTAXELEMENT = EXPRESSION_OPERATION_COUNT + 3;
+
+ /**
+ * The operation id for the '<em>Assignment Expression Is Simple Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSIGNMENT_EXPRESSION___ASSIGNMENT_EXPRESSION_IS_SIMPLE_DERIVATION__DIAGNOSTICCHAIN_MAP = EXPRESSION_OPERATION_COUNT + 4;
+
+ /**
+ * The operation id for the '<em>Assignment Expression Is Arithmetic Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSIGNMENT_EXPRESSION___ASSIGNMENT_EXPRESSION_IS_ARITHMETIC_DERIVATION__DIAGNOSTICCHAIN_MAP = EXPRESSION_OPERATION_COUNT + 5;
+
+ /**
+ * The operation id for the '<em>Assignment Expression Is Definition Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSIGNMENT_EXPRESSION___ASSIGNMENT_EXPRESSION_IS_DEFINITION_DERIVATION__DIAGNOSTICCHAIN_MAP = EXPRESSION_OPERATION_COUNT + 6;
+
+ /**
+ * The operation id for the '<em>Assignment Expression Is Feature Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSIGNMENT_EXPRESSION___ASSIGNMENT_EXPRESSION_IS_FEATURE_DERIVATION__DIAGNOSTICCHAIN_MAP = EXPRESSION_OPERATION_COUNT + 7;
+
+ /**
+ * The operation id for the '<em>Assignment Expression Is Indexed Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSIGNMENT_EXPRESSION___ASSIGNMENT_EXPRESSION_IS_INDEXED_DERIVATION__DIAGNOSTICCHAIN_MAP = EXPRESSION_OPERATION_COUNT + 8;
+
+ /**
+ * The operation id for the '<em>Assignment Expression Is Data Value Update Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSIGNMENT_EXPRESSION___ASSIGNMENT_EXPRESSION_IS_DATA_VALUE_UPDATE_DERIVATION__DIAGNOSTICCHAIN_MAP = EXPRESSION_OPERATION_COUNT + 9;
+
+ /**
+ * The operation id for the '<em>Assignment Expression Assignment Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSIGNMENT_EXPRESSION___ASSIGNMENT_EXPRESSION_ASSIGNMENT_DERIVATION__DIAGNOSTICCHAIN_MAP = EXPRESSION_OPERATION_COUNT + 10;
+
+ /**
+ * The operation id for the '<em>Assignment Expression Feature Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSIGNMENT_EXPRESSION___ASSIGNMENT_EXPRESSION_FEATURE_DERIVATION__DIAGNOSTICCHAIN_MAP = EXPRESSION_OPERATION_COUNT + 11;
+
+ /**
+ * The operation id for the '<em>Assignment Expression Expression Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSIGNMENT_EXPRESSION___ASSIGNMENT_EXPRESSION_EXPRESSION_DERIVATION__DIAGNOSTICCHAIN_MAP = EXPRESSION_OPERATION_COUNT + 12;
+
+ /**
+ * The operation id for the '<em>Assignment Expression Type Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSIGNMENT_EXPRESSION___ASSIGNMENT_EXPRESSION_TYPE_DERIVATION__DIAGNOSTICCHAIN_MAP = EXPRESSION_OPERATION_COUNT + 13;
+
+ /**
+ * The operation id for the '<em>Assignment Expression Upper Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSIGNMENT_EXPRESSION___ASSIGNMENT_EXPRESSION_UPPER_DERIVATION__DIAGNOSTICCHAIN_MAP = EXPRESSION_OPERATION_COUNT + 14;
+
+ /**
+ * The operation id for the '<em>Assignment Expression Lower Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSIGNMENT_EXPRESSION___ASSIGNMENT_EXPRESSION_LOWER_DERIVATION__DIAGNOSTICCHAIN_MAP = EXPRESSION_OPERATION_COUNT + 15;
+
+ /**
+ * The operation id for the '<em>Assignment Expression Simple Assignment Type Conformance</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSIGNMENT_EXPRESSION___ASSIGNMENT_EXPRESSION_SIMPLE_ASSIGNMENT_TYPE_CONFORMANCE__DIAGNOSTICCHAIN_MAP = EXPRESSION_OPERATION_COUNT + 16;
+
+ /**
+ * The operation id for the '<em>Assignment Expression Simple Assignment Multiplicity Conformance</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSIGNMENT_EXPRESSION___ASSIGNMENT_EXPRESSION_SIMPLE_ASSIGNMENT_MULTIPLICITY_CONFORMANCE__DIAGNOSTICCHAIN_MAP = EXPRESSION_OPERATION_COUNT + 17;
+
+ /**
+ * The operation id for the '<em>Assignment Expression Compound Assignment Type Conformance</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSIGNMENT_EXPRESSION___ASSIGNMENT_EXPRESSION_COMPOUND_ASSIGNMENT_TYPE_CONFORMANCE__DIAGNOSTICCHAIN_MAP = EXPRESSION_OPERATION_COUNT + 18;
+
+ /**
+ * The operation id for the '<em>Assignment Expression Compound Assignment Multiplicity Conformance</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSIGNMENT_EXPRESSION___ASSIGNMENT_EXPRESSION_COMPOUND_ASSIGNMENT_MULTIPLICITY_CONFORMANCE__DIAGNOSTICCHAIN_MAP = EXPRESSION_OPERATION_COUNT + 19;
+
+ /**
+ * The operation id for the '<em>Assignment Expression Assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSIGNMENT_EXPRESSION___ASSIGNMENT_EXPRESSION_ASSIGNMENTS_BEFORE__DIAGNOSTICCHAIN_MAP = EXPRESSION_OPERATION_COUNT + 20;
+
+ /**
+ * The operation id for the '<em>Assignment Expression Is Collection Conversion Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSIGNMENT_EXPRESSION___ASSIGNMENT_EXPRESSION_IS_COLLECTION_CONVERSION_DERIVATION__DIAGNOSTICCHAIN_MAP = EXPRESSION_OPERATION_COUNT + 21;
+
+ /**
+ * The operation id for the '<em>Assignment Expression Is Bit String Conversion Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSIGNMENT_EXPRESSION___ASSIGNMENT_EXPRESSION_IS_BIT_STRING_CONVERSION_DERIVATION__DIAGNOSTICCHAIN_MAP = EXPRESSION_OPERATION_COUNT + 22;
+
+ /**
+ * The operation id for the '<em>Assignment Expression Data Value Update Legality</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSIGNMENT_EXPRESSION___ASSIGNMENT_EXPRESSION_DATA_VALUE_UPDATE_LEGALITY__DIAGNOSTICCHAIN_MAP = EXPRESSION_OPERATION_COUNT + 23;
+
+ /**
+ * The operation id for the '<em>Update Assignments</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSIGNMENT_EXPRESSION___UPDATE_ASSIGNMENTS = EXPRESSION_OPERATION_COUNT + 24;
+
+ /**
+ * The number of operations of the '<em>Assignment Expression</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSIGNMENT_EXPRESSION_OPERATION_COUNT = EXPRESSION_OPERATION_COUNT + 25;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.uml.alf.impl.LogicalExpressionImpl <em>Logical Expression</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.uml.alf.impl.LogicalExpressionImpl
+ * @see org.eclipse.papyrus.uml.alf.impl.AlfPackageImpl#getLogicalExpression()
+ * @generated
+ */
+ int LOGICAL_EXPRESSION = 44;
+
+ /**
+ * The feature id for the '<em><b>Owner</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LOGICAL_EXPRESSION__OWNER = BINARY_EXPRESSION__OWNER;
+
+ /**
+ * The feature id for the '<em><b>Upper</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LOGICAL_EXPRESSION__UPPER = BINARY_EXPRESSION__UPPER;
+
+ /**
+ * The feature id for the '<em><b>Lower</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LOGICAL_EXPRESSION__LOWER = BINARY_EXPRESSION__LOWER;
+
+ /**
+ * The feature id for the '<em><b>Type</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LOGICAL_EXPRESSION__TYPE = BINARY_EXPRESSION__TYPE;
+
+ /**
+ * The feature id for the '<em><b>Assignment Before</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LOGICAL_EXPRESSION__ASSIGNMENT_BEFORE = BINARY_EXPRESSION__ASSIGNMENT_BEFORE;
+
+ /**
+ * The feature id for the '<em><b>Assignment After</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LOGICAL_EXPRESSION__ASSIGNMENT_AFTER = BINARY_EXPRESSION__ASSIGNMENT_AFTER;
+
+ /**
+ * The feature id for the '<em><b>Operand1</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LOGICAL_EXPRESSION__OPERAND1 = BINARY_EXPRESSION__OPERAND1;
+
+ /**
+ * The feature id for the '<em><b>Operand2</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LOGICAL_EXPRESSION__OPERAND2 = BINARY_EXPRESSION__OPERAND2;
+
+ /**
+ * The feature id for the '<em><b>Operator</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LOGICAL_EXPRESSION__OPERATOR = BINARY_EXPRESSION__OPERATOR;
+
+ /**
+ * The feature id for the '<em><b>Is Bit Wise</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LOGICAL_EXPRESSION__IS_BIT_WISE = BINARY_EXPRESSION_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Is Bit String Conversion1</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LOGICAL_EXPRESSION__IS_BIT_STRING_CONVERSION1 = BINARY_EXPRESSION_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Is Bit String Conversion2</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LOGICAL_EXPRESSION__IS_BIT_STRING_CONVERSION2 = BINARY_EXPRESSION_FEATURE_COUNT + 2;
+
+ /**
+ * The number of structural features of the '<em>Logical Expression</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LOGICAL_EXPRESSION_FEATURE_COUNT = BINARY_EXPRESSION_FEATURE_COUNT + 3;
+
+ /**
+ * The operation id for the '<em>To Reference</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LOGICAL_EXPRESSION___TO_REFERENCE = BINARY_EXPRESSION___TO_REFERENCE;
+
+ /**
+ * The operation id for the '<em>Owner</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LOGICAL_EXPRESSION___OWNER = BINARY_EXPRESSION___OWNER;
+
+ /**
+ * The operation id for the '<em>Syntax Element owner</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LOGICAL_EXPRESSION___SYNTAX_ELEMENT_OWNER = BINARY_EXPRESSION___SYNTAX_ELEMENT_OWNER;
+
+ /**
+ * The operation id for the '<em>Current Scope</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LOGICAL_EXPRESSION___CURRENT_SCOPE = BINARY_EXPRESSION___CURRENT_SCOPE;
+
+ /**
+ * The operation id for the '<em>Syntax Element current Scope</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LOGICAL_EXPRESSION___SYNTAX_ELEMENT_CURRENT_SCOPE = BINARY_EXPRESSION___SYNTAX_ELEMENT_CURRENT_SCOPE;
+
+ /**
+ * The operation id for the '<em>Enclosing Statement</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LOGICAL_EXPRESSION___ENCLOSING_STATEMENT = BINARY_EXPRESSION___ENCLOSING_STATEMENT;
+
+ /**
+ * The operation id for the '<em>Enclosing Expression</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LOGICAL_EXPRESSION___ENCLOSING_EXPRESSION = BINARY_EXPRESSION___ENCLOSING_EXPRESSION;
+
+ /**
+ * The operation id for the '<em>Assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LOGICAL_EXPRESSION___ASSIGNMENTS_BEFORE = BINARY_EXPRESSION___ASSIGNMENTS_BEFORE;
+
+ /**
+ * The operation id for the '<em>Syntax Element assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LOGICAL_EXPRESSION___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE = BINARY_EXPRESSION___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE;
+
+ /**
+ * The operation id for the '<em>Syntax Element assignments Before base</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LOGICAL_EXPRESSION___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE_BASE = BINARY_EXPRESSION___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE_BASE;
+
+ /**
+ * The operation id for the '<em>Assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LOGICAL_EXPRESSION___ASSIGNMENTS_BEFORE__SYNTAXELEMENT = BINARY_EXPRESSION___ASSIGNMENTS_BEFORE__SYNTAXELEMENT;
+
+ /**
+ * The operation id for the '<em>Update All</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LOGICAL_EXPRESSION___UPDATE_ALL__ELIST_ELIST = BINARY_EXPRESSION___UPDATE_ALL__ELIST_ELIST;
+
+ /**
+ * The operation id for the '<em>Common Ancestor</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LOGICAL_EXPRESSION___COMMON_ANCESTOR__ELIST = BINARY_EXPRESSION___COMMON_ANCESTOR__ELIST;
+
+ /**
+ * The operation id for the '<em>Common Ancestors</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LOGICAL_EXPRESSION___COMMON_ANCESTORS__ELIST = BINARY_EXPRESSION___COMMON_ANCESTORS__ELIST;
+
+ /**
+ * The operation id for the '<em>Remove Duplicate Elements</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LOGICAL_EXPRESSION___REMOVE_DUPLICATE_ELEMENTS__ELIST = BINARY_EXPRESSION___REMOVE_DUPLICATE_ELEMENTS__ELIST;
+
+ /**
+ * The operation id for the '<em>Resolve In Library</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LOGICAL_EXPRESSION___RESOLVE_IN_LIBRARY__STRING = BINARY_EXPRESSION___RESOLVE_IN_LIBRARY__STRING;
+
+ /**
+ * The operation id for the '<em>Primitive Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LOGICAL_EXPRESSION___PRIMITIVE_TYPE__STRING = BINARY_EXPRESSION___PRIMITIVE_TYPE__STRING;
+
+ /**
+ * The operation id for the '<em>Primitive Type </em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LOGICAL_EXPRESSION___PRIMITIVE_TYPE____STRING = BINARY_EXPRESSION___PRIMITIVE_TYPE____STRING;
+
+ /**
+ * The operation id for the '<em>Boolean Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LOGICAL_EXPRESSION___BOOLEAN_TYPE = BINARY_EXPRESSION___BOOLEAN_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Boolean Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LOGICAL_EXPRESSION___IS_BOOLEAN_TYPE__ELEMENTREFERENCE = BINARY_EXPRESSION___IS_BOOLEAN_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Integer Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LOGICAL_EXPRESSION___INTEGER_TYPE = BINARY_EXPRESSION___INTEGER_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Integer Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LOGICAL_EXPRESSION___IS_INTEGER_TYPE__ELEMENTREFERENCE = BINARY_EXPRESSION___IS_INTEGER_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LOGICAL_EXPRESSION___STRING_TYPE = BINARY_EXPRESSION___STRING_TYPE;
+
+ /**
+ * The operation id for the '<em>Is String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LOGICAL_EXPRESSION___IS_STRING_TYPE__ELEMENTREFERENCE = BINARY_EXPRESSION___IS_STRING_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Unlimited Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LOGICAL_EXPRESSION___UNLIMITED_NATURAL_TYPE = BINARY_EXPRESSION___UNLIMITED_NATURAL_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Unlimited Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LOGICAL_EXPRESSION___IS_UNLIMITED_NATURAL_TYPE__ELEMENTREFERENCE = BINARY_EXPRESSION___IS_UNLIMITED_NATURAL_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Bit String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LOGICAL_EXPRESSION___BIT_STRING_TYPE = BINARY_EXPRESSION___BIT_STRING_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Bit String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LOGICAL_EXPRESSION___IS_BIT_STRING_TYPE__ELEMENTREFERENCE = BINARY_EXPRESSION___IS_BIT_STRING_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LOGICAL_EXPRESSION___NATURAL_TYPE = BINARY_EXPRESSION___NATURAL_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LOGICAL_EXPRESSION___IS_NATURAL_TYPE__ELEMENTREFERENCE = BINARY_EXPRESSION___IS_NATURAL_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Numeric Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LOGICAL_EXPRESSION___IS_NUMERIC_TYPE__ELEMENTREFERENCE = BINARY_EXPRESSION___IS_NUMERIC_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Collection Function Add</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LOGICAL_EXPRESSION___COLLECTION_FUNCTION_ADD = BINARY_EXPRESSION___COLLECTION_FUNCTION_ADD;
+
+ /**
+ * The operation id for the '<em>Is Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LOGICAL_EXPRESSION___IS_COLLECTION_CLASS__ELEMENTREFERENCE = BINARY_EXPRESSION___IS_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Integer Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LOGICAL_EXPRESSION___IS_INTEGER_COLLECTION_CLASS__ELEMENTREFERENCE = BINARY_EXPRESSION___IS_INTEGER_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Bit String Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LOGICAL_EXPRESSION___IS_BIT_STRING_COLLECTION_CLASS__ELEMENTREFERENCE = BINARY_EXPRESSION___IS_BIT_STRING_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Type Cached</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LOGICAL_EXPRESSION___TYPE_CACHED = BINARY_EXPRESSION___TYPE_CACHED;
+
+ /**
+ * The operation id for the '<em>Is Null</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LOGICAL_EXPRESSION___IS_NULL = BINARY_EXPRESSION___IS_NULL;
+
+ /**
+ * The operation id for the '<em>Is Assignable From Element</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LOGICAL_EXPRESSION___IS_ASSIGNABLE_FROM_ELEMENT__ELEMENTREFERENCE = BINARY_EXPRESSION___IS_ASSIGNABLE_FROM_ELEMENT__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Assignable From</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LOGICAL_EXPRESSION___IS_ASSIGNABLE_FROM__ASSIGNABLEELEMENT = BINARY_EXPRESSION___IS_ASSIGNABLE_FROM__ASSIGNABLEELEMENT;
+
+ /**
+ * The operation id for the '<em>Is Type Conformant With</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LOGICAL_EXPRESSION___IS_TYPE_CONFORMANT_WITH__ASSIGNABLEELEMENT = BINARY_EXPRESSION___IS_TYPE_CONFORMANT_WITH__ASSIGNABLEELEMENT;
+
+ /**
+ * The operation id for the '<em>Is Conformant With Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LOGICAL_EXPRESSION___IS_CONFORMANT_WITH_TYPE__ELEMENTREFERENCE = BINARY_EXPRESSION___IS_CONFORMANT_WITH_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Multiplicity Conformant With</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LOGICAL_EXPRESSION___IS_MULTIPLICITY_CONFORMANT_WITH__ASSIGNABLEELEMENT = BINARY_EXPRESSION___IS_MULTIPLICITY_CONFORMANT_WITH__ASSIGNABLEELEMENT;
+
+ /**
+ * The operation id for the '<em>New Assignments</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LOGICAL_EXPRESSION___NEW_ASSIGNMENTS = BINARY_EXPRESSION___NEW_ASSIGNMENTS;
+
+ /**
+ * The operation id for the '<em>Expression update Assignments</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LOGICAL_EXPRESSION___EXPRESSION_UPDATE_ASSIGNMENTS = BINARY_EXPRESSION___EXPRESSION_UPDATE_ASSIGNMENTS;
+
+ /**
+ * The operation id for the '<em>Update Assignments Cached</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LOGICAL_EXPRESSION___UPDATE_ASSIGNMENTS_CACHED = BINARY_EXPRESSION___UPDATE_ASSIGNMENTS_CACHED;
+
+ /**
+ * The operation id for the '<em>Resolve</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LOGICAL_EXPRESSION___RESOLVE__STRING = BINARY_EXPRESSION___RESOLVE__STRING;
+
+ /**
+ * The operation id for the '<em>Is Add Target</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LOGICAL_EXPRESSION___IS_ADD_TARGET__EXPRESSION = BINARY_EXPRESSION___IS_ADD_TARGET__EXPRESSION;
+
+ /**
+ * The operation id for the '<em>Expression Assignment After Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LOGICAL_EXPRESSION___EXPRESSION_ASSIGNMENT_AFTER_DERIVATION__DIAGNOSTICCHAIN_MAP = BINARY_EXPRESSION___EXPRESSION_ASSIGNMENT_AFTER_DERIVATION__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Expression Unique Assignments</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LOGICAL_EXPRESSION___EXPRESSION_UNIQUE_ASSIGNMENTS__DIAGNOSTICCHAIN_MAP = BINARY_EXPRESSION___EXPRESSION_UNIQUE_ASSIGNMENTS__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Validate Assignments</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LOGICAL_EXPRESSION___VALIDATE_ASSIGNMENTS = BINARY_EXPRESSION___VALIDATE_ASSIGNMENTS;
+
+ /**
+ * The operation id for the '<em>No Null Arguments</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LOGICAL_EXPRESSION___NO_NULL_ARGUMENTS = BINARY_EXPRESSION___NO_NULL_ARGUMENTS;
+
+ /**
+ * The operation id for the '<em>Binary Expression Operand Multiplicity</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LOGICAL_EXPRESSION___BINARY_EXPRESSION_OPERAND_MULTIPLICITY__DIAGNOSTICCHAIN_MAP = BINARY_EXPRESSION___BINARY_EXPRESSION_OPERAND_MULTIPLICITY__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Binary Expression Operand Assignments</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LOGICAL_EXPRESSION___BINARY_EXPRESSION_OPERAND_ASSIGNMENTS__DIAGNOSTICCHAIN_MAP = BINARY_EXPRESSION___BINARY_EXPRESSION_OPERAND_ASSIGNMENTS__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Update Assignments</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LOGICAL_EXPRESSION___UPDATE_ASSIGNMENTS = BINARY_EXPRESSION___UPDATE_ASSIGNMENTS;
+
+ /**
+ * The operation id for the '<em>Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LOGICAL_EXPRESSION___TYPE = BINARY_EXPRESSION_OPERATION_COUNT + 0;
+
+ /**
+ * The operation id for the '<em>Lower</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LOGICAL_EXPRESSION___LOWER = BINARY_EXPRESSION_OPERATION_COUNT + 1;
+
+ /**
+ * The operation id for the '<em>Upper</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LOGICAL_EXPRESSION___UPPER = BINARY_EXPRESSION_OPERATION_COUNT + 2;
+
+ /**
+ * The operation id for the '<em>Logical Expression Type Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LOGICAL_EXPRESSION___LOGICAL_EXPRESSION_TYPE_DERIVATION__DIAGNOSTICCHAIN_MAP = BINARY_EXPRESSION_OPERATION_COUNT + 3;
+
+ /**
+ * The operation id for the '<em>Logical Expression Lower Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LOGICAL_EXPRESSION___LOGICAL_EXPRESSION_LOWER_DERIVATION__DIAGNOSTICCHAIN_MAP = BINARY_EXPRESSION_OPERATION_COUNT + 4;
+
+ /**
+ * The operation id for the '<em>Logical Expression Upper Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LOGICAL_EXPRESSION___LOGICAL_EXPRESSION_UPPER_DERIVATION__DIAGNOSTICCHAIN_MAP = BINARY_EXPRESSION_OPERATION_COUNT + 5;
+
+ /**
+ * The operation id for the '<em>Logical Expression Operands</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LOGICAL_EXPRESSION___LOGICAL_EXPRESSION_OPERANDS__DIAGNOSTICCHAIN_MAP = BINARY_EXPRESSION_OPERATION_COUNT + 6;
+
+ /**
+ * The operation id for the '<em>Logical Expression Is Bit String Conversion1 Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LOGICAL_EXPRESSION___LOGICAL_EXPRESSION_IS_BIT_STRING_CONVERSION1_DERIVATION__DIAGNOSTICCHAIN_MAP = BINARY_EXPRESSION_OPERATION_COUNT + 7;
+
+ /**
+ * The operation id for the '<em>Logical Expression Is Bit String Conversion2 Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LOGICAL_EXPRESSION___LOGICAL_EXPRESSION_IS_BIT_STRING_CONVERSION2_DERIVATION__DIAGNOSTICCHAIN_MAP = BINARY_EXPRESSION_OPERATION_COUNT + 8;
+
+ /**
+ * The operation id for the '<em>Logical Expression Is Bit Wise Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LOGICAL_EXPRESSION___LOGICAL_EXPRESSION_IS_BIT_WISE_DERIVATION__DIAGNOSTICCHAIN_MAP = BINARY_EXPRESSION_OPERATION_COUNT + 9;
+
+ /**
+ * The number of operations of the '<em>Logical Expression</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LOGICAL_EXPRESSION_OPERATION_COUNT = BINARY_EXPRESSION_OPERATION_COUNT + 10;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.uml.alf.impl.SequenceConstructionExpressionImpl <em>Sequence Construction Expression</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.uml.alf.impl.SequenceConstructionExpressionImpl
+ * @see org.eclipse.papyrus.uml.alf.impl.AlfPackageImpl#getSequenceConstructionExpression()
+ * @generated
+ */
+ int SEQUENCE_CONSTRUCTION_EXPRESSION = 45;
+
+ /**
+ * The feature id for the '<em><b>Owner</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_CONSTRUCTION_EXPRESSION__OWNER = EXPRESSION__OWNER;
+
+ /**
+ * The feature id for the '<em><b>Upper</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_CONSTRUCTION_EXPRESSION__UPPER = EXPRESSION__UPPER;
+
+ /**
+ * The feature id for the '<em><b>Lower</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_CONSTRUCTION_EXPRESSION__LOWER = EXPRESSION__LOWER;
+
+ /**
+ * The feature id for the '<em><b>Type</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_CONSTRUCTION_EXPRESSION__TYPE = EXPRESSION__TYPE;
+
+ /**
+ * The feature id for the '<em><b>Assignment Before</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_CONSTRUCTION_EXPRESSION__ASSIGNMENT_BEFORE = EXPRESSION__ASSIGNMENT_BEFORE;
+
+ /**
+ * The feature id for the '<em><b>Assignment After</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_CONSTRUCTION_EXPRESSION__ASSIGNMENT_AFTER = EXPRESSION__ASSIGNMENT_AFTER;
+
+ /**
+ * The feature id for the '<em><b>Elements</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_CONSTRUCTION_EXPRESSION__ELEMENTS = EXPRESSION_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Has Multiplicity</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_CONSTRUCTION_EXPRESSION__HAS_MULTIPLICITY = EXPRESSION_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Type Name</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_CONSTRUCTION_EXPRESSION__TYPE_NAME = EXPRESSION_FEATURE_COUNT + 2;
+
+ /**
+ * The feature id for the '<em><b>Is Any</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_CONSTRUCTION_EXPRESSION__IS_ANY = EXPRESSION_FEATURE_COUNT + 3;
+
+ /**
+ * The number of structural features of the '<em>Sequence Construction Expression</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_CONSTRUCTION_EXPRESSION_FEATURE_COUNT = EXPRESSION_FEATURE_COUNT + 4;
+
+ /**
+ * The operation id for the '<em>To Reference</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_CONSTRUCTION_EXPRESSION___TO_REFERENCE = EXPRESSION___TO_REFERENCE;
+
+ /**
+ * The operation id for the '<em>Owner</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_CONSTRUCTION_EXPRESSION___OWNER = EXPRESSION___OWNER;
+
+ /**
+ * The operation id for the '<em>Syntax Element owner</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_CONSTRUCTION_EXPRESSION___SYNTAX_ELEMENT_OWNER = EXPRESSION___SYNTAX_ELEMENT_OWNER;
+
+ /**
+ * The operation id for the '<em>Current Scope</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_CONSTRUCTION_EXPRESSION___CURRENT_SCOPE = EXPRESSION___CURRENT_SCOPE;
+
+ /**
+ * The operation id for the '<em>Syntax Element current Scope</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_CONSTRUCTION_EXPRESSION___SYNTAX_ELEMENT_CURRENT_SCOPE = EXPRESSION___SYNTAX_ELEMENT_CURRENT_SCOPE;
+
+ /**
+ * The operation id for the '<em>Enclosing Statement</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_CONSTRUCTION_EXPRESSION___ENCLOSING_STATEMENT = EXPRESSION___ENCLOSING_STATEMENT;
+
+ /**
+ * The operation id for the '<em>Enclosing Expression</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_CONSTRUCTION_EXPRESSION___ENCLOSING_EXPRESSION = EXPRESSION___ENCLOSING_EXPRESSION;
+
+ /**
+ * The operation id for the '<em>Assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_CONSTRUCTION_EXPRESSION___ASSIGNMENTS_BEFORE = EXPRESSION___ASSIGNMENTS_BEFORE;
+
+ /**
+ * The operation id for the '<em>Syntax Element assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_CONSTRUCTION_EXPRESSION___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE = EXPRESSION___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE;
+
+ /**
+ * The operation id for the '<em>Syntax Element assignments Before base</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_CONSTRUCTION_EXPRESSION___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE_BASE = EXPRESSION___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE_BASE;
+
+ /**
+ * The operation id for the '<em>Assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_CONSTRUCTION_EXPRESSION___ASSIGNMENTS_BEFORE__SYNTAXELEMENT = EXPRESSION___ASSIGNMENTS_BEFORE__SYNTAXELEMENT;
+
+ /**
+ * The operation id for the '<em>Update All</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_CONSTRUCTION_EXPRESSION___UPDATE_ALL__ELIST_ELIST = EXPRESSION___UPDATE_ALL__ELIST_ELIST;
+
+ /**
+ * The operation id for the '<em>Common Ancestor</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_CONSTRUCTION_EXPRESSION___COMMON_ANCESTOR__ELIST = EXPRESSION___COMMON_ANCESTOR__ELIST;
+
+ /**
+ * The operation id for the '<em>Common Ancestors</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_CONSTRUCTION_EXPRESSION___COMMON_ANCESTORS__ELIST = EXPRESSION___COMMON_ANCESTORS__ELIST;
+
+ /**
+ * The operation id for the '<em>Remove Duplicate Elements</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_CONSTRUCTION_EXPRESSION___REMOVE_DUPLICATE_ELEMENTS__ELIST = EXPRESSION___REMOVE_DUPLICATE_ELEMENTS__ELIST;
+
+ /**
+ * The operation id for the '<em>Resolve In Library</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_CONSTRUCTION_EXPRESSION___RESOLVE_IN_LIBRARY__STRING = EXPRESSION___RESOLVE_IN_LIBRARY__STRING;
+
+ /**
+ * The operation id for the '<em>Primitive Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_CONSTRUCTION_EXPRESSION___PRIMITIVE_TYPE__STRING = EXPRESSION___PRIMITIVE_TYPE__STRING;
+
+ /**
+ * The operation id for the '<em>Primitive Type </em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_CONSTRUCTION_EXPRESSION___PRIMITIVE_TYPE____STRING = EXPRESSION___PRIMITIVE_TYPE____STRING;
+
+ /**
+ * The operation id for the '<em>Boolean Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_CONSTRUCTION_EXPRESSION___BOOLEAN_TYPE = EXPRESSION___BOOLEAN_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Boolean Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_CONSTRUCTION_EXPRESSION___IS_BOOLEAN_TYPE__ELEMENTREFERENCE = EXPRESSION___IS_BOOLEAN_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Integer Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_CONSTRUCTION_EXPRESSION___INTEGER_TYPE = EXPRESSION___INTEGER_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Integer Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_CONSTRUCTION_EXPRESSION___IS_INTEGER_TYPE__ELEMENTREFERENCE = EXPRESSION___IS_INTEGER_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_CONSTRUCTION_EXPRESSION___STRING_TYPE = EXPRESSION___STRING_TYPE;
+
+ /**
+ * The operation id for the '<em>Is String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_CONSTRUCTION_EXPRESSION___IS_STRING_TYPE__ELEMENTREFERENCE = EXPRESSION___IS_STRING_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Unlimited Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_CONSTRUCTION_EXPRESSION___UNLIMITED_NATURAL_TYPE = EXPRESSION___UNLIMITED_NATURAL_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Unlimited Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_CONSTRUCTION_EXPRESSION___IS_UNLIMITED_NATURAL_TYPE__ELEMENTREFERENCE = EXPRESSION___IS_UNLIMITED_NATURAL_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Bit String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_CONSTRUCTION_EXPRESSION___BIT_STRING_TYPE = EXPRESSION___BIT_STRING_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Bit String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_CONSTRUCTION_EXPRESSION___IS_BIT_STRING_TYPE__ELEMENTREFERENCE = EXPRESSION___IS_BIT_STRING_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_CONSTRUCTION_EXPRESSION___NATURAL_TYPE = EXPRESSION___NATURAL_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_CONSTRUCTION_EXPRESSION___IS_NATURAL_TYPE__ELEMENTREFERENCE = EXPRESSION___IS_NATURAL_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Numeric Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_CONSTRUCTION_EXPRESSION___IS_NUMERIC_TYPE__ELEMENTREFERENCE = EXPRESSION___IS_NUMERIC_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Collection Function Add</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_CONSTRUCTION_EXPRESSION___COLLECTION_FUNCTION_ADD = EXPRESSION___COLLECTION_FUNCTION_ADD;
+
+ /**
+ * The operation id for the '<em>Is Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_CONSTRUCTION_EXPRESSION___IS_COLLECTION_CLASS__ELEMENTREFERENCE = EXPRESSION___IS_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Integer Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_CONSTRUCTION_EXPRESSION___IS_INTEGER_COLLECTION_CLASS__ELEMENTREFERENCE = EXPRESSION___IS_INTEGER_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Bit String Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_CONSTRUCTION_EXPRESSION___IS_BIT_STRING_COLLECTION_CLASS__ELEMENTREFERENCE = EXPRESSION___IS_BIT_STRING_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Type Cached</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_CONSTRUCTION_EXPRESSION___TYPE_CACHED = EXPRESSION___TYPE_CACHED;
+
+ /**
+ * The operation id for the '<em>Is Null</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_CONSTRUCTION_EXPRESSION___IS_NULL = EXPRESSION___IS_NULL;
+
+ /**
+ * The operation id for the '<em>Is Assignable From Element</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_CONSTRUCTION_EXPRESSION___IS_ASSIGNABLE_FROM_ELEMENT__ELEMENTREFERENCE = EXPRESSION___IS_ASSIGNABLE_FROM_ELEMENT__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Assignable From</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_CONSTRUCTION_EXPRESSION___IS_ASSIGNABLE_FROM__ASSIGNABLEELEMENT = EXPRESSION___IS_ASSIGNABLE_FROM__ASSIGNABLEELEMENT;
+
+ /**
+ * The operation id for the '<em>Is Type Conformant With</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_CONSTRUCTION_EXPRESSION___IS_TYPE_CONFORMANT_WITH__ASSIGNABLEELEMENT = EXPRESSION___IS_TYPE_CONFORMANT_WITH__ASSIGNABLEELEMENT;
+
+ /**
+ * The operation id for the '<em>Is Conformant With Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_CONSTRUCTION_EXPRESSION___IS_CONFORMANT_WITH_TYPE__ELEMENTREFERENCE = EXPRESSION___IS_CONFORMANT_WITH_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Multiplicity Conformant With</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_CONSTRUCTION_EXPRESSION___IS_MULTIPLICITY_CONFORMANT_WITH__ASSIGNABLEELEMENT = EXPRESSION___IS_MULTIPLICITY_CONFORMANT_WITH__ASSIGNABLEELEMENT;
+
+ /**
+ * The operation id for the '<em>New Assignments</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_CONSTRUCTION_EXPRESSION___NEW_ASSIGNMENTS = EXPRESSION___NEW_ASSIGNMENTS;
+
+ /**
+ * The operation id for the '<em>Expression update Assignments</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_CONSTRUCTION_EXPRESSION___EXPRESSION_UPDATE_ASSIGNMENTS = EXPRESSION___EXPRESSION_UPDATE_ASSIGNMENTS;
+
+ /**
+ * The operation id for the '<em>Update Assignments Cached</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_CONSTRUCTION_EXPRESSION___UPDATE_ASSIGNMENTS_CACHED = EXPRESSION___UPDATE_ASSIGNMENTS_CACHED;
+
+ /**
+ * The operation id for the '<em>Resolve</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_CONSTRUCTION_EXPRESSION___RESOLVE__STRING = EXPRESSION___RESOLVE__STRING;
+
+ /**
+ * The operation id for the '<em>Is Add Target</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_CONSTRUCTION_EXPRESSION___IS_ADD_TARGET__EXPRESSION = EXPRESSION___IS_ADD_TARGET__EXPRESSION;
+
+ /**
+ * The operation id for the '<em>Expression Assignment After Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_CONSTRUCTION_EXPRESSION___EXPRESSION_ASSIGNMENT_AFTER_DERIVATION__DIAGNOSTICCHAIN_MAP = EXPRESSION___EXPRESSION_ASSIGNMENT_AFTER_DERIVATION__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Expression Unique Assignments</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_CONSTRUCTION_EXPRESSION___EXPRESSION_UNIQUE_ASSIGNMENTS__DIAGNOSTICCHAIN_MAP = EXPRESSION___EXPRESSION_UNIQUE_ASSIGNMENTS__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Collection Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_CONSTRUCTION_EXPRESSION___COLLECTION_TYPE = EXPRESSION_OPERATION_COUNT + 0;
+
+ /**
+ * The operation id for the '<em>Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_CONSTRUCTION_EXPRESSION___TYPE = EXPRESSION_OPERATION_COUNT + 1;
+
+ /**
+ * The operation id for the '<em>Upper</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_CONSTRUCTION_EXPRESSION___UPPER = EXPRESSION_OPERATION_COUNT + 2;
+
+ /**
+ * The operation id for the '<em>Lower</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_CONSTRUCTION_EXPRESSION___LOWER = EXPRESSION_OPERATION_COUNT + 3;
+
+ /**
+ * The operation id for the '<em>Sequence Construction Expression Type Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_CONSTRUCTION_EXPRESSION___SEQUENCE_CONSTRUCTION_EXPRESSION_TYPE_DERIVATION__DIAGNOSTICCHAIN_MAP = EXPRESSION_OPERATION_COUNT + 4;
+
+ /**
+ * The operation id for the '<em>Sequence Construction Expression Upper Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_CONSTRUCTION_EXPRESSION___SEQUENCE_CONSTRUCTION_EXPRESSION_UPPER_DERIVATION__DIAGNOSTICCHAIN_MAP = EXPRESSION_OPERATION_COUNT + 5;
+
+ /**
+ * The operation id for the '<em>Sequence Construction Expression Lower Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_CONSTRUCTION_EXPRESSION___SEQUENCE_CONSTRUCTION_EXPRESSION_LOWER_DERIVATION__DIAGNOSTICCHAIN_MAP = EXPRESSION_OPERATION_COUNT + 6;
+
+ /**
+ * The operation id for the '<em>Sequence Construction Expression Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_CONSTRUCTION_EXPRESSION___SEQUENCE_CONSTRUCTION_EXPRESSION_TYPE__DIAGNOSTICCHAIN_MAP = EXPRESSION_OPERATION_COUNT + 7;
+
+ /**
+ * The operation id for the '<em>Sequence Construction Expression Element Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_CONSTRUCTION_EXPRESSION___SEQUENCE_CONSTRUCTION_EXPRESSION_ELEMENT_TYPE__DIAGNOSTICCHAIN_MAP = EXPRESSION_OPERATION_COUNT + 8;
+
+ /**
+ * The operation id for the '<em>Sequence Construction Expression Assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_CONSTRUCTION_EXPRESSION___SEQUENCE_CONSTRUCTION_EXPRESSION_ASSIGNMENTS_BEFORE__DIAGNOSTICCHAIN_MAP = EXPRESSION_OPERATION_COUNT + 9;
+
+ /**
+ * The operation id for the '<em>Update Assignments</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_CONSTRUCTION_EXPRESSION___UPDATE_ASSIGNMENTS = EXPRESSION_OPERATION_COUNT + 10;
+
+ /**
+ * The number of operations of the '<em>Sequence Construction Expression</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_CONSTRUCTION_EXPRESSION_OPERATION_COUNT = EXPRESSION_OPERATION_COUNT + 11;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.uml.alf.impl.SequenceElementsImpl <em>Sequence Elements</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.uml.alf.impl.SequenceElementsImpl
+ * @see org.eclipse.papyrus.uml.alf.impl.AlfPackageImpl#getSequenceElements()
+ * @generated
+ */
+ int SEQUENCE_ELEMENTS = 46;
+
+ /**
+ * The feature id for the '<em><b>Owner</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_ELEMENTS__OWNER = SYNTAX_ELEMENT__OWNER;
+
+ /**
+ * The feature id for the '<em><b>Upper</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_ELEMENTS__UPPER = SYNTAX_ELEMENT_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Lower</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_ELEMENTS__LOWER = SYNTAX_ELEMENT_FEATURE_COUNT + 1;
+
+ /**
+ * The number of structural features of the '<em>Sequence Elements</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_ELEMENTS_FEATURE_COUNT = SYNTAX_ELEMENT_FEATURE_COUNT + 2;
+
+ /**
+ * The operation id for the '<em>To Reference</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_ELEMENTS___TO_REFERENCE = SYNTAX_ELEMENT___TO_REFERENCE;
+
+ /**
+ * The operation id for the '<em>Owner</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_ELEMENTS___OWNER = SYNTAX_ELEMENT___OWNER;
+
+ /**
+ * The operation id for the '<em>Syntax Element owner</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_ELEMENTS___SYNTAX_ELEMENT_OWNER = SYNTAX_ELEMENT___SYNTAX_ELEMENT_OWNER;
+
+ /**
+ * The operation id for the '<em>Current Scope</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_ELEMENTS___CURRENT_SCOPE = SYNTAX_ELEMENT___CURRENT_SCOPE;
+
+ /**
+ * The operation id for the '<em>Syntax Element current Scope</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_ELEMENTS___SYNTAX_ELEMENT_CURRENT_SCOPE = SYNTAX_ELEMENT___SYNTAX_ELEMENT_CURRENT_SCOPE;
+
+ /**
+ * The operation id for the '<em>Enclosing Statement</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_ELEMENTS___ENCLOSING_STATEMENT = SYNTAX_ELEMENT___ENCLOSING_STATEMENT;
+
+ /**
+ * The operation id for the '<em>Enclosing Expression</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_ELEMENTS___ENCLOSING_EXPRESSION = SYNTAX_ELEMENT___ENCLOSING_EXPRESSION;
+
+ /**
+ * The operation id for the '<em>Assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_ELEMENTS___ASSIGNMENTS_BEFORE = SYNTAX_ELEMENT___ASSIGNMENTS_BEFORE;
+
+ /**
+ * The operation id for the '<em>Syntax Element assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_ELEMENTS___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE = SYNTAX_ELEMENT___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE;
+
+ /**
+ * The operation id for the '<em>Syntax Element assignments Before base</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_ELEMENTS___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE_BASE = SYNTAX_ELEMENT___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE_BASE;
+
+ /**
+ * The operation id for the '<em>Assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_ELEMENTS___ASSIGNMENTS_BEFORE__SYNTAXELEMENT = SYNTAX_ELEMENT___ASSIGNMENTS_BEFORE__SYNTAXELEMENT;
+
+ /**
+ * The operation id for the '<em>Update All</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_ELEMENTS___UPDATE_ALL__ELIST_ELIST = SYNTAX_ELEMENT___UPDATE_ALL__ELIST_ELIST;
+
+ /**
+ * The operation id for the '<em>Common Ancestor</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_ELEMENTS___COMMON_ANCESTOR__ELIST = SYNTAX_ELEMENT___COMMON_ANCESTOR__ELIST;
+
+ /**
+ * The operation id for the '<em>Common Ancestors</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_ELEMENTS___COMMON_ANCESTORS__ELIST = SYNTAX_ELEMENT___COMMON_ANCESTORS__ELIST;
+
+ /**
+ * The operation id for the '<em>Remove Duplicate Elements</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_ELEMENTS___REMOVE_DUPLICATE_ELEMENTS__ELIST = SYNTAX_ELEMENT___REMOVE_DUPLICATE_ELEMENTS__ELIST;
+
+ /**
+ * The operation id for the '<em>Resolve In Library</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_ELEMENTS___RESOLVE_IN_LIBRARY__STRING = SYNTAX_ELEMENT___RESOLVE_IN_LIBRARY__STRING;
+
+ /**
+ * The operation id for the '<em>Primitive Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_ELEMENTS___PRIMITIVE_TYPE__STRING = SYNTAX_ELEMENT___PRIMITIVE_TYPE__STRING;
+
+ /**
+ * The operation id for the '<em>Primitive Type </em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_ELEMENTS___PRIMITIVE_TYPE____STRING = SYNTAX_ELEMENT___PRIMITIVE_TYPE____STRING;
+
+ /**
+ * The operation id for the '<em>Boolean Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_ELEMENTS___BOOLEAN_TYPE = SYNTAX_ELEMENT___BOOLEAN_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Boolean Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_ELEMENTS___IS_BOOLEAN_TYPE__ELEMENTREFERENCE = SYNTAX_ELEMENT___IS_BOOLEAN_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Integer Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_ELEMENTS___INTEGER_TYPE = SYNTAX_ELEMENT___INTEGER_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Integer Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_ELEMENTS___IS_INTEGER_TYPE__ELEMENTREFERENCE = SYNTAX_ELEMENT___IS_INTEGER_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_ELEMENTS___STRING_TYPE = SYNTAX_ELEMENT___STRING_TYPE;
+
+ /**
+ * The operation id for the '<em>Is String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_ELEMENTS___IS_STRING_TYPE__ELEMENTREFERENCE = SYNTAX_ELEMENT___IS_STRING_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Unlimited Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_ELEMENTS___UNLIMITED_NATURAL_TYPE = SYNTAX_ELEMENT___UNLIMITED_NATURAL_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Unlimited Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_ELEMENTS___IS_UNLIMITED_NATURAL_TYPE__ELEMENTREFERENCE = SYNTAX_ELEMENT___IS_UNLIMITED_NATURAL_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Bit String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_ELEMENTS___BIT_STRING_TYPE = SYNTAX_ELEMENT___BIT_STRING_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Bit String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_ELEMENTS___IS_BIT_STRING_TYPE__ELEMENTREFERENCE = SYNTAX_ELEMENT___IS_BIT_STRING_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_ELEMENTS___NATURAL_TYPE = SYNTAX_ELEMENT___NATURAL_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_ELEMENTS___IS_NATURAL_TYPE__ELEMENTREFERENCE = SYNTAX_ELEMENT___IS_NATURAL_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Numeric Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_ELEMENTS___IS_NUMERIC_TYPE__ELEMENTREFERENCE = SYNTAX_ELEMENT___IS_NUMERIC_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Collection Function Add</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_ELEMENTS___COLLECTION_FUNCTION_ADD = SYNTAX_ELEMENT___COLLECTION_FUNCTION_ADD;
+
+ /**
+ * The operation id for the '<em>Is Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_ELEMENTS___IS_COLLECTION_CLASS__ELEMENTREFERENCE = SYNTAX_ELEMENT___IS_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Integer Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_ELEMENTS___IS_INTEGER_COLLECTION_CLASS__ELEMENTREFERENCE = SYNTAX_ELEMENT___IS_INTEGER_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Bit String Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_ELEMENTS___IS_BIT_STRING_COLLECTION_CLASS__ELEMENTREFERENCE = SYNTAX_ELEMENT___IS_BIT_STRING_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Conforms To</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_ELEMENTS___CONFORMS_TO__ELEMENTREFERENCE = SYNTAX_ELEMENT_OPERATION_COUNT + 0;
+
+ /**
+ * The operation id for the '<em>Assignments After</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_ELEMENTS___ASSIGNMENTS_AFTER = SYNTAX_ELEMENT_OPERATION_COUNT + 1;
+
+ /**
+ * The operation id for the '<em>Upper</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_ELEMENTS___UPPER = SYNTAX_ELEMENT_OPERATION_COUNT + 2;
+
+ /**
+ * The operation id for the '<em>Lower</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_ELEMENTS___LOWER = SYNTAX_ELEMENT_OPERATION_COUNT + 3;
+
+ /**
+ * The number of operations of the '<em>Sequence Elements</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_ELEMENTS_OPERATION_COUNT = SYNTAX_ELEMENT_OPERATION_COUNT + 4;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.uml.alf.impl.CollectOrIterateExpressionImpl <em>Collect Or Iterate Expression</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.uml.alf.impl.CollectOrIterateExpressionImpl
+ * @see org.eclipse.papyrus.uml.alf.impl.AlfPackageImpl#getCollectOrIterateExpression()
+ * @generated
+ */
+ int COLLECT_OR_ITERATE_EXPRESSION = 47;
+
+ /**
+ * The feature id for the '<em><b>Owner</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int COLLECT_OR_ITERATE_EXPRESSION__OWNER = SEQUENCE_EXPANSION_EXPRESSION__OWNER;
+
+ /**
+ * The feature id for the '<em><b>Upper</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int COLLECT_OR_ITERATE_EXPRESSION__UPPER = SEQUENCE_EXPANSION_EXPRESSION__UPPER;
+
+ /**
+ * The feature id for the '<em><b>Lower</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int COLLECT_OR_ITERATE_EXPRESSION__LOWER = SEQUENCE_EXPANSION_EXPRESSION__LOWER;
+
+ /**
+ * The feature id for the '<em><b>Type</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int COLLECT_OR_ITERATE_EXPRESSION__TYPE = SEQUENCE_EXPANSION_EXPRESSION__TYPE;
+
+ /**
+ * The feature id for the '<em><b>Assignment Before</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int COLLECT_OR_ITERATE_EXPRESSION__ASSIGNMENT_BEFORE = SEQUENCE_EXPANSION_EXPRESSION__ASSIGNMENT_BEFORE;
+
+ /**
+ * The feature id for the '<em><b>Assignment After</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int COLLECT_OR_ITERATE_EXPRESSION__ASSIGNMENT_AFTER = SEQUENCE_EXPANSION_EXPRESSION__ASSIGNMENT_AFTER;
+
+ /**
+ * The feature id for the '<em><b>Operation</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int COLLECT_OR_ITERATE_EXPRESSION__OPERATION = SEQUENCE_EXPANSION_EXPRESSION__OPERATION;
+
+ /**
+ * The feature id for the '<em><b>Variable</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int COLLECT_OR_ITERATE_EXPRESSION__VARIABLE = SEQUENCE_EXPANSION_EXPRESSION__VARIABLE;
+
+ /**
+ * The feature id for the '<em><b>Variable Source</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int COLLECT_OR_ITERATE_EXPRESSION__VARIABLE_SOURCE = SEQUENCE_EXPANSION_EXPRESSION__VARIABLE_SOURCE;
+
+ /**
+ * The feature id for the '<em><b>Argument</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int COLLECT_OR_ITERATE_EXPRESSION__ARGUMENT = SEQUENCE_EXPANSION_EXPRESSION__ARGUMENT;
+
+ /**
+ * The feature id for the '<em><b>Primary</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int COLLECT_OR_ITERATE_EXPRESSION__PRIMARY = SEQUENCE_EXPANSION_EXPRESSION__PRIMARY;
+
+ /**
+ * The feature id for the '<em><b>Is Select Or Reject</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int COLLECT_OR_ITERATE_EXPRESSION__IS_SELECT_OR_REJECT = SEQUENCE_EXPANSION_EXPRESSION__IS_SELECT_OR_REJECT;
+
+ /**
+ * The feature id for the '<em><b>Is Collect Or Iterate</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int COLLECT_OR_ITERATE_EXPRESSION__IS_COLLECT_OR_ITERATE = SEQUENCE_EXPANSION_EXPRESSION__IS_COLLECT_OR_ITERATE;
+
+ /**
+ * The feature id for the '<em><b>Is For All Or Exists Or One</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int COLLECT_OR_ITERATE_EXPRESSION__IS_FOR_ALL_OR_EXISTS_OR_ONE = SEQUENCE_EXPANSION_EXPRESSION__IS_FOR_ALL_OR_EXISTS_OR_ONE;
+
+ /**
+ * The feature id for the '<em><b>Is Is Unique</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int COLLECT_OR_ITERATE_EXPRESSION__IS_IS_UNIQUE = SEQUENCE_EXPANSION_EXPRESSION__IS_IS_UNIQUE;
+
+ /**
+ * The number of structural features of the '<em>Collect Or Iterate Expression</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int COLLECT_OR_ITERATE_EXPRESSION_FEATURE_COUNT = SEQUENCE_EXPANSION_EXPRESSION_FEATURE_COUNT + 0;
+
+ /**
+ * The operation id for the '<em>To Reference</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int COLLECT_OR_ITERATE_EXPRESSION___TO_REFERENCE = SEQUENCE_EXPANSION_EXPRESSION___TO_REFERENCE;
+
+ /**
+ * The operation id for the '<em>Owner</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int COLLECT_OR_ITERATE_EXPRESSION___OWNER = SEQUENCE_EXPANSION_EXPRESSION___OWNER;
+
+ /**
+ * The operation id for the '<em>Syntax Element owner</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int COLLECT_OR_ITERATE_EXPRESSION___SYNTAX_ELEMENT_OWNER = SEQUENCE_EXPANSION_EXPRESSION___SYNTAX_ELEMENT_OWNER;
+
+ /**
+ * The operation id for the '<em>Current Scope</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int COLLECT_OR_ITERATE_EXPRESSION___CURRENT_SCOPE = SEQUENCE_EXPANSION_EXPRESSION___CURRENT_SCOPE;
+
+ /**
+ * The operation id for the '<em>Syntax Element current Scope</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int COLLECT_OR_ITERATE_EXPRESSION___SYNTAX_ELEMENT_CURRENT_SCOPE = SEQUENCE_EXPANSION_EXPRESSION___SYNTAX_ELEMENT_CURRENT_SCOPE;
+
+ /**
+ * The operation id for the '<em>Enclosing Statement</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int COLLECT_OR_ITERATE_EXPRESSION___ENCLOSING_STATEMENT = SEQUENCE_EXPANSION_EXPRESSION___ENCLOSING_STATEMENT;
+
+ /**
+ * The operation id for the '<em>Enclosing Expression</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int COLLECT_OR_ITERATE_EXPRESSION___ENCLOSING_EXPRESSION = SEQUENCE_EXPANSION_EXPRESSION___ENCLOSING_EXPRESSION;
+
+ /**
+ * The operation id for the '<em>Assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int COLLECT_OR_ITERATE_EXPRESSION___ASSIGNMENTS_BEFORE = SEQUENCE_EXPANSION_EXPRESSION___ASSIGNMENTS_BEFORE;
+
+ /**
+ * The operation id for the '<em>Syntax Element assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int COLLECT_OR_ITERATE_EXPRESSION___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE = SEQUENCE_EXPANSION_EXPRESSION___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE;
+
+ /**
+ * The operation id for the '<em>Syntax Element assignments Before base</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int COLLECT_OR_ITERATE_EXPRESSION___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE_BASE = SEQUENCE_EXPANSION_EXPRESSION___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE_BASE;
+
+ /**
+ * The operation id for the '<em>Update All</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int COLLECT_OR_ITERATE_EXPRESSION___UPDATE_ALL__ELIST_ELIST = SEQUENCE_EXPANSION_EXPRESSION___UPDATE_ALL__ELIST_ELIST;
+
+ /**
+ * The operation id for the '<em>Common Ancestor</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int COLLECT_OR_ITERATE_EXPRESSION___COMMON_ANCESTOR__ELIST = SEQUENCE_EXPANSION_EXPRESSION___COMMON_ANCESTOR__ELIST;
+
+ /**
+ * The operation id for the '<em>Common Ancestors</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int COLLECT_OR_ITERATE_EXPRESSION___COMMON_ANCESTORS__ELIST = SEQUENCE_EXPANSION_EXPRESSION___COMMON_ANCESTORS__ELIST;
+
+ /**
+ * The operation id for the '<em>Remove Duplicate Elements</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int COLLECT_OR_ITERATE_EXPRESSION___REMOVE_DUPLICATE_ELEMENTS__ELIST = SEQUENCE_EXPANSION_EXPRESSION___REMOVE_DUPLICATE_ELEMENTS__ELIST;
+
+ /**
+ * The operation id for the '<em>Resolve In Library</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int COLLECT_OR_ITERATE_EXPRESSION___RESOLVE_IN_LIBRARY__STRING = SEQUENCE_EXPANSION_EXPRESSION___RESOLVE_IN_LIBRARY__STRING;
+
+ /**
+ * The operation id for the '<em>Primitive Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int COLLECT_OR_ITERATE_EXPRESSION___PRIMITIVE_TYPE__STRING = SEQUENCE_EXPANSION_EXPRESSION___PRIMITIVE_TYPE__STRING;
+
+ /**
+ * The operation id for the '<em>Primitive Type </em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int COLLECT_OR_ITERATE_EXPRESSION___PRIMITIVE_TYPE____STRING = SEQUENCE_EXPANSION_EXPRESSION___PRIMITIVE_TYPE____STRING;
+
+ /**
+ * The operation id for the '<em>Boolean Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int COLLECT_OR_ITERATE_EXPRESSION___BOOLEAN_TYPE = SEQUENCE_EXPANSION_EXPRESSION___BOOLEAN_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Boolean Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int COLLECT_OR_ITERATE_EXPRESSION___IS_BOOLEAN_TYPE__ELEMENTREFERENCE = SEQUENCE_EXPANSION_EXPRESSION___IS_BOOLEAN_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Integer Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int COLLECT_OR_ITERATE_EXPRESSION___INTEGER_TYPE = SEQUENCE_EXPANSION_EXPRESSION___INTEGER_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Integer Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int COLLECT_OR_ITERATE_EXPRESSION___IS_INTEGER_TYPE__ELEMENTREFERENCE = SEQUENCE_EXPANSION_EXPRESSION___IS_INTEGER_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int COLLECT_OR_ITERATE_EXPRESSION___STRING_TYPE = SEQUENCE_EXPANSION_EXPRESSION___STRING_TYPE;
+
+ /**
+ * The operation id for the '<em>Is String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int COLLECT_OR_ITERATE_EXPRESSION___IS_STRING_TYPE__ELEMENTREFERENCE = SEQUENCE_EXPANSION_EXPRESSION___IS_STRING_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Unlimited Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int COLLECT_OR_ITERATE_EXPRESSION___UNLIMITED_NATURAL_TYPE = SEQUENCE_EXPANSION_EXPRESSION___UNLIMITED_NATURAL_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Unlimited Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int COLLECT_OR_ITERATE_EXPRESSION___IS_UNLIMITED_NATURAL_TYPE__ELEMENTREFERENCE = SEQUENCE_EXPANSION_EXPRESSION___IS_UNLIMITED_NATURAL_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Bit String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int COLLECT_OR_ITERATE_EXPRESSION___BIT_STRING_TYPE = SEQUENCE_EXPANSION_EXPRESSION___BIT_STRING_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Bit String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int COLLECT_OR_ITERATE_EXPRESSION___IS_BIT_STRING_TYPE__ELEMENTREFERENCE = SEQUENCE_EXPANSION_EXPRESSION___IS_BIT_STRING_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int COLLECT_OR_ITERATE_EXPRESSION___NATURAL_TYPE = SEQUENCE_EXPANSION_EXPRESSION___NATURAL_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int COLLECT_OR_ITERATE_EXPRESSION___IS_NATURAL_TYPE__ELEMENTREFERENCE = SEQUENCE_EXPANSION_EXPRESSION___IS_NATURAL_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Numeric Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int COLLECT_OR_ITERATE_EXPRESSION___IS_NUMERIC_TYPE__ELEMENTREFERENCE = SEQUENCE_EXPANSION_EXPRESSION___IS_NUMERIC_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Collection Function Add</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int COLLECT_OR_ITERATE_EXPRESSION___COLLECTION_FUNCTION_ADD = SEQUENCE_EXPANSION_EXPRESSION___COLLECTION_FUNCTION_ADD;
+
+ /**
+ * The operation id for the '<em>Is Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int COLLECT_OR_ITERATE_EXPRESSION___IS_COLLECTION_CLASS__ELEMENTREFERENCE = SEQUENCE_EXPANSION_EXPRESSION___IS_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Integer Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int COLLECT_OR_ITERATE_EXPRESSION___IS_INTEGER_COLLECTION_CLASS__ELEMENTREFERENCE = SEQUENCE_EXPANSION_EXPRESSION___IS_INTEGER_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Bit String Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int COLLECT_OR_ITERATE_EXPRESSION___IS_BIT_STRING_COLLECTION_CLASS__ELEMENTREFERENCE = SEQUENCE_EXPANSION_EXPRESSION___IS_BIT_STRING_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Type Cached</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int COLLECT_OR_ITERATE_EXPRESSION___TYPE_CACHED = SEQUENCE_EXPANSION_EXPRESSION___TYPE_CACHED;
+
+ /**
+ * The operation id for the '<em>Is Null</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int COLLECT_OR_ITERATE_EXPRESSION___IS_NULL = SEQUENCE_EXPANSION_EXPRESSION___IS_NULL;
+
+ /**
+ * The operation id for the '<em>Is Assignable From Element</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int COLLECT_OR_ITERATE_EXPRESSION___IS_ASSIGNABLE_FROM_ELEMENT__ELEMENTREFERENCE = SEQUENCE_EXPANSION_EXPRESSION___IS_ASSIGNABLE_FROM_ELEMENT__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Assignable From</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int COLLECT_OR_ITERATE_EXPRESSION___IS_ASSIGNABLE_FROM__ASSIGNABLEELEMENT = SEQUENCE_EXPANSION_EXPRESSION___IS_ASSIGNABLE_FROM__ASSIGNABLEELEMENT;
+
+ /**
+ * The operation id for the '<em>Is Type Conformant With</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int COLLECT_OR_ITERATE_EXPRESSION___IS_TYPE_CONFORMANT_WITH__ASSIGNABLEELEMENT = SEQUENCE_EXPANSION_EXPRESSION___IS_TYPE_CONFORMANT_WITH__ASSIGNABLEELEMENT;
+
+ /**
+ * The operation id for the '<em>Is Conformant With Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int COLLECT_OR_ITERATE_EXPRESSION___IS_CONFORMANT_WITH_TYPE__ELEMENTREFERENCE = SEQUENCE_EXPANSION_EXPRESSION___IS_CONFORMANT_WITH_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Multiplicity Conformant With</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int COLLECT_OR_ITERATE_EXPRESSION___IS_MULTIPLICITY_CONFORMANT_WITH__ASSIGNABLEELEMENT = SEQUENCE_EXPANSION_EXPRESSION___IS_MULTIPLICITY_CONFORMANT_WITH__ASSIGNABLEELEMENT;
+
+ /**
+ * The operation id for the '<em>New Assignments</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int COLLECT_OR_ITERATE_EXPRESSION___NEW_ASSIGNMENTS = SEQUENCE_EXPANSION_EXPRESSION___NEW_ASSIGNMENTS;
+
+ /**
+ * The operation id for the '<em>Expression update Assignments</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int COLLECT_OR_ITERATE_EXPRESSION___EXPRESSION_UPDATE_ASSIGNMENTS = SEQUENCE_EXPANSION_EXPRESSION___EXPRESSION_UPDATE_ASSIGNMENTS;
+
+ /**
+ * The operation id for the '<em>Update Assignments Cached</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int COLLECT_OR_ITERATE_EXPRESSION___UPDATE_ASSIGNMENTS_CACHED = SEQUENCE_EXPANSION_EXPRESSION___UPDATE_ASSIGNMENTS_CACHED;
+
+ /**
+ * The operation id for the '<em>Resolve</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int COLLECT_OR_ITERATE_EXPRESSION___RESOLVE__STRING = SEQUENCE_EXPANSION_EXPRESSION___RESOLVE__STRING;
+
+ /**
+ * The operation id for the '<em>Is Add Target</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int COLLECT_OR_ITERATE_EXPRESSION___IS_ADD_TARGET__EXPRESSION = SEQUENCE_EXPANSION_EXPRESSION___IS_ADD_TARGET__EXPRESSION;
+
+ /**
+ * The operation id for the '<em>Expression Assignment After Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int COLLECT_OR_ITERATE_EXPRESSION___EXPRESSION_ASSIGNMENT_AFTER_DERIVATION__DIAGNOSTICCHAIN_MAP = SEQUENCE_EXPANSION_EXPRESSION___EXPRESSION_ASSIGNMENT_AFTER_DERIVATION__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Expression Unique Assignments</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int COLLECT_OR_ITERATE_EXPRESSION___EXPRESSION_UNIQUE_ASSIGNMENTS__DIAGNOSTICCHAIN_MAP = SEQUENCE_EXPANSION_EXPRESSION___EXPRESSION_UNIQUE_ASSIGNMENTS__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int COLLECT_OR_ITERATE_EXPRESSION___ASSIGNMENTS_BEFORE__SYNTAXELEMENT = SEQUENCE_EXPANSION_EXPRESSION___ASSIGNMENTS_BEFORE__SYNTAXELEMENT;
+
+ /**
+ * The operation id for the '<em>Assignments After Primary</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int COLLECT_OR_ITERATE_EXPRESSION___ASSIGNMENTS_AFTER_PRIMARY = SEQUENCE_EXPANSION_EXPRESSION___ASSIGNMENTS_AFTER_PRIMARY;
+
+ /**
+ * The operation id for the '<em>Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int COLLECT_OR_ITERATE_EXPRESSION___TYPE = SEQUENCE_EXPANSION_EXPRESSION___TYPE;
+
+ /**
+ * The operation id for the '<em>Lower</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int COLLECT_OR_ITERATE_EXPRESSION___LOWER = SEQUENCE_EXPANSION_EXPRESSION___LOWER;
+
+ /**
+ * The operation id for the '<em>Upper</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int COLLECT_OR_ITERATE_EXPRESSION___UPPER = SEQUENCE_EXPANSION_EXPRESSION___UPPER;
+
+ /**
+ * The operation id for the '<em>Sequence Expansion Expression Variable Source Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int COLLECT_OR_ITERATE_EXPRESSION___SEQUENCE_EXPANSION_EXPRESSION_VARIABLE_SOURCE_DERIVATION__DIAGNOSTICCHAIN_MAP = SEQUENCE_EXPANSION_EXPRESSION___SEQUENCE_EXPANSION_EXPRESSION_VARIABLE_SOURCE_DERIVATION__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Sequence Expansion Expression Assignments Before Primary</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int COLLECT_OR_ITERATE_EXPRESSION___SEQUENCE_EXPANSION_EXPRESSION_ASSIGNMENTS_BEFORE_PRIMARY__DIAGNOSTICCHAIN_MAP = SEQUENCE_EXPANSION_EXPRESSION___SEQUENCE_EXPANSION_EXPRESSION_ASSIGNMENTS_BEFORE_PRIMARY__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Sequence Expansion Expression Assignments Before Argument</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int COLLECT_OR_ITERATE_EXPRESSION___SEQUENCE_EXPANSION_EXPRESSION_ASSIGNMENTS_BEFORE_ARGUMENT__DIAGNOSTICCHAIN_MAP = SEQUENCE_EXPANSION_EXPRESSION___SEQUENCE_EXPANSION_EXPRESSION_ASSIGNMENTS_BEFORE_ARGUMENT__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Sequence Expansion Expression Variable Name</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int COLLECT_OR_ITERATE_EXPRESSION___SEQUENCE_EXPANSION_EXPRESSION_VARIABLE_NAME__DIAGNOSTICCHAIN_MAP = SEQUENCE_EXPANSION_EXPRESSION___SEQUENCE_EXPANSION_EXPRESSION_VARIABLE_NAME__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Sequence Expansion Expression Assignments After Argument</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int COLLECT_OR_ITERATE_EXPRESSION___SEQUENCE_EXPANSION_EXPRESSION_ASSIGNMENTS_AFTER_ARGUMENT__DIAGNOSTICCHAIN_MAP = SEQUENCE_EXPANSION_EXPRESSION___SEQUENCE_EXPANSION_EXPRESSION_ASSIGNMENTS_AFTER_ARGUMENT__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Select Or Reject Expression Type Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int COLLECT_OR_ITERATE_EXPRESSION___SELECT_OR_REJECT_EXPRESSION_TYPE_DERIVATION__DIAGNOSTICCHAIN_MAP = SEQUENCE_EXPANSION_EXPRESSION___SELECT_OR_REJECT_EXPRESSION_TYPE_DERIVATION__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Select Or Reject Expression Lower Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int COLLECT_OR_ITERATE_EXPRESSION___SELECT_OR_REJECT_EXPRESSION_LOWER_DERIVATION__DIAGNOSTICCHAIN_MAP = SEQUENCE_EXPANSION_EXPRESSION___SELECT_OR_REJECT_EXPRESSION_LOWER_DERIVATION__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Select Or Reject Expression Upper Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int COLLECT_OR_ITERATE_EXPRESSION___SELECT_OR_REJECT_EXPRESSION_UPPER_DERIVATION__DIAGNOSTICCHAIN_MAP = SEQUENCE_EXPANSION_EXPRESSION___SELECT_OR_REJECT_EXPRESSION_UPPER_DERIVATION__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Select Or Reject Expression Argument</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int COLLECT_OR_ITERATE_EXPRESSION___SELECT_OR_REJECT_EXPRESSION_ARGUMENT__DIAGNOSTICCHAIN_MAP = SEQUENCE_EXPANSION_EXPRESSION___SELECT_OR_REJECT_EXPRESSION_ARGUMENT__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>For All Or Exists Or One Expression Type Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int COLLECT_OR_ITERATE_EXPRESSION___FOR_ALL_OR_EXISTS_OR_ONE_EXPRESSION_TYPE_DERIVATION__DIAGNOSTICCHAIN_MAP = SEQUENCE_EXPANSION_EXPRESSION___FOR_ALL_OR_EXISTS_OR_ONE_EXPRESSION_TYPE_DERIVATION__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>For All Or Exists Or One Expression Lower Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int COLLECT_OR_ITERATE_EXPRESSION___FOR_ALL_OR_EXISTS_OR_ONE_EXPRESSION_LOWER_DERIVATION__DIAGNOSTICCHAIN_MAP = SEQUENCE_EXPANSION_EXPRESSION___FOR_ALL_OR_EXISTS_OR_ONE_EXPRESSION_LOWER_DERIVATION__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>For All Or Exists Or One Expression Upper Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int COLLECT_OR_ITERATE_EXPRESSION___FOR_ALL_OR_EXISTS_OR_ONE_EXPRESSION_UPPER_DERIVATION__DIAGNOSTICCHAIN_MAP = SEQUENCE_EXPANSION_EXPRESSION___FOR_ALL_OR_EXISTS_OR_ONE_EXPRESSION_UPPER_DERIVATION__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>For All Or Exists Or One Expression Argument</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int COLLECT_OR_ITERATE_EXPRESSION___FOR_ALL_OR_EXISTS_OR_ONE_EXPRESSION_ARGUMENT__DIAGNOSTICCHAIN_MAP = SEQUENCE_EXPANSION_EXPRESSION___FOR_ALL_OR_EXISTS_OR_ONE_EXPRESSION_ARGUMENT__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Is Unique Expression Type Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int COLLECT_OR_ITERATE_EXPRESSION___IS_UNIQUE_EXPRESSION_TYPE_DERIVATION__DIAGNOSTICCHAIN_MAP = SEQUENCE_EXPANSION_EXPRESSION___IS_UNIQUE_EXPRESSION_TYPE_DERIVATION__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Is Unique Expression Lower Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int COLLECT_OR_ITERATE_EXPRESSION___IS_UNIQUE_EXPRESSION_LOWER_DERIVATION__DIAGNOSTICCHAIN_MAP = SEQUENCE_EXPANSION_EXPRESSION___IS_UNIQUE_EXPRESSION_LOWER_DERIVATION__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Is Unique Expression Upper Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int COLLECT_OR_ITERATE_EXPRESSION___IS_UNIQUE_EXPRESSION_UPPER_DERIVATION__DIAGNOSTICCHAIN_MAP = SEQUENCE_EXPANSION_EXPRESSION___IS_UNIQUE_EXPRESSION_UPPER_DERIVATION__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Is Unique Expression Expression Argument</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int COLLECT_OR_ITERATE_EXPRESSION___IS_UNIQUE_EXPRESSION_EXPRESSION_ARGUMENT__DIAGNOSTICCHAIN_MAP = SEQUENCE_EXPANSION_EXPRESSION___IS_UNIQUE_EXPRESSION_EXPRESSION_ARGUMENT__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Update Assignments</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int COLLECT_OR_ITERATE_EXPRESSION___UPDATE_ASSIGNMENTS = SEQUENCE_EXPANSION_EXPRESSION___UPDATE_ASSIGNMENTS;
+
+ /**
+ * The operation id for the '<em>Sequence Expansion Expression Operation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int COLLECT_OR_ITERATE_EXPRESSION___SEQUENCE_EXPANSION_EXPRESSION_OPERATION__DIAGNOSTICCHAIN_MAP = SEQUENCE_EXPANSION_EXPRESSION___SEQUENCE_EXPANSION_EXPRESSION_OPERATION__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Collect Or Iterate Expression Type Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int COLLECT_OR_ITERATE_EXPRESSION___COLLECT_OR_ITERATE_EXPRESSION_TYPE_DERIVATION__DIAGNOSTICCHAIN_MAP = SEQUENCE_EXPANSION_EXPRESSION_OPERATION_COUNT + 0;
+
+ /**
+ * The operation id for the '<em>Collect Or Iterate Expression Lower Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int COLLECT_OR_ITERATE_EXPRESSION___COLLECT_OR_ITERATE_EXPRESSION_LOWER_DERIVATION__DIAGNOSTICCHAIN_MAP = SEQUENCE_EXPANSION_EXPRESSION_OPERATION_COUNT + 1;
+
+ /**
+ * The operation id for the '<em>Collect Or Iterate Expression Upper Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int COLLECT_OR_ITERATE_EXPRESSION___COLLECT_OR_ITERATE_EXPRESSION_UPPER_DERIVATION__DIAGNOSTICCHAIN_MAP = SEQUENCE_EXPANSION_EXPRESSION_OPERATION_COUNT + 2;
+
+ /**
+ * The number of operations of the '<em>Collect Or Iterate Expression</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int COLLECT_OR_ITERATE_EXPRESSION_OPERATION_COUNT = SEQUENCE_EXPANSION_EXPRESSION_OPERATION_COUNT + 3;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.uml.alf.impl.IsUniqueExpressionImpl <em>Is Unique Expression</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.uml.alf.impl.IsUniqueExpressionImpl
+ * @see org.eclipse.papyrus.uml.alf.impl.AlfPackageImpl#getIsUniqueExpression()
+ * @generated
+ */
+ int IS_UNIQUE_EXPRESSION = 48;
+
+ /**
+ * The feature id for the '<em><b>Owner</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int IS_UNIQUE_EXPRESSION__OWNER = SEQUENCE_EXPANSION_EXPRESSION__OWNER;
+
+ /**
+ * The feature id for the '<em><b>Upper</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int IS_UNIQUE_EXPRESSION__UPPER = SEQUENCE_EXPANSION_EXPRESSION__UPPER;
+
+ /**
+ * The feature id for the '<em><b>Lower</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int IS_UNIQUE_EXPRESSION__LOWER = SEQUENCE_EXPANSION_EXPRESSION__LOWER;
+
+ /**
+ * The feature id for the '<em><b>Type</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int IS_UNIQUE_EXPRESSION__TYPE = SEQUENCE_EXPANSION_EXPRESSION__TYPE;
+
+ /**
+ * The feature id for the '<em><b>Assignment Before</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int IS_UNIQUE_EXPRESSION__ASSIGNMENT_BEFORE = SEQUENCE_EXPANSION_EXPRESSION__ASSIGNMENT_BEFORE;
+
+ /**
+ * The feature id for the '<em><b>Assignment After</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int IS_UNIQUE_EXPRESSION__ASSIGNMENT_AFTER = SEQUENCE_EXPANSION_EXPRESSION__ASSIGNMENT_AFTER;
+
+ /**
+ * The feature id for the '<em><b>Operation</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int IS_UNIQUE_EXPRESSION__OPERATION = SEQUENCE_EXPANSION_EXPRESSION__OPERATION;
+
+ /**
+ * The feature id for the '<em><b>Variable</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int IS_UNIQUE_EXPRESSION__VARIABLE = SEQUENCE_EXPANSION_EXPRESSION__VARIABLE;
+
+ /**
+ * The feature id for the '<em><b>Variable Source</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int IS_UNIQUE_EXPRESSION__VARIABLE_SOURCE = SEQUENCE_EXPANSION_EXPRESSION__VARIABLE_SOURCE;
+
+ /**
+ * The feature id for the '<em><b>Argument</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int IS_UNIQUE_EXPRESSION__ARGUMENT = SEQUENCE_EXPANSION_EXPRESSION__ARGUMENT;
+
+ /**
+ * The feature id for the '<em><b>Primary</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int IS_UNIQUE_EXPRESSION__PRIMARY = SEQUENCE_EXPANSION_EXPRESSION__PRIMARY;
+
+ /**
+ * The feature id for the '<em><b>Is Select Or Reject</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int IS_UNIQUE_EXPRESSION__IS_SELECT_OR_REJECT = SEQUENCE_EXPANSION_EXPRESSION__IS_SELECT_OR_REJECT;
+
+ /**
+ * The feature id for the '<em><b>Is Collect Or Iterate</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int IS_UNIQUE_EXPRESSION__IS_COLLECT_OR_ITERATE = SEQUENCE_EXPANSION_EXPRESSION__IS_COLLECT_OR_ITERATE;
+
+ /**
+ * The feature id for the '<em><b>Is For All Or Exists Or One</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int IS_UNIQUE_EXPRESSION__IS_FOR_ALL_OR_EXISTS_OR_ONE = SEQUENCE_EXPANSION_EXPRESSION__IS_FOR_ALL_OR_EXISTS_OR_ONE;
+
+ /**
+ * The feature id for the '<em><b>Is Is Unique</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int IS_UNIQUE_EXPRESSION__IS_IS_UNIQUE = SEQUENCE_EXPANSION_EXPRESSION__IS_IS_UNIQUE;
+
+ /**
+ * The number of structural features of the '<em>Is Unique Expression</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int IS_UNIQUE_EXPRESSION_FEATURE_COUNT = SEQUENCE_EXPANSION_EXPRESSION_FEATURE_COUNT + 0;
+
+ /**
+ * The operation id for the '<em>To Reference</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int IS_UNIQUE_EXPRESSION___TO_REFERENCE = SEQUENCE_EXPANSION_EXPRESSION___TO_REFERENCE;
+
+ /**
+ * The operation id for the '<em>Owner</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int IS_UNIQUE_EXPRESSION___OWNER = SEQUENCE_EXPANSION_EXPRESSION___OWNER;
+
+ /**
+ * The operation id for the '<em>Syntax Element owner</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int IS_UNIQUE_EXPRESSION___SYNTAX_ELEMENT_OWNER = SEQUENCE_EXPANSION_EXPRESSION___SYNTAX_ELEMENT_OWNER;
+
+ /**
+ * The operation id for the '<em>Current Scope</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int IS_UNIQUE_EXPRESSION___CURRENT_SCOPE = SEQUENCE_EXPANSION_EXPRESSION___CURRENT_SCOPE;
+
+ /**
+ * The operation id for the '<em>Syntax Element current Scope</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int IS_UNIQUE_EXPRESSION___SYNTAX_ELEMENT_CURRENT_SCOPE = SEQUENCE_EXPANSION_EXPRESSION___SYNTAX_ELEMENT_CURRENT_SCOPE;
+
+ /**
+ * The operation id for the '<em>Enclosing Statement</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int IS_UNIQUE_EXPRESSION___ENCLOSING_STATEMENT = SEQUENCE_EXPANSION_EXPRESSION___ENCLOSING_STATEMENT;
+
+ /**
+ * The operation id for the '<em>Enclosing Expression</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int IS_UNIQUE_EXPRESSION___ENCLOSING_EXPRESSION = SEQUENCE_EXPANSION_EXPRESSION___ENCLOSING_EXPRESSION;
+
+ /**
+ * The operation id for the '<em>Assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int IS_UNIQUE_EXPRESSION___ASSIGNMENTS_BEFORE = SEQUENCE_EXPANSION_EXPRESSION___ASSIGNMENTS_BEFORE;
+
+ /**
+ * The operation id for the '<em>Syntax Element assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int IS_UNIQUE_EXPRESSION___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE = SEQUENCE_EXPANSION_EXPRESSION___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE;
+
+ /**
+ * The operation id for the '<em>Syntax Element assignments Before base</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int IS_UNIQUE_EXPRESSION___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE_BASE = SEQUENCE_EXPANSION_EXPRESSION___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE_BASE;
+
+ /**
+ * The operation id for the '<em>Update All</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int IS_UNIQUE_EXPRESSION___UPDATE_ALL__ELIST_ELIST = SEQUENCE_EXPANSION_EXPRESSION___UPDATE_ALL__ELIST_ELIST;
+
+ /**
+ * The operation id for the '<em>Common Ancestor</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int IS_UNIQUE_EXPRESSION___COMMON_ANCESTOR__ELIST = SEQUENCE_EXPANSION_EXPRESSION___COMMON_ANCESTOR__ELIST;
+
+ /**
+ * The operation id for the '<em>Common Ancestors</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int IS_UNIQUE_EXPRESSION___COMMON_ANCESTORS__ELIST = SEQUENCE_EXPANSION_EXPRESSION___COMMON_ANCESTORS__ELIST;
+
+ /**
+ * The operation id for the '<em>Remove Duplicate Elements</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int IS_UNIQUE_EXPRESSION___REMOVE_DUPLICATE_ELEMENTS__ELIST = SEQUENCE_EXPANSION_EXPRESSION___REMOVE_DUPLICATE_ELEMENTS__ELIST;
+
+ /**
+ * The operation id for the '<em>Resolve In Library</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int IS_UNIQUE_EXPRESSION___RESOLVE_IN_LIBRARY__STRING = SEQUENCE_EXPANSION_EXPRESSION___RESOLVE_IN_LIBRARY__STRING;
+
+ /**
+ * The operation id for the '<em>Primitive Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int IS_UNIQUE_EXPRESSION___PRIMITIVE_TYPE__STRING = SEQUENCE_EXPANSION_EXPRESSION___PRIMITIVE_TYPE__STRING;
+
+ /**
+ * The operation id for the '<em>Primitive Type </em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int IS_UNIQUE_EXPRESSION___PRIMITIVE_TYPE____STRING = SEQUENCE_EXPANSION_EXPRESSION___PRIMITIVE_TYPE____STRING;
+
+ /**
+ * The operation id for the '<em>Boolean Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int IS_UNIQUE_EXPRESSION___BOOLEAN_TYPE = SEQUENCE_EXPANSION_EXPRESSION___BOOLEAN_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Boolean Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int IS_UNIQUE_EXPRESSION___IS_BOOLEAN_TYPE__ELEMENTREFERENCE = SEQUENCE_EXPANSION_EXPRESSION___IS_BOOLEAN_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Integer Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int IS_UNIQUE_EXPRESSION___INTEGER_TYPE = SEQUENCE_EXPANSION_EXPRESSION___INTEGER_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Integer Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int IS_UNIQUE_EXPRESSION___IS_INTEGER_TYPE__ELEMENTREFERENCE = SEQUENCE_EXPANSION_EXPRESSION___IS_INTEGER_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int IS_UNIQUE_EXPRESSION___STRING_TYPE = SEQUENCE_EXPANSION_EXPRESSION___STRING_TYPE;
+
+ /**
+ * The operation id for the '<em>Is String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int IS_UNIQUE_EXPRESSION___IS_STRING_TYPE__ELEMENTREFERENCE = SEQUENCE_EXPANSION_EXPRESSION___IS_STRING_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Unlimited Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int IS_UNIQUE_EXPRESSION___UNLIMITED_NATURAL_TYPE = SEQUENCE_EXPANSION_EXPRESSION___UNLIMITED_NATURAL_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Unlimited Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int IS_UNIQUE_EXPRESSION___IS_UNLIMITED_NATURAL_TYPE__ELEMENTREFERENCE = SEQUENCE_EXPANSION_EXPRESSION___IS_UNLIMITED_NATURAL_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Bit String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int IS_UNIQUE_EXPRESSION___BIT_STRING_TYPE = SEQUENCE_EXPANSION_EXPRESSION___BIT_STRING_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Bit String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int IS_UNIQUE_EXPRESSION___IS_BIT_STRING_TYPE__ELEMENTREFERENCE = SEQUENCE_EXPANSION_EXPRESSION___IS_BIT_STRING_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int IS_UNIQUE_EXPRESSION___NATURAL_TYPE = SEQUENCE_EXPANSION_EXPRESSION___NATURAL_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int IS_UNIQUE_EXPRESSION___IS_NATURAL_TYPE__ELEMENTREFERENCE = SEQUENCE_EXPANSION_EXPRESSION___IS_NATURAL_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Numeric Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int IS_UNIQUE_EXPRESSION___IS_NUMERIC_TYPE__ELEMENTREFERENCE = SEQUENCE_EXPANSION_EXPRESSION___IS_NUMERIC_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Collection Function Add</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int IS_UNIQUE_EXPRESSION___COLLECTION_FUNCTION_ADD = SEQUENCE_EXPANSION_EXPRESSION___COLLECTION_FUNCTION_ADD;
+
+ /**
+ * The operation id for the '<em>Is Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int IS_UNIQUE_EXPRESSION___IS_COLLECTION_CLASS__ELEMENTREFERENCE = SEQUENCE_EXPANSION_EXPRESSION___IS_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Integer Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int IS_UNIQUE_EXPRESSION___IS_INTEGER_COLLECTION_CLASS__ELEMENTREFERENCE = SEQUENCE_EXPANSION_EXPRESSION___IS_INTEGER_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Bit String Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int IS_UNIQUE_EXPRESSION___IS_BIT_STRING_COLLECTION_CLASS__ELEMENTREFERENCE = SEQUENCE_EXPANSION_EXPRESSION___IS_BIT_STRING_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Type Cached</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int IS_UNIQUE_EXPRESSION___TYPE_CACHED = SEQUENCE_EXPANSION_EXPRESSION___TYPE_CACHED;
+
+ /**
+ * The operation id for the '<em>Is Null</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int IS_UNIQUE_EXPRESSION___IS_NULL = SEQUENCE_EXPANSION_EXPRESSION___IS_NULL;
+
+ /**
+ * The operation id for the '<em>Is Assignable From Element</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int IS_UNIQUE_EXPRESSION___IS_ASSIGNABLE_FROM_ELEMENT__ELEMENTREFERENCE = SEQUENCE_EXPANSION_EXPRESSION___IS_ASSIGNABLE_FROM_ELEMENT__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Assignable From</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int IS_UNIQUE_EXPRESSION___IS_ASSIGNABLE_FROM__ASSIGNABLEELEMENT = SEQUENCE_EXPANSION_EXPRESSION___IS_ASSIGNABLE_FROM__ASSIGNABLEELEMENT;
+
+ /**
+ * The operation id for the '<em>Is Type Conformant With</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int IS_UNIQUE_EXPRESSION___IS_TYPE_CONFORMANT_WITH__ASSIGNABLEELEMENT = SEQUENCE_EXPANSION_EXPRESSION___IS_TYPE_CONFORMANT_WITH__ASSIGNABLEELEMENT;
+
+ /**
+ * The operation id for the '<em>Is Conformant With Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int IS_UNIQUE_EXPRESSION___IS_CONFORMANT_WITH_TYPE__ELEMENTREFERENCE = SEQUENCE_EXPANSION_EXPRESSION___IS_CONFORMANT_WITH_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Multiplicity Conformant With</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int IS_UNIQUE_EXPRESSION___IS_MULTIPLICITY_CONFORMANT_WITH__ASSIGNABLEELEMENT = SEQUENCE_EXPANSION_EXPRESSION___IS_MULTIPLICITY_CONFORMANT_WITH__ASSIGNABLEELEMENT;
+
+ /**
+ * The operation id for the '<em>New Assignments</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int IS_UNIQUE_EXPRESSION___NEW_ASSIGNMENTS = SEQUENCE_EXPANSION_EXPRESSION___NEW_ASSIGNMENTS;
+
+ /**
+ * The operation id for the '<em>Expression update Assignments</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int IS_UNIQUE_EXPRESSION___EXPRESSION_UPDATE_ASSIGNMENTS = SEQUENCE_EXPANSION_EXPRESSION___EXPRESSION_UPDATE_ASSIGNMENTS;
+
+ /**
+ * The operation id for the '<em>Update Assignments Cached</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int IS_UNIQUE_EXPRESSION___UPDATE_ASSIGNMENTS_CACHED = SEQUENCE_EXPANSION_EXPRESSION___UPDATE_ASSIGNMENTS_CACHED;
+
+ /**
+ * The operation id for the '<em>Resolve</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int IS_UNIQUE_EXPRESSION___RESOLVE__STRING = SEQUENCE_EXPANSION_EXPRESSION___RESOLVE__STRING;
+
+ /**
+ * The operation id for the '<em>Is Add Target</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int IS_UNIQUE_EXPRESSION___IS_ADD_TARGET__EXPRESSION = SEQUENCE_EXPANSION_EXPRESSION___IS_ADD_TARGET__EXPRESSION;
+
+ /**
+ * The operation id for the '<em>Expression Assignment After Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int IS_UNIQUE_EXPRESSION___EXPRESSION_ASSIGNMENT_AFTER_DERIVATION__DIAGNOSTICCHAIN_MAP = SEQUENCE_EXPANSION_EXPRESSION___EXPRESSION_ASSIGNMENT_AFTER_DERIVATION__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Expression Unique Assignments</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int IS_UNIQUE_EXPRESSION___EXPRESSION_UNIQUE_ASSIGNMENTS__DIAGNOSTICCHAIN_MAP = SEQUENCE_EXPANSION_EXPRESSION___EXPRESSION_UNIQUE_ASSIGNMENTS__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int IS_UNIQUE_EXPRESSION___ASSIGNMENTS_BEFORE__SYNTAXELEMENT = SEQUENCE_EXPANSION_EXPRESSION___ASSIGNMENTS_BEFORE__SYNTAXELEMENT;
+
+ /**
+ * The operation id for the '<em>Assignments After Primary</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int IS_UNIQUE_EXPRESSION___ASSIGNMENTS_AFTER_PRIMARY = SEQUENCE_EXPANSION_EXPRESSION___ASSIGNMENTS_AFTER_PRIMARY;
+
+ /**
+ * The operation id for the '<em>Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int IS_UNIQUE_EXPRESSION___TYPE = SEQUENCE_EXPANSION_EXPRESSION___TYPE;
+
+ /**
+ * The operation id for the '<em>Lower</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int IS_UNIQUE_EXPRESSION___LOWER = SEQUENCE_EXPANSION_EXPRESSION___LOWER;
+
+ /**
+ * The operation id for the '<em>Upper</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int IS_UNIQUE_EXPRESSION___UPPER = SEQUENCE_EXPANSION_EXPRESSION___UPPER;
+
+ /**
+ * The operation id for the '<em>Sequence Expansion Expression Variable Source Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int IS_UNIQUE_EXPRESSION___SEQUENCE_EXPANSION_EXPRESSION_VARIABLE_SOURCE_DERIVATION__DIAGNOSTICCHAIN_MAP = SEQUENCE_EXPANSION_EXPRESSION___SEQUENCE_EXPANSION_EXPRESSION_VARIABLE_SOURCE_DERIVATION__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Sequence Expansion Expression Assignments Before Primary</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int IS_UNIQUE_EXPRESSION___SEQUENCE_EXPANSION_EXPRESSION_ASSIGNMENTS_BEFORE_PRIMARY__DIAGNOSTICCHAIN_MAP = SEQUENCE_EXPANSION_EXPRESSION___SEQUENCE_EXPANSION_EXPRESSION_ASSIGNMENTS_BEFORE_PRIMARY__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Sequence Expansion Expression Assignments Before Argument</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int IS_UNIQUE_EXPRESSION___SEQUENCE_EXPANSION_EXPRESSION_ASSIGNMENTS_BEFORE_ARGUMENT__DIAGNOSTICCHAIN_MAP = SEQUENCE_EXPANSION_EXPRESSION___SEQUENCE_EXPANSION_EXPRESSION_ASSIGNMENTS_BEFORE_ARGUMENT__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Sequence Expansion Expression Variable Name</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int IS_UNIQUE_EXPRESSION___SEQUENCE_EXPANSION_EXPRESSION_VARIABLE_NAME__DIAGNOSTICCHAIN_MAP = SEQUENCE_EXPANSION_EXPRESSION___SEQUENCE_EXPANSION_EXPRESSION_VARIABLE_NAME__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Sequence Expansion Expression Assignments After Argument</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int IS_UNIQUE_EXPRESSION___SEQUENCE_EXPANSION_EXPRESSION_ASSIGNMENTS_AFTER_ARGUMENT__DIAGNOSTICCHAIN_MAP = SEQUENCE_EXPANSION_EXPRESSION___SEQUENCE_EXPANSION_EXPRESSION_ASSIGNMENTS_AFTER_ARGUMENT__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Select Or Reject Expression Type Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int IS_UNIQUE_EXPRESSION___SELECT_OR_REJECT_EXPRESSION_TYPE_DERIVATION__DIAGNOSTICCHAIN_MAP = SEQUENCE_EXPANSION_EXPRESSION___SELECT_OR_REJECT_EXPRESSION_TYPE_DERIVATION__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Select Or Reject Expression Lower Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int IS_UNIQUE_EXPRESSION___SELECT_OR_REJECT_EXPRESSION_LOWER_DERIVATION__DIAGNOSTICCHAIN_MAP = SEQUENCE_EXPANSION_EXPRESSION___SELECT_OR_REJECT_EXPRESSION_LOWER_DERIVATION__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Select Or Reject Expression Upper Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int IS_UNIQUE_EXPRESSION___SELECT_OR_REJECT_EXPRESSION_UPPER_DERIVATION__DIAGNOSTICCHAIN_MAP = SEQUENCE_EXPANSION_EXPRESSION___SELECT_OR_REJECT_EXPRESSION_UPPER_DERIVATION__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Select Or Reject Expression Argument</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int IS_UNIQUE_EXPRESSION___SELECT_OR_REJECT_EXPRESSION_ARGUMENT__DIAGNOSTICCHAIN_MAP = SEQUENCE_EXPANSION_EXPRESSION___SELECT_OR_REJECT_EXPRESSION_ARGUMENT__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Collect Or Iterate Expression Type Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int IS_UNIQUE_EXPRESSION___COLLECT_OR_ITERATE_EXPRESSION_TYPE_DERIVATION__DIAGNOSTICCHAIN_MAP = SEQUENCE_EXPANSION_EXPRESSION___COLLECT_OR_ITERATE_EXPRESSION_TYPE_DERIVATION__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Collect Or Iterate Expression Lower Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int IS_UNIQUE_EXPRESSION___COLLECT_OR_ITERATE_EXPRESSION_LOWER_DERIVATION__DIAGNOSTICCHAIN_MAP = SEQUENCE_EXPANSION_EXPRESSION___COLLECT_OR_ITERATE_EXPRESSION_LOWER_DERIVATION__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Collect Or Iterate Expression Upper Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int IS_UNIQUE_EXPRESSION___COLLECT_OR_ITERATE_EXPRESSION_UPPER_DERIVATION__DIAGNOSTICCHAIN_MAP = SEQUENCE_EXPANSION_EXPRESSION___COLLECT_OR_ITERATE_EXPRESSION_UPPER_DERIVATION__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>For All Or Exists Or One Expression Type Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int IS_UNIQUE_EXPRESSION___FOR_ALL_OR_EXISTS_OR_ONE_EXPRESSION_TYPE_DERIVATION__DIAGNOSTICCHAIN_MAP = SEQUENCE_EXPANSION_EXPRESSION___FOR_ALL_OR_EXISTS_OR_ONE_EXPRESSION_TYPE_DERIVATION__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>For All Or Exists Or One Expression Lower Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int IS_UNIQUE_EXPRESSION___FOR_ALL_OR_EXISTS_OR_ONE_EXPRESSION_LOWER_DERIVATION__DIAGNOSTICCHAIN_MAP = SEQUENCE_EXPANSION_EXPRESSION___FOR_ALL_OR_EXISTS_OR_ONE_EXPRESSION_LOWER_DERIVATION__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>For All Or Exists Or One Expression Upper Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int IS_UNIQUE_EXPRESSION___FOR_ALL_OR_EXISTS_OR_ONE_EXPRESSION_UPPER_DERIVATION__DIAGNOSTICCHAIN_MAP = SEQUENCE_EXPANSION_EXPRESSION___FOR_ALL_OR_EXISTS_OR_ONE_EXPRESSION_UPPER_DERIVATION__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>For All Or Exists Or One Expression Argument</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int IS_UNIQUE_EXPRESSION___FOR_ALL_OR_EXISTS_OR_ONE_EXPRESSION_ARGUMENT__DIAGNOSTICCHAIN_MAP = SEQUENCE_EXPANSION_EXPRESSION___FOR_ALL_OR_EXISTS_OR_ONE_EXPRESSION_ARGUMENT__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Update Assignments</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int IS_UNIQUE_EXPRESSION___UPDATE_ASSIGNMENTS = SEQUENCE_EXPANSION_EXPRESSION___UPDATE_ASSIGNMENTS;
+
+ /**
+ * The operation id for the '<em>Sequence Expansion Expression Operation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int IS_UNIQUE_EXPRESSION___SEQUENCE_EXPANSION_EXPRESSION_OPERATION__DIAGNOSTICCHAIN_MAP = SEQUENCE_EXPANSION_EXPRESSION___SEQUENCE_EXPANSION_EXPRESSION_OPERATION__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Is Unique Expression Type Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int IS_UNIQUE_EXPRESSION___IS_UNIQUE_EXPRESSION_TYPE_DERIVATION__DIAGNOSTICCHAIN_MAP = SEQUENCE_EXPANSION_EXPRESSION_OPERATION_COUNT + 0;
+
+ /**
+ * The operation id for the '<em>Is Unique Expression Lower Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int IS_UNIQUE_EXPRESSION___IS_UNIQUE_EXPRESSION_LOWER_DERIVATION__DIAGNOSTICCHAIN_MAP = SEQUENCE_EXPANSION_EXPRESSION_OPERATION_COUNT + 1;
+
+ /**
+ * The operation id for the '<em>Is Unique Expression Upper Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int IS_UNIQUE_EXPRESSION___IS_UNIQUE_EXPRESSION_UPPER_DERIVATION__DIAGNOSTICCHAIN_MAP = SEQUENCE_EXPANSION_EXPRESSION_OPERATION_COUNT + 2;
+
+ /**
+ * The operation id for the '<em>Is Unique Expression Expression Argument</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int IS_UNIQUE_EXPRESSION___IS_UNIQUE_EXPRESSION_EXPRESSION_ARGUMENT__DIAGNOSTICCHAIN_MAP = SEQUENCE_EXPANSION_EXPRESSION_OPERATION_COUNT + 3;
+
+ /**
+ * The number of operations of the '<em>Is Unique Expression</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int IS_UNIQUE_EXPRESSION_OPERATION_COUNT = SEQUENCE_EXPANSION_EXPRESSION_OPERATION_COUNT + 4;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.uml.alf.impl.ArithmeticExpressionImpl <em>Arithmetic Expression</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.uml.alf.impl.ArithmeticExpressionImpl
+ * @see org.eclipse.papyrus.uml.alf.impl.AlfPackageImpl#getArithmeticExpression()
+ * @generated
+ */
+ int ARITHMETIC_EXPRESSION = 49;
+
+ /**
+ * The feature id for the '<em><b>Owner</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ARITHMETIC_EXPRESSION__OWNER = BINARY_EXPRESSION__OWNER;
+
+ /**
+ * The feature id for the '<em><b>Upper</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ARITHMETIC_EXPRESSION__UPPER = BINARY_EXPRESSION__UPPER;
+
+ /**
+ * The feature id for the '<em><b>Lower</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ARITHMETIC_EXPRESSION__LOWER = BINARY_EXPRESSION__LOWER;
+
+ /**
+ * The feature id for the '<em><b>Type</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ARITHMETIC_EXPRESSION__TYPE = BINARY_EXPRESSION__TYPE;
+
+ /**
+ * The feature id for the '<em><b>Assignment Before</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ARITHMETIC_EXPRESSION__ASSIGNMENT_BEFORE = BINARY_EXPRESSION__ASSIGNMENT_BEFORE;
+
+ /**
+ * The feature id for the '<em><b>Assignment After</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ARITHMETIC_EXPRESSION__ASSIGNMENT_AFTER = BINARY_EXPRESSION__ASSIGNMENT_AFTER;
+
+ /**
+ * The feature id for the '<em><b>Operand1</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ARITHMETIC_EXPRESSION__OPERAND1 = BINARY_EXPRESSION__OPERAND1;
+
+ /**
+ * The feature id for the '<em><b>Operand2</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ARITHMETIC_EXPRESSION__OPERAND2 = BINARY_EXPRESSION__OPERAND2;
+
+ /**
+ * The feature id for the '<em><b>Operator</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ARITHMETIC_EXPRESSION__OPERATOR = BINARY_EXPRESSION__OPERATOR;
+
+ /**
+ * The feature id for the '<em><b>Is Concatenation</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ARITHMETIC_EXPRESSION__IS_CONCATENATION = BINARY_EXPRESSION_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the '<em>Arithmetic Expression</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ARITHMETIC_EXPRESSION_FEATURE_COUNT = BINARY_EXPRESSION_FEATURE_COUNT + 1;
+
+ /**
+ * The operation id for the '<em>To Reference</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ARITHMETIC_EXPRESSION___TO_REFERENCE = BINARY_EXPRESSION___TO_REFERENCE;
+
+ /**
+ * The operation id for the '<em>Owner</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ARITHMETIC_EXPRESSION___OWNER = BINARY_EXPRESSION___OWNER;
+
+ /**
+ * The operation id for the '<em>Syntax Element owner</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ARITHMETIC_EXPRESSION___SYNTAX_ELEMENT_OWNER = BINARY_EXPRESSION___SYNTAX_ELEMENT_OWNER;
+
+ /**
+ * The operation id for the '<em>Current Scope</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ARITHMETIC_EXPRESSION___CURRENT_SCOPE = BINARY_EXPRESSION___CURRENT_SCOPE;
+
+ /**
+ * The operation id for the '<em>Syntax Element current Scope</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ARITHMETIC_EXPRESSION___SYNTAX_ELEMENT_CURRENT_SCOPE = BINARY_EXPRESSION___SYNTAX_ELEMENT_CURRENT_SCOPE;
+
+ /**
+ * The operation id for the '<em>Enclosing Statement</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ARITHMETIC_EXPRESSION___ENCLOSING_STATEMENT = BINARY_EXPRESSION___ENCLOSING_STATEMENT;
+
+ /**
+ * The operation id for the '<em>Enclosing Expression</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ARITHMETIC_EXPRESSION___ENCLOSING_EXPRESSION = BINARY_EXPRESSION___ENCLOSING_EXPRESSION;
+
+ /**
+ * The operation id for the '<em>Assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ARITHMETIC_EXPRESSION___ASSIGNMENTS_BEFORE = BINARY_EXPRESSION___ASSIGNMENTS_BEFORE;
+
+ /**
+ * The operation id for the '<em>Syntax Element assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ARITHMETIC_EXPRESSION___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE = BINARY_EXPRESSION___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE;
+
+ /**
+ * The operation id for the '<em>Syntax Element assignments Before base</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ARITHMETIC_EXPRESSION___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE_BASE = BINARY_EXPRESSION___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE_BASE;
+
+ /**
+ * The operation id for the '<em>Assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ARITHMETIC_EXPRESSION___ASSIGNMENTS_BEFORE__SYNTAXELEMENT = BINARY_EXPRESSION___ASSIGNMENTS_BEFORE__SYNTAXELEMENT;
+
+ /**
+ * The operation id for the '<em>Update All</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ARITHMETIC_EXPRESSION___UPDATE_ALL__ELIST_ELIST = BINARY_EXPRESSION___UPDATE_ALL__ELIST_ELIST;
+
+ /**
+ * The operation id for the '<em>Common Ancestor</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ARITHMETIC_EXPRESSION___COMMON_ANCESTOR__ELIST = BINARY_EXPRESSION___COMMON_ANCESTOR__ELIST;
+
+ /**
+ * The operation id for the '<em>Common Ancestors</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ARITHMETIC_EXPRESSION___COMMON_ANCESTORS__ELIST = BINARY_EXPRESSION___COMMON_ANCESTORS__ELIST;
+
+ /**
+ * The operation id for the '<em>Remove Duplicate Elements</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ARITHMETIC_EXPRESSION___REMOVE_DUPLICATE_ELEMENTS__ELIST = BINARY_EXPRESSION___REMOVE_DUPLICATE_ELEMENTS__ELIST;
+
+ /**
+ * The operation id for the '<em>Resolve In Library</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ARITHMETIC_EXPRESSION___RESOLVE_IN_LIBRARY__STRING = BINARY_EXPRESSION___RESOLVE_IN_LIBRARY__STRING;
+
+ /**
+ * The operation id for the '<em>Primitive Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ARITHMETIC_EXPRESSION___PRIMITIVE_TYPE__STRING = BINARY_EXPRESSION___PRIMITIVE_TYPE__STRING;
+
+ /**
+ * The operation id for the '<em>Primitive Type </em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ARITHMETIC_EXPRESSION___PRIMITIVE_TYPE____STRING = BINARY_EXPRESSION___PRIMITIVE_TYPE____STRING;
+
+ /**
+ * The operation id for the '<em>Boolean Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ARITHMETIC_EXPRESSION___BOOLEAN_TYPE = BINARY_EXPRESSION___BOOLEAN_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Boolean Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ARITHMETIC_EXPRESSION___IS_BOOLEAN_TYPE__ELEMENTREFERENCE = BINARY_EXPRESSION___IS_BOOLEAN_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Integer Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ARITHMETIC_EXPRESSION___INTEGER_TYPE = BINARY_EXPRESSION___INTEGER_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Integer Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ARITHMETIC_EXPRESSION___IS_INTEGER_TYPE__ELEMENTREFERENCE = BINARY_EXPRESSION___IS_INTEGER_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ARITHMETIC_EXPRESSION___STRING_TYPE = BINARY_EXPRESSION___STRING_TYPE;
+
+ /**
+ * The operation id for the '<em>Is String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ARITHMETIC_EXPRESSION___IS_STRING_TYPE__ELEMENTREFERENCE = BINARY_EXPRESSION___IS_STRING_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Unlimited Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ARITHMETIC_EXPRESSION___UNLIMITED_NATURAL_TYPE = BINARY_EXPRESSION___UNLIMITED_NATURAL_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Unlimited Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ARITHMETIC_EXPRESSION___IS_UNLIMITED_NATURAL_TYPE__ELEMENTREFERENCE = BINARY_EXPRESSION___IS_UNLIMITED_NATURAL_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Bit String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ARITHMETIC_EXPRESSION___BIT_STRING_TYPE = BINARY_EXPRESSION___BIT_STRING_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Bit String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ARITHMETIC_EXPRESSION___IS_BIT_STRING_TYPE__ELEMENTREFERENCE = BINARY_EXPRESSION___IS_BIT_STRING_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ARITHMETIC_EXPRESSION___NATURAL_TYPE = BINARY_EXPRESSION___NATURAL_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ARITHMETIC_EXPRESSION___IS_NATURAL_TYPE__ELEMENTREFERENCE = BINARY_EXPRESSION___IS_NATURAL_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Numeric Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ARITHMETIC_EXPRESSION___IS_NUMERIC_TYPE__ELEMENTREFERENCE = BINARY_EXPRESSION___IS_NUMERIC_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Collection Function Add</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ARITHMETIC_EXPRESSION___COLLECTION_FUNCTION_ADD = BINARY_EXPRESSION___COLLECTION_FUNCTION_ADD;
+
+ /**
+ * The operation id for the '<em>Is Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ARITHMETIC_EXPRESSION___IS_COLLECTION_CLASS__ELEMENTREFERENCE = BINARY_EXPRESSION___IS_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Integer Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ARITHMETIC_EXPRESSION___IS_INTEGER_COLLECTION_CLASS__ELEMENTREFERENCE = BINARY_EXPRESSION___IS_INTEGER_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Bit String Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ARITHMETIC_EXPRESSION___IS_BIT_STRING_COLLECTION_CLASS__ELEMENTREFERENCE = BINARY_EXPRESSION___IS_BIT_STRING_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Type Cached</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ARITHMETIC_EXPRESSION___TYPE_CACHED = BINARY_EXPRESSION___TYPE_CACHED;
+
+ /**
+ * The operation id for the '<em>Is Null</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ARITHMETIC_EXPRESSION___IS_NULL = BINARY_EXPRESSION___IS_NULL;
+
+ /**
+ * The operation id for the '<em>Is Assignable From Element</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ARITHMETIC_EXPRESSION___IS_ASSIGNABLE_FROM_ELEMENT__ELEMENTREFERENCE = BINARY_EXPRESSION___IS_ASSIGNABLE_FROM_ELEMENT__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Assignable From</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ARITHMETIC_EXPRESSION___IS_ASSIGNABLE_FROM__ASSIGNABLEELEMENT = BINARY_EXPRESSION___IS_ASSIGNABLE_FROM__ASSIGNABLEELEMENT;
+
+ /**
+ * The operation id for the '<em>Is Type Conformant With</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ARITHMETIC_EXPRESSION___IS_TYPE_CONFORMANT_WITH__ASSIGNABLEELEMENT = BINARY_EXPRESSION___IS_TYPE_CONFORMANT_WITH__ASSIGNABLEELEMENT;
+
+ /**
+ * The operation id for the '<em>Is Conformant With Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ARITHMETIC_EXPRESSION___IS_CONFORMANT_WITH_TYPE__ELEMENTREFERENCE = BINARY_EXPRESSION___IS_CONFORMANT_WITH_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Multiplicity Conformant With</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ARITHMETIC_EXPRESSION___IS_MULTIPLICITY_CONFORMANT_WITH__ASSIGNABLEELEMENT = BINARY_EXPRESSION___IS_MULTIPLICITY_CONFORMANT_WITH__ASSIGNABLEELEMENT;
+
+ /**
+ * The operation id for the '<em>New Assignments</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ARITHMETIC_EXPRESSION___NEW_ASSIGNMENTS = BINARY_EXPRESSION___NEW_ASSIGNMENTS;
+
+ /**
+ * The operation id for the '<em>Expression update Assignments</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ARITHMETIC_EXPRESSION___EXPRESSION_UPDATE_ASSIGNMENTS = BINARY_EXPRESSION___EXPRESSION_UPDATE_ASSIGNMENTS;
+
+ /**
+ * The operation id for the '<em>Update Assignments Cached</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ARITHMETIC_EXPRESSION___UPDATE_ASSIGNMENTS_CACHED = BINARY_EXPRESSION___UPDATE_ASSIGNMENTS_CACHED;
+
+ /**
+ * The operation id for the '<em>Resolve</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ARITHMETIC_EXPRESSION___RESOLVE__STRING = BINARY_EXPRESSION___RESOLVE__STRING;
+
+ /**
+ * The operation id for the '<em>Is Add Target</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ARITHMETIC_EXPRESSION___IS_ADD_TARGET__EXPRESSION = BINARY_EXPRESSION___IS_ADD_TARGET__EXPRESSION;
+
+ /**
+ * The operation id for the '<em>Expression Assignment After Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ARITHMETIC_EXPRESSION___EXPRESSION_ASSIGNMENT_AFTER_DERIVATION__DIAGNOSTICCHAIN_MAP = BINARY_EXPRESSION___EXPRESSION_ASSIGNMENT_AFTER_DERIVATION__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Expression Unique Assignments</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ARITHMETIC_EXPRESSION___EXPRESSION_UNIQUE_ASSIGNMENTS__DIAGNOSTICCHAIN_MAP = BINARY_EXPRESSION___EXPRESSION_UNIQUE_ASSIGNMENTS__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Validate Assignments</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ARITHMETIC_EXPRESSION___VALIDATE_ASSIGNMENTS = BINARY_EXPRESSION___VALIDATE_ASSIGNMENTS;
+
+ /**
+ * The operation id for the '<em>No Null Arguments</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ARITHMETIC_EXPRESSION___NO_NULL_ARGUMENTS = BINARY_EXPRESSION___NO_NULL_ARGUMENTS;
+
+ /**
+ * The operation id for the '<em>Binary Expression Operand Multiplicity</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ARITHMETIC_EXPRESSION___BINARY_EXPRESSION_OPERAND_MULTIPLICITY__DIAGNOSTICCHAIN_MAP = BINARY_EXPRESSION___BINARY_EXPRESSION_OPERAND_MULTIPLICITY__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Binary Expression Operand Assignments</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ARITHMETIC_EXPRESSION___BINARY_EXPRESSION_OPERAND_ASSIGNMENTS__DIAGNOSTICCHAIN_MAP = BINARY_EXPRESSION___BINARY_EXPRESSION_OPERAND_ASSIGNMENTS__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Update Assignments</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ARITHMETIC_EXPRESSION___UPDATE_ASSIGNMENTS = BINARY_EXPRESSION___UPDATE_ASSIGNMENTS;
+
+ /**
+ * The operation id for the '<em>Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ARITHMETIC_EXPRESSION___TYPE = BINARY_EXPRESSION_OPERATION_COUNT + 0;
+
+ /**
+ * The operation id for the '<em>Lower</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ARITHMETIC_EXPRESSION___LOWER = BINARY_EXPRESSION_OPERATION_COUNT + 1;
+
+ /**
+ * The operation id for the '<em>Upper</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ARITHMETIC_EXPRESSION___UPPER = BINARY_EXPRESSION_OPERATION_COUNT + 2;
+
+ /**
+ * The operation id for the '<em>Arithmetic Expression Is Concatenation Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ARITHMETIC_EXPRESSION___ARITHMETIC_EXPRESSION_IS_CONCATENATION_DERIVATION__DIAGNOSTICCHAIN_MAP = BINARY_EXPRESSION_OPERATION_COUNT + 3;
+
+ /**
+ * The operation id for the '<em>Arithmetic Expression Type Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ARITHMETIC_EXPRESSION___ARITHMETIC_EXPRESSION_TYPE_DERIVATION__DIAGNOSTICCHAIN_MAP = BINARY_EXPRESSION_OPERATION_COUNT + 4;
+
+ /**
+ * The operation id for the '<em>Arithmetic Expression Lower Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ARITHMETIC_EXPRESSION___ARITHMETIC_EXPRESSION_LOWER_DERIVATION__DIAGNOSTICCHAIN_MAP = BINARY_EXPRESSION_OPERATION_COUNT + 5;
+
+ /**
+ * The operation id for the '<em>Arithmetic Expression Upper Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ARITHMETIC_EXPRESSION___ARITHMETIC_EXPRESSION_UPPER_DERIVATION__DIAGNOSTICCHAIN_MAP = BINARY_EXPRESSION_OPERATION_COUNT + 6;
+
+ /**
+ * The operation id for the '<em>Arithmetic Expression Operand Types</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ARITHMETIC_EXPRESSION___ARITHMETIC_EXPRESSION_OPERAND_TYPES__DIAGNOSTICCHAIN_MAP = BINARY_EXPRESSION_OPERATION_COUNT + 7;
+
+ /**
+ * The number of operations of the '<em>Arithmetic Expression</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ARITHMETIC_EXPRESSION_OPERATION_COUNT = BINARY_EXPRESSION_OPERATION_COUNT + 8;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.uml.alf.impl.FeatureLeftHandSideImpl <em>Feature Left Hand Side</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.uml.alf.impl.FeatureLeftHandSideImpl
+ * @see org.eclipse.papyrus.uml.alf.impl.AlfPackageImpl#getFeatureLeftHandSide()
+ * @generated
+ */
+ int FEATURE_LEFT_HAND_SIDE = 50;
+
+ /**
+ * The feature id for the '<em><b>Owner</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FEATURE_LEFT_HAND_SIDE__OWNER = LEFT_HAND_SIDE__OWNER;
+
+ /**
+ * The feature id for the '<em><b>Upper</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FEATURE_LEFT_HAND_SIDE__UPPER = LEFT_HAND_SIDE__UPPER;
+
+ /**
+ * The feature id for the '<em><b>Lower</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FEATURE_LEFT_HAND_SIDE__LOWER = LEFT_HAND_SIDE__LOWER;
+
+ /**
+ * The feature id for the '<em><b>Type</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FEATURE_LEFT_HAND_SIDE__TYPE = LEFT_HAND_SIDE__TYPE;
+
+ /**
+ * The feature id for the '<em><b>Assignment Before</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FEATURE_LEFT_HAND_SIDE__ASSIGNMENT_BEFORE = LEFT_HAND_SIDE__ASSIGNMENT_BEFORE;
+
+ /**
+ * The feature id for the '<em><b>Assignment After</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FEATURE_LEFT_HAND_SIDE__ASSIGNMENT_AFTER = LEFT_HAND_SIDE__ASSIGNMENT_AFTER;
+
+ /**
+ * The feature id for the '<em><b>Referent</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FEATURE_LEFT_HAND_SIDE__REFERENT = LEFT_HAND_SIDE__REFERENT;
+
+ /**
+ * The feature id for the '<em><b>Expression</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FEATURE_LEFT_HAND_SIDE__EXPRESSION = LEFT_HAND_SIDE_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the '<em>Feature Left Hand Side</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FEATURE_LEFT_HAND_SIDE_FEATURE_COUNT = LEFT_HAND_SIDE_FEATURE_COUNT + 1;
+
+ /**
+ * The operation id for the '<em>To Reference</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FEATURE_LEFT_HAND_SIDE___TO_REFERENCE = LEFT_HAND_SIDE___TO_REFERENCE;
+
+ /**
+ * The operation id for the '<em>Owner</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FEATURE_LEFT_HAND_SIDE___OWNER = LEFT_HAND_SIDE___OWNER;
+
+ /**
+ * The operation id for the '<em>Syntax Element owner</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FEATURE_LEFT_HAND_SIDE___SYNTAX_ELEMENT_OWNER = LEFT_HAND_SIDE___SYNTAX_ELEMENT_OWNER;
+
+ /**
+ * The operation id for the '<em>Current Scope</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FEATURE_LEFT_HAND_SIDE___CURRENT_SCOPE = LEFT_HAND_SIDE___CURRENT_SCOPE;
+
+ /**
+ * The operation id for the '<em>Syntax Element current Scope</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FEATURE_LEFT_HAND_SIDE___SYNTAX_ELEMENT_CURRENT_SCOPE = LEFT_HAND_SIDE___SYNTAX_ELEMENT_CURRENT_SCOPE;
+
+ /**
+ * The operation id for the '<em>Enclosing Statement</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FEATURE_LEFT_HAND_SIDE___ENCLOSING_STATEMENT = LEFT_HAND_SIDE___ENCLOSING_STATEMENT;
+
+ /**
+ * The operation id for the '<em>Enclosing Expression</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FEATURE_LEFT_HAND_SIDE___ENCLOSING_EXPRESSION = LEFT_HAND_SIDE___ENCLOSING_EXPRESSION;
+
+ /**
+ * The operation id for the '<em>Assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FEATURE_LEFT_HAND_SIDE___ASSIGNMENTS_BEFORE = LEFT_HAND_SIDE___ASSIGNMENTS_BEFORE;
+
+ /**
+ * The operation id for the '<em>Syntax Element assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FEATURE_LEFT_HAND_SIDE___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE = LEFT_HAND_SIDE___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE;
+
+ /**
+ * The operation id for the '<em>Syntax Element assignments Before base</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FEATURE_LEFT_HAND_SIDE___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE_BASE = LEFT_HAND_SIDE___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE_BASE;
+
+ /**
+ * The operation id for the '<em>Update All</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FEATURE_LEFT_HAND_SIDE___UPDATE_ALL__ELIST_ELIST = LEFT_HAND_SIDE___UPDATE_ALL__ELIST_ELIST;
+
+ /**
+ * The operation id for the '<em>Common Ancestor</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FEATURE_LEFT_HAND_SIDE___COMMON_ANCESTOR__ELIST = LEFT_HAND_SIDE___COMMON_ANCESTOR__ELIST;
+
+ /**
+ * The operation id for the '<em>Common Ancestors</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FEATURE_LEFT_HAND_SIDE___COMMON_ANCESTORS__ELIST = LEFT_HAND_SIDE___COMMON_ANCESTORS__ELIST;
+
+ /**
+ * The operation id for the '<em>Remove Duplicate Elements</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FEATURE_LEFT_HAND_SIDE___REMOVE_DUPLICATE_ELEMENTS__ELIST = LEFT_HAND_SIDE___REMOVE_DUPLICATE_ELEMENTS__ELIST;
+
+ /**
+ * The operation id for the '<em>Resolve In Library</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FEATURE_LEFT_HAND_SIDE___RESOLVE_IN_LIBRARY__STRING = LEFT_HAND_SIDE___RESOLVE_IN_LIBRARY__STRING;
+
+ /**
+ * The operation id for the '<em>Primitive Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FEATURE_LEFT_HAND_SIDE___PRIMITIVE_TYPE__STRING = LEFT_HAND_SIDE___PRIMITIVE_TYPE__STRING;
+
+ /**
+ * The operation id for the '<em>Primitive Type </em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FEATURE_LEFT_HAND_SIDE___PRIMITIVE_TYPE____STRING = LEFT_HAND_SIDE___PRIMITIVE_TYPE____STRING;
+
+ /**
+ * The operation id for the '<em>Boolean Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FEATURE_LEFT_HAND_SIDE___BOOLEAN_TYPE = LEFT_HAND_SIDE___BOOLEAN_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Boolean Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FEATURE_LEFT_HAND_SIDE___IS_BOOLEAN_TYPE__ELEMENTREFERENCE = LEFT_HAND_SIDE___IS_BOOLEAN_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Integer Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FEATURE_LEFT_HAND_SIDE___INTEGER_TYPE = LEFT_HAND_SIDE___INTEGER_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Integer Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FEATURE_LEFT_HAND_SIDE___IS_INTEGER_TYPE__ELEMENTREFERENCE = LEFT_HAND_SIDE___IS_INTEGER_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FEATURE_LEFT_HAND_SIDE___STRING_TYPE = LEFT_HAND_SIDE___STRING_TYPE;
+
+ /**
+ * The operation id for the '<em>Is String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FEATURE_LEFT_HAND_SIDE___IS_STRING_TYPE__ELEMENTREFERENCE = LEFT_HAND_SIDE___IS_STRING_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Unlimited Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FEATURE_LEFT_HAND_SIDE___UNLIMITED_NATURAL_TYPE = LEFT_HAND_SIDE___UNLIMITED_NATURAL_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Unlimited Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FEATURE_LEFT_HAND_SIDE___IS_UNLIMITED_NATURAL_TYPE__ELEMENTREFERENCE = LEFT_HAND_SIDE___IS_UNLIMITED_NATURAL_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Bit String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FEATURE_LEFT_HAND_SIDE___BIT_STRING_TYPE = LEFT_HAND_SIDE___BIT_STRING_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Bit String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FEATURE_LEFT_HAND_SIDE___IS_BIT_STRING_TYPE__ELEMENTREFERENCE = LEFT_HAND_SIDE___IS_BIT_STRING_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FEATURE_LEFT_HAND_SIDE___NATURAL_TYPE = LEFT_HAND_SIDE___NATURAL_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FEATURE_LEFT_HAND_SIDE___IS_NATURAL_TYPE__ELEMENTREFERENCE = LEFT_HAND_SIDE___IS_NATURAL_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Numeric Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FEATURE_LEFT_HAND_SIDE___IS_NUMERIC_TYPE__ELEMENTREFERENCE = LEFT_HAND_SIDE___IS_NUMERIC_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Collection Function Add</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FEATURE_LEFT_HAND_SIDE___COLLECTION_FUNCTION_ADD = LEFT_HAND_SIDE___COLLECTION_FUNCTION_ADD;
+
+ /**
+ * The operation id for the '<em>Is Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FEATURE_LEFT_HAND_SIDE___IS_COLLECTION_CLASS__ELEMENTREFERENCE = LEFT_HAND_SIDE___IS_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Integer Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FEATURE_LEFT_HAND_SIDE___IS_INTEGER_COLLECTION_CLASS__ELEMENTREFERENCE = LEFT_HAND_SIDE___IS_INTEGER_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Bit String Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FEATURE_LEFT_HAND_SIDE___IS_BIT_STRING_COLLECTION_CLASS__ELEMENTREFERENCE = LEFT_HAND_SIDE___IS_BIT_STRING_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Type Cached</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FEATURE_LEFT_HAND_SIDE___TYPE_CACHED = LEFT_HAND_SIDE___TYPE_CACHED;
+
+ /**
+ * The operation id for the '<em>Is Null</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FEATURE_LEFT_HAND_SIDE___IS_NULL = LEFT_HAND_SIDE___IS_NULL;
+
+ /**
+ * The operation id for the '<em>Is Assignable From Element</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FEATURE_LEFT_HAND_SIDE___IS_ASSIGNABLE_FROM_ELEMENT__ELEMENTREFERENCE = LEFT_HAND_SIDE___IS_ASSIGNABLE_FROM_ELEMENT__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Assignable From</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FEATURE_LEFT_HAND_SIDE___IS_ASSIGNABLE_FROM__ASSIGNABLEELEMENT = LEFT_HAND_SIDE___IS_ASSIGNABLE_FROM__ASSIGNABLEELEMENT;
+
+ /**
+ * The operation id for the '<em>Is Type Conformant With</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FEATURE_LEFT_HAND_SIDE___IS_TYPE_CONFORMANT_WITH__ASSIGNABLEELEMENT = LEFT_HAND_SIDE___IS_TYPE_CONFORMANT_WITH__ASSIGNABLEELEMENT;
+
+ /**
+ * The operation id for the '<em>Is Conformant With Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FEATURE_LEFT_HAND_SIDE___IS_CONFORMANT_WITH_TYPE__ELEMENTREFERENCE = LEFT_HAND_SIDE___IS_CONFORMANT_WITH_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Multiplicity Conformant With</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FEATURE_LEFT_HAND_SIDE___IS_MULTIPLICITY_CONFORMANT_WITH__ASSIGNABLEELEMENT = LEFT_HAND_SIDE___IS_MULTIPLICITY_CONFORMANT_WITH__ASSIGNABLEELEMENT;
+
+ /**
+ * The operation id for the '<em>Assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FEATURE_LEFT_HAND_SIDE___ASSIGNMENTS_BEFORE__SYNTAXELEMENT = LEFT_HAND_SIDE___ASSIGNMENTS_BEFORE__SYNTAXELEMENT;
+
+ /**
+ * The operation id for the '<em>Assignments After</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FEATURE_LEFT_HAND_SIDE___ASSIGNMENTS_AFTER = LEFT_HAND_SIDE___ASSIGNMENTS_AFTER;
+
+ /**
+ * The operation id for the '<em>Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FEATURE_LEFT_HAND_SIDE___TYPE = LEFT_HAND_SIDE___TYPE;
+
+ /**
+ * The operation id for the '<em>Left Hand Side type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FEATURE_LEFT_HAND_SIDE___LEFT_HAND_SIDE_TYPE = LEFT_HAND_SIDE___LEFT_HAND_SIDE_TYPE;
+
+ /**
+ * The operation id for the '<em>Upper</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FEATURE_LEFT_HAND_SIDE___UPPER = LEFT_HAND_SIDE___UPPER;
+
+ /**
+ * The operation id for the '<em>Left Hand Side upper</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FEATURE_LEFT_HAND_SIDE___LEFT_HAND_SIDE_UPPER = LEFT_HAND_SIDE___LEFT_HAND_SIDE_UPPER;
+
+ /**
+ * The operation id for the '<em>Lower</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FEATURE_LEFT_HAND_SIDE___LOWER = LEFT_HAND_SIDE___LOWER;
+
+ /**
+ * The operation id for the '<em>Left Hand Side lower</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FEATURE_LEFT_HAND_SIDE___LEFT_HAND_SIDE_LOWER = LEFT_HAND_SIDE___LEFT_HAND_SIDE_LOWER;
+
+ /**
+ * The operation id for the '<em>Assigned Name</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FEATURE_LEFT_HAND_SIDE___ASSIGNED_NAME = LEFT_HAND_SIDE___ASSIGNED_NAME;
+
+ /**
+ * The operation id for the '<em>Expression</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FEATURE_LEFT_HAND_SIDE___EXPRESSION = LEFT_HAND_SIDE___EXPRESSION;
+
+ /**
+ * The operation id for the '<em>Is Data Value Update</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FEATURE_LEFT_HAND_SIDE___IS_DATA_VALUE_UPDATE = LEFT_HAND_SIDE___IS_DATA_VALUE_UPDATE;
+
+ /**
+ * The operation id for the '<em>Left Hand Side Index Expression</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FEATURE_LEFT_HAND_SIDE___LEFT_HAND_SIDE_INDEX_EXPRESSION__DIAGNOSTICCHAIN_MAP = LEFT_HAND_SIDE___LEFT_HAND_SIDE_INDEX_EXPRESSION__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Referent</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FEATURE_LEFT_HAND_SIDE___REFERENT = LEFT_HAND_SIDE_OPERATION_COUNT + 0;
+
+ /**
+ * The operation id for the '<em>Feature</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FEATURE_LEFT_HAND_SIDE___FEATURE = LEFT_HAND_SIDE_OPERATION_COUNT + 1;
+
+ /**
+ * The operation id for the '<em>Index</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FEATURE_LEFT_HAND_SIDE___INDEX = LEFT_HAND_SIDE_OPERATION_COUNT + 2;
+
+ /**
+ * The operation id for the '<em>Local Name</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FEATURE_LEFT_HAND_SIDE___LOCAL_NAME = LEFT_HAND_SIDE_OPERATION_COUNT + 3;
+
+ /**
+ * The operation id for the '<em>Feature Left Hand Side Assignment Before Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FEATURE_LEFT_HAND_SIDE___FEATURE_LEFT_HAND_SIDE_ASSIGNMENT_BEFORE_DERIVATION__DIAGNOSTICCHAIN_MAP = LEFT_HAND_SIDE_OPERATION_COUNT + 4;
+
+ /**
+ * The operation id for the '<em>Feature Left Hand Side Assignment After Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FEATURE_LEFT_HAND_SIDE___FEATURE_LEFT_HAND_SIDE_ASSIGNMENT_AFTER_DERIVATION__DIAGNOSTICCHAIN_MAP = LEFT_HAND_SIDE_OPERATION_COUNT + 5;
+
+ /**
+ * The operation id for the '<em>Feature Left Hand Side Feature Expression</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FEATURE_LEFT_HAND_SIDE___FEATURE_LEFT_HAND_SIDE_FEATURE_EXPRESSION__DIAGNOSTICCHAIN_MAP = LEFT_HAND_SIDE_OPERATION_COUNT + 6;
+
+ /**
+ * The operation id for the '<em>Feature Left Hand Side Assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FEATURE_LEFT_HAND_SIDE___FEATURE_LEFT_HAND_SIDE_ASSIGNMENTS_BEFORE__DIAGNOSTICCHAIN_MAP = LEFT_HAND_SIDE_OPERATION_COUNT + 7;
+
+ /**
+ * The operation id for the '<em>Feature Left Hand Side Referent Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FEATURE_LEFT_HAND_SIDE___FEATURE_LEFT_HAND_SIDE_REFERENT_DERIVATION__DIAGNOSTICCHAIN_MAP = LEFT_HAND_SIDE_OPERATION_COUNT + 8;
+
+ /**
+ * The operation id for the '<em>Feature Left Hand Side Type Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FEATURE_LEFT_HAND_SIDE___FEATURE_LEFT_HAND_SIDE_TYPE_DERIVATION__DIAGNOSTICCHAIN_MAP = LEFT_HAND_SIDE_OPERATION_COUNT + 9;
+
+ /**
+ * The operation id for the '<em>Feature Left Hand Side Lower Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FEATURE_LEFT_HAND_SIDE___FEATURE_LEFT_HAND_SIDE_LOWER_DERIVATION__DIAGNOSTICCHAIN_MAP = LEFT_HAND_SIDE_OPERATION_COUNT + 10;
+
+ /**
+ * The operation id for the '<em>Feature Left Hand Side Upper Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FEATURE_LEFT_HAND_SIDE___FEATURE_LEFT_HAND_SIDE_UPPER_DERIVATION__DIAGNOSTICCHAIN_MAP = LEFT_HAND_SIDE_OPERATION_COUNT + 11;
+
+ /**
+ * The operation id for the '<em>Feature Left Hand Side Referent Constraint</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FEATURE_LEFT_HAND_SIDE___FEATURE_LEFT_HAND_SIDE_REFERENT_CONSTRAINT__DIAGNOSTICCHAIN_MAP = LEFT_HAND_SIDE_OPERATION_COUNT + 12;
+
+ /**
+ * The operation id for the '<em>Feature Left Hand Side Indexed Feature</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FEATURE_LEFT_HAND_SIDE___FEATURE_LEFT_HAND_SIDE_INDEXED_FEATURE__DIAGNOSTICCHAIN_MAP = LEFT_HAND_SIDE_OPERATION_COUNT + 13;
+
+ /**
+ * The number of operations of the '<em>Feature Left Hand Side</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FEATURE_LEFT_HAND_SIDE_OPERATION_COUNT = LEFT_HAND_SIDE_OPERATION_COUNT + 14;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.uml.alf.impl.ConditionalTestExpressionImpl <em>Conditional Test Expression</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.uml.alf.impl.ConditionalTestExpressionImpl
+ * @see org.eclipse.papyrus.uml.alf.impl.AlfPackageImpl#getConditionalTestExpression()
+ * @generated
+ */
+ int CONDITIONAL_TEST_EXPRESSION = 51;
+
+ /**
+ * The feature id for the '<em><b>Owner</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CONDITIONAL_TEST_EXPRESSION__OWNER = EXPRESSION__OWNER;
+
+ /**
+ * The feature id for the '<em><b>Upper</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CONDITIONAL_TEST_EXPRESSION__UPPER = EXPRESSION__UPPER;
+
+ /**
+ * The feature id for the '<em><b>Lower</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CONDITIONAL_TEST_EXPRESSION__LOWER = EXPRESSION__LOWER;
+
+ /**
+ * The feature id for the '<em><b>Type</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CONDITIONAL_TEST_EXPRESSION__TYPE = EXPRESSION__TYPE;
+
+ /**
+ * The feature id for the '<em><b>Assignment Before</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CONDITIONAL_TEST_EXPRESSION__ASSIGNMENT_BEFORE = EXPRESSION__ASSIGNMENT_BEFORE;
+
+ /**
+ * The feature id for the '<em><b>Assignment After</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CONDITIONAL_TEST_EXPRESSION__ASSIGNMENT_AFTER = EXPRESSION__ASSIGNMENT_AFTER;
+
+ /**
+ * The feature id for the '<em><b>Operand1</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CONDITIONAL_TEST_EXPRESSION__OPERAND1 = EXPRESSION_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Operand2</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CONDITIONAL_TEST_EXPRESSION__OPERAND2 = EXPRESSION_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Operand3</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CONDITIONAL_TEST_EXPRESSION__OPERAND3 = EXPRESSION_FEATURE_COUNT + 2;
+
+ /**
+ * The number of structural features of the '<em>Conditional Test Expression</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CONDITIONAL_TEST_EXPRESSION_FEATURE_COUNT = EXPRESSION_FEATURE_COUNT + 3;
+
+ /**
+ * The operation id for the '<em>To Reference</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CONDITIONAL_TEST_EXPRESSION___TO_REFERENCE = EXPRESSION___TO_REFERENCE;
+
+ /**
+ * The operation id for the '<em>Owner</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CONDITIONAL_TEST_EXPRESSION___OWNER = EXPRESSION___OWNER;
+
+ /**
+ * The operation id for the '<em>Syntax Element owner</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CONDITIONAL_TEST_EXPRESSION___SYNTAX_ELEMENT_OWNER = EXPRESSION___SYNTAX_ELEMENT_OWNER;
+
+ /**
+ * The operation id for the '<em>Current Scope</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CONDITIONAL_TEST_EXPRESSION___CURRENT_SCOPE = EXPRESSION___CURRENT_SCOPE;
+
+ /**
+ * The operation id for the '<em>Syntax Element current Scope</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CONDITIONAL_TEST_EXPRESSION___SYNTAX_ELEMENT_CURRENT_SCOPE = EXPRESSION___SYNTAX_ELEMENT_CURRENT_SCOPE;
+
+ /**
+ * The operation id for the '<em>Enclosing Statement</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CONDITIONAL_TEST_EXPRESSION___ENCLOSING_STATEMENT = EXPRESSION___ENCLOSING_STATEMENT;
+
+ /**
+ * The operation id for the '<em>Enclosing Expression</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CONDITIONAL_TEST_EXPRESSION___ENCLOSING_EXPRESSION = EXPRESSION___ENCLOSING_EXPRESSION;
+
+ /**
+ * The operation id for the '<em>Assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CONDITIONAL_TEST_EXPRESSION___ASSIGNMENTS_BEFORE = EXPRESSION___ASSIGNMENTS_BEFORE;
+
+ /**
+ * The operation id for the '<em>Syntax Element assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CONDITIONAL_TEST_EXPRESSION___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE = EXPRESSION___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE;
+
+ /**
+ * The operation id for the '<em>Syntax Element assignments Before base</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CONDITIONAL_TEST_EXPRESSION___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE_BASE = EXPRESSION___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE_BASE;
+
+ /**
+ * The operation id for the '<em>Update All</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CONDITIONAL_TEST_EXPRESSION___UPDATE_ALL__ELIST_ELIST = EXPRESSION___UPDATE_ALL__ELIST_ELIST;
+
+ /**
+ * The operation id for the '<em>Common Ancestor</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CONDITIONAL_TEST_EXPRESSION___COMMON_ANCESTOR__ELIST = EXPRESSION___COMMON_ANCESTOR__ELIST;
+
+ /**
+ * The operation id for the '<em>Common Ancestors</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CONDITIONAL_TEST_EXPRESSION___COMMON_ANCESTORS__ELIST = EXPRESSION___COMMON_ANCESTORS__ELIST;
+
+ /**
+ * The operation id for the '<em>Remove Duplicate Elements</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CONDITIONAL_TEST_EXPRESSION___REMOVE_DUPLICATE_ELEMENTS__ELIST = EXPRESSION___REMOVE_DUPLICATE_ELEMENTS__ELIST;
+
+ /**
+ * The operation id for the '<em>Resolve In Library</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CONDITIONAL_TEST_EXPRESSION___RESOLVE_IN_LIBRARY__STRING = EXPRESSION___RESOLVE_IN_LIBRARY__STRING;
+
+ /**
+ * The operation id for the '<em>Primitive Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CONDITIONAL_TEST_EXPRESSION___PRIMITIVE_TYPE__STRING = EXPRESSION___PRIMITIVE_TYPE__STRING;
+
+ /**
+ * The operation id for the '<em>Primitive Type </em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CONDITIONAL_TEST_EXPRESSION___PRIMITIVE_TYPE____STRING = EXPRESSION___PRIMITIVE_TYPE____STRING;
+
+ /**
+ * The operation id for the '<em>Boolean Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CONDITIONAL_TEST_EXPRESSION___BOOLEAN_TYPE = EXPRESSION___BOOLEAN_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Boolean Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CONDITIONAL_TEST_EXPRESSION___IS_BOOLEAN_TYPE__ELEMENTREFERENCE = EXPRESSION___IS_BOOLEAN_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Integer Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CONDITIONAL_TEST_EXPRESSION___INTEGER_TYPE = EXPRESSION___INTEGER_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Integer Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CONDITIONAL_TEST_EXPRESSION___IS_INTEGER_TYPE__ELEMENTREFERENCE = EXPRESSION___IS_INTEGER_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CONDITIONAL_TEST_EXPRESSION___STRING_TYPE = EXPRESSION___STRING_TYPE;
+
+ /**
+ * The operation id for the '<em>Is String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CONDITIONAL_TEST_EXPRESSION___IS_STRING_TYPE__ELEMENTREFERENCE = EXPRESSION___IS_STRING_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Unlimited Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CONDITIONAL_TEST_EXPRESSION___UNLIMITED_NATURAL_TYPE = EXPRESSION___UNLIMITED_NATURAL_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Unlimited Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CONDITIONAL_TEST_EXPRESSION___IS_UNLIMITED_NATURAL_TYPE__ELEMENTREFERENCE = EXPRESSION___IS_UNLIMITED_NATURAL_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Bit String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CONDITIONAL_TEST_EXPRESSION___BIT_STRING_TYPE = EXPRESSION___BIT_STRING_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Bit String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CONDITIONAL_TEST_EXPRESSION___IS_BIT_STRING_TYPE__ELEMENTREFERENCE = EXPRESSION___IS_BIT_STRING_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CONDITIONAL_TEST_EXPRESSION___NATURAL_TYPE = EXPRESSION___NATURAL_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CONDITIONAL_TEST_EXPRESSION___IS_NATURAL_TYPE__ELEMENTREFERENCE = EXPRESSION___IS_NATURAL_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Numeric Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CONDITIONAL_TEST_EXPRESSION___IS_NUMERIC_TYPE__ELEMENTREFERENCE = EXPRESSION___IS_NUMERIC_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Collection Function Add</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CONDITIONAL_TEST_EXPRESSION___COLLECTION_FUNCTION_ADD = EXPRESSION___COLLECTION_FUNCTION_ADD;
+
+ /**
+ * The operation id for the '<em>Is Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CONDITIONAL_TEST_EXPRESSION___IS_COLLECTION_CLASS__ELEMENTREFERENCE = EXPRESSION___IS_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Integer Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CONDITIONAL_TEST_EXPRESSION___IS_INTEGER_COLLECTION_CLASS__ELEMENTREFERENCE = EXPRESSION___IS_INTEGER_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Bit String Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CONDITIONAL_TEST_EXPRESSION___IS_BIT_STRING_COLLECTION_CLASS__ELEMENTREFERENCE = EXPRESSION___IS_BIT_STRING_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Type Cached</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CONDITIONAL_TEST_EXPRESSION___TYPE_CACHED = EXPRESSION___TYPE_CACHED;
+
+ /**
+ * The operation id for the '<em>Is Null</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CONDITIONAL_TEST_EXPRESSION___IS_NULL = EXPRESSION___IS_NULL;
+
+ /**
+ * The operation id for the '<em>Is Assignable From Element</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CONDITIONAL_TEST_EXPRESSION___IS_ASSIGNABLE_FROM_ELEMENT__ELEMENTREFERENCE = EXPRESSION___IS_ASSIGNABLE_FROM_ELEMENT__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Assignable From</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CONDITIONAL_TEST_EXPRESSION___IS_ASSIGNABLE_FROM__ASSIGNABLEELEMENT = EXPRESSION___IS_ASSIGNABLE_FROM__ASSIGNABLEELEMENT;
+
+ /**
+ * The operation id for the '<em>Is Type Conformant With</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CONDITIONAL_TEST_EXPRESSION___IS_TYPE_CONFORMANT_WITH__ASSIGNABLEELEMENT = EXPRESSION___IS_TYPE_CONFORMANT_WITH__ASSIGNABLEELEMENT;
+
+ /**
+ * The operation id for the '<em>Is Conformant With Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CONDITIONAL_TEST_EXPRESSION___IS_CONFORMANT_WITH_TYPE__ELEMENTREFERENCE = EXPRESSION___IS_CONFORMANT_WITH_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Multiplicity Conformant With</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CONDITIONAL_TEST_EXPRESSION___IS_MULTIPLICITY_CONFORMANT_WITH__ASSIGNABLEELEMENT = EXPRESSION___IS_MULTIPLICITY_CONFORMANT_WITH__ASSIGNABLEELEMENT;
+
+ /**
+ * The operation id for the '<em>New Assignments</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CONDITIONAL_TEST_EXPRESSION___NEW_ASSIGNMENTS = EXPRESSION___NEW_ASSIGNMENTS;
+
+ /**
+ * The operation id for the '<em>Expression update Assignments</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CONDITIONAL_TEST_EXPRESSION___EXPRESSION_UPDATE_ASSIGNMENTS = EXPRESSION___EXPRESSION_UPDATE_ASSIGNMENTS;
+
+ /**
+ * The operation id for the '<em>Update Assignments Cached</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CONDITIONAL_TEST_EXPRESSION___UPDATE_ASSIGNMENTS_CACHED = EXPRESSION___UPDATE_ASSIGNMENTS_CACHED;
+
+ /**
+ * The operation id for the '<em>Resolve</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CONDITIONAL_TEST_EXPRESSION___RESOLVE__STRING = EXPRESSION___RESOLVE__STRING;
+
+ /**
+ * The operation id for the '<em>Is Add Target</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CONDITIONAL_TEST_EXPRESSION___IS_ADD_TARGET__EXPRESSION = EXPRESSION___IS_ADD_TARGET__EXPRESSION;
+
+ /**
+ * The operation id for the '<em>Expression Assignment After Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CONDITIONAL_TEST_EXPRESSION___EXPRESSION_ASSIGNMENT_AFTER_DERIVATION__DIAGNOSTICCHAIN_MAP = EXPRESSION___EXPRESSION_ASSIGNMENT_AFTER_DERIVATION__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Expression Unique Assignments</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CONDITIONAL_TEST_EXPRESSION___EXPRESSION_UNIQUE_ASSIGNMENTS__DIAGNOSTICCHAIN_MAP = EXPRESSION___EXPRESSION_UNIQUE_ASSIGNMENTS__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CONDITIONAL_TEST_EXPRESSION___TYPE = EXPRESSION_OPERATION_COUNT + 0;
+
+ /**
+ * The operation id for the '<em>Lower</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CONDITIONAL_TEST_EXPRESSION___LOWER = EXPRESSION_OPERATION_COUNT + 1;
+
+ /**
+ * The operation id for the '<em>Upper</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CONDITIONAL_TEST_EXPRESSION___UPPER = EXPRESSION_OPERATION_COUNT + 2;
+
+ /**
+ * The operation id for the '<em>Assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CONDITIONAL_TEST_EXPRESSION___ASSIGNMENTS_BEFORE__SYNTAXELEMENT = EXPRESSION_OPERATION_COUNT + 3;
+
+ /**
+ * The operation id for the '<em>Conditional Test Expression Type Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CONDITIONAL_TEST_EXPRESSION___CONDITIONAL_TEST_EXPRESSION_TYPE_DERIVATION__DIAGNOSTICCHAIN_MAP = EXPRESSION_OPERATION_COUNT + 4;
+
+ /**
+ * The operation id for the '<em>Conditional Test Expression Lower Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CONDITIONAL_TEST_EXPRESSION___CONDITIONAL_TEST_EXPRESSION_LOWER_DERIVATION__DIAGNOSTICCHAIN_MAP = EXPRESSION_OPERATION_COUNT + 5;
+
+ /**
+ * The operation id for the '<em>Conditional Test Expression Upper Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CONDITIONAL_TEST_EXPRESSION___CONDITIONAL_TEST_EXPRESSION_UPPER_DERIVATION__DIAGNOSTICCHAIN_MAP = EXPRESSION_OPERATION_COUNT + 6;
+
+ /**
+ * The operation id for the '<em>Conditional Test Expression Condition</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CONDITIONAL_TEST_EXPRESSION___CONDITIONAL_TEST_EXPRESSION_CONDITION__DIAGNOSTICCHAIN_MAP = EXPRESSION_OPERATION_COUNT + 7;
+
+ /**
+ * The operation id for the '<em>Conditional Test Expression Assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CONDITIONAL_TEST_EXPRESSION___CONDITIONAL_TEST_EXPRESSION_ASSIGNMENTS_BEFORE__DIAGNOSTICCHAIN_MAP = EXPRESSION_OPERATION_COUNT + 8;
+
+ /**
+ * The operation id for the '<em>Conditional Test Expression Assignments After</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CONDITIONAL_TEST_EXPRESSION___CONDITIONAL_TEST_EXPRESSION_ASSIGNMENTS_AFTER__DIAGNOSTICCHAIN_MAP = EXPRESSION_OPERATION_COUNT + 9;
+
+ /**
+ * The operation id for the '<em>Update Assignments</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CONDITIONAL_TEST_EXPRESSION___UPDATE_ASSIGNMENTS = EXPRESSION_OPERATION_COUNT + 10;
+
+ /**
+ * The number of operations of the '<em>Conditional Test Expression</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CONDITIONAL_TEST_EXPRESSION_OPERATION_COUNT = EXPRESSION_OPERATION_COUNT + 11;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.uml.alf.impl.InstanceCreationExpressionImpl <em>Instance Creation Expression</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.uml.alf.impl.InstanceCreationExpressionImpl
+ * @see org.eclipse.papyrus.uml.alf.impl.AlfPackageImpl#getInstanceCreationExpression()
+ * @generated
+ */
+ int INSTANCE_CREATION_EXPRESSION = 52;
+
+ /**
+ * The feature id for the '<em><b>Owner</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INSTANCE_CREATION_EXPRESSION__OWNER = INVOCATION_EXPRESSION__OWNER;
+
+ /**
+ * The feature id for the '<em><b>Upper</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INSTANCE_CREATION_EXPRESSION__UPPER = INVOCATION_EXPRESSION__UPPER;
+
+ /**
+ * The feature id for the '<em><b>Lower</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INSTANCE_CREATION_EXPRESSION__LOWER = INVOCATION_EXPRESSION__LOWER;
+
+ /**
+ * The feature id for the '<em><b>Type</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INSTANCE_CREATION_EXPRESSION__TYPE = INVOCATION_EXPRESSION__TYPE;
+
+ /**
+ * The feature id for the '<em><b>Assignment Before</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INSTANCE_CREATION_EXPRESSION__ASSIGNMENT_BEFORE = INVOCATION_EXPRESSION__ASSIGNMENT_BEFORE;
+
+ /**
+ * The feature id for the '<em><b>Assignment After</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INSTANCE_CREATION_EXPRESSION__ASSIGNMENT_AFTER = INVOCATION_EXPRESSION__ASSIGNMENT_AFTER;
+
+ /**
+ * The feature id for the '<em><b>Is Behavior</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INSTANCE_CREATION_EXPRESSION__IS_BEHAVIOR = INVOCATION_EXPRESSION__IS_BEHAVIOR;
+
+ /**
+ * The feature id for the '<em><b>Is Association End</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INSTANCE_CREATION_EXPRESSION__IS_ASSOCIATION_END = INVOCATION_EXPRESSION__IS_ASSOCIATION_END;
+
+ /**
+ * The feature id for the '<em><b>Feature</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INSTANCE_CREATION_EXPRESSION__FEATURE = INVOCATION_EXPRESSION__FEATURE;
+
+ /**
+ * The feature id for the '<em><b>Is Operation</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INSTANCE_CREATION_EXPRESSION__IS_OPERATION = INVOCATION_EXPRESSION__IS_OPERATION;
+
+ /**
+ * The feature id for the '<em><b>Is Destructor</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INSTANCE_CREATION_EXPRESSION__IS_DESTRUCTOR = INVOCATION_EXPRESSION__IS_DESTRUCTOR;
+
+ /**
+ * The feature id for the '<em><b>Is Implicit</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INSTANCE_CREATION_EXPRESSION__IS_IMPLICIT = INVOCATION_EXPRESSION__IS_IMPLICIT;
+
+ /**
+ * The feature id for the '<em><b>Referent</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INSTANCE_CREATION_EXPRESSION__REFERENT = INVOCATION_EXPRESSION__REFERENT;
+
+ /**
+ * The feature id for the '<em><b>Parameter</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INSTANCE_CREATION_EXPRESSION__PARAMETER = INVOCATION_EXPRESSION__PARAMETER;
+
+ /**
+ * The feature id for the '<em><b>Is Signal</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INSTANCE_CREATION_EXPRESSION__IS_SIGNAL = INVOCATION_EXPRESSION__IS_SIGNAL;
+
+ /**
+ * The feature id for the '<em><b>Tuple</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INSTANCE_CREATION_EXPRESSION__TUPLE = INVOCATION_EXPRESSION__TUPLE;
+
+ /**
+ * The feature id for the '<em><b>Is Constructorless</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INSTANCE_CREATION_EXPRESSION__IS_CONSTRUCTORLESS = INVOCATION_EXPRESSION_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Is Object Creation</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INSTANCE_CREATION_EXPRESSION__IS_OBJECT_CREATION = INVOCATION_EXPRESSION_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Constructor</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INSTANCE_CREATION_EXPRESSION__CONSTRUCTOR = INVOCATION_EXPRESSION_FEATURE_COUNT + 2;
+
+ /**
+ * The number of structural features of the '<em>Instance Creation Expression</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INSTANCE_CREATION_EXPRESSION_FEATURE_COUNT = INVOCATION_EXPRESSION_FEATURE_COUNT + 3;
+
+ /**
+ * The operation id for the '<em>To Reference</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INSTANCE_CREATION_EXPRESSION___TO_REFERENCE = INVOCATION_EXPRESSION___TO_REFERENCE;
+
+ /**
+ * The operation id for the '<em>Owner</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INSTANCE_CREATION_EXPRESSION___OWNER = INVOCATION_EXPRESSION___OWNER;
+
+ /**
+ * The operation id for the '<em>Syntax Element owner</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INSTANCE_CREATION_EXPRESSION___SYNTAX_ELEMENT_OWNER = INVOCATION_EXPRESSION___SYNTAX_ELEMENT_OWNER;
+
+ /**
+ * The operation id for the '<em>Current Scope</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INSTANCE_CREATION_EXPRESSION___CURRENT_SCOPE = INVOCATION_EXPRESSION___CURRENT_SCOPE;
+
+ /**
+ * The operation id for the '<em>Syntax Element current Scope</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INSTANCE_CREATION_EXPRESSION___SYNTAX_ELEMENT_CURRENT_SCOPE = INVOCATION_EXPRESSION___SYNTAX_ELEMENT_CURRENT_SCOPE;
+
+ /**
+ * The operation id for the '<em>Enclosing Statement</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INSTANCE_CREATION_EXPRESSION___ENCLOSING_STATEMENT = INVOCATION_EXPRESSION___ENCLOSING_STATEMENT;
+
+ /**
+ * The operation id for the '<em>Enclosing Expression</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INSTANCE_CREATION_EXPRESSION___ENCLOSING_EXPRESSION = INVOCATION_EXPRESSION___ENCLOSING_EXPRESSION;
+
+ /**
+ * The operation id for the '<em>Assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INSTANCE_CREATION_EXPRESSION___ASSIGNMENTS_BEFORE = INVOCATION_EXPRESSION___ASSIGNMENTS_BEFORE;
+
+ /**
+ * The operation id for the '<em>Syntax Element assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INSTANCE_CREATION_EXPRESSION___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE = INVOCATION_EXPRESSION___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE;
+
+ /**
+ * The operation id for the '<em>Syntax Element assignments Before base</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INSTANCE_CREATION_EXPRESSION___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE_BASE = INVOCATION_EXPRESSION___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE_BASE;
+
+ /**
+ * The operation id for the '<em>Update All</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INSTANCE_CREATION_EXPRESSION___UPDATE_ALL__ELIST_ELIST = INVOCATION_EXPRESSION___UPDATE_ALL__ELIST_ELIST;
+
+ /**
+ * The operation id for the '<em>Common Ancestor</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INSTANCE_CREATION_EXPRESSION___COMMON_ANCESTOR__ELIST = INVOCATION_EXPRESSION___COMMON_ANCESTOR__ELIST;
+
+ /**
+ * The operation id for the '<em>Common Ancestors</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INSTANCE_CREATION_EXPRESSION___COMMON_ANCESTORS__ELIST = INVOCATION_EXPRESSION___COMMON_ANCESTORS__ELIST;
+
+ /**
+ * The operation id for the '<em>Remove Duplicate Elements</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INSTANCE_CREATION_EXPRESSION___REMOVE_DUPLICATE_ELEMENTS__ELIST = INVOCATION_EXPRESSION___REMOVE_DUPLICATE_ELEMENTS__ELIST;
+
+ /**
+ * The operation id for the '<em>Resolve In Library</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INSTANCE_CREATION_EXPRESSION___RESOLVE_IN_LIBRARY__STRING = INVOCATION_EXPRESSION___RESOLVE_IN_LIBRARY__STRING;
+
+ /**
+ * The operation id for the '<em>Primitive Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INSTANCE_CREATION_EXPRESSION___PRIMITIVE_TYPE__STRING = INVOCATION_EXPRESSION___PRIMITIVE_TYPE__STRING;
+
+ /**
+ * The operation id for the '<em>Primitive Type </em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INSTANCE_CREATION_EXPRESSION___PRIMITIVE_TYPE____STRING = INVOCATION_EXPRESSION___PRIMITIVE_TYPE____STRING;
+
+ /**
+ * The operation id for the '<em>Boolean Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INSTANCE_CREATION_EXPRESSION___BOOLEAN_TYPE = INVOCATION_EXPRESSION___BOOLEAN_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Boolean Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INSTANCE_CREATION_EXPRESSION___IS_BOOLEAN_TYPE__ELEMENTREFERENCE = INVOCATION_EXPRESSION___IS_BOOLEAN_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Integer Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INSTANCE_CREATION_EXPRESSION___INTEGER_TYPE = INVOCATION_EXPRESSION___INTEGER_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Integer Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INSTANCE_CREATION_EXPRESSION___IS_INTEGER_TYPE__ELEMENTREFERENCE = INVOCATION_EXPRESSION___IS_INTEGER_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INSTANCE_CREATION_EXPRESSION___STRING_TYPE = INVOCATION_EXPRESSION___STRING_TYPE;
+
+ /**
+ * The operation id for the '<em>Is String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INSTANCE_CREATION_EXPRESSION___IS_STRING_TYPE__ELEMENTREFERENCE = INVOCATION_EXPRESSION___IS_STRING_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Unlimited Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INSTANCE_CREATION_EXPRESSION___UNLIMITED_NATURAL_TYPE = INVOCATION_EXPRESSION___UNLIMITED_NATURAL_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Unlimited Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INSTANCE_CREATION_EXPRESSION___IS_UNLIMITED_NATURAL_TYPE__ELEMENTREFERENCE = INVOCATION_EXPRESSION___IS_UNLIMITED_NATURAL_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Bit String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INSTANCE_CREATION_EXPRESSION___BIT_STRING_TYPE = INVOCATION_EXPRESSION___BIT_STRING_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Bit String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INSTANCE_CREATION_EXPRESSION___IS_BIT_STRING_TYPE__ELEMENTREFERENCE = INVOCATION_EXPRESSION___IS_BIT_STRING_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INSTANCE_CREATION_EXPRESSION___NATURAL_TYPE = INVOCATION_EXPRESSION___NATURAL_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INSTANCE_CREATION_EXPRESSION___IS_NATURAL_TYPE__ELEMENTREFERENCE = INVOCATION_EXPRESSION___IS_NATURAL_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Numeric Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INSTANCE_CREATION_EXPRESSION___IS_NUMERIC_TYPE__ELEMENTREFERENCE = INVOCATION_EXPRESSION___IS_NUMERIC_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Collection Function Add</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INSTANCE_CREATION_EXPRESSION___COLLECTION_FUNCTION_ADD = INVOCATION_EXPRESSION___COLLECTION_FUNCTION_ADD;
+
+ /**
+ * The operation id for the '<em>Is Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INSTANCE_CREATION_EXPRESSION___IS_COLLECTION_CLASS__ELEMENTREFERENCE = INVOCATION_EXPRESSION___IS_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Integer Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INSTANCE_CREATION_EXPRESSION___IS_INTEGER_COLLECTION_CLASS__ELEMENTREFERENCE = INVOCATION_EXPRESSION___IS_INTEGER_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Bit String Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INSTANCE_CREATION_EXPRESSION___IS_BIT_STRING_COLLECTION_CLASS__ELEMENTREFERENCE = INVOCATION_EXPRESSION___IS_BIT_STRING_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Type Cached</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INSTANCE_CREATION_EXPRESSION___TYPE_CACHED = INVOCATION_EXPRESSION___TYPE_CACHED;
+
+ /**
+ * The operation id for the '<em>Is Null</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INSTANCE_CREATION_EXPRESSION___IS_NULL = INVOCATION_EXPRESSION___IS_NULL;
+
+ /**
+ * The operation id for the '<em>Is Assignable From Element</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INSTANCE_CREATION_EXPRESSION___IS_ASSIGNABLE_FROM_ELEMENT__ELEMENTREFERENCE = INVOCATION_EXPRESSION___IS_ASSIGNABLE_FROM_ELEMENT__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Assignable From</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INSTANCE_CREATION_EXPRESSION___IS_ASSIGNABLE_FROM__ASSIGNABLEELEMENT = INVOCATION_EXPRESSION___IS_ASSIGNABLE_FROM__ASSIGNABLEELEMENT;
+
+ /**
+ * The operation id for the '<em>Is Type Conformant With</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INSTANCE_CREATION_EXPRESSION___IS_TYPE_CONFORMANT_WITH__ASSIGNABLEELEMENT = INVOCATION_EXPRESSION___IS_TYPE_CONFORMANT_WITH__ASSIGNABLEELEMENT;
+
+ /**
+ * The operation id for the '<em>Is Conformant With Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INSTANCE_CREATION_EXPRESSION___IS_CONFORMANT_WITH_TYPE__ELEMENTREFERENCE = INVOCATION_EXPRESSION___IS_CONFORMANT_WITH_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Multiplicity Conformant With</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INSTANCE_CREATION_EXPRESSION___IS_MULTIPLICITY_CONFORMANT_WITH__ASSIGNABLEELEMENT = INVOCATION_EXPRESSION___IS_MULTIPLICITY_CONFORMANT_WITH__ASSIGNABLEELEMENT;
+
+ /**
+ * The operation id for the '<em>New Assignments</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INSTANCE_CREATION_EXPRESSION___NEW_ASSIGNMENTS = INVOCATION_EXPRESSION___NEW_ASSIGNMENTS;
+
+ /**
+ * The operation id for the '<em>Expression update Assignments</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INSTANCE_CREATION_EXPRESSION___EXPRESSION_UPDATE_ASSIGNMENTS = INVOCATION_EXPRESSION___EXPRESSION_UPDATE_ASSIGNMENTS;
+
+ /**
+ * The operation id for the '<em>Update Assignments Cached</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INSTANCE_CREATION_EXPRESSION___UPDATE_ASSIGNMENTS_CACHED = INVOCATION_EXPRESSION___UPDATE_ASSIGNMENTS_CACHED;
+
+ /**
+ * The operation id for the '<em>Resolve</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INSTANCE_CREATION_EXPRESSION___RESOLVE__STRING = INVOCATION_EXPRESSION___RESOLVE__STRING;
+
+ /**
+ * The operation id for the '<em>Is Add Target</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INSTANCE_CREATION_EXPRESSION___IS_ADD_TARGET__EXPRESSION = INVOCATION_EXPRESSION___IS_ADD_TARGET__EXPRESSION;
+
+ /**
+ * The operation id for the '<em>Expression Assignment After Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INSTANCE_CREATION_EXPRESSION___EXPRESSION_ASSIGNMENT_AFTER_DERIVATION__DIAGNOSTICCHAIN_MAP = INVOCATION_EXPRESSION___EXPRESSION_ASSIGNMENT_AFTER_DERIVATION__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Expression Unique Assignments</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INSTANCE_CREATION_EXPRESSION___EXPRESSION_UNIQUE_ASSIGNMENTS__DIAGNOSTICCHAIN_MAP = INVOCATION_EXPRESSION___EXPRESSION_UNIQUE_ASSIGNMENTS__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INSTANCE_CREATION_EXPRESSION___ASSIGNMENTS_BEFORE__SYNTAXELEMENT = INVOCATION_EXPRESSION___ASSIGNMENTS_BEFORE__SYNTAXELEMENT;
+
+ /**
+ * The operation id for the '<em>Referent Cached</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INSTANCE_CREATION_EXPRESSION___REFERENT_CACHED = INVOCATION_EXPRESSION___REFERENT_CACHED;
+
+ /**
+ * The operation id for the '<em>Invocation Expression type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INSTANCE_CREATION_EXPRESSION___INVOCATION_EXPRESSION_TYPE = INVOCATION_EXPRESSION___INVOCATION_EXPRESSION_TYPE;
+
+ /**
+ * The operation id for the '<em>Invocation Expression upper</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INSTANCE_CREATION_EXPRESSION___INVOCATION_EXPRESSION_UPPER = INVOCATION_EXPRESSION___INVOCATION_EXPRESSION_UPPER;
+
+ /**
+ * The operation id for the '<em>Invocation Expression lower</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INSTANCE_CREATION_EXPRESSION___INVOCATION_EXPRESSION_LOWER = INVOCATION_EXPRESSION___INVOCATION_EXPRESSION_LOWER;
+
+ /**
+ * The operation id for the '<em>Parameter Named</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INSTANCE_CREATION_EXPRESSION___PARAMETER_NAMED__STRING = INVOCATION_EXPRESSION___PARAMETER_NAMED__STRING;
+
+ /**
+ * The operation id for the '<em>Parameter Count</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INSTANCE_CREATION_EXPRESSION___PARAMETER_COUNT = INVOCATION_EXPRESSION___PARAMETER_COUNT;
+
+ /**
+ * The operation id for the '<em>Parameter Is Assignable From</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INSTANCE_CREATION_EXPRESSION___PARAMETER_IS_ASSIGNABLE_FROM__INPUTNAMEDEXPRESSION = INVOCATION_EXPRESSION___PARAMETER_IS_ASSIGNABLE_FROM__INPUTNAMEDEXPRESSION;
+
+ /**
+ * The operation id for the '<em>Parameter Is Assignable To</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INSTANCE_CREATION_EXPRESSION___PARAMETER_IS_ASSIGNABLE_TO__OUTPUTNAMEDEXPRESSION = INVOCATION_EXPRESSION___PARAMETER_IS_ASSIGNABLE_TO__OUTPUTNAMEDEXPRESSION;
+
+ /**
+ * The operation id for the '<em>Alternative Constructor Is Valid</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INSTANCE_CREATION_EXPRESSION___ALTERNATIVE_CONSTRUCTOR_IS_VALID = INVOCATION_EXPRESSION___ALTERNATIVE_CONSTRUCTOR_IS_VALID;
+
+ /**
+ * The operation id for the '<em>Bind Template Implicit Arguments</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INSTANCE_CREATION_EXPRESSION___BIND_TEMPLATE_IMPLICIT_ARGUMENTS__ELEMENTREFERENCE_EXPRESSION = INVOCATION_EXPRESSION___BIND_TEMPLATE_IMPLICIT_ARGUMENTS__ELEMENTREFERENCE_EXPRESSION;
+
+ /**
+ * The operation id for the '<em>Bind Template Implicit Arguments1</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INSTANCE_CREATION_EXPRESSION___BIND_TEMPLATE_IMPLICIT_ARGUMENTS1__ELEMENTREFERENCE_EXPRESSION = INVOCATION_EXPRESSION___BIND_TEMPLATE_IMPLICIT_ARGUMENTS1__ELEMENTREFERENCE_EXPRESSION;
+
+ /**
+ * The operation id for the '<em>Effective Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INSTANCE_CREATION_EXPRESSION___EFFECTIVE_TYPE__ELEMENTREFERENCE_EXPRESSION = INVOCATION_EXPRESSION___EFFECTIVE_TYPE__ELEMENTREFERENCE_EXPRESSION;
+
+ /**
+ * The operation id for the '<em>Invocation Expression parameter Elements</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INSTANCE_CREATION_EXPRESSION___INVOCATION_EXPRESSION_PARAMETER_ELEMENTS = INVOCATION_EXPRESSION___INVOCATION_EXPRESSION_PARAMETER_ELEMENTS;
+
+ /**
+ * The operation id for the '<em>Parameter From Property</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INSTANCE_CREATION_EXPRESSION___PARAMETER_FROM_PROPERTY__ELEMENTREFERENCE = INVOCATION_EXPRESSION___PARAMETER_FROM_PROPERTY__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Parameter From Property With Multiplicity</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INSTANCE_CREATION_EXPRESSION___PARAMETER_FROM_PROPERTY_WITH_MULTIPLICITY__ELEMENTREFERENCE_STRING_STRING = INVOCATION_EXPRESSION___PARAMETER_FROM_PROPERTY_WITH_MULTIPLICITY__ELEMENTREFERENCE_STRING_STRING;
+
+ /**
+ * The operation id for the '<em>Invocation Expression Is Behavior Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INSTANCE_CREATION_EXPRESSION___INVOCATION_EXPRESSION_IS_BEHAVIOR_DERIVATION__DIAGNOSTICCHAIN_MAP = INVOCATION_EXPRESSION___INVOCATION_EXPRESSION_IS_BEHAVIOR_DERIVATION__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Invocation Expression Is Association End Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INSTANCE_CREATION_EXPRESSION___INVOCATION_EXPRESSION_IS_ASSOCIATION_END_DERIVATION__DIAGNOSTICCHAIN_MAP = INVOCATION_EXPRESSION___INVOCATION_EXPRESSION_IS_ASSOCIATION_END_DERIVATION__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Invocation Expression Is Operation Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INSTANCE_CREATION_EXPRESSION___INVOCATION_EXPRESSION_IS_OPERATION_DERIVATION__DIAGNOSTICCHAIN_MAP = INVOCATION_EXPRESSION___INVOCATION_EXPRESSION_IS_OPERATION_DERIVATION__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Invocation Expression Is Destructor Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INSTANCE_CREATION_EXPRESSION___INVOCATION_EXPRESSION_IS_DESTRUCTOR_DERIVATION__DIAGNOSTICCHAIN_MAP = INVOCATION_EXPRESSION___INVOCATION_EXPRESSION_IS_DESTRUCTOR_DERIVATION__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Invocation Expression Is Implicit Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INSTANCE_CREATION_EXPRESSION___INVOCATION_EXPRESSION_IS_IMPLICIT_DERIVATION__DIAGNOSTICCHAIN_MAP = INVOCATION_EXPRESSION___INVOCATION_EXPRESSION_IS_IMPLICIT_DERIVATION__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Invocation Expression Is Signal Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INSTANCE_CREATION_EXPRESSION___INVOCATION_EXPRESSION_IS_SIGNAL_DERIVATION__DIAGNOSTICCHAIN_MAP = INVOCATION_EXPRESSION___INVOCATION_EXPRESSION_IS_SIGNAL_DERIVATION__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Invocation Expression Parameter Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INSTANCE_CREATION_EXPRESSION___INVOCATION_EXPRESSION_PARAMETER_DERIVATION__DIAGNOSTICCHAIN_MAP = INVOCATION_EXPRESSION___INVOCATION_EXPRESSION_PARAMETER_DERIVATION__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Invocation Expression Type Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INSTANCE_CREATION_EXPRESSION___INVOCATION_EXPRESSION_TYPE_DERIVATION__DIAGNOSTICCHAIN_MAP = INVOCATION_EXPRESSION___INVOCATION_EXPRESSION_TYPE_DERIVATION__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Invocation Expression Upper Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INSTANCE_CREATION_EXPRESSION___INVOCATION_EXPRESSION_UPPER_DERIVATION__DIAGNOSTICCHAIN_MAP = INVOCATION_EXPRESSION___INVOCATION_EXPRESSION_UPPER_DERIVATION__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Invocation Expression Lower Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INSTANCE_CREATION_EXPRESSION___INVOCATION_EXPRESSION_LOWER_DERIVATION__DIAGNOSTICCHAIN_MAP = INVOCATION_EXPRESSION___INVOCATION_EXPRESSION_LOWER_DERIVATION__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Invocation Expression Assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INSTANCE_CREATION_EXPRESSION___INVOCATION_EXPRESSION_ASSIGNMENTS_BEFORE__DIAGNOSTICCHAIN_MAP = INVOCATION_EXPRESSION___INVOCATION_EXPRESSION_ASSIGNMENTS_BEFORE__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Update Assignments</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INSTANCE_CREATION_EXPRESSION___UPDATE_ASSIGNMENTS = INVOCATION_EXPRESSION___UPDATE_ASSIGNMENTS;
+
+ /**
+ * The operation id for the '<em>Invocation Expression Template Parameters</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INSTANCE_CREATION_EXPRESSION___INVOCATION_EXPRESSION_TEMPLATE_PARAMETERS__DIAGNOSTICCHAIN_MAP = INVOCATION_EXPRESSION___INVOCATION_EXPRESSION_TEMPLATE_PARAMETERS__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Referent</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INSTANCE_CREATION_EXPRESSION___REFERENT = INVOCATION_EXPRESSION_OPERATION_COUNT + 0;
+
+ /**
+ * The operation id for the '<em>Feature</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INSTANCE_CREATION_EXPRESSION___FEATURE = INVOCATION_EXPRESSION_OPERATION_COUNT + 1;
+
+ /**
+ * The operation id for the '<em>Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INSTANCE_CREATION_EXPRESSION___TYPE = INVOCATION_EXPRESSION_OPERATION_COUNT + 2;
+
+ /**
+ * The operation id for the '<em>Lower</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INSTANCE_CREATION_EXPRESSION___LOWER = INVOCATION_EXPRESSION_OPERATION_COUNT + 3;
+
+ /**
+ * The operation id for the '<em>Upper</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INSTANCE_CREATION_EXPRESSION___UPPER = INVOCATION_EXPRESSION_OPERATION_COUNT + 4;
+
+ /**
+ * The operation id for the '<em>Instance Creation Expression Is Object Creation Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INSTANCE_CREATION_EXPRESSION___INSTANCE_CREATION_EXPRESSION_IS_OBJECT_CREATION_DERIVATION__DIAGNOSTICCHAIN_MAP = INVOCATION_EXPRESSION_OPERATION_COUNT + 5;
+
+ /**
+ * The operation id for the '<em>Instance Creation Expression Is Constructorless Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INSTANCE_CREATION_EXPRESSION___INSTANCE_CREATION_EXPRESSION_IS_CONSTRUCTORLESS_DERIVATION__DIAGNOSTICCHAIN_MAP = INVOCATION_EXPRESSION_OPERATION_COUNT + 6;
+
+ /**
+ * The operation id for the '<em>Instance Creation Expression Referent Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INSTANCE_CREATION_EXPRESSION___INSTANCE_CREATION_EXPRESSION_REFERENT_DERIVATION__DIAGNOSTICCHAIN_MAP = INVOCATION_EXPRESSION_OPERATION_COUNT + 7;
+
+ /**
+ * The operation id for the '<em>Instance Creation Expression Feature Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INSTANCE_CREATION_EXPRESSION___INSTANCE_CREATION_EXPRESSION_FEATURE_DERIVATION__DIAGNOSTICCHAIN_MAP = INVOCATION_EXPRESSION_OPERATION_COUNT + 8;
+
+ /**
+ * The operation id for the '<em>Instance Creation Expression Constructor</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INSTANCE_CREATION_EXPRESSION___INSTANCE_CREATION_EXPRESSION_CONSTRUCTOR__DIAGNOSTICCHAIN_MAP = INVOCATION_EXPRESSION_OPERATION_COUNT + 9;
+
+ /**
+ * The operation id for the '<em>Instance Creation Expression Constructorless Legality</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INSTANCE_CREATION_EXPRESSION___INSTANCE_CREATION_EXPRESSION_CONSTRUCTORLESS_LEGALITY__DIAGNOSTICCHAIN_MAP = INVOCATION_EXPRESSION_OPERATION_COUNT + 10;
+
+ /**
+ * The operation id for the '<em>Instance Creation Expression Data Type Compatibility</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INSTANCE_CREATION_EXPRESSION___INSTANCE_CREATION_EXPRESSION_DATA_TYPE_COMPATIBILITY__DIAGNOSTICCHAIN_MAP = INVOCATION_EXPRESSION_OPERATION_COUNT + 11;
+
+ /**
+ * The operation id for the '<em>Instance Creation Expression Referent</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INSTANCE_CREATION_EXPRESSION___INSTANCE_CREATION_EXPRESSION_REFERENT__DIAGNOSTICCHAIN_MAP = INVOCATION_EXPRESSION_OPERATION_COUNT + 12;
+
+ /**
+ * The operation id for the '<em>Parameter Elements</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INSTANCE_CREATION_EXPRESSION___PARAMETER_ELEMENTS = INVOCATION_EXPRESSION_OPERATION_COUNT + 13;
+
+ /**
+ * The number of operations of the '<em>Instance Creation Expression</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INSTANCE_CREATION_EXPRESSION_OPERATION_COUNT = INVOCATION_EXPRESSION_OPERATION_COUNT + 14;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.uml.alf.impl.PropertyAccessExpressionImpl <em>Property Access Expression</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.uml.alf.impl.PropertyAccessExpressionImpl
+ * @see org.eclipse.papyrus.uml.alf.impl.AlfPackageImpl#getPropertyAccessExpression()
+ * @generated
+ */
+ int PROPERTY_ACCESS_EXPRESSION = 53;
+
+ /**
+ * The feature id for the '<em><b>Owner</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PROPERTY_ACCESS_EXPRESSION__OWNER = EXPRESSION__OWNER;
+
+ /**
+ * The feature id for the '<em><b>Upper</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PROPERTY_ACCESS_EXPRESSION__UPPER = EXPRESSION__UPPER;
+
+ /**
+ * The feature id for the '<em><b>Lower</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PROPERTY_ACCESS_EXPRESSION__LOWER = EXPRESSION__LOWER;
+
+ /**
+ * The feature id for the '<em><b>Type</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PROPERTY_ACCESS_EXPRESSION__TYPE = EXPRESSION__TYPE;
+
+ /**
+ * The feature id for the '<em><b>Assignment Before</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PROPERTY_ACCESS_EXPRESSION__ASSIGNMENT_BEFORE = EXPRESSION__ASSIGNMENT_BEFORE;
+
+ /**
+ * The feature id for the '<em><b>Assignment After</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PROPERTY_ACCESS_EXPRESSION__ASSIGNMENT_AFTER = EXPRESSION__ASSIGNMENT_AFTER;
+
+ /**
+ * The feature id for the '<em><b>Feature Reference</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PROPERTY_ACCESS_EXPRESSION__FEATURE_REFERENCE = EXPRESSION_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Feature</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PROPERTY_ACCESS_EXPRESSION__FEATURE = EXPRESSION_FEATURE_COUNT + 1;
+
+ /**
+ * The number of structural features of the '<em>Property Access Expression</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PROPERTY_ACCESS_EXPRESSION_FEATURE_COUNT = EXPRESSION_FEATURE_COUNT + 2;
+
+ /**
+ * The operation id for the '<em>To Reference</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PROPERTY_ACCESS_EXPRESSION___TO_REFERENCE = EXPRESSION___TO_REFERENCE;
+
+ /**
+ * The operation id for the '<em>Owner</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PROPERTY_ACCESS_EXPRESSION___OWNER = EXPRESSION___OWNER;
+
+ /**
+ * The operation id for the '<em>Syntax Element owner</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PROPERTY_ACCESS_EXPRESSION___SYNTAX_ELEMENT_OWNER = EXPRESSION___SYNTAX_ELEMENT_OWNER;
+
+ /**
+ * The operation id for the '<em>Current Scope</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PROPERTY_ACCESS_EXPRESSION___CURRENT_SCOPE = EXPRESSION___CURRENT_SCOPE;
+
+ /**
+ * The operation id for the '<em>Syntax Element current Scope</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PROPERTY_ACCESS_EXPRESSION___SYNTAX_ELEMENT_CURRENT_SCOPE = EXPRESSION___SYNTAX_ELEMENT_CURRENT_SCOPE;
+
+ /**
+ * The operation id for the '<em>Enclosing Statement</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PROPERTY_ACCESS_EXPRESSION___ENCLOSING_STATEMENT = EXPRESSION___ENCLOSING_STATEMENT;
+
+ /**
+ * The operation id for the '<em>Enclosing Expression</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PROPERTY_ACCESS_EXPRESSION___ENCLOSING_EXPRESSION = EXPRESSION___ENCLOSING_EXPRESSION;
+
+ /**
+ * The operation id for the '<em>Assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PROPERTY_ACCESS_EXPRESSION___ASSIGNMENTS_BEFORE = EXPRESSION___ASSIGNMENTS_BEFORE;
+
+ /**
+ * The operation id for the '<em>Syntax Element assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PROPERTY_ACCESS_EXPRESSION___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE = EXPRESSION___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE;
+
+ /**
+ * The operation id for the '<em>Syntax Element assignments Before base</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PROPERTY_ACCESS_EXPRESSION___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE_BASE = EXPRESSION___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE_BASE;
+
+ /**
+ * The operation id for the '<em>Assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PROPERTY_ACCESS_EXPRESSION___ASSIGNMENTS_BEFORE__SYNTAXELEMENT = EXPRESSION___ASSIGNMENTS_BEFORE__SYNTAXELEMENT;
+
+ /**
+ * The operation id for the '<em>Update All</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PROPERTY_ACCESS_EXPRESSION___UPDATE_ALL__ELIST_ELIST = EXPRESSION___UPDATE_ALL__ELIST_ELIST;
+
+ /**
+ * The operation id for the '<em>Common Ancestor</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PROPERTY_ACCESS_EXPRESSION___COMMON_ANCESTOR__ELIST = EXPRESSION___COMMON_ANCESTOR__ELIST;
+
+ /**
+ * The operation id for the '<em>Common Ancestors</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PROPERTY_ACCESS_EXPRESSION___COMMON_ANCESTORS__ELIST = EXPRESSION___COMMON_ANCESTORS__ELIST;
+
+ /**
+ * The operation id for the '<em>Remove Duplicate Elements</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PROPERTY_ACCESS_EXPRESSION___REMOVE_DUPLICATE_ELEMENTS__ELIST = EXPRESSION___REMOVE_DUPLICATE_ELEMENTS__ELIST;
+
+ /**
+ * The operation id for the '<em>Resolve In Library</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PROPERTY_ACCESS_EXPRESSION___RESOLVE_IN_LIBRARY__STRING = EXPRESSION___RESOLVE_IN_LIBRARY__STRING;
+
+ /**
+ * The operation id for the '<em>Primitive Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PROPERTY_ACCESS_EXPRESSION___PRIMITIVE_TYPE__STRING = EXPRESSION___PRIMITIVE_TYPE__STRING;
+
+ /**
+ * The operation id for the '<em>Primitive Type </em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PROPERTY_ACCESS_EXPRESSION___PRIMITIVE_TYPE____STRING = EXPRESSION___PRIMITIVE_TYPE____STRING;
+
+ /**
+ * The operation id for the '<em>Boolean Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PROPERTY_ACCESS_EXPRESSION___BOOLEAN_TYPE = EXPRESSION___BOOLEAN_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Boolean Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PROPERTY_ACCESS_EXPRESSION___IS_BOOLEAN_TYPE__ELEMENTREFERENCE = EXPRESSION___IS_BOOLEAN_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Integer Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PROPERTY_ACCESS_EXPRESSION___INTEGER_TYPE = EXPRESSION___INTEGER_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Integer Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PROPERTY_ACCESS_EXPRESSION___IS_INTEGER_TYPE__ELEMENTREFERENCE = EXPRESSION___IS_INTEGER_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PROPERTY_ACCESS_EXPRESSION___STRING_TYPE = EXPRESSION___STRING_TYPE;
+
+ /**
+ * The operation id for the '<em>Is String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PROPERTY_ACCESS_EXPRESSION___IS_STRING_TYPE__ELEMENTREFERENCE = EXPRESSION___IS_STRING_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Unlimited Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PROPERTY_ACCESS_EXPRESSION___UNLIMITED_NATURAL_TYPE = EXPRESSION___UNLIMITED_NATURAL_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Unlimited Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PROPERTY_ACCESS_EXPRESSION___IS_UNLIMITED_NATURAL_TYPE__ELEMENTREFERENCE = EXPRESSION___IS_UNLIMITED_NATURAL_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Bit String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PROPERTY_ACCESS_EXPRESSION___BIT_STRING_TYPE = EXPRESSION___BIT_STRING_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Bit String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PROPERTY_ACCESS_EXPRESSION___IS_BIT_STRING_TYPE__ELEMENTREFERENCE = EXPRESSION___IS_BIT_STRING_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PROPERTY_ACCESS_EXPRESSION___NATURAL_TYPE = EXPRESSION___NATURAL_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PROPERTY_ACCESS_EXPRESSION___IS_NATURAL_TYPE__ELEMENTREFERENCE = EXPRESSION___IS_NATURAL_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Numeric Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PROPERTY_ACCESS_EXPRESSION___IS_NUMERIC_TYPE__ELEMENTREFERENCE = EXPRESSION___IS_NUMERIC_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Collection Function Add</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PROPERTY_ACCESS_EXPRESSION___COLLECTION_FUNCTION_ADD = EXPRESSION___COLLECTION_FUNCTION_ADD;
+
+ /**
+ * The operation id for the '<em>Is Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PROPERTY_ACCESS_EXPRESSION___IS_COLLECTION_CLASS__ELEMENTREFERENCE = EXPRESSION___IS_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Integer Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PROPERTY_ACCESS_EXPRESSION___IS_INTEGER_COLLECTION_CLASS__ELEMENTREFERENCE = EXPRESSION___IS_INTEGER_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Bit String Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PROPERTY_ACCESS_EXPRESSION___IS_BIT_STRING_COLLECTION_CLASS__ELEMENTREFERENCE = EXPRESSION___IS_BIT_STRING_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Type Cached</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PROPERTY_ACCESS_EXPRESSION___TYPE_CACHED = EXPRESSION___TYPE_CACHED;
+
+ /**
+ * The operation id for the '<em>Is Null</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PROPERTY_ACCESS_EXPRESSION___IS_NULL = EXPRESSION___IS_NULL;
+
+ /**
+ * The operation id for the '<em>Is Assignable From Element</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PROPERTY_ACCESS_EXPRESSION___IS_ASSIGNABLE_FROM_ELEMENT__ELEMENTREFERENCE = EXPRESSION___IS_ASSIGNABLE_FROM_ELEMENT__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Assignable From</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PROPERTY_ACCESS_EXPRESSION___IS_ASSIGNABLE_FROM__ASSIGNABLEELEMENT = EXPRESSION___IS_ASSIGNABLE_FROM__ASSIGNABLEELEMENT;
+
+ /**
+ * The operation id for the '<em>Is Type Conformant With</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PROPERTY_ACCESS_EXPRESSION___IS_TYPE_CONFORMANT_WITH__ASSIGNABLEELEMENT = EXPRESSION___IS_TYPE_CONFORMANT_WITH__ASSIGNABLEELEMENT;
+
+ /**
+ * The operation id for the '<em>Is Conformant With Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PROPERTY_ACCESS_EXPRESSION___IS_CONFORMANT_WITH_TYPE__ELEMENTREFERENCE = EXPRESSION___IS_CONFORMANT_WITH_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Multiplicity Conformant With</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PROPERTY_ACCESS_EXPRESSION___IS_MULTIPLICITY_CONFORMANT_WITH__ASSIGNABLEELEMENT = EXPRESSION___IS_MULTIPLICITY_CONFORMANT_WITH__ASSIGNABLEELEMENT;
+
+ /**
+ * The operation id for the '<em>New Assignments</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PROPERTY_ACCESS_EXPRESSION___NEW_ASSIGNMENTS = EXPRESSION___NEW_ASSIGNMENTS;
+
+ /**
+ * The operation id for the '<em>Expression update Assignments</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PROPERTY_ACCESS_EXPRESSION___EXPRESSION_UPDATE_ASSIGNMENTS = EXPRESSION___EXPRESSION_UPDATE_ASSIGNMENTS;
+
+ /**
+ * The operation id for the '<em>Update Assignments Cached</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PROPERTY_ACCESS_EXPRESSION___UPDATE_ASSIGNMENTS_CACHED = EXPRESSION___UPDATE_ASSIGNMENTS_CACHED;
+
+ /**
+ * The operation id for the '<em>Resolve</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PROPERTY_ACCESS_EXPRESSION___RESOLVE__STRING = EXPRESSION___RESOLVE__STRING;
+
+ /**
+ * The operation id for the '<em>Is Add Target</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PROPERTY_ACCESS_EXPRESSION___IS_ADD_TARGET__EXPRESSION = EXPRESSION___IS_ADD_TARGET__EXPRESSION;
+
+ /**
+ * The operation id for the '<em>Expression Assignment After Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PROPERTY_ACCESS_EXPRESSION___EXPRESSION_ASSIGNMENT_AFTER_DERIVATION__DIAGNOSTICCHAIN_MAP = EXPRESSION___EXPRESSION_ASSIGNMENT_AFTER_DERIVATION__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Expression Unique Assignments</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PROPERTY_ACCESS_EXPRESSION___EXPRESSION_UNIQUE_ASSIGNMENTS__DIAGNOSTICCHAIN_MAP = EXPRESSION___EXPRESSION_UNIQUE_ASSIGNMENTS__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PROPERTY_ACCESS_EXPRESSION___TYPE = EXPRESSION_OPERATION_COUNT + 0;
+
+ /**
+ * The operation id for the '<em>Upper</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PROPERTY_ACCESS_EXPRESSION___UPPER = EXPRESSION_OPERATION_COUNT + 1;
+
+ /**
+ * The operation id for the '<em>Lower</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PROPERTY_ACCESS_EXPRESSION___LOWER = EXPRESSION_OPERATION_COUNT + 2;
+
+ /**
+ * The operation id for the '<em>Property Access Expression Feature Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PROPERTY_ACCESS_EXPRESSION___PROPERTY_ACCESS_EXPRESSION_FEATURE_DERIVATION__DIAGNOSTICCHAIN_MAP = EXPRESSION_OPERATION_COUNT + 3;
+
+ /**
+ * The operation id for the '<em>Property Access Expression Type Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PROPERTY_ACCESS_EXPRESSION___PROPERTY_ACCESS_EXPRESSION_TYPE_DERIVATION__DIAGNOSTICCHAIN_MAP = EXPRESSION_OPERATION_COUNT + 4;
+
+ /**
+ * The operation id for the '<em>Property Access Expression Upper Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PROPERTY_ACCESS_EXPRESSION___PROPERTY_ACCESS_EXPRESSION_UPPER_DERIVATION__DIAGNOSTICCHAIN_MAP = EXPRESSION_OPERATION_COUNT + 5;
+
+ /**
+ * The operation id for the '<em>Property Access Expression Lower Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PROPERTY_ACCESS_EXPRESSION___PROPERTY_ACCESS_EXPRESSION_LOWER_DERIVATION__DIAGNOSTICCHAIN_MAP = EXPRESSION_OPERATION_COUNT + 6;
+
+ /**
+ * The operation id for the '<em>Property Access Expression Feature Resolution</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PROPERTY_ACCESS_EXPRESSION___PROPERTY_ACCESS_EXPRESSION_FEATURE_RESOLUTION__DIAGNOSTICCHAIN_MAP = EXPRESSION_OPERATION_COUNT + 7;
+
+ /**
+ * The operation id for the '<em>Property Access Expression Assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PROPERTY_ACCESS_EXPRESSION___PROPERTY_ACCESS_EXPRESSION_ASSIGNMENTS_BEFORE__DIAGNOSTICCHAIN_MAP = EXPRESSION_OPERATION_COUNT + 8;
+
+ /**
+ * The operation id for the '<em>Update Assignments</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PROPERTY_ACCESS_EXPRESSION___UPDATE_ASSIGNMENTS = EXPRESSION_OPERATION_COUNT + 9;
+
+ /**
+ * The number of operations of the '<em>Property Access Expression</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PROPERTY_ACCESS_EXPRESSION_OPERATION_COUNT = EXPRESSION_OPERATION_COUNT + 10;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.uml.alf.impl.NameExpressionImpl <em>Name Expression</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.uml.alf.impl.NameExpressionImpl
+ * @see org.eclipse.papyrus.uml.alf.impl.AlfPackageImpl#getNameExpression()
+ * @generated
+ */
+ int NAME_EXPRESSION = 54;
+
+ /**
+ * The feature id for the '<em><b>Owner</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAME_EXPRESSION__OWNER = EXPRESSION__OWNER;
+
+ /**
+ * The feature id for the '<em><b>Upper</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAME_EXPRESSION__UPPER = EXPRESSION__UPPER;
+
+ /**
+ * The feature id for the '<em><b>Lower</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAME_EXPRESSION__LOWER = EXPRESSION__LOWER;
+
+ /**
+ * The feature id for the '<em><b>Type</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAME_EXPRESSION__TYPE = EXPRESSION__TYPE;
+
+ /**
+ * The feature id for the '<em><b>Assignment Before</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAME_EXPRESSION__ASSIGNMENT_BEFORE = EXPRESSION__ASSIGNMENT_BEFORE;
+
+ /**
+ * The feature id for the '<em><b>Assignment After</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAME_EXPRESSION__ASSIGNMENT_AFTER = EXPRESSION__ASSIGNMENT_AFTER;
+
+ /**
+ * The feature id for the '<em><b>Enumeration Literal</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAME_EXPRESSION__ENUMERATION_LITERAL = EXPRESSION_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Assignment</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAME_EXPRESSION__ASSIGNMENT = EXPRESSION_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Property Access</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAME_EXPRESSION__PROPERTY_ACCESS = EXPRESSION_FEATURE_COUNT + 2;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAME_EXPRESSION__NAME = EXPRESSION_FEATURE_COUNT + 3;
+
+ /**
+ * The number of structural features of the '<em>Name Expression</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAME_EXPRESSION_FEATURE_COUNT = EXPRESSION_FEATURE_COUNT + 4;
+
+ /**
+ * The operation id for the '<em>To Reference</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAME_EXPRESSION___TO_REFERENCE = EXPRESSION___TO_REFERENCE;
+
+ /**
+ * The operation id for the '<em>Owner</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAME_EXPRESSION___OWNER = EXPRESSION___OWNER;
+
+ /**
+ * The operation id for the '<em>Syntax Element owner</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAME_EXPRESSION___SYNTAX_ELEMENT_OWNER = EXPRESSION___SYNTAX_ELEMENT_OWNER;
+
+ /**
+ * The operation id for the '<em>Current Scope</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAME_EXPRESSION___CURRENT_SCOPE = EXPRESSION___CURRENT_SCOPE;
+
+ /**
+ * The operation id for the '<em>Syntax Element current Scope</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAME_EXPRESSION___SYNTAX_ELEMENT_CURRENT_SCOPE = EXPRESSION___SYNTAX_ELEMENT_CURRENT_SCOPE;
+
+ /**
+ * The operation id for the '<em>Enclosing Statement</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAME_EXPRESSION___ENCLOSING_STATEMENT = EXPRESSION___ENCLOSING_STATEMENT;
+
+ /**
+ * The operation id for the '<em>Enclosing Expression</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAME_EXPRESSION___ENCLOSING_EXPRESSION = EXPRESSION___ENCLOSING_EXPRESSION;
+
+ /**
+ * The operation id for the '<em>Assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAME_EXPRESSION___ASSIGNMENTS_BEFORE = EXPRESSION___ASSIGNMENTS_BEFORE;
+
+ /**
+ * The operation id for the '<em>Syntax Element assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAME_EXPRESSION___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE = EXPRESSION___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE;
+
+ /**
+ * The operation id for the '<em>Syntax Element assignments Before base</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAME_EXPRESSION___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE_BASE = EXPRESSION___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE_BASE;
+
+ /**
+ * The operation id for the '<em>Assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAME_EXPRESSION___ASSIGNMENTS_BEFORE__SYNTAXELEMENT = EXPRESSION___ASSIGNMENTS_BEFORE__SYNTAXELEMENT;
+
+ /**
+ * The operation id for the '<em>Update All</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAME_EXPRESSION___UPDATE_ALL__ELIST_ELIST = EXPRESSION___UPDATE_ALL__ELIST_ELIST;
+
+ /**
+ * The operation id for the '<em>Common Ancestor</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAME_EXPRESSION___COMMON_ANCESTOR__ELIST = EXPRESSION___COMMON_ANCESTOR__ELIST;
+
+ /**
+ * The operation id for the '<em>Common Ancestors</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAME_EXPRESSION___COMMON_ANCESTORS__ELIST = EXPRESSION___COMMON_ANCESTORS__ELIST;
+
+ /**
+ * The operation id for the '<em>Remove Duplicate Elements</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAME_EXPRESSION___REMOVE_DUPLICATE_ELEMENTS__ELIST = EXPRESSION___REMOVE_DUPLICATE_ELEMENTS__ELIST;
+
+ /**
+ * The operation id for the '<em>Resolve In Library</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAME_EXPRESSION___RESOLVE_IN_LIBRARY__STRING = EXPRESSION___RESOLVE_IN_LIBRARY__STRING;
+
+ /**
+ * The operation id for the '<em>Primitive Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAME_EXPRESSION___PRIMITIVE_TYPE__STRING = EXPRESSION___PRIMITIVE_TYPE__STRING;
+
+ /**
+ * The operation id for the '<em>Primitive Type </em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAME_EXPRESSION___PRIMITIVE_TYPE____STRING = EXPRESSION___PRIMITIVE_TYPE____STRING;
+
+ /**
+ * The operation id for the '<em>Boolean Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAME_EXPRESSION___BOOLEAN_TYPE = EXPRESSION___BOOLEAN_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Boolean Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAME_EXPRESSION___IS_BOOLEAN_TYPE__ELEMENTREFERENCE = EXPRESSION___IS_BOOLEAN_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Integer Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAME_EXPRESSION___INTEGER_TYPE = EXPRESSION___INTEGER_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Integer Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAME_EXPRESSION___IS_INTEGER_TYPE__ELEMENTREFERENCE = EXPRESSION___IS_INTEGER_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAME_EXPRESSION___STRING_TYPE = EXPRESSION___STRING_TYPE;
+
+ /**
+ * The operation id for the '<em>Is String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAME_EXPRESSION___IS_STRING_TYPE__ELEMENTREFERENCE = EXPRESSION___IS_STRING_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Unlimited Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAME_EXPRESSION___UNLIMITED_NATURAL_TYPE = EXPRESSION___UNLIMITED_NATURAL_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Unlimited Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAME_EXPRESSION___IS_UNLIMITED_NATURAL_TYPE__ELEMENTREFERENCE = EXPRESSION___IS_UNLIMITED_NATURAL_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Bit String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAME_EXPRESSION___BIT_STRING_TYPE = EXPRESSION___BIT_STRING_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Bit String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAME_EXPRESSION___IS_BIT_STRING_TYPE__ELEMENTREFERENCE = EXPRESSION___IS_BIT_STRING_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAME_EXPRESSION___NATURAL_TYPE = EXPRESSION___NATURAL_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAME_EXPRESSION___IS_NATURAL_TYPE__ELEMENTREFERENCE = EXPRESSION___IS_NATURAL_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Numeric Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAME_EXPRESSION___IS_NUMERIC_TYPE__ELEMENTREFERENCE = EXPRESSION___IS_NUMERIC_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Collection Function Add</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAME_EXPRESSION___COLLECTION_FUNCTION_ADD = EXPRESSION___COLLECTION_FUNCTION_ADD;
+
+ /**
+ * The operation id for the '<em>Is Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAME_EXPRESSION___IS_COLLECTION_CLASS__ELEMENTREFERENCE = EXPRESSION___IS_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Integer Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAME_EXPRESSION___IS_INTEGER_COLLECTION_CLASS__ELEMENTREFERENCE = EXPRESSION___IS_INTEGER_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Bit String Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAME_EXPRESSION___IS_BIT_STRING_COLLECTION_CLASS__ELEMENTREFERENCE = EXPRESSION___IS_BIT_STRING_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Type Cached</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAME_EXPRESSION___TYPE_CACHED = EXPRESSION___TYPE_CACHED;
+
+ /**
+ * The operation id for the '<em>Is Null</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAME_EXPRESSION___IS_NULL = EXPRESSION___IS_NULL;
+
+ /**
+ * The operation id for the '<em>Is Assignable From Element</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAME_EXPRESSION___IS_ASSIGNABLE_FROM_ELEMENT__ELEMENTREFERENCE = EXPRESSION___IS_ASSIGNABLE_FROM_ELEMENT__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Assignable From</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAME_EXPRESSION___IS_ASSIGNABLE_FROM__ASSIGNABLEELEMENT = EXPRESSION___IS_ASSIGNABLE_FROM__ASSIGNABLEELEMENT;
+
+ /**
+ * The operation id for the '<em>Is Type Conformant With</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAME_EXPRESSION___IS_TYPE_CONFORMANT_WITH__ASSIGNABLEELEMENT = EXPRESSION___IS_TYPE_CONFORMANT_WITH__ASSIGNABLEELEMENT;
+
+ /**
+ * The operation id for the '<em>Is Conformant With Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAME_EXPRESSION___IS_CONFORMANT_WITH_TYPE__ELEMENTREFERENCE = EXPRESSION___IS_CONFORMANT_WITH_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Multiplicity Conformant With</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAME_EXPRESSION___IS_MULTIPLICITY_CONFORMANT_WITH__ASSIGNABLEELEMENT = EXPRESSION___IS_MULTIPLICITY_CONFORMANT_WITH__ASSIGNABLEELEMENT;
+
+ /**
+ * The operation id for the '<em>New Assignments</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAME_EXPRESSION___NEW_ASSIGNMENTS = EXPRESSION___NEW_ASSIGNMENTS;
+
+ /**
+ * The operation id for the '<em>Expression update Assignments</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAME_EXPRESSION___EXPRESSION_UPDATE_ASSIGNMENTS = EXPRESSION___EXPRESSION_UPDATE_ASSIGNMENTS;
+
+ /**
+ * The operation id for the '<em>Update Assignments Cached</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAME_EXPRESSION___UPDATE_ASSIGNMENTS_CACHED = EXPRESSION___UPDATE_ASSIGNMENTS_CACHED;
+
+ /**
+ * The operation id for the '<em>Resolve</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAME_EXPRESSION___RESOLVE__STRING = EXPRESSION___RESOLVE__STRING;
+
+ /**
+ * The operation id for the '<em>Is Add Target</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAME_EXPRESSION___IS_ADD_TARGET__EXPRESSION = EXPRESSION___IS_ADD_TARGET__EXPRESSION;
+
+ /**
+ * The operation id for the '<em>Expression Assignment After Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAME_EXPRESSION___EXPRESSION_ASSIGNMENT_AFTER_DERIVATION__DIAGNOSTICCHAIN_MAP = EXPRESSION___EXPRESSION_ASSIGNMENT_AFTER_DERIVATION__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Expression Unique Assignments</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAME_EXPRESSION___EXPRESSION_UNIQUE_ASSIGNMENTS__DIAGNOSTICCHAIN_MAP = EXPRESSION___EXPRESSION_UNIQUE_ASSIGNMENTS__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAME_EXPRESSION___TYPE = EXPRESSION_OPERATION_COUNT + 0;
+
+ /**
+ * The operation id for the '<em>Upper</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAME_EXPRESSION___UPPER = EXPRESSION_OPERATION_COUNT + 1;
+
+ /**
+ * The operation id for the '<em>Lower</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAME_EXPRESSION___LOWER = EXPRESSION_OPERATION_COUNT + 2;
+
+ /**
+ * The operation id for the '<em>Parameter Referent</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAME_EXPRESSION___PARAMETER_REFERENT = EXPRESSION_OPERATION_COUNT + 3;
+
+ /**
+ * The operation id for the '<em>Assignment For</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAME_EXPRESSION___ASSIGNMENT_FOR__STRING = EXPRESSION_OPERATION_COUNT + 4;
+
+ /**
+ * The operation id for the '<em>Assignment For </em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAME_EXPRESSION___ASSIGNMENT_FOR____STRING = EXPRESSION_OPERATION_COUNT + 5;
+
+ /**
+ * The operation id for the '<em>Is Add Target</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAME_EXPRESSION___IS_ADD_TARGET = EXPRESSION_OPERATION_COUNT + 6;
+
+ /**
+ * The operation id for the '<em>Name Expression Assignment Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAME_EXPRESSION___NAME_EXPRESSION_ASSIGNMENT_DERIVATION__DIAGNOSTICCHAIN_MAP = EXPRESSION_OPERATION_COUNT + 7;
+
+ /**
+ * The operation id for the '<em>Name Expression Enumeration Literal Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAME_EXPRESSION___NAME_EXPRESSION_ENUMERATION_LITERAL_DERIVATION__DIAGNOSTICCHAIN_MAP = EXPRESSION_OPERATION_COUNT + 8;
+
+ /**
+ * The operation id for the '<em>Name Expression Property Access Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAME_EXPRESSION___NAME_EXPRESSION_PROPERTY_ACCESS_DERIVATION__DIAGNOSTICCHAIN_MAP = EXPRESSION_OPERATION_COUNT + 9;
+
+ /**
+ * The operation id for the '<em>Name Expression Type Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAME_EXPRESSION___NAME_EXPRESSION_TYPE_DERIVATION__DIAGNOSTICCHAIN_MAP = EXPRESSION_OPERATION_COUNT + 10;
+
+ /**
+ * The operation id for the '<em>Name Expression Upper Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAME_EXPRESSION___NAME_EXPRESSION_UPPER_DERIVATION__DIAGNOSTICCHAIN_MAP = EXPRESSION_OPERATION_COUNT + 11;
+
+ /**
+ * The operation id for the '<em>Name Expression Lower Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAME_EXPRESSION___NAME_EXPRESSION_LOWER_DERIVATION__DIAGNOSTICCHAIN_MAP = EXPRESSION_OPERATION_COUNT + 12;
+
+ /**
+ * The operation id for the '<em>Name Expression Resolution</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAME_EXPRESSION___NAME_EXPRESSION_RESOLUTION__DIAGNOSTICCHAIN_MAP = EXPRESSION_OPERATION_COUNT + 13;
+
+ /**
+ * The operation id for the '<em>Validate Name Expression Resolution</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAME_EXPRESSION___VALIDATE_NAME_EXPRESSION_RESOLUTION = EXPRESSION_OPERATION_COUNT + 14;
+
+ /**
+ * The operation id for the '<em>Update Assignments</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAME_EXPRESSION___UPDATE_ASSIGNMENTS = EXPRESSION_OPERATION_COUNT + 15;
+
+ /**
+ * The number of operations of the '<em>Name Expression</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAME_EXPRESSION_OPERATION_COUNT = EXPRESSION_OPERATION_COUNT + 16;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.uml.alf.impl.BitStringUnaryExpressionImpl <em>Bit String Unary Expression</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.uml.alf.impl.BitStringUnaryExpressionImpl
+ * @see org.eclipse.papyrus.uml.alf.impl.AlfPackageImpl#getBitStringUnaryExpression()
+ * @generated
+ */
+ int BIT_STRING_UNARY_EXPRESSION = 55;
+
+ /**
+ * The feature id for the '<em><b>Owner</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BIT_STRING_UNARY_EXPRESSION__OWNER = UNARY_EXPRESSION__OWNER;
+
+ /**
+ * The feature id for the '<em><b>Upper</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BIT_STRING_UNARY_EXPRESSION__UPPER = UNARY_EXPRESSION__UPPER;
+
+ /**
+ * The feature id for the '<em><b>Lower</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BIT_STRING_UNARY_EXPRESSION__LOWER = UNARY_EXPRESSION__LOWER;
+
+ /**
+ * The feature id for the '<em><b>Type</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BIT_STRING_UNARY_EXPRESSION__TYPE = UNARY_EXPRESSION__TYPE;
+
+ /**
+ * The feature id for the '<em><b>Assignment Before</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BIT_STRING_UNARY_EXPRESSION__ASSIGNMENT_BEFORE = UNARY_EXPRESSION__ASSIGNMENT_BEFORE;
+
+ /**
+ * The feature id for the '<em><b>Assignment After</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BIT_STRING_UNARY_EXPRESSION__ASSIGNMENT_AFTER = UNARY_EXPRESSION__ASSIGNMENT_AFTER;
+
+ /**
+ * The feature id for the '<em><b>Operator</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BIT_STRING_UNARY_EXPRESSION__OPERATOR = UNARY_EXPRESSION__OPERATOR;
+
+ /**
+ * The feature id for the '<em><b>Operand</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BIT_STRING_UNARY_EXPRESSION__OPERAND = UNARY_EXPRESSION__OPERAND;
+
+ /**
+ * The feature id for the '<em><b>Is Bit String Conversion</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BIT_STRING_UNARY_EXPRESSION__IS_BIT_STRING_CONVERSION = UNARY_EXPRESSION_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the '<em>Bit String Unary Expression</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BIT_STRING_UNARY_EXPRESSION_FEATURE_COUNT = UNARY_EXPRESSION_FEATURE_COUNT + 1;
+
+ /**
+ * The operation id for the '<em>To Reference</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BIT_STRING_UNARY_EXPRESSION___TO_REFERENCE = UNARY_EXPRESSION___TO_REFERENCE;
+
+ /**
+ * The operation id for the '<em>Owner</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BIT_STRING_UNARY_EXPRESSION___OWNER = UNARY_EXPRESSION___OWNER;
+
+ /**
+ * The operation id for the '<em>Syntax Element owner</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BIT_STRING_UNARY_EXPRESSION___SYNTAX_ELEMENT_OWNER = UNARY_EXPRESSION___SYNTAX_ELEMENT_OWNER;
+
+ /**
+ * The operation id for the '<em>Current Scope</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BIT_STRING_UNARY_EXPRESSION___CURRENT_SCOPE = UNARY_EXPRESSION___CURRENT_SCOPE;
+
+ /**
+ * The operation id for the '<em>Syntax Element current Scope</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BIT_STRING_UNARY_EXPRESSION___SYNTAX_ELEMENT_CURRENT_SCOPE = UNARY_EXPRESSION___SYNTAX_ELEMENT_CURRENT_SCOPE;
+
+ /**
+ * The operation id for the '<em>Enclosing Statement</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BIT_STRING_UNARY_EXPRESSION___ENCLOSING_STATEMENT = UNARY_EXPRESSION___ENCLOSING_STATEMENT;
+
+ /**
+ * The operation id for the '<em>Enclosing Expression</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BIT_STRING_UNARY_EXPRESSION___ENCLOSING_EXPRESSION = UNARY_EXPRESSION___ENCLOSING_EXPRESSION;
+
+ /**
+ * The operation id for the '<em>Assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BIT_STRING_UNARY_EXPRESSION___ASSIGNMENTS_BEFORE = UNARY_EXPRESSION___ASSIGNMENTS_BEFORE;
+
+ /**
+ * The operation id for the '<em>Syntax Element assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BIT_STRING_UNARY_EXPRESSION___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE = UNARY_EXPRESSION___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE;
+
+ /**
+ * The operation id for the '<em>Syntax Element assignments Before base</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BIT_STRING_UNARY_EXPRESSION___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE_BASE = UNARY_EXPRESSION___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE_BASE;
+
+ /**
+ * The operation id for the '<em>Assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BIT_STRING_UNARY_EXPRESSION___ASSIGNMENTS_BEFORE__SYNTAXELEMENT = UNARY_EXPRESSION___ASSIGNMENTS_BEFORE__SYNTAXELEMENT;
+
+ /**
+ * The operation id for the '<em>Update All</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BIT_STRING_UNARY_EXPRESSION___UPDATE_ALL__ELIST_ELIST = UNARY_EXPRESSION___UPDATE_ALL__ELIST_ELIST;
+
+ /**
+ * The operation id for the '<em>Common Ancestor</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BIT_STRING_UNARY_EXPRESSION___COMMON_ANCESTOR__ELIST = UNARY_EXPRESSION___COMMON_ANCESTOR__ELIST;
+
+ /**
+ * The operation id for the '<em>Common Ancestors</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BIT_STRING_UNARY_EXPRESSION___COMMON_ANCESTORS__ELIST = UNARY_EXPRESSION___COMMON_ANCESTORS__ELIST;
+
+ /**
+ * The operation id for the '<em>Remove Duplicate Elements</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BIT_STRING_UNARY_EXPRESSION___REMOVE_DUPLICATE_ELEMENTS__ELIST = UNARY_EXPRESSION___REMOVE_DUPLICATE_ELEMENTS__ELIST;
+
+ /**
+ * The operation id for the '<em>Resolve In Library</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BIT_STRING_UNARY_EXPRESSION___RESOLVE_IN_LIBRARY__STRING = UNARY_EXPRESSION___RESOLVE_IN_LIBRARY__STRING;
+
+ /**
+ * The operation id for the '<em>Primitive Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BIT_STRING_UNARY_EXPRESSION___PRIMITIVE_TYPE__STRING = UNARY_EXPRESSION___PRIMITIVE_TYPE__STRING;
+
+ /**
+ * The operation id for the '<em>Primitive Type </em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BIT_STRING_UNARY_EXPRESSION___PRIMITIVE_TYPE____STRING = UNARY_EXPRESSION___PRIMITIVE_TYPE____STRING;
+
+ /**
+ * The operation id for the '<em>Boolean Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BIT_STRING_UNARY_EXPRESSION___BOOLEAN_TYPE = UNARY_EXPRESSION___BOOLEAN_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Boolean Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BIT_STRING_UNARY_EXPRESSION___IS_BOOLEAN_TYPE__ELEMENTREFERENCE = UNARY_EXPRESSION___IS_BOOLEAN_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Integer Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BIT_STRING_UNARY_EXPRESSION___INTEGER_TYPE = UNARY_EXPRESSION___INTEGER_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Integer Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BIT_STRING_UNARY_EXPRESSION___IS_INTEGER_TYPE__ELEMENTREFERENCE = UNARY_EXPRESSION___IS_INTEGER_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BIT_STRING_UNARY_EXPRESSION___STRING_TYPE = UNARY_EXPRESSION___STRING_TYPE;
+
+ /**
+ * The operation id for the '<em>Is String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BIT_STRING_UNARY_EXPRESSION___IS_STRING_TYPE__ELEMENTREFERENCE = UNARY_EXPRESSION___IS_STRING_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Unlimited Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BIT_STRING_UNARY_EXPRESSION___UNLIMITED_NATURAL_TYPE = UNARY_EXPRESSION___UNLIMITED_NATURAL_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Unlimited Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BIT_STRING_UNARY_EXPRESSION___IS_UNLIMITED_NATURAL_TYPE__ELEMENTREFERENCE = UNARY_EXPRESSION___IS_UNLIMITED_NATURAL_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Bit String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BIT_STRING_UNARY_EXPRESSION___BIT_STRING_TYPE = UNARY_EXPRESSION___BIT_STRING_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Bit String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BIT_STRING_UNARY_EXPRESSION___IS_BIT_STRING_TYPE__ELEMENTREFERENCE = UNARY_EXPRESSION___IS_BIT_STRING_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BIT_STRING_UNARY_EXPRESSION___NATURAL_TYPE = UNARY_EXPRESSION___NATURAL_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BIT_STRING_UNARY_EXPRESSION___IS_NATURAL_TYPE__ELEMENTREFERENCE = UNARY_EXPRESSION___IS_NATURAL_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Numeric Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BIT_STRING_UNARY_EXPRESSION___IS_NUMERIC_TYPE__ELEMENTREFERENCE = UNARY_EXPRESSION___IS_NUMERIC_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Collection Function Add</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BIT_STRING_UNARY_EXPRESSION___COLLECTION_FUNCTION_ADD = UNARY_EXPRESSION___COLLECTION_FUNCTION_ADD;
+
+ /**
+ * The operation id for the '<em>Is Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BIT_STRING_UNARY_EXPRESSION___IS_COLLECTION_CLASS__ELEMENTREFERENCE = UNARY_EXPRESSION___IS_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Integer Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BIT_STRING_UNARY_EXPRESSION___IS_INTEGER_COLLECTION_CLASS__ELEMENTREFERENCE = UNARY_EXPRESSION___IS_INTEGER_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Bit String Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BIT_STRING_UNARY_EXPRESSION___IS_BIT_STRING_COLLECTION_CLASS__ELEMENTREFERENCE = UNARY_EXPRESSION___IS_BIT_STRING_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Type Cached</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BIT_STRING_UNARY_EXPRESSION___TYPE_CACHED = UNARY_EXPRESSION___TYPE_CACHED;
+
+ /**
+ * The operation id for the '<em>Is Null</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BIT_STRING_UNARY_EXPRESSION___IS_NULL = UNARY_EXPRESSION___IS_NULL;
+
+ /**
+ * The operation id for the '<em>Is Assignable From Element</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BIT_STRING_UNARY_EXPRESSION___IS_ASSIGNABLE_FROM_ELEMENT__ELEMENTREFERENCE = UNARY_EXPRESSION___IS_ASSIGNABLE_FROM_ELEMENT__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Assignable From</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BIT_STRING_UNARY_EXPRESSION___IS_ASSIGNABLE_FROM__ASSIGNABLEELEMENT = UNARY_EXPRESSION___IS_ASSIGNABLE_FROM__ASSIGNABLEELEMENT;
+
+ /**
+ * The operation id for the '<em>Is Type Conformant With</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BIT_STRING_UNARY_EXPRESSION___IS_TYPE_CONFORMANT_WITH__ASSIGNABLEELEMENT = UNARY_EXPRESSION___IS_TYPE_CONFORMANT_WITH__ASSIGNABLEELEMENT;
+
+ /**
+ * The operation id for the '<em>Is Conformant With Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BIT_STRING_UNARY_EXPRESSION___IS_CONFORMANT_WITH_TYPE__ELEMENTREFERENCE = UNARY_EXPRESSION___IS_CONFORMANT_WITH_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Multiplicity Conformant With</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BIT_STRING_UNARY_EXPRESSION___IS_MULTIPLICITY_CONFORMANT_WITH__ASSIGNABLEELEMENT = UNARY_EXPRESSION___IS_MULTIPLICITY_CONFORMANT_WITH__ASSIGNABLEELEMENT;
+
+ /**
+ * The operation id for the '<em>New Assignments</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BIT_STRING_UNARY_EXPRESSION___NEW_ASSIGNMENTS = UNARY_EXPRESSION___NEW_ASSIGNMENTS;
+
+ /**
+ * The operation id for the '<em>Expression update Assignments</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BIT_STRING_UNARY_EXPRESSION___EXPRESSION_UPDATE_ASSIGNMENTS = UNARY_EXPRESSION___EXPRESSION_UPDATE_ASSIGNMENTS;
+
+ /**
+ * The operation id for the '<em>Update Assignments Cached</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BIT_STRING_UNARY_EXPRESSION___UPDATE_ASSIGNMENTS_CACHED = UNARY_EXPRESSION___UPDATE_ASSIGNMENTS_CACHED;
+
+ /**
+ * The operation id for the '<em>Resolve</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BIT_STRING_UNARY_EXPRESSION___RESOLVE__STRING = UNARY_EXPRESSION___RESOLVE__STRING;
+
+ /**
+ * The operation id for the '<em>Is Add Target</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BIT_STRING_UNARY_EXPRESSION___IS_ADD_TARGET__EXPRESSION = UNARY_EXPRESSION___IS_ADD_TARGET__EXPRESSION;
+
+ /**
+ * The operation id for the '<em>Expression Assignment After Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BIT_STRING_UNARY_EXPRESSION___EXPRESSION_ASSIGNMENT_AFTER_DERIVATION__DIAGNOSTICCHAIN_MAP = UNARY_EXPRESSION___EXPRESSION_ASSIGNMENT_AFTER_DERIVATION__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Expression Unique Assignments</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BIT_STRING_UNARY_EXPRESSION___EXPRESSION_UNIQUE_ASSIGNMENTS__DIAGNOSTICCHAIN_MAP = UNARY_EXPRESSION___EXPRESSION_UNIQUE_ASSIGNMENTS__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Unary Expression Assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BIT_STRING_UNARY_EXPRESSION___UNARY_EXPRESSION_ASSIGNMENTS_BEFORE__DIAGNOSTICCHAIN_MAP = UNARY_EXPRESSION___UNARY_EXPRESSION_ASSIGNMENTS_BEFORE__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Update Assignments</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BIT_STRING_UNARY_EXPRESSION___UPDATE_ASSIGNMENTS = UNARY_EXPRESSION___UPDATE_ASSIGNMENTS;
+
+ /**
+ * The operation id for the '<em>Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BIT_STRING_UNARY_EXPRESSION___TYPE = UNARY_EXPRESSION_OPERATION_COUNT + 0;
+
+ /**
+ * The operation id for the '<em>Lower</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BIT_STRING_UNARY_EXPRESSION___LOWER = UNARY_EXPRESSION_OPERATION_COUNT + 1;
+
+ /**
+ * The operation id for the '<em>Upper</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BIT_STRING_UNARY_EXPRESSION___UPPER = UNARY_EXPRESSION_OPERATION_COUNT + 2;
+
+ /**
+ * The operation id for the '<em>Bit String Unary Expression Type Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BIT_STRING_UNARY_EXPRESSION___BIT_STRING_UNARY_EXPRESSION_TYPE_DERIVATION__DIAGNOSTICCHAIN_MAP = UNARY_EXPRESSION_OPERATION_COUNT + 3;
+
+ /**
+ * The operation id for the '<em>Bit String Unary Expression Lower Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BIT_STRING_UNARY_EXPRESSION___BIT_STRING_UNARY_EXPRESSION_LOWER_DERIVATION__DIAGNOSTICCHAIN_MAP = UNARY_EXPRESSION_OPERATION_COUNT + 4;
+
+ /**
+ * The operation id for the '<em>Bit String Unary Expression Upper Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BIT_STRING_UNARY_EXPRESSION___BIT_STRING_UNARY_EXPRESSION_UPPER_DERIVATION__DIAGNOSTICCHAIN_MAP = UNARY_EXPRESSION_OPERATION_COUNT + 5;
+
+ /**
+ * The operation id for the '<em>Bit String Unary Expression Operand</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BIT_STRING_UNARY_EXPRESSION___BIT_STRING_UNARY_EXPRESSION_OPERAND__DIAGNOSTICCHAIN_MAP = UNARY_EXPRESSION_OPERATION_COUNT + 6;
+
+ /**
+ * The operation id for the '<em>Bit String Unary Expression Is Bit String Conversion Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BIT_STRING_UNARY_EXPRESSION___BIT_STRING_UNARY_EXPRESSION_IS_BIT_STRING_CONVERSION_DERIVATION__DIAGNOSTICCHAIN_MAP = UNARY_EXPRESSION_OPERATION_COUNT + 7;
+
+ /**
+ * The number of operations of the '<em>Bit String Unary Expression</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BIT_STRING_UNARY_EXPRESSION_OPERATION_COUNT = UNARY_EXPRESSION_OPERATION_COUNT + 8;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.uml.alf.impl.FeatureInvocationExpressionImpl <em>Feature Invocation Expression</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.uml.alf.impl.FeatureInvocationExpressionImpl
+ * @see org.eclipse.papyrus.uml.alf.impl.AlfPackageImpl#getFeatureInvocationExpression()
+ * @generated
+ */
+ int FEATURE_INVOCATION_EXPRESSION = 56;
+
+ /**
+ * The feature id for the '<em><b>Owner</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FEATURE_INVOCATION_EXPRESSION__OWNER = INVOCATION_EXPRESSION__OWNER;
+
+ /**
+ * The feature id for the '<em><b>Upper</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FEATURE_INVOCATION_EXPRESSION__UPPER = INVOCATION_EXPRESSION__UPPER;
+
+ /**
+ * The feature id for the '<em><b>Lower</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FEATURE_INVOCATION_EXPRESSION__LOWER = INVOCATION_EXPRESSION__LOWER;
+
+ /**
+ * The feature id for the '<em><b>Type</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FEATURE_INVOCATION_EXPRESSION__TYPE = INVOCATION_EXPRESSION__TYPE;
+
+ /**
+ * The feature id for the '<em><b>Assignment Before</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FEATURE_INVOCATION_EXPRESSION__ASSIGNMENT_BEFORE = INVOCATION_EXPRESSION__ASSIGNMENT_BEFORE;
+
+ /**
+ * The feature id for the '<em><b>Assignment After</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FEATURE_INVOCATION_EXPRESSION__ASSIGNMENT_AFTER = INVOCATION_EXPRESSION__ASSIGNMENT_AFTER;
+
+ /**
+ * The feature id for the '<em><b>Is Behavior</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FEATURE_INVOCATION_EXPRESSION__IS_BEHAVIOR = INVOCATION_EXPRESSION__IS_BEHAVIOR;
+
+ /**
+ * The feature id for the '<em><b>Is Association End</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FEATURE_INVOCATION_EXPRESSION__IS_ASSOCIATION_END = INVOCATION_EXPRESSION__IS_ASSOCIATION_END;
+
+ /**
+ * The feature id for the '<em><b>Feature</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FEATURE_INVOCATION_EXPRESSION__FEATURE = INVOCATION_EXPRESSION__FEATURE;
+
+ /**
+ * The feature id for the '<em><b>Is Operation</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FEATURE_INVOCATION_EXPRESSION__IS_OPERATION = INVOCATION_EXPRESSION__IS_OPERATION;
+
+ /**
+ * The feature id for the '<em><b>Is Destructor</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FEATURE_INVOCATION_EXPRESSION__IS_DESTRUCTOR = INVOCATION_EXPRESSION__IS_DESTRUCTOR;
+
+ /**
+ * The feature id for the '<em><b>Is Implicit</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FEATURE_INVOCATION_EXPRESSION__IS_IMPLICIT = INVOCATION_EXPRESSION__IS_IMPLICIT;
+
+ /**
+ * The feature id for the '<em><b>Referent</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FEATURE_INVOCATION_EXPRESSION__REFERENT = INVOCATION_EXPRESSION__REFERENT;
+
+ /**
+ * The feature id for the '<em><b>Parameter</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FEATURE_INVOCATION_EXPRESSION__PARAMETER = INVOCATION_EXPRESSION__PARAMETER;
+
+ /**
+ * The feature id for the '<em><b>Is Signal</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FEATURE_INVOCATION_EXPRESSION__IS_SIGNAL = INVOCATION_EXPRESSION__IS_SIGNAL;
+
+ /**
+ * The feature id for the '<em><b>Tuple</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FEATURE_INVOCATION_EXPRESSION__TUPLE = INVOCATION_EXPRESSION__TUPLE;
+
+ /**
+ * The feature id for the '<em><b>Target</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FEATURE_INVOCATION_EXPRESSION__TARGET = INVOCATION_EXPRESSION_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the '<em>Feature Invocation Expression</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FEATURE_INVOCATION_EXPRESSION_FEATURE_COUNT = INVOCATION_EXPRESSION_FEATURE_COUNT + 1;
+
+ /**
+ * The operation id for the '<em>To Reference</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FEATURE_INVOCATION_EXPRESSION___TO_REFERENCE = INVOCATION_EXPRESSION___TO_REFERENCE;
+
+ /**
+ * The operation id for the '<em>Owner</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FEATURE_INVOCATION_EXPRESSION___OWNER = INVOCATION_EXPRESSION___OWNER;
+
+ /**
+ * The operation id for the '<em>Syntax Element owner</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FEATURE_INVOCATION_EXPRESSION___SYNTAX_ELEMENT_OWNER = INVOCATION_EXPRESSION___SYNTAX_ELEMENT_OWNER;
+
+ /**
+ * The operation id for the '<em>Current Scope</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FEATURE_INVOCATION_EXPRESSION___CURRENT_SCOPE = INVOCATION_EXPRESSION___CURRENT_SCOPE;
+
+ /**
+ * The operation id for the '<em>Syntax Element current Scope</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FEATURE_INVOCATION_EXPRESSION___SYNTAX_ELEMENT_CURRENT_SCOPE = INVOCATION_EXPRESSION___SYNTAX_ELEMENT_CURRENT_SCOPE;
+
+ /**
+ * The operation id for the '<em>Enclosing Statement</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FEATURE_INVOCATION_EXPRESSION___ENCLOSING_STATEMENT = INVOCATION_EXPRESSION___ENCLOSING_STATEMENT;
+
+ /**
+ * The operation id for the '<em>Enclosing Expression</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FEATURE_INVOCATION_EXPRESSION___ENCLOSING_EXPRESSION = INVOCATION_EXPRESSION___ENCLOSING_EXPRESSION;
+
+ /**
+ * The operation id for the '<em>Assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FEATURE_INVOCATION_EXPRESSION___ASSIGNMENTS_BEFORE = INVOCATION_EXPRESSION___ASSIGNMENTS_BEFORE;
+
+ /**
+ * The operation id for the '<em>Syntax Element assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FEATURE_INVOCATION_EXPRESSION___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE = INVOCATION_EXPRESSION___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE;
+
+ /**
+ * The operation id for the '<em>Syntax Element assignments Before base</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FEATURE_INVOCATION_EXPRESSION___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE_BASE = INVOCATION_EXPRESSION___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE_BASE;
+
+ /**
+ * The operation id for the '<em>Update All</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FEATURE_INVOCATION_EXPRESSION___UPDATE_ALL__ELIST_ELIST = INVOCATION_EXPRESSION___UPDATE_ALL__ELIST_ELIST;
+
+ /**
+ * The operation id for the '<em>Common Ancestor</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FEATURE_INVOCATION_EXPRESSION___COMMON_ANCESTOR__ELIST = INVOCATION_EXPRESSION___COMMON_ANCESTOR__ELIST;
+
+ /**
+ * The operation id for the '<em>Common Ancestors</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FEATURE_INVOCATION_EXPRESSION___COMMON_ANCESTORS__ELIST = INVOCATION_EXPRESSION___COMMON_ANCESTORS__ELIST;
+
+ /**
+ * The operation id for the '<em>Remove Duplicate Elements</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FEATURE_INVOCATION_EXPRESSION___REMOVE_DUPLICATE_ELEMENTS__ELIST = INVOCATION_EXPRESSION___REMOVE_DUPLICATE_ELEMENTS__ELIST;
+
+ /**
+ * The operation id for the '<em>Resolve In Library</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FEATURE_INVOCATION_EXPRESSION___RESOLVE_IN_LIBRARY__STRING = INVOCATION_EXPRESSION___RESOLVE_IN_LIBRARY__STRING;
+
+ /**
+ * The operation id for the '<em>Primitive Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FEATURE_INVOCATION_EXPRESSION___PRIMITIVE_TYPE__STRING = INVOCATION_EXPRESSION___PRIMITIVE_TYPE__STRING;
+
+ /**
+ * The operation id for the '<em>Primitive Type </em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FEATURE_INVOCATION_EXPRESSION___PRIMITIVE_TYPE____STRING = INVOCATION_EXPRESSION___PRIMITIVE_TYPE____STRING;
+
+ /**
+ * The operation id for the '<em>Boolean Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FEATURE_INVOCATION_EXPRESSION___BOOLEAN_TYPE = INVOCATION_EXPRESSION___BOOLEAN_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Boolean Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FEATURE_INVOCATION_EXPRESSION___IS_BOOLEAN_TYPE__ELEMENTREFERENCE = INVOCATION_EXPRESSION___IS_BOOLEAN_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Integer Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FEATURE_INVOCATION_EXPRESSION___INTEGER_TYPE = INVOCATION_EXPRESSION___INTEGER_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Integer Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FEATURE_INVOCATION_EXPRESSION___IS_INTEGER_TYPE__ELEMENTREFERENCE = INVOCATION_EXPRESSION___IS_INTEGER_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FEATURE_INVOCATION_EXPRESSION___STRING_TYPE = INVOCATION_EXPRESSION___STRING_TYPE;
+
+ /**
+ * The operation id for the '<em>Is String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FEATURE_INVOCATION_EXPRESSION___IS_STRING_TYPE__ELEMENTREFERENCE = INVOCATION_EXPRESSION___IS_STRING_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Unlimited Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FEATURE_INVOCATION_EXPRESSION___UNLIMITED_NATURAL_TYPE = INVOCATION_EXPRESSION___UNLIMITED_NATURAL_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Unlimited Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FEATURE_INVOCATION_EXPRESSION___IS_UNLIMITED_NATURAL_TYPE__ELEMENTREFERENCE = INVOCATION_EXPRESSION___IS_UNLIMITED_NATURAL_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Bit String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FEATURE_INVOCATION_EXPRESSION___BIT_STRING_TYPE = INVOCATION_EXPRESSION___BIT_STRING_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Bit String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FEATURE_INVOCATION_EXPRESSION___IS_BIT_STRING_TYPE__ELEMENTREFERENCE = INVOCATION_EXPRESSION___IS_BIT_STRING_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FEATURE_INVOCATION_EXPRESSION___NATURAL_TYPE = INVOCATION_EXPRESSION___NATURAL_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FEATURE_INVOCATION_EXPRESSION___IS_NATURAL_TYPE__ELEMENTREFERENCE = INVOCATION_EXPRESSION___IS_NATURAL_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Numeric Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FEATURE_INVOCATION_EXPRESSION___IS_NUMERIC_TYPE__ELEMENTREFERENCE = INVOCATION_EXPRESSION___IS_NUMERIC_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Collection Function Add</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FEATURE_INVOCATION_EXPRESSION___COLLECTION_FUNCTION_ADD = INVOCATION_EXPRESSION___COLLECTION_FUNCTION_ADD;
+
+ /**
+ * The operation id for the '<em>Is Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FEATURE_INVOCATION_EXPRESSION___IS_COLLECTION_CLASS__ELEMENTREFERENCE = INVOCATION_EXPRESSION___IS_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Integer Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FEATURE_INVOCATION_EXPRESSION___IS_INTEGER_COLLECTION_CLASS__ELEMENTREFERENCE = INVOCATION_EXPRESSION___IS_INTEGER_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Bit String Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FEATURE_INVOCATION_EXPRESSION___IS_BIT_STRING_COLLECTION_CLASS__ELEMENTREFERENCE = INVOCATION_EXPRESSION___IS_BIT_STRING_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Type Cached</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FEATURE_INVOCATION_EXPRESSION___TYPE_CACHED = INVOCATION_EXPRESSION___TYPE_CACHED;
+
+ /**
+ * The operation id for the '<em>Is Null</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FEATURE_INVOCATION_EXPRESSION___IS_NULL = INVOCATION_EXPRESSION___IS_NULL;
+
+ /**
+ * The operation id for the '<em>Is Assignable From Element</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FEATURE_INVOCATION_EXPRESSION___IS_ASSIGNABLE_FROM_ELEMENT__ELEMENTREFERENCE = INVOCATION_EXPRESSION___IS_ASSIGNABLE_FROM_ELEMENT__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Assignable From</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FEATURE_INVOCATION_EXPRESSION___IS_ASSIGNABLE_FROM__ASSIGNABLEELEMENT = INVOCATION_EXPRESSION___IS_ASSIGNABLE_FROM__ASSIGNABLEELEMENT;
+
+ /**
+ * The operation id for the '<em>Is Type Conformant With</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FEATURE_INVOCATION_EXPRESSION___IS_TYPE_CONFORMANT_WITH__ASSIGNABLEELEMENT = INVOCATION_EXPRESSION___IS_TYPE_CONFORMANT_WITH__ASSIGNABLEELEMENT;
+
+ /**
+ * The operation id for the '<em>Is Conformant With Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FEATURE_INVOCATION_EXPRESSION___IS_CONFORMANT_WITH_TYPE__ELEMENTREFERENCE = INVOCATION_EXPRESSION___IS_CONFORMANT_WITH_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Multiplicity Conformant With</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FEATURE_INVOCATION_EXPRESSION___IS_MULTIPLICITY_CONFORMANT_WITH__ASSIGNABLEELEMENT = INVOCATION_EXPRESSION___IS_MULTIPLICITY_CONFORMANT_WITH__ASSIGNABLEELEMENT;
+
+ /**
+ * The operation id for the '<em>New Assignments</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FEATURE_INVOCATION_EXPRESSION___NEW_ASSIGNMENTS = INVOCATION_EXPRESSION___NEW_ASSIGNMENTS;
+
+ /**
+ * The operation id for the '<em>Expression update Assignments</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FEATURE_INVOCATION_EXPRESSION___EXPRESSION_UPDATE_ASSIGNMENTS = INVOCATION_EXPRESSION___EXPRESSION_UPDATE_ASSIGNMENTS;
+
+ /**
+ * The operation id for the '<em>Update Assignments Cached</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FEATURE_INVOCATION_EXPRESSION___UPDATE_ASSIGNMENTS_CACHED = INVOCATION_EXPRESSION___UPDATE_ASSIGNMENTS_CACHED;
+
+ /**
+ * The operation id for the '<em>Resolve</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FEATURE_INVOCATION_EXPRESSION___RESOLVE__STRING = INVOCATION_EXPRESSION___RESOLVE__STRING;
+
+ /**
+ * The operation id for the '<em>Is Add Target</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FEATURE_INVOCATION_EXPRESSION___IS_ADD_TARGET__EXPRESSION = INVOCATION_EXPRESSION___IS_ADD_TARGET__EXPRESSION;
+
+ /**
+ * The operation id for the '<em>Expression Assignment After Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FEATURE_INVOCATION_EXPRESSION___EXPRESSION_ASSIGNMENT_AFTER_DERIVATION__DIAGNOSTICCHAIN_MAP = INVOCATION_EXPRESSION___EXPRESSION_ASSIGNMENT_AFTER_DERIVATION__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Expression Unique Assignments</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FEATURE_INVOCATION_EXPRESSION___EXPRESSION_UNIQUE_ASSIGNMENTS__DIAGNOSTICCHAIN_MAP = INVOCATION_EXPRESSION___EXPRESSION_UNIQUE_ASSIGNMENTS__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FEATURE_INVOCATION_EXPRESSION___ASSIGNMENTS_BEFORE__SYNTAXELEMENT = INVOCATION_EXPRESSION___ASSIGNMENTS_BEFORE__SYNTAXELEMENT;
+
+ /**
+ * The operation id for the '<em>Referent Cached</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FEATURE_INVOCATION_EXPRESSION___REFERENT_CACHED = INVOCATION_EXPRESSION___REFERENT_CACHED;
+
+ /**
+ * The operation id for the '<em>Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FEATURE_INVOCATION_EXPRESSION___TYPE = INVOCATION_EXPRESSION___TYPE;
+
+ /**
+ * The operation id for the '<em>Invocation Expression type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FEATURE_INVOCATION_EXPRESSION___INVOCATION_EXPRESSION_TYPE = INVOCATION_EXPRESSION___INVOCATION_EXPRESSION_TYPE;
+
+ /**
+ * The operation id for the '<em>Upper</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FEATURE_INVOCATION_EXPRESSION___UPPER = INVOCATION_EXPRESSION___UPPER;
+
+ /**
+ * The operation id for the '<em>Invocation Expression upper</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FEATURE_INVOCATION_EXPRESSION___INVOCATION_EXPRESSION_UPPER = INVOCATION_EXPRESSION___INVOCATION_EXPRESSION_UPPER;
+
+ /**
+ * The operation id for the '<em>Lower</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FEATURE_INVOCATION_EXPRESSION___LOWER = INVOCATION_EXPRESSION___LOWER;
+
+ /**
+ * The operation id for the '<em>Invocation Expression lower</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FEATURE_INVOCATION_EXPRESSION___INVOCATION_EXPRESSION_LOWER = INVOCATION_EXPRESSION___INVOCATION_EXPRESSION_LOWER;
+
+ /**
+ * The operation id for the '<em>Parameter Named</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FEATURE_INVOCATION_EXPRESSION___PARAMETER_NAMED__STRING = INVOCATION_EXPRESSION___PARAMETER_NAMED__STRING;
+
+ /**
+ * The operation id for the '<em>Parameter Count</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FEATURE_INVOCATION_EXPRESSION___PARAMETER_COUNT = INVOCATION_EXPRESSION___PARAMETER_COUNT;
+
+ /**
+ * The operation id for the '<em>Parameter Is Assignable From</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FEATURE_INVOCATION_EXPRESSION___PARAMETER_IS_ASSIGNABLE_FROM__INPUTNAMEDEXPRESSION = INVOCATION_EXPRESSION___PARAMETER_IS_ASSIGNABLE_FROM__INPUTNAMEDEXPRESSION;
+
+ /**
+ * The operation id for the '<em>Parameter Is Assignable To</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FEATURE_INVOCATION_EXPRESSION___PARAMETER_IS_ASSIGNABLE_TO__OUTPUTNAMEDEXPRESSION = INVOCATION_EXPRESSION___PARAMETER_IS_ASSIGNABLE_TO__OUTPUTNAMEDEXPRESSION;
+
+ /**
+ * The operation id for the '<em>Alternative Constructor Is Valid</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FEATURE_INVOCATION_EXPRESSION___ALTERNATIVE_CONSTRUCTOR_IS_VALID = INVOCATION_EXPRESSION___ALTERNATIVE_CONSTRUCTOR_IS_VALID;
+
+ /**
+ * The operation id for the '<em>Bind Template Implicit Arguments</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FEATURE_INVOCATION_EXPRESSION___BIND_TEMPLATE_IMPLICIT_ARGUMENTS__ELEMENTREFERENCE_EXPRESSION = INVOCATION_EXPRESSION___BIND_TEMPLATE_IMPLICIT_ARGUMENTS__ELEMENTREFERENCE_EXPRESSION;
+
+ /**
+ * The operation id for the '<em>Bind Template Implicit Arguments1</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FEATURE_INVOCATION_EXPRESSION___BIND_TEMPLATE_IMPLICIT_ARGUMENTS1__ELEMENTREFERENCE_EXPRESSION = INVOCATION_EXPRESSION___BIND_TEMPLATE_IMPLICIT_ARGUMENTS1__ELEMENTREFERENCE_EXPRESSION;
+
+ /**
+ * The operation id for the '<em>Effective Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FEATURE_INVOCATION_EXPRESSION___EFFECTIVE_TYPE__ELEMENTREFERENCE_EXPRESSION = INVOCATION_EXPRESSION___EFFECTIVE_TYPE__ELEMENTREFERENCE_EXPRESSION;
+
+ /**
+ * The operation id for the '<em>Parameter Elements</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FEATURE_INVOCATION_EXPRESSION___PARAMETER_ELEMENTS = INVOCATION_EXPRESSION___PARAMETER_ELEMENTS;
+
+ /**
+ * The operation id for the '<em>Invocation Expression parameter Elements</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FEATURE_INVOCATION_EXPRESSION___INVOCATION_EXPRESSION_PARAMETER_ELEMENTS = INVOCATION_EXPRESSION___INVOCATION_EXPRESSION_PARAMETER_ELEMENTS;
+
+ /**
+ * The operation id for the '<em>Parameter From Property</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FEATURE_INVOCATION_EXPRESSION___PARAMETER_FROM_PROPERTY__ELEMENTREFERENCE = INVOCATION_EXPRESSION___PARAMETER_FROM_PROPERTY__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Parameter From Property With Multiplicity</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FEATURE_INVOCATION_EXPRESSION___PARAMETER_FROM_PROPERTY_WITH_MULTIPLICITY__ELEMENTREFERENCE_STRING_STRING = INVOCATION_EXPRESSION___PARAMETER_FROM_PROPERTY_WITH_MULTIPLICITY__ELEMENTREFERENCE_STRING_STRING;
+
+ /**
+ * The operation id for the '<em>Invocation Expression Is Behavior Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FEATURE_INVOCATION_EXPRESSION___INVOCATION_EXPRESSION_IS_BEHAVIOR_DERIVATION__DIAGNOSTICCHAIN_MAP = INVOCATION_EXPRESSION___INVOCATION_EXPRESSION_IS_BEHAVIOR_DERIVATION__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Invocation Expression Is Association End Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FEATURE_INVOCATION_EXPRESSION___INVOCATION_EXPRESSION_IS_ASSOCIATION_END_DERIVATION__DIAGNOSTICCHAIN_MAP = INVOCATION_EXPRESSION___INVOCATION_EXPRESSION_IS_ASSOCIATION_END_DERIVATION__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Invocation Expression Is Operation Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FEATURE_INVOCATION_EXPRESSION___INVOCATION_EXPRESSION_IS_OPERATION_DERIVATION__DIAGNOSTICCHAIN_MAP = INVOCATION_EXPRESSION___INVOCATION_EXPRESSION_IS_OPERATION_DERIVATION__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Invocation Expression Is Destructor Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FEATURE_INVOCATION_EXPRESSION___INVOCATION_EXPRESSION_IS_DESTRUCTOR_DERIVATION__DIAGNOSTICCHAIN_MAP = INVOCATION_EXPRESSION___INVOCATION_EXPRESSION_IS_DESTRUCTOR_DERIVATION__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Invocation Expression Is Implicit Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FEATURE_INVOCATION_EXPRESSION___INVOCATION_EXPRESSION_IS_IMPLICIT_DERIVATION__DIAGNOSTICCHAIN_MAP = INVOCATION_EXPRESSION___INVOCATION_EXPRESSION_IS_IMPLICIT_DERIVATION__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Invocation Expression Is Signal Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FEATURE_INVOCATION_EXPRESSION___INVOCATION_EXPRESSION_IS_SIGNAL_DERIVATION__DIAGNOSTICCHAIN_MAP = INVOCATION_EXPRESSION___INVOCATION_EXPRESSION_IS_SIGNAL_DERIVATION__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Invocation Expression Parameter Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FEATURE_INVOCATION_EXPRESSION___INVOCATION_EXPRESSION_PARAMETER_DERIVATION__DIAGNOSTICCHAIN_MAP = INVOCATION_EXPRESSION___INVOCATION_EXPRESSION_PARAMETER_DERIVATION__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Invocation Expression Type Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FEATURE_INVOCATION_EXPRESSION___INVOCATION_EXPRESSION_TYPE_DERIVATION__DIAGNOSTICCHAIN_MAP = INVOCATION_EXPRESSION___INVOCATION_EXPRESSION_TYPE_DERIVATION__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Invocation Expression Upper Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FEATURE_INVOCATION_EXPRESSION___INVOCATION_EXPRESSION_UPPER_DERIVATION__DIAGNOSTICCHAIN_MAP = INVOCATION_EXPRESSION___INVOCATION_EXPRESSION_UPPER_DERIVATION__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Invocation Expression Lower Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FEATURE_INVOCATION_EXPRESSION___INVOCATION_EXPRESSION_LOWER_DERIVATION__DIAGNOSTICCHAIN_MAP = INVOCATION_EXPRESSION___INVOCATION_EXPRESSION_LOWER_DERIVATION__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Invocation Expression Assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FEATURE_INVOCATION_EXPRESSION___INVOCATION_EXPRESSION_ASSIGNMENTS_BEFORE__DIAGNOSTICCHAIN_MAP = INVOCATION_EXPRESSION___INVOCATION_EXPRESSION_ASSIGNMENTS_BEFORE__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Update Assignments</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FEATURE_INVOCATION_EXPRESSION___UPDATE_ASSIGNMENTS = INVOCATION_EXPRESSION___UPDATE_ASSIGNMENTS;
+
+ /**
+ * The operation id for the '<em>Invocation Expression Template Parameters</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FEATURE_INVOCATION_EXPRESSION___INVOCATION_EXPRESSION_TEMPLATE_PARAMETERS__DIAGNOSTICCHAIN_MAP = INVOCATION_EXPRESSION___INVOCATION_EXPRESSION_TEMPLATE_PARAMETERS__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Feature</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FEATURE_INVOCATION_EXPRESSION___FEATURE = INVOCATION_EXPRESSION_OPERATION_COUNT + 0;
+
+ /**
+ * The operation id for the '<em>Referent</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FEATURE_INVOCATION_EXPRESSION___REFERENT = INVOCATION_EXPRESSION_OPERATION_COUNT + 1;
+
+ /**
+ * The operation id for the '<em>Feature Invocation Expression Referent Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FEATURE_INVOCATION_EXPRESSION___FEATURE_INVOCATION_EXPRESSION_REFERENT_DERIVATION__DIAGNOSTICCHAIN_MAP = INVOCATION_EXPRESSION_OPERATION_COUNT + 2;
+
+ /**
+ * The operation id for the '<em>Feature Invocation Expression Feature Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FEATURE_INVOCATION_EXPRESSION___FEATURE_INVOCATION_EXPRESSION_FEATURE_DERIVATION__DIAGNOSTICCHAIN_MAP = INVOCATION_EXPRESSION_OPERATION_COUNT + 3;
+
+ /**
+ * The operation id for the '<em>Feature Invocation Expression Referent Exists</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FEATURE_INVOCATION_EXPRESSION___FEATURE_INVOCATION_EXPRESSION_REFERENT_EXISTS__DIAGNOSTICCHAIN_MAP = INVOCATION_EXPRESSION_OPERATION_COUNT + 4;
+
+ /**
+ * The operation id for the '<em>Feature Invocation Expression Alternative Constructor</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FEATURE_INVOCATION_EXPRESSION___FEATURE_INVOCATION_EXPRESSION_ALTERNATIVE_CONSTRUCTOR__DIAGNOSTICCHAIN_MAP = INVOCATION_EXPRESSION_OPERATION_COUNT + 5;
+
+ /**
+ * The operation id for the '<em>Feature Invocation Expression Implicit Alternative Constructor</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FEATURE_INVOCATION_EXPRESSION___FEATURE_INVOCATION_EXPRESSION_IMPLICIT_ALTERNATIVE_CONSTRUCTOR__DIAGNOSTICCHAIN_MAP = INVOCATION_EXPRESSION_OPERATION_COUNT + 6;
+
+ /**
+ * The number of operations of the '<em>Feature Invocation Expression</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FEATURE_INVOCATION_EXPRESSION_OPERATION_COUNT = INVOCATION_EXPRESSION_OPERATION_COUNT + 7;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.uml.alf.impl.BehaviorInvocationExpressionImpl <em>Behavior Invocation Expression</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.uml.alf.impl.BehaviorInvocationExpressionImpl
+ * @see org.eclipse.papyrus.uml.alf.impl.AlfPackageImpl#getBehaviorInvocationExpression()
+ * @generated
+ */
+ int BEHAVIOR_INVOCATION_EXPRESSION = 57;
+
+ /**
+ * The feature id for the '<em><b>Owner</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BEHAVIOR_INVOCATION_EXPRESSION__OWNER = INVOCATION_EXPRESSION__OWNER;
+
+ /**
+ * The feature id for the '<em><b>Upper</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BEHAVIOR_INVOCATION_EXPRESSION__UPPER = INVOCATION_EXPRESSION__UPPER;
+
+ /**
+ * The feature id for the '<em><b>Lower</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BEHAVIOR_INVOCATION_EXPRESSION__LOWER = INVOCATION_EXPRESSION__LOWER;
+
+ /**
+ * The feature id for the '<em><b>Type</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BEHAVIOR_INVOCATION_EXPRESSION__TYPE = INVOCATION_EXPRESSION__TYPE;
+
+ /**
+ * The feature id for the '<em><b>Assignment Before</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BEHAVIOR_INVOCATION_EXPRESSION__ASSIGNMENT_BEFORE = INVOCATION_EXPRESSION__ASSIGNMENT_BEFORE;
+
+ /**
+ * The feature id for the '<em><b>Assignment After</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BEHAVIOR_INVOCATION_EXPRESSION__ASSIGNMENT_AFTER = INVOCATION_EXPRESSION__ASSIGNMENT_AFTER;
+
+ /**
+ * The feature id for the '<em><b>Is Behavior</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BEHAVIOR_INVOCATION_EXPRESSION__IS_BEHAVIOR = INVOCATION_EXPRESSION__IS_BEHAVIOR;
+
+ /**
+ * The feature id for the '<em><b>Is Association End</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BEHAVIOR_INVOCATION_EXPRESSION__IS_ASSOCIATION_END = INVOCATION_EXPRESSION__IS_ASSOCIATION_END;
+
+ /**
+ * The feature id for the '<em><b>Feature</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BEHAVIOR_INVOCATION_EXPRESSION__FEATURE = INVOCATION_EXPRESSION__FEATURE;
+
+ /**
+ * The feature id for the '<em><b>Is Operation</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BEHAVIOR_INVOCATION_EXPRESSION__IS_OPERATION = INVOCATION_EXPRESSION__IS_OPERATION;
+
+ /**
+ * The feature id for the '<em><b>Is Destructor</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BEHAVIOR_INVOCATION_EXPRESSION__IS_DESTRUCTOR = INVOCATION_EXPRESSION__IS_DESTRUCTOR;
+
+ /**
+ * The feature id for the '<em><b>Is Implicit</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BEHAVIOR_INVOCATION_EXPRESSION__IS_IMPLICIT = INVOCATION_EXPRESSION__IS_IMPLICIT;
+
+ /**
+ * The feature id for the '<em><b>Referent</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BEHAVIOR_INVOCATION_EXPRESSION__REFERENT = INVOCATION_EXPRESSION__REFERENT;
+
+ /**
+ * The feature id for the '<em><b>Parameter</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BEHAVIOR_INVOCATION_EXPRESSION__PARAMETER = INVOCATION_EXPRESSION__PARAMETER;
+
+ /**
+ * The feature id for the '<em><b>Is Signal</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BEHAVIOR_INVOCATION_EXPRESSION__IS_SIGNAL = INVOCATION_EXPRESSION__IS_SIGNAL;
+
+ /**
+ * The feature id for the '<em><b>Tuple</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BEHAVIOR_INVOCATION_EXPRESSION__TUPLE = INVOCATION_EXPRESSION__TUPLE;
+
+ /**
+ * The feature id for the '<em><b>Target</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BEHAVIOR_INVOCATION_EXPRESSION__TARGET = INVOCATION_EXPRESSION_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the '<em>Behavior Invocation Expression</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BEHAVIOR_INVOCATION_EXPRESSION_FEATURE_COUNT = INVOCATION_EXPRESSION_FEATURE_COUNT + 1;
+
+ /**
+ * The operation id for the '<em>To Reference</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BEHAVIOR_INVOCATION_EXPRESSION___TO_REFERENCE = INVOCATION_EXPRESSION___TO_REFERENCE;
+
+ /**
+ * The operation id for the '<em>Owner</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BEHAVIOR_INVOCATION_EXPRESSION___OWNER = INVOCATION_EXPRESSION___OWNER;
+
+ /**
+ * The operation id for the '<em>Syntax Element owner</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BEHAVIOR_INVOCATION_EXPRESSION___SYNTAX_ELEMENT_OWNER = INVOCATION_EXPRESSION___SYNTAX_ELEMENT_OWNER;
+
+ /**
+ * The operation id for the '<em>Current Scope</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BEHAVIOR_INVOCATION_EXPRESSION___CURRENT_SCOPE = INVOCATION_EXPRESSION___CURRENT_SCOPE;
+
+ /**
+ * The operation id for the '<em>Syntax Element current Scope</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BEHAVIOR_INVOCATION_EXPRESSION___SYNTAX_ELEMENT_CURRENT_SCOPE = INVOCATION_EXPRESSION___SYNTAX_ELEMENT_CURRENT_SCOPE;
+
+ /**
+ * The operation id for the '<em>Enclosing Statement</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BEHAVIOR_INVOCATION_EXPRESSION___ENCLOSING_STATEMENT = INVOCATION_EXPRESSION___ENCLOSING_STATEMENT;
+
+ /**
+ * The operation id for the '<em>Enclosing Expression</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BEHAVIOR_INVOCATION_EXPRESSION___ENCLOSING_EXPRESSION = INVOCATION_EXPRESSION___ENCLOSING_EXPRESSION;
+
+ /**
+ * The operation id for the '<em>Assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BEHAVIOR_INVOCATION_EXPRESSION___ASSIGNMENTS_BEFORE = INVOCATION_EXPRESSION___ASSIGNMENTS_BEFORE;
+
+ /**
+ * The operation id for the '<em>Syntax Element assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BEHAVIOR_INVOCATION_EXPRESSION___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE = INVOCATION_EXPRESSION___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE;
+
+ /**
+ * The operation id for the '<em>Syntax Element assignments Before base</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BEHAVIOR_INVOCATION_EXPRESSION___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE_BASE = INVOCATION_EXPRESSION___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE_BASE;
+
+ /**
+ * The operation id for the '<em>Update All</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BEHAVIOR_INVOCATION_EXPRESSION___UPDATE_ALL__ELIST_ELIST = INVOCATION_EXPRESSION___UPDATE_ALL__ELIST_ELIST;
+
+ /**
+ * The operation id for the '<em>Common Ancestor</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BEHAVIOR_INVOCATION_EXPRESSION___COMMON_ANCESTOR__ELIST = INVOCATION_EXPRESSION___COMMON_ANCESTOR__ELIST;
+
+ /**
+ * The operation id for the '<em>Common Ancestors</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BEHAVIOR_INVOCATION_EXPRESSION___COMMON_ANCESTORS__ELIST = INVOCATION_EXPRESSION___COMMON_ANCESTORS__ELIST;
+
+ /**
+ * The operation id for the '<em>Remove Duplicate Elements</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BEHAVIOR_INVOCATION_EXPRESSION___REMOVE_DUPLICATE_ELEMENTS__ELIST = INVOCATION_EXPRESSION___REMOVE_DUPLICATE_ELEMENTS__ELIST;
+
+ /**
+ * The operation id for the '<em>Resolve In Library</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BEHAVIOR_INVOCATION_EXPRESSION___RESOLVE_IN_LIBRARY__STRING = INVOCATION_EXPRESSION___RESOLVE_IN_LIBRARY__STRING;
+
+ /**
+ * The operation id for the '<em>Primitive Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BEHAVIOR_INVOCATION_EXPRESSION___PRIMITIVE_TYPE__STRING = INVOCATION_EXPRESSION___PRIMITIVE_TYPE__STRING;
+
+ /**
+ * The operation id for the '<em>Primitive Type </em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BEHAVIOR_INVOCATION_EXPRESSION___PRIMITIVE_TYPE____STRING = INVOCATION_EXPRESSION___PRIMITIVE_TYPE____STRING;
+
+ /**
+ * The operation id for the '<em>Boolean Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BEHAVIOR_INVOCATION_EXPRESSION___BOOLEAN_TYPE = INVOCATION_EXPRESSION___BOOLEAN_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Boolean Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BEHAVIOR_INVOCATION_EXPRESSION___IS_BOOLEAN_TYPE__ELEMENTREFERENCE = INVOCATION_EXPRESSION___IS_BOOLEAN_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Integer Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BEHAVIOR_INVOCATION_EXPRESSION___INTEGER_TYPE = INVOCATION_EXPRESSION___INTEGER_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Integer Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BEHAVIOR_INVOCATION_EXPRESSION___IS_INTEGER_TYPE__ELEMENTREFERENCE = INVOCATION_EXPRESSION___IS_INTEGER_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BEHAVIOR_INVOCATION_EXPRESSION___STRING_TYPE = INVOCATION_EXPRESSION___STRING_TYPE;
+
+ /**
+ * The operation id for the '<em>Is String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BEHAVIOR_INVOCATION_EXPRESSION___IS_STRING_TYPE__ELEMENTREFERENCE = INVOCATION_EXPRESSION___IS_STRING_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Unlimited Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BEHAVIOR_INVOCATION_EXPRESSION___UNLIMITED_NATURAL_TYPE = INVOCATION_EXPRESSION___UNLIMITED_NATURAL_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Unlimited Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BEHAVIOR_INVOCATION_EXPRESSION___IS_UNLIMITED_NATURAL_TYPE__ELEMENTREFERENCE = INVOCATION_EXPRESSION___IS_UNLIMITED_NATURAL_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Bit String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BEHAVIOR_INVOCATION_EXPRESSION___BIT_STRING_TYPE = INVOCATION_EXPRESSION___BIT_STRING_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Bit String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BEHAVIOR_INVOCATION_EXPRESSION___IS_BIT_STRING_TYPE__ELEMENTREFERENCE = INVOCATION_EXPRESSION___IS_BIT_STRING_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BEHAVIOR_INVOCATION_EXPRESSION___NATURAL_TYPE = INVOCATION_EXPRESSION___NATURAL_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BEHAVIOR_INVOCATION_EXPRESSION___IS_NATURAL_TYPE__ELEMENTREFERENCE = INVOCATION_EXPRESSION___IS_NATURAL_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Numeric Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BEHAVIOR_INVOCATION_EXPRESSION___IS_NUMERIC_TYPE__ELEMENTREFERENCE = INVOCATION_EXPRESSION___IS_NUMERIC_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Collection Function Add</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BEHAVIOR_INVOCATION_EXPRESSION___COLLECTION_FUNCTION_ADD = INVOCATION_EXPRESSION___COLLECTION_FUNCTION_ADD;
+
+ /**
+ * The operation id for the '<em>Is Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BEHAVIOR_INVOCATION_EXPRESSION___IS_COLLECTION_CLASS__ELEMENTREFERENCE = INVOCATION_EXPRESSION___IS_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Integer Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BEHAVIOR_INVOCATION_EXPRESSION___IS_INTEGER_COLLECTION_CLASS__ELEMENTREFERENCE = INVOCATION_EXPRESSION___IS_INTEGER_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Bit String Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BEHAVIOR_INVOCATION_EXPRESSION___IS_BIT_STRING_COLLECTION_CLASS__ELEMENTREFERENCE = INVOCATION_EXPRESSION___IS_BIT_STRING_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Type Cached</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BEHAVIOR_INVOCATION_EXPRESSION___TYPE_CACHED = INVOCATION_EXPRESSION___TYPE_CACHED;
+
+ /**
+ * The operation id for the '<em>Is Null</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BEHAVIOR_INVOCATION_EXPRESSION___IS_NULL = INVOCATION_EXPRESSION___IS_NULL;
+
+ /**
+ * The operation id for the '<em>Is Assignable From Element</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BEHAVIOR_INVOCATION_EXPRESSION___IS_ASSIGNABLE_FROM_ELEMENT__ELEMENTREFERENCE = INVOCATION_EXPRESSION___IS_ASSIGNABLE_FROM_ELEMENT__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Assignable From</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BEHAVIOR_INVOCATION_EXPRESSION___IS_ASSIGNABLE_FROM__ASSIGNABLEELEMENT = INVOCATION_EXPRESSION___IS_ASSIGNABLE_FROM__ASSIGNABLEELEMENT;
+
+ /**
+ * The operation id for the '<em>Is Type Conformant With</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BEHAVIOR_INVOCATION_EXPRESSION___IS_TYPE_CONFORMANT_WITH__ASSIGNABLEELEMENT = INVOCATION_EXPRESSION___IS_TYPE_CONFORMANT_WITH__ASSIGNABLEELEMENT;
+
+ /**
+ * The operation id for the '<em>Is Conformant With Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BEHAVIOR_INVOCATION_EXPRESSION___IS_CONFORMANT_WITH_TYPE__ELEMENTREFERENCE = INVOCATION_EXPRESSION___IS_CONFORMANT_WITH_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Multiplicity Conformant With</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BEHAVIOR_INVOCATION_EXPRESSION___IS_MULTIPLICITY_CONFORMANT_WITH__ASSIGNABLEELEMENT = INVOCATION_EXPRESSION___IS_MULTIPLICITY_CONFORMANT_WITH__ASSIGNABLEELEMENT;
+
+ /**
+ * The operation id for the '<em>New Assignments</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BEHAVIOR_INVOCATION_EXPRESSION___NEW_ASSIGNMENTS = INVOCATION_EXPRESSION___NEW_ASSIGNMENTS;
+
+ /**
+ * The operation id for the '<em>Expression update Assignments</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BEHAVIOR_INVOCATION_EXPRESSION___EXPRESSION_UPDATE_ASSIGNMENTS = INVOCATION_EXPRESSION___EXPRESSION_UPDATE_ASSIGNMENTS;
+
+ /**
+ * The operation id for the '<em>Update Assignments Cached</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BEHAVIOR_INVOCATION_EXPRESSION___UPDATE_ASSIGNMENTS_CACHED = INVOCATION_EXPRESSION___UPDATE_ASSIGNMENTS_CACHED;
+
+ /**
+ * The operation id for the '<em>Resolve</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BEHAVIOR_INVOCATION_EXPRESSION___RESOLVE__STRING = INVOCATION_EXPRESSION___RESOLVE__STRING;
+
+ /**
+ * The operation id for the '<em>Expression Assignment After Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BEHAVIOR_INVOCATION_EXPRESSION___EXPRESSION_ASSIGNMENT_AFTER_DERIVATION__DIAGNOSTICCHAIN_MAP = INVOCATION_EXPRESSION___EXPRESSION_ASSIGNMENT_AFTER_DERIVATION__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Expression Unique Assignments</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BEHAVIOR_INVOCATION_EXPRESSION___EXPRESSION_UNIQUE_ASSIGNMENTS__DIAGNOSTICCHAIN_MAP = INVOCATION_EXPRESSION___EXPRESSION_UNIQUE_ASSIGNMENTS__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BEHAVIOR_INVOCATION_EXPRESSION___ASSIGNMENTS_BEFORE__SYNTAXELEMENT = INVOCATION_EXPRESSION___ASSIGNMENTS_BEFORE__SYNTAXELEMENT;
+
+ /**
+ * The operation id for the '<em>Referent Cached</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BEHAVIOR_INVOCATION_EXPRESSION___REFERENT_CACHED = INVOCATION_EXPRESSION___REFERENT_CACHED;
+
+ /**
+ * The operation id for the '<em>Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BEHAVIOR_INVOCATION_EXPRESSION___TYPE = INVOCATION_EXPRESSION___TYPE;
+
+ /**
+ * The operation id for the '<em>Invocation Expression type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BEHAVIOR_INVOCATION_EXPRESSION___INVOCATION_EXPRESSION_TYPE = INVOCATION_EXPRESSION___INVOCATION_EXPRESSION_TYPE;
+
+ /**
+ * The operation id for the '<em>Upper</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BEHAVIOR_INVOCATION_EXPRESSION___UPPER = INVOCATION_EXPRESSION___UPPER;
+
+ /**
+ * The operation id for the '<em>Invocation Expression upper</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BEHAVIOR_INVOCATION_EXPRESSION___INVOCATION_EXPRESSION_UPPER = INVOCATION_EXPRESSION___INVOCATION_EXPRESSION_UPPER;
+
+ /**
+ * The operation id for the '<em>Lower</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BEHAVIOR_INVOCATION_EXPRESSION___LOWER = INVOCATION_EXPRESSION___LOWER;
+
+ /**
+ * The operation id for the '<em>Invocation Expression lower</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BEHAVIOR_INVOCATION_EXPRESSION___INVOCATION_EXPRESSION_LOWER = INVOCATION_EXPRESSION___INVOCATION_EXPRESSION_LOWER;
+
+ /**
+ * The operation id for the '<em>Parameter Named</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BEHAVIOR_INVOCATION_EXPRESSION___PARAMETER_NAMED__STRING = INVOCATION_EXPRESSION___PARAMETER_NAMED__STRING;
+
+ /**
+ * The operation id for the '<em>Parameter Count</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BEHAVIOR_INVOCATION_EXPRESSION___PARAMETER_COUNT = INVOCATION_EXPRESSION___PARAMETER_COUNT;
+
+ /**
+ * The operation id for the '<em>Parameter Is Assignable From</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BEHAVIOR_INVOCATION_EXPRESSION___PARAMETER_IS_ASSIGNABLE_FROM__INPUTNAMEDEXPRESSION = INVOCATION_EXPRESSION___PARAMETER_IS_ASSIGNABLE_FROM__INPUTNAMEDEXPRESSION;
+
+ /**
+ * The operation id for the '<em>Parameter Is Assignable To</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BEHAVIOR_INVOCATION_EXPRESSION___PARAMETER_IS_ASSIGNABLE_TO__OUTPUTNAMEDEXPRESSION = INVOCATION_EXPRESSION___PARAMETER_IS_ASSIGNABLE_TO__OUTPUTNAMEDEXPRESSION;
+
+ /**
+ * The operation id for the '<em>Alternative Constructor Is Valid</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BEHAVIOR_INVOCATION_EXPRESSION___ALTERNATIVE_CONSTRUCTOR_IS_VALID = INVOCATION_EXPRESSION___ALTERNATIVE_CONSTRUCTOR_IS_VALID;
+
+ /**
+ * The operation id for the '<em>Bind Template Implicit Arguments</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BEHAVIOR_INVOCATION_EXPRESSION___BIND_TEMPLATE_IMPLICIT_ARGUMENTS__ELEMENTREFERENCE_EXPRESSION = INVOCATION_EXPRESSION___BIND_TEMPLATE_IMPLICIT_ARGUMENTS__ELEMENTREFERENCE_EXPRESSION;
+
+ /**
+ * The operation id for the '<em>Bind Template Implicit Arguments1</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BEHAVIOR_INVOCATION_EXPRESSION___BIND_TEMPLATE_IMPLICIT_ARGUMENTS1__ELEMENTREFERENCE_EXPRESSION = INVOCATION_EXPRESSION___BIND_TEMPLATE_IMPLICIT_ARGUMENTS1__ELEMENTREFERENCE_EXPRESSION;
+
+ /**
+ * The operation id for the '<em>Effective Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BEHAVIOR_INVOCATION_EXPRESSION___EFFECTIVE_TYPE__ELEMENTREFERENCE_EXPRESSION = INVOCATION_EXPRESSION___EFFECTIVE_TYPE__ELEMENTREFERENCE_EXPRESSION;
+
+ /**
+ * The operation id for the '<em>Parameter Elements</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BEHAVIOR_INVOCATION_EXPRESSION___PARAMETER_ELEMENTS = INVOCATION_EXPRESSION___PARAMETER_ELEMENTS;
+
+ /**
+ * The operation id for the '<em>Invocation Expression parameter Elements</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BEHAVIOR_INVOCATION_EXPRESSION___INVOCATION_EXPRESSION_PARAMETER_ELEMENTS = INVOCATION_EXPRESSION___INVOCATION_EXPRESSION_PARAMETER_ELEMENTS;
+
+ /**
+ * The operation id for the '<em>Parameter From Property</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BEHAVIOR_INVOCATION_EXPRESSION___PARAMETER_FROM_PROPERTY__ELEMENTREFERENCE = INVOCATION_EXPRESSION___PARAMETER_FROM_PROPERTY__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Parameter From Property With Multiplicity</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BEHAVIOR_INVOCATION_EXPRESSION___PARAMETER_FROM_PROPERTY_WITH_MULTIPLICITY__ELEMENTREFERENCE_STRING_STRING = INVOCATION_EXPRESSION___PARAMETER_FROM_PROPERTY_WITH_MULTIPLICITY__ELEMENTREFERENCE_STRING_STRING;
+
+ /**
+ * The operation id for the '<em>Invocation Expression Is Behavior Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BEHAVIOR_INVOCATION_EXPRESSION___INVOCATION_EXPRESSION_IS_BEHAVIOR_DERIVATION__DIAGNOSTICCHAIN_MAP = INVOCATION_EXPRESSION___INVOCATION_EXPRESSION_IS_BEHAVIOR_DERIVATION__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Invocation Expression Is Association End Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BEHAVIOR_INVOCATION_EXPRESSION___INVOCATION_EXPRESSION_IS_ASSOCIATION_END_DERIVATION__DIAGNOSTICCHAIN_MAP = INVOCATION_EXPRESSION___INVOCATION_EXPRESSION_IS_ASSOCIATION_END_DERIVATION__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Invocation Expression Is Operation Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BEHAVIOR_INVOCATION_EXPRESSION___INVOCATION_EXPRESSION_IS_OPERATION_DERIVATION__DIAGNOSTICCHAIN_MAP = INVOCATION_EXPRESSION___INVOCATION_EXPRESSION_IS_OPERATION_DERIVATION__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Invocation Expression Is Destructor Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BEHAVIOR_INVOCATION_EXPRESSION___INVOCATION_EXPRESSION_IS_DESTRUCTOR_DERIVATION__DIAGNOSTICCHAIN_MAP = INVOCATION_EXPRESSION___INVOCATION_EXPRESSION_IS_DESTRUCTOR_DERIVATION__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Invocation Expression Is Implicit Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BEHAVIOR_INVOCATION_EXPRESSION___INVOCATION_EXPRESSION_IS_IMPLICIT_DERIVATION__DIAGNOSTICCHAIN_MAP = INVOCATION_EXPRESSION___INVOCATION_EXPRESSION_IS_IMPLICIT_DERIVATION__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Invocation Expression Is Signal Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BEHAVIOR_INVOCATION_EXPRESSION___INVOCATION_EXPRESSION_IS_SIGNAL_DERIVATION__DIAGNOSTICCHAIN_MAP = INVOCATION_EXPRESSION___INVOCATION_EXPRESSION_IS_SIGNAL_DERIVATION__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Invocation Expression Parameter Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BEHAVIOR_INVOCATION_EXPRESSION___INVOCATION_EXPRESSION_PARAMETER_DERIVATION__DIAGNOSTICCHAIN_MAP = INVOCATION_EXPRESSION___INVOCATION_EXPRESSION_PARAMETER_DERIVATION__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Invocation Expression Type Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BEHAVIOR_INVOCATION_EXPRESSION___INVOCATION_EXPRESSION_TYPE_DERIVATION__DIAGNOSTICCHAIN_MAP = INVOCATION_EXPRESSION___INVOCATION_EXPRESSION_TYPE_DERIVATION__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Invocation Expression Upper Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BEHAVIOR_INVOCATION_EXPRESSION___INVOCATION_EXPRESSION_UPPER_DERIVATION__DIAGNOSTICCHAIN_MAP = INVOCATION_EXPRESSION___INVOCATION_EXPRESSION_UPPER_DERIVATION__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Invocation Expression Lower Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BEHAVIOR_INVOCATION_EXPRESSION___INVOCATION_EXPRESSION_LOWER_DERIVATION__DIAGNOSTICCHAIN_MAP = INVOCATION_EXPRESSION___INVOCATION_EXPRESSION_LOWER_DERIVATION__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Invocation Expression Assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BEHAVIOR_INVOCATION_EXPRESSION___INVOCATION_EXPRESSION_ASSIGNMENTS_BEFORE__DIAGNOSTICCHAIN_MAP = INVOCATION_EXPRESSION___INVOCATION_EXPRESSION_ASSIGNMENTS_BEFORE__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Update Assignments</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BEHAVIOR_INVOCATION_EXPRESSION___UPDATE_ASSIGNMENTS = INVOCATION_EXPRESSION___UPDATE_ASSIGNMENTS;
+
+ /**
+ * The operation id for the '<em>Invocation Expression Template Parameters</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BEHAVIOR_INVOCATION_EXPRESSION___INVOCATION_EXPRESSION_TEMPLATE_PARAMETERS__DIAGNOSTICCHAIN_MAP = INVOCATION_EXPRESSION___INVOCATION_EXPRESSION_TEMPLATE_PARAMETERS__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Is Add Target</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BEHAVIOR_INVOCATION_EXPRESSION___IS_ADD_TARGET__EXPRESSION = INVOCATION_EXPRESSION_OPERATION_COUNT + 0;
+
+ /**
+ * The operation id for the '<em>Referent</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BEHAVIOR_INVOCATION_EXPRESSION___REFERENT = INVOCATION_EXPRESSION_OPERATION_COUNT + 1;
+
+ /**
+ * The operation id for the '<em>Referent1</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BEHAVIOR_INVOCATION_EXPRESSION___REFERENT1 = INVOCATION_EXPRESSION_OPERATION_COUNT + 2;
+
+ /**
+ * The operation id for the '<em>Behavior Invocation referent</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BEHAVIOR_INVOCATION_EXPRESSION___BEHAVIOR_INVOCATION_REFERENT = INVOCATION_EXPRESSION_OPERATION_COUNT + 3;
+
+ /**
+ * The operation id for the '<em>Feature</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BEHAVIOR_INVOCATION_EXPRESSION___FEATURE = INVOCATION_EXPRESSION_OPERATION_COUNT + 4;
+
+ /**
+ * The operation id for the '<em>Behavior Invocation Expression Referent Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BEHAVIOR_INVOCATION_EXPRESSION___BEHAVIOR_INVOCATION_EXPRESSION_REFERENT_DERIVATION__DIAGNOSTICCHAIN_MAP = INVOCATION_EXPRESSION_OPERATION_COUNT + 5;
+
+ /**
+ * The operation id for the '<em>Behavior Invocation Expression Feature Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BEHAVIOR_INVOCATION_EXPRESSION___BEHAVIOR_INVOCATION_EXPRESSION_FEATURE_DERIVATION__DIAGNOSTICCHAIN_MAP = INVOCATION_EXPRESSION_OPERATION_COUNT + 6;
+
+ /**
+ * The operation id for the '<em>Behavior Invocation Expression Referent Constraint</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BEHAVIOR_INVOCATION_EXPRESSION___BEHAVIOR_INVOCATION_EXPRESSION_REFERENT_CONSTRAINT__DIAGNOSTICCHAIN_MAP = INVOCATION_EXPRESSION_OPERATION_COUNT + 7;
+
+ /**
+ * The operation id for the '<em>Behavior Invocation Expression Argument Compatibility</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BEHAVIOR_INVOCATION_EXPRESSION___BEHAVIOR_INVOCATION_EXPRESSION_ARGUMENT_COMPATIBILITY__DIAGNOSTICCHAIN_MAP = INVOCATION_EXPRESSION_OPERATION_COUNT + 8;
+
+ /**
+ * The operation id for the '<em>Behavior Invocation Expression Alternative Constructor</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BEHAVIOR_INVOCATION_EXPRESSION___BEHAVIOR_INVOCATION_EXPRESSION_ALTERNATIVE_CONSTRUCTOR__DIAGNOSTICCHAIN_MAP = INVOCATION_EXPRESSION_OPERATION_COUNT + 9;
+
+ /**
+ * The number of operations of the '<em>Behavior Invocation Expression</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BEHAVIOR_INVOCATION_EXPRESSION_OPERATION_COUNT = INVOCATION_EXPRESSION_OPERATION_COUNT + 10;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.uml.alf.impl.ShiftExpressionImpl <em>Shift Expression</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.uml.alf.impl.ShiftExpressionImpl
+ * @see org.eclipse.papyrus.uml.alf.impl.AlfPackageImpl#getShiftExpression()
+ * @generated
+ */
+ int SHIFT_EXPRESSION = 58;
+
+ /**
+ * The feature id for the '<em><b>Owner</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SHIFT_EXPRESSION__OWNER = BINARY_EXPRESSION__OWNER;
+
+ /**
+ * The feature id for the '<em><b>Upper</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SHIFT_EXPRESSION__UPPER = BINARY_EXPRESSION__UPPER;
+
+ /**
+ * The feature id for the '<em><b>Lower</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SHIFT_EXPRESSION__LOWER = BINARY_EXPRESSION__LOWER;
+
+ /**
+ * The feature id for the '<em><b>Type</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SHIFT_EXPRESSION__TYPE = BINARY_EXPRESSION__TYPE;
+
+ /**
+ * The feature id for the '<em><b>Assignment Before</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SHIFT_EXPRESSION__ASSIGNMENT_BEFORE = BINARY_EXPRESSION__ASSIGNMENT_BEFORE;
+
+ /**
+ * The feature id for the '<em><b>Assignment After</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SHIFT_EXPRESSION__ASSIGNMENT_AFTER = BINARY_EXPRESSION__ASSIGNMENT_AFTER;
+
+ /**
+ * The feature id for the '<em><b>Operand1</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SHIFT_EXPRESSION__OPERAND1 = BINARY_EXPRESSION__OPERAND1;
+
+ /**
+ * The feature id for the '<em><b>Operand2</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SHIFT_EXPRESSION__OPERAND2 = BINARY_EXPRESSION__OPERAND2;
+
+ /**
+ * The feature id for the '<em><b>Operator</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SHIFT_EXPRESSION__OPERATOR = BINARY_EXPRESSION__OPERATOR;
+
+ /**
+ * The feature id for the '<em><b>Is Bit String Conversion</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SHIFT_EXPRESSION__IS_BIT_STRING_CONVERSION = BINARY_EXPRESSION_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the '<em>Shift Expression</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SHIFT_EXPRESSION_FEATURE_COUNT = BINARY_EXPRESSION_FEATURE_COUNT + 1;
+
+ /**
+ * The operation id for the '<em>To Reference</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SHIFT_EXPRESSION___TO_REFERENCE = BINARY_EXPRESSION___TO_REFERENCE;
+
+ /**
+ * The operation id for the '<em>Owner</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SHIFT_EXPRESSION___OWNER = BINARY_EXPRESSION___OWNER;
+
+ /**
+ * The operation id for the '<em>Syntax Element owner</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SHIFT_EXPRESSION___SYNTAX_ELEMENT_OWNER = BINARY_EXPRESSION___SYNTAX_ELEMENT_OWNER;
+
+ /**
+ * The operation id for the '<em>Current Scope</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SHIFT_EXPRESSION___CURRENT_SCOPE = BINARY_EXPRESSION___CURRENT_SCOPE;
+
+ /**
+ * The operation id for the '<em>Syntax Element current Scope</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SHIFT_EXPRESSION___SYNTAX_ELEMENT_CURRENT_SCOPE = BINARY_EXPRESSION___SYNTAX_ELEMENT_CURRENT_SCOPE;
+
+ /**
+ * The operation id for the '<em>Enclosing Statement</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SHIFT_EXPRESSION___ENCLOSING_STATEMENT = BINARY_EXPRESSION___ENCLOSING_STATEMENT;
+
+ /**
+ * The operation id for the '<em>Enclosing Expression</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SHIFT_EXPRESSION___ENCLOSING_EXPRESSION = BINARY_EXPRESSION___ENCLOSING_EXPRESSION;
+
+ /**
+ * The operation id for the '<em>Assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SHIFT_EXPRESSION___ASSIGNMENTS_BEFORE = BINARY_EXPRESSION___ASSIGNMENTS_BEFORE;
+
+ /**
+ * The operation id for the '<em>Syntax Element assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SHIFT_EXPRESSION___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE = BINARY_EXPRESSION___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE;
+
+ /**
+ * The operation id for the '<em>Syntax Element assignments Before base</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SHIFT_EXPRESSION___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE_BASE = BINARY_EXPRESSION___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE_BASE;
+
+ /**
+ * The operation id for the '<em>Assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SHIFT_EXPRESSION___ASSIGNMENTS_BEFORE__SYNTAXELEMENT = BINARY_EXPRESSION___ASSIGNMENTS_BEFORE__SYNTAXELEMENT;
+
+ /**
+ * The operation id for the '<em>Update All</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SHIFT_EXPRESSION___UPDATE_ALL__ELIST_ELIST = BINARY_EXPRESSION___UPDATE_ALL__ELIST_ELIST;
+
+ /**
+ * The operation id for the '<em>Common Ancestor</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SHIFT_EXPRESSION___COMMON_ANCESTOR__ELIST = BINARY_EXPRESSION___COMMON_ANCESTOR__ELIST;
+
+ /**
+ * The operation id for the '<em>Common Ancestors</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SHIFT_EXPRESSION___COMMON_ANCESTORS__ELIST = BINARY_EXPRESSION___COMMON_ANCESTORS__ELIST;
+
+ /**
+ * The operation id for the '<em>Remove Duplicate Elements</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SHIFT_EXPRESSION___REMOVE_DUPLICATE_ELEMENTS__ELIST = BINARY_EXPRESSION___REMOVE_DUPLICATE_ELEMENTS__ELIST;
+
+ /**
+ * The operation id for the '<em>Resolve In Library</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SHIFT_EXPRESSION___RESOLVE_IN_LIBRARY__STRING = BINARY_EXPRESSION___RESOLVE_IN_LIBRARY__STRING;
+
+ /**
+ * The operation id for the '<em>Primitive Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SHIFT_EXPRESSION___PRIMITIVE_TYPE__STRING = BINARY_EXPRESSION___PRIMITIVE_TYPE__STRING;
+
+ /**
+ * The operation id for the '<em>Primitive Type </em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SHIFT_EXPRESSION___PRIMITIVE_TYPE____STRING = BINARY_EXPRESSION___PRIMITIVE_TYPE____STRING;
+
+ /**
+ * The operation id for the '<em>Boolean Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SHIFT_EXPRESSION___BOOLEAN_TYPE = BINARY_EXPRESSION___BOOLEAN_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Boolean Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SHIFT_EXPRESSION___IS_BOOLEAN_TYPE__ELEMENTREFERENCE = BINARY_EXPRESSION___IS_BOOLEAN_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Integer Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SHIFT_EXPRESSION___INTEGER_TYPE = BINARY_EXPRESSION___INTEGER_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Integer Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SHIFT_EXPRESSION___IS_INTEGER_TYPE__ELEMENTREFERENCE = BINARY_EXPRESSION___IS_INTEGER_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SHIFT_EXPRESSION___STRING_TYPE = BINARY_EXPRESSION___STRING_TYPE;
+
+ /**
+ * The operation id for the '<em>Is String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SHIFT_EXPRESSION___IS_STRING_TYPE__ELEMENTREFERENCE = BINARY_EXPRESSION___IS_STRING_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Unlimited Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SHIFT_EXPRESSION___UNLIMITED_NATURAL_TYPE = BINARY_EXPRESSION___UNLIMITED_NATURAL_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Unlimited Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SHIFT_EXPRESSION___IS_UNLIMITED_NATURAL_TYPE__ELEMENTREFERENCE = BINARY_EXPRESSION___IS_UNLIMITED_NATURAL_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Bit String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SHIFT_EXPRESSION___BIT_STRING_TYPE = BINARY_EXPRESSION___BIT_STRING_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Bit String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SHIFT_EXPRESSION___IS_BIT_STRING_TYPE__ELEMENTREFERENCE = BINARY_EXPRESSION___IS_BIT_STRING_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SHIFT_EXPRESSION___NATURAL_TYPE = BINARY_EXPRESSION___NATURAL_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SHIFT_EXPRESSION___IS_NATURAL_TYPE__ELEMENTREFERENCE = BINARY_EXPRESSION___IS_NATURAL_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Numeric Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SHIFT_EXPRESSION___IS_NUMERIC_TYPE__ELEMENTREFERENCE = BINARY_EXPRESSION___IS_NUMERIC_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Collection Function Add</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SHIFT_EXPRESSION___COLLECTION_FUNCTION_ADD = BINARY_EXPRESSION___COLLECTION_FUNCTION_ADD;
+
+ /**
+ * The operation id for the '<em>Is Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SHIFT_EXPRESSION___IS_COLLECTION_CLASS__ELEMENTREFERENCE = BINARY_EXPRESSION___IS_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Integer Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SHIFT_EXPRESSION___IS_INTEGER_COLLECTION_CLASS__ELEMENTREFERENCE = BINARY_EXPRESSION___IS_INTEGER_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Bit String Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SHIFT_EXPRESSION___IS_BIT_STRING_COLLECTION_CLASS__ELEMENTREFERENCE = BINARY_EXPRESSION___IS_BIT_STRING_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Type Cached</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SHIFT_EXPRESSION___TYPE_CACHED = BINARY_EXPRESSION___TYPE_CACHED;
+
+ /**
+ * The operation id for the '<em>Is Null</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SHIFT_EXPRESSION___IS_NULL = BINARY_EXPRESSION___IS_NULL;
+
+ /**
+ * The operation id for the '<em>Is Assignable From Element</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SHIFT_EXPRESSION___IS_ASSIGNABLE_FROM_ELEMENT__ELEMENTREFERENCE = BINARY_EXPRESSION___IS_ASSIGNABLE_FROM_ELEMENT__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Assignable From</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SHIFT_EXPRESSION___IS_ASSIGNABLE_FROM__ASSIGNABLEELEMENT = BINARY_EXPRESSION___IS_ASSIGNABLE_FROM__ASSIGNABLEELEMENT;
+
+ /**
+ * The operation id for the '<em>Is Type Conformant With</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SHIFT_EXPRESSION___IS_TYPE_CONFORMANT_WITH__ASSIGNABLEELEMENT = BINARY_EXPRESSION___IS_TYPE_CONFORMANT_WITH__ASSIGNABLEELEMENT;
+
+ /**
+ * The operation id for the '<em>Is Conformant With Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SHIFT_EXPRESSION___IS_CONFORMANT_WITH_TYPE__ELEMENTREFERENCE = BINARY_EXPRESSION___IS_CONFORMANT_WITH_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Multiplicity Conformant With</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SHIFT_EXPRESSION___IS_MULTIPLICITY_CONFORMANT_WITH__ASSIGNABLEELEMENT = BINARY_EXPRESSION___IS_MULTIPLICITY_CONFORMANT_WITH__ASSIGNABLEELEMENT;
+
+ /**
+ * The operation id for the '<em>New Assignments</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SHIFT_EXPRESSION___NEW_ASSIGNMENTS = BINARY_EXPRESSION___NEW_ASSIGNMENTS;
+
+ /**
+ * The operation id for the '<em>Expression update Assignments</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SHIFT_EXPRESSION___EXPRESSION_UPDATE_ASSIGNMENTS = BINARY_EXPRESSION___EXPRESSION_UPDATE_ASSIGNMENTS;
+
+ /**
+ * The operation id for the '<em>Update Assignments Cached</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SHIFT_EXPRESSION___UPDATE_ASSIGNMENTS_CACHED = BINARY_EXPRESSION___UPDATE_ASSIGNMENTS_CACHED;
+
+ /**
+ * The operation id for the '<em>Resolve</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SHIFT_EXPRESSION___RESOLVE__STRING = BINARY_EXPRESSION___RESOLVE__STRING;
+
+ /**
+ * The operation id for the '<em>Is Add Target</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SHIFT_EXPRESSION___IS_ADD_TARGET__EXPRESSION = BINARY_EXPRESSION___IS_ADD_TARGET__EXPRESSION;
+
+ /**
+ * The operation id for the '<em>Expression Assignment After Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SHIFT_EXPRESSION___EXPRESSION_ASSIGNMENT_AFTER_DERIVATION__DIAGNOSTICCHAIN_MAP = BINARY_EXPRESSION___EXPRESSION_ASSIGNMENT_AFTER_DERIVATION__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Expression Unique Assignments</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SHIFT_EXPRESSION___EXPRESSION_UNIQUE_ASSIGNMENTS__DIAGNOSTICCHAIN_MAP = BINARY_EXPRESSION___EXPRESSION_UNIQUE_ASSIGNMENTS__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Validate Assignments</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SHIFT_EXPRESSION___VALIDATE_ASSIGNMENTS = BINARY_EXPRESSION___VALIDATE_ASSIGNMENTS;
+
+ /**
+ * The operation id for the '<em>No Null Arguments</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SHIFT_EXPRESSION___NO_NULL_ARGUMENTS = BINARY_EXPRESSION___NO_NULL_ARGUMENTS;
+
+ /**
+ * The operation id for the '<em>Binary Expression Operand Multiplicity</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SHIFT_EXPRESSION___BINARY_EXPRESSION_OPERAND_MULTIPLICITY__DIAGNOSTICCHAIN_MAP = BINARY_EXPRESSION___BINARY_EXPRESSION_OPERAND_MULTIPLICITY__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Binary Expression Operand Assignments</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SHIFT_EXPRESSION___BINARY_EXPRESSION_OPERAND_ASSIGNMENTS__DIAGNOSTICCHAIN_MAP = BINARY_EXPRESSION___BINARY_EXPRESSION_OPERAND_ASSIGNMENTS__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Update Assignments</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SHIFT_EXPRESSION___UPDATE_ASSIGNMENTS = BINARY_EXPRESSION___UPDATE_ASSIGNMENTS;
+
+ /**
+ * The operation id for the '<em>Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SHIFT_EXPRESSION___TYPE = BINARY_EXPRESSION_OPERATION_COUNT + 0;
+
+ /**
+ * The operation id for the '<em>Lower</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SHIFT_EXPRESSION___LOWER = BINARY_EXPRESSION_OPERATION_COUNT + 1;
+
+ /**
+ * The operation id for the '<em>Upper</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SHIFT_EXPRESSION___UPPER = BINARY_EXPRESSION_OPERATION_COUNT + 2;
+
+ /**
+ * The operation id for the '<em>Shift Expression Type Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SHIFT_EXPRESSION___SHIFT_EXPRESSION_TYPE_DERIVATION__DIAGNOSTICCHAIN_MAP = BINARY_EXPRESSION_OPERATION_COUNT + 3;
+
+ /**
+ * The operation id for the '<em>Shift Expression Lower Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SHIFT_EXPRESSION___SHIFT_EXPRESSION_LOWER_DERIVATION__DIAGNOSTICCHAIN_MAP = BINARY_EXPRESSION_OPERATION_COUNT + 4;
+
+ /**
+ * The operation id for the '<em>Shift Expression Upper Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SHIFT_EXPRESSION___SHIFT_EXPRESSION_UPPER_DERIVATION__DIAGNOSTICCHAIN_MAP = BINARY_EXPRESSION_OPERATION_COUNT + 5;
+
+ /**
+ * The operation id for the '<em>Shift Expression Operands</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SHIFT_EXPRESSION___SHIFT_EXPRESSION_OPERANDS__DIAGNOSTICCHAIN_MAP = BINARY_EXPRESSION_OPERATION_COUNT + 6;
+
+ /**
+ * The operation id for the '<em>Shift Expression Is Bit String Conversion Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SHIFT_EXPRESSION___SHIFT_EXPRESSION_IS_BIT_STRING_CONVERSION_DERIVATION__DIAGNOSTICCHAIN_MAP = BINARY_EXPRESSION_OPERATION_COUNT + 7;
+
+ /**
+ * The number of operations of the '<em>Shift Expression</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SHIFT_EXPRESSION_OPERATION_COUNT = BINARY_EXPRESSION_OPERATION_COUNT + 8;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.uml.alf.impl.UnboundedLiteralExpressionImpl <em>Unbounded Literal Expression</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.uml.alf.impl.UnboundedLiteralExpressionImpl
+ * @see org.eclipse.papyrus.uml.alf.impl.AlfPackageImpl#getUnboundedLiteralExpression()
+ * @generated
+ */
+ int UNBOUNDED_LITERAL_EXPRESSION = 59;
+
+ /**
+ * The feature id for the '<em><b>Owner</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UNBOUNDED_LITERAL_EXPRESSION__OWNER = LITERAL_EXPRESSION__OWNER;
+
+ /**
+ * The feature id for the '<em><b>Upper</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UNBOUNDED_LITERAL_EXPRESSION__UPPER = LITERAL_EXPRESSION__UPPER;
+
+ /**
+ * The feature id for the '<em><b>Lower</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UNBOUNDED_LITERAL_EXPRESSION__LOWER = LITERAL_EXPRESSION__LOWER;
+
+ /**
+ * The feature id for the '<em><b>Type</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UNBOUNDED_LITERAL_EXPRESSION__TYPE = LITERAL_EXPRESSION__TYPE;
+
+ /**
+ * The feature id for the '<em><b>Assignment Before</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UNBOUNDED_LITERAL_EXPRESSION__ASSIGNMENT_BEFORE = LITERAL_EXPRESSION__ASSIGNMENT_BEFORE;
+
+ /**
+ * The feature id for the '<em><b>Assignment After</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UNBOUNDED_LITERAL_EXPRESSION__ASSIGNMENT_AFTER = LITERAL_EXPRESSION__ASSIGNMENT_AFTER;
+
+ /**
+ * The number of structural features of the '<em>Unbounded Literal Expression</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UNBOUNDED_LITERAL_EXPRESSION_FEATURE_COUNT = LITERAL_EXPRESSION_FEATURE_COUNT + 0;
+
+ /**
+ * The operation id for the '<em>To Reference</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UNBOUNDED_LITERAL_EXPRESSION___TO_REFERENCE = LITERAL_EXPRESSION___TO_REFERENCE;
+
+ /**
+ * The operation id for the '<em>Owner</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UNBOUNDED_LITERAL_EXPRESSION___OWNER = LITERAL_EXPRESSION___OWNER;
+
+ /**
+ * The operation id for the '<em>Syntax Element owner</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UNBOUNDED_LITERAL_EXPRESSION___SYNTAX_ELEMENT_OWNER = LITERAL_EXPRESSION___SYNTAX_ELEMENT_OWNER;
+
+ /**
+ * The operation id for the '<em>Current Scope</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UNBOUNDED_LITERAL_EXPRESSION___CURRENT_SCOPE = LITERAL_EXPRESSION___CURRENT_SCOPE;
+
+ /**
+ * The operation id for the '<em>Syntax Element current Scope</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UNBOUNDED_LITERAL_EXPRESSION___SYNTAX_ELEMENT_CURRENT_SCOPE = LITERAL_EXPRESSION___SYNTAX_ELEMENT_CURRENT_SCOPE;
+
+ /**
+ * The operation id for the '<em>Enclosing Statement</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UNBOUNDED_LITERAL_EXPRESSION___ENCLOSING_STATEMENT = LITERAL_EXPRESSION___ENCLOSING_STATEMENT;
+
+ /**
+ * The operation id for the '<em>Enclosing Expression</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UNBOUNDED_LITERAL_EXPRESSION___ENCLOSING_EXPRESSION = LITERAL_EXPRESSION___ENCLOSING_EXPRESSION;
+
+ /**
+ * The operation id for the '<em>Assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UNBOUNDED_LITERAL_EXPRESSION___ASSIGNMENTS_BEFORE = LITERAL_EXPRESSION___ASSIGNMENTS_BEFORE;
+
+ /**
+ * The operation id for the '<em>Syntax Element assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UNBOUNDED_LITERAL_EXPRESSION___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE = LITERAL_EXPRESSION___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE;
+
+ /**
+ * The operation id for the '<em>Syntax Element assignments Before base</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UNBOUNDED_LITERAL_EXPRESSION___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE_BASE = LITERAL_EXPRESSION___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE_BASE;
+
+ /**
+ * The operation id for the '<em>Assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UNBOUNDED_LITERAL_EXPRESSION___ASSIGNMENTS_BEFORE__SYNTAXELEMENT = LITERAL_EXPRESSION___ASSIGNMENTS_BEFORE__SYNTAXELEMENT;
+
+ /**
+ * The operation id for the '<em>Update All</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UNBOUNDED_LITERAL_EXPRESSION___UPDATE_ALL__ELIST_ELIST = LITERAL_EXPRESSION___UPDATE_ALL__ELIST_ELIST;
+
+ /**
+ * The operation id for the '<em>Common Ancestor</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UNBOUNDED_LITERAL_EXPRESSION___COMMON_ANCESTOR__ELIST = LITERAL_EXPRESSION___COMMON_ANCESTOR__ELIST;
+
+ /**
+ * The operation id for the '<em>Common Ancestors</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UNBOUNDED_LITERAL_EXPRESSION___COMMON_ANCESTORS__ELIST = LITERAL_EXPRESSION___COMMON_ANCESTORS__ELIST;
+
+ /**
+ * The operation id for the '<em>Remove Duplicate Elements</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UNBOUNDED_LITERAL_EXPRESSION___REMOVE_DUPLICATE_ELEMENTS__ELIST = LITERAL_EXPRESSION___REMOVE_DUPLICATE_ELEMENTS__ELIST;
+
+ /**
+ * The operation id for the '<em>Resolve In Library</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UNBOUNDED_LITERAL_EXPRESSION___RESOLVE_IN_LIBRARY__STRING = LITERAL_EXPRESSION___RESOLVE_IN_LIBRARY__STRING;
+
+ /**
+ * The operation id for the '<em>Primitive Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UNBOUNDED_LITERAL_EXPRESSION___PRIMITIVE_TYPE__STRING = LITERAL_EXPRESSION___PRIMITIVE_TYPE__STRING;
+
+ /**
+ * The operation id for the '<em>Primitive Type </em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UNBOUNDED_LITERAL_EXPRESSION___PRIMITIVE_TYPE____STRING = LITERAL_EXPRESSION___PRIMITIVE_TYPE____STRING;
+
+ /**
+ * The operation id for the '<em>Boolean Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UNBOUNDED_LITERAL_EXPRESSION___BOOLEAN_TYPE = LITERAL_EXPRESSION___BOOLEAN_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Boolean Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UNBOUNDED_LITERAL_EXPRESSION___IS_BOOLEAN_TYPE__ELEMENTREFERENCE = LITERAL_EXPRESSION___IS_BOOLEAN_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Integer Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UNBOUNDED_LITERAL_EXPRESSION___INTEGER_TYPE = LITERAL_EXPRESSION___INTEGER_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Integer Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UNBOUNDED_LITERAL_EXPRESSION___IS_INTEGER_TYPE__ELEMENTREFERENCE = LITERAL_EXPRESSION___IS_INTEGER_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UNBOUNDED_LITERAL_EXPRESSION___STRING_TYPE = LITERAL_EXPRESSION___STRING_TYPE;
+
+ /**
+ * The operation id for the '<em>Is String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UNBOUNDED_LITERAL_EXPRESSION___IS_STRING_TYPE__ELEMENTREFERENCE = LITERAL_EXPRESSION___IS_STRING_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Unlimited Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UNBOUNDED_LITERAL_EXPRESSION___UNLIMITED_NATURAL_TYPE = LITERAL_EXPRESSION___UNLIMITED_NATURAL_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Unlimited Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UNBOUNDED_LITERAL_EXPRESSION___IS_UNLIMITED_NATURAL_TYPE__ELEMENTREFERENCE = LITERAL_EXPRESSION___IS_UNLIMITED_NATURAL_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Bit String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UNBOUNDED_LITERAL_EXPRESSION___BIT_STRING_TYPE = LITERAL_EXPRESSION___BIT_STRING_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Bit String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UNBOUNDED_LITERAL_EXPRESSION___IS_BIT_STRING_TYPE__ELEMENTREFERENCE = LITERAL_EXPRESSION___IS_BIT_STRING_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UNBOUNDED_LITERAL_EXPRESSION___NATURAL_TYPE = LITERAL_EXPRESSION___NATURAL_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UNBOUNDED_LITERAL_EXPRESSION___IS_NATURAL_TYPE__ELEMENTREFERENCE = LITERAL_EXPRESSION___IS_NATURAL_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Numeric Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UNBOUNDED_LITERAL_EXPRESSION___IS_NUMERIC_TYPE__ELEMENTREFERENCE = LITERAL_EXPRESSION___IS_NUMERIC_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Collection Function Add</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UNBOUNDED_LITERAL_EXPRESSION___COLLECTION_FUNCTION_ADD = LITERAL_EXPRESSION___COLLECTION_FUNCTION_ADD;
+
+ /**
+ * The operation id for the '<em>Is Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UNBOUNDED_LITERAL_EXPRESSION___IS_COLLECTION_CLASS__ELEMENTREFERENCE = LITERAL_EXPRESSION___IS_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Integer Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UNBOUNDED_LITERAL_EXPRESSION___IS_INTEGER_COLLECTION_CLASS__ELEMENTREFERENCE = LITERAL_EXPRESSION___IS_INTEGER_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Bit String Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UNBOUNDED_LITERAL_EXPRESSION___IS_BIT_STRING_COLLECTION_CLASS__ELEMENTREFERENCE = LITERAL_EXPRESSION___IS_BIT_STRING_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Type Cached</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UNBOUNDED_LITERAL_EXPRESSION___TYPE_CACHED = LITERAL_EXPRESSION___TYPE_CACHED;
+
+ /**
+ * The operation id for the '<em>Is Null</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UNBOUNDED_LITERAL_EXPRESSION___IS_NULL = LITERAL_EXPRESSION___IS_NULL;
+
+ /**
+ * The operation id for the '<em>Is Assignable From Element</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UNBOUNDED_LITERAL_EXPRESSION___IS_ASSIGNABLE_FROM_ELEMENT__ELEMENTREFERENCE = LITERAL_EXPRESSION___IS_ASSIGNABLE_FROM_ELEMENT__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Assignable From</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UNBOUNDED_LITERAL_EXPRESSION___IS_ASSIGNABLE_FROM__ASSIGNABLEELEMENT = LITERAL_EXPRESSION___IS_ASSIGNABLE_FROM__ASSIGNABLEELEMENT;
+
+ /**
+ * The operation id for the '<em>Is Type Conformant With</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UNBOUNDED_LITERAL_EXPRESSION___IS_TYPE_CONFORMANT_WITH__ASSIGNABLEELEMENT = LITERAL_EXPRESSION___IS_TYPE_CONFORMANT_WITH__ASSIGNABLEELEMENT;
+
+ /**
+ * The operation id for the '<em>Is Conformant With Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UNBOUNDED_LITERAL_EXPRESSION___IS_CONFORMANT_WITH_TYPE__ELEMENTREFERENCE = LITERAL_EXPRESSION___IS_CONFORMANT_WITH_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Multiplicity Conformant With</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UNBOUNDED_LITERAL_EXPRESSION___IS_MULTIPLICITY_CONFORMANT_WITH__ASSIGNABLEELEMENT = LITERAL_EXPRESSION___IS_MULTIPLICITY_CONFORMANT_WITH__ASSIGNABLEELEMENT;
+
+ /**
+ * The operation id for the '<em>New Assignments</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UNBOUNDED_LITERAL_EXPRESSION___NEW_ASSIGNMENTS = LITERAL_EXPRESSION___NEW_ASSIGNMENTS;
+
+ /**
+ * The operation id for the '<em>Update Assignments</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UNBOUNDED_LITERAL_EXPRESSION___UPDATE_ASSIGNMENTS = LITERAL_EXPRESSION___UPDATE_ASSIGNMENTS;
+
+ /**
+ * The operation id for the '<em>Expression update Assignments</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UNBOUNDED_LITERAL_EXPRESSION___EXPRESSION_UPDATE_ASSIGNMENTS = LITERAL_EXPRESSION___EXPRESSION_UPDATE_ASSIGNMENTS;
+
+ /**
+ * The operation id for the '<em>Update Assignments Cached</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UNBOUNDED_LITERAL_EXPRESSION___UPDATE_ASSIGNMENTS_CACHED = LITERAL_EXPRESSION___UPDATE_ASSIGNMENTS_CACHED;
+
+ /**
+ * The operation id for the '<em>Resolve</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UNBOUNDED_LITERAL_EXPRESSION___RESOLVE__STRING = LITERAL_EXPRESSION___RESOLVE__STRING;
+
+ /**
+ * The operation id for the '<em>Is Add Target</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UNBOUNDED_LITERAL_EXPRESSION___IS_ADD_TARGET__EXPRESSION = LITERAL_EXPRESSION___IS_ADD_TARGET__EXPRESSION;
+
+ /**
+ * The operation id for the '<em>Expression Assignment After Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UNBOUNDED_LITERAL_EXPRESSION___EXPRESSION_ASSIGNMENT_AFTER_DERIVATION__DIAGNOSTICCHAIN_MAP = LITERAL_EXPRESSION___EXPRESSION_ASSIGNMENT_AFTER_DERIVATION__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Expression Unique Assignments</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UNBOUNDED_LITERAL_EXPRESSION___EXPRESSION_UNIQUE_ASSIGNMENTS__DIAGNOSTICCHAIN_MAP = LITERAL_EXPRESSION___EXPRESSION_UNIQUE_ASSIGNMENTS__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Upper</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UNBOUNDED_LITERAL_EXPRESSION___UPPER = LITERAL_EXPRESSION___UPPER;
+
+ /**
+ * The operation id for the '<em>Lower</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UNBOUNDED_LITERAL_EXPRESSION___LOWER = LITERAL_EXPRESSION___LOWER;
+
+ /**
+ * The operation id for the '<em>Literal Expression Upper Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UNBOUNDED_LITERAL_EXPRESSION___LITERAL_EXPRESSION_UPPER_DERIVATION__DIAGNOSTICCHAIN_MAP = LITERAL_EXPRESSION___LITERAL_EXPRESSION_UPPER_DERIVATION__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Literal Expression Lower Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UNBOUNDED_LITERAL_EXPRESSION___LITERAL_EXPRESSION_LOWER_DERIVATION__DIAGNOSTICCHAIN_MAP = LITERAL_EXPRESSION___LITERAL_EXPRESSION_LOWER_DERIVATION__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UNBOUNDED_LITERAL_EXPRESSION___TYPE = LITERAL_EXPRESSION_OPERATION_COUNT + 0;
+
+ /**
+ * The operation id for the '<em>Unbounded Literal Expression Type Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UNBOUNDED_LITERAL_EXPRESSION___UNBOUNDED_LITERAL_EXPRESSION_TYPE_DERIVATION__DIAGNOSTICCHAIN_MAP = LITERAL_EXPRESSION_OPERATION_COUNT + 1;
+
+ /**
+ * The number of operations of the '<em>Unbounded Literal Expression</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UNBOUNDED_LITERAL_EXPRESSION_OPERATION_COUNT = LITERAL_EXPRESSION_OPERATION_COUNT + 2;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.uml.alf.impl.ThisExpressionImpl <em>This Expression</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.uml.alf.impl.ThisExpressionImpl
+ * @see org.eclipse.papyrus.uml.alf.impl.AlfPackageImpl#getThisExpression()
+ * @generated
+ */
+ int THIS_EXPRESSION = 60;
+
+ /**
+ * The feature id for the '<em><b>Owner</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int THIS_EXPRESSION__OWNER = EXPRESSION__OWNER;
+
+ /**
+ * The feature id for the '<em><b>Upper</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int THIS_EXPRESSION__UPPER = EXPRESSION__UPPER;
+
+ /**
+ * The feature id for the '<em><b>Lower</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int THIS_EXPRESSION__LOWER = EXPRESSION__LOWER;
+
+ /**
+ * The feature id for the '<em><b>Type</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int THIS_EXPRESSION__TYPE = EXPRESSION__TYPE;
+
+ /**
+ * The feature id for the '<em><b>Assignment Before</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int THIS_EXPRESSION__ASSIGNMENT_BEFORE = EXPRESSION__ASSIGNMENT_BEFORE;
+
+ /**
+ * The feature id for the '<em><b>Assignment After</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int THIS_EXPRESSION__ASSIGNMENT_AFTER = EXPRESSION__ASSIGNMENT_AFTER;
+
+ /**
+ * The number of structural features of the '<em>This Expression</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int THIS_EXPRESSION_FEATURE_COUNT = EXPRESSION_FEATURE_COUNT + 0;
+
+ /**
+ * The operation id for the '<em>To Reference</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int THIS_EXPRESSION___TO_REFERENCE = EXPRESSION___TO_REFERENCE;
+
+ /**
+ * The operation id for the '<em>Owner</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int THIS_EXPRESSION___OWNER = EXPRESSION___OWNER;
+
+ /**
+ * The operation id for the '<em>Syntax Element owner</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int THIS_EXPRESSION___SYNTAX_ELEMENT_OWNER = EXPRESSION___SYNTAX_ELEMENT_OWNER;
+
+ /**
+ * The operation id for the '<em>Current Scope</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int THIS_EXPRESSION___CURRENT_SCOPE = EXPRESSION___CURRENT_SCOPE;
+
+ /**
+ * The operation id for the '<em>Syntax Element current Scope</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int THIS_EXPRESSION___SYNTAX_ELEMENT_CURRENT_SCOPE = EXPRESSION___SYNTAX_ELEMENT_CURRENT_SCOPE;
+
+ /**
+ * The operation id for the '<em>Enclosing Statement</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int THIS_EXPRESSION___ENCLOSING_STATEMENT = EXPRESSION___ENCLOSING_STATEMENT;
+
+ /**
+ * The operation id for the '<em>Enclosing Expression</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int THIS_EXPRESSION___ENCLOSING_EXPRESSION = EXPRESSION___ENCLOSING_EXPRESSION;
+
+ /**
+ * The operation id for the '<em>Assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int THIS_EXPRESSION___ASSIGNMENTS_BEFORE = EXPRESSION___ASSIGNMENTS_BEFORE;
+
+ /**
+ * The operation id for the '<em>Syntax Element assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int THIS_EXPRESSION___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE = EXPRESSION___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE;
+
+ /**
+ * The operation id for the '<em>Syntax Element assignments Before base</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int THIS_EXPRESSION___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE_BASE = EXPRESSION___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE_BASE;
+
+ /**
+ * The operation id for the '<em>Assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int THIS_EXPRESSION___ASSIGNMENTS_BEFORE__SYNTAXELEMENT = EXPRESSION___ASSIGNMENTS_BEFORE__SYNTAXELEMENT;
+
+ /**
+ * The operation id for the '<em>Update All</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int THIS_EXPRESSION___UPDATE_ALL__ELIST_ELIST = EXPRESSION___UPDATE_ALL__ELIST_ELIST;
+
+ /**
+ * The operation id for the '<em>Common Ancestor</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int THIS_EXPRESSION___COMMON_ANCESTOR__ELIST = EXPRESSION___COMMON_ANCESTOR__ELIST;
+
+ /**
+ * The operation id for the '<em>Common Ancestors</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int THIS_EXPRESSION___COMMON_ANCESTORS__ELIST = EXPRESSION___COMMON_ANCESTORS__ELIST;
+
+ /**
+ * The operation id for the '<em>Remove Duplicate Elements</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int THIS_EXPRESSION___REMOVE_DUPLICATE_ELEMENTS__ELIST = EXPRESSION___REMOVE_DUPLICATE_ELEMENTS__ELIST;
+
+ /**
+ * The operation id for the '<em>Resolve In Library</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int THIS_EXPRESSION___RESOLVE_IN_LIBRARY__STRING = EXPRESSION___RESOLVE_IN_LIBRARY__STRING;
+
+ /**
+ * The operation id for the '<em>Primitive Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int THIS_EXPRESSION___PRIMITIVE_TYPE__STRING = EXPRESSION___PRIMITIVE_TYPE__STRING;
+
+ /**
+ * The operation id for the '<em>Primitive Type </em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int THIS_EXPRESSION___PRIMITIVE_TYPE____STRING = EXPRESSION___PRIMITIVE_TYPE____STRING;
+
+ /**
+ * The operation id for the '<em>Boolean Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int THIS_EXPRESSION___BOOLEAN_TYPE = EXPRESSION___BOOLEAN_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Boolean Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int THIS_EXPRESSION___IS_BOOLEAN_TYPE__ELEMENTREFERENCE = EXPRESSION___IS_BOOLEAN_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Integer Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int THIS_EXPRESSION___INTEGER_TYPE = EXPRESSION___INTEGER_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Integer Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int THIS_EXPRESSION___IS_INTEGER_TYPE__ELEMENTREFERENCE = EXPRESSION___IS_INTEGER_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int THIS_EXPRESSION___STRING_TYPE = EXPRESSION___STRING_TYPE;
+
+ /**
+ * The operation id for the '<em>Is String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int THIS_EXPRESSION___IS_STRING_TYPE__ELEMENTREFERENCE = EXPRESSION___IS_STRING_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Unlimited Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int THIS_EXPRESSION___UNLIMITED_NATURAL_TYPE = EXPRESSION___UNLIMITED_NATURAL_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Unlimited Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int THIS_EXPRESSION___IS_UNLIMITED_NATURAL_TYPE__ELEMENTREFERENCE = EXPRESSION___IS_UNLIMITED_NATURAL_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Bit String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int THIS_EXPRESSION___BIT_STRING_TYPE = EXPRESSION___BIT_STRING_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Bit String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int THIS_EXPRESSION___IS_BIT_STRING_TYPE__ELEMENTREFERENCE = EXPRESSION___IS_BIT_STRING_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int THIS_EXPRESSION___NATURAL_TYPE = EXPRESSION___NATURAL_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int THIS_EXPRESSION___IS_NATURAL_TYPE__ELEMENTREFERENCE = EXPRESSION___IS_NATURAL_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Numeric Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int THIS_EXPRESSION___IS_NUMERIC_TYPE__ELEMENTREFERENCE = EXPRESSION___IS_NUMERIC_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Collection Function Add</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int THIS_EXPRESSION___COLLECTION_FUNCTION_ADD = EXPRESSION___COLLECTION_FUNCTION_ADD;
+
+ /**
+ * The operation id for the '<em>Is Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int THIS_EXPRESSION___IS_COLLECTION_CLASS__ELEMENTREFERENCE = EXPRESSION___IS_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Integer Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int THIS_EXPRESSION___IS_INTEGER_COLLECTION_CLASS__ELEMENTREFERENCE = EXPRESSION___IS_INTEGER_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Bit String Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int THIS_EXPRESSION___IS_BIT_STRING_COLLECTION_CLASS__ELEMENTREFERENCE = EXPRESSION___IS_BIT_STRING_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Type Cached</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int THIS_EXPRESSION___TYPE_CACHED = EXPRESSION___TYPE_CACHED;
+
+ /**
+ * The operation id for the '<em>Is Null</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int THIS_EXPRESSION___IS_NULL = EXPRESSION___IS_NULL;
+
+ /**
+ * The operation id for the '<em>Is Assignable From Element</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int THIS_EXPRESSION___IS_ASSIGNABLE_FROM_ELEMENT__ELEMENTREFERENCE = EXPRESSION___IS_ASSIGNABLE_FROM_ELEMENT__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Assignable From</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int THIS_EXPRESSION___IS_ASSIGNABLE_FROM__ASSIGNABLEELEMENT = EXPRESSION___IS_ASSIGNABLE_FROM__ASSIGNABLEELEMENT;
+
+ /**
+ * The operation id for the '<em>Is Type Conformant With</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int THIS_EXPRESSION___IS_TYPE_CONFORMANT_WITH__ASSIGNABLEELEMENT = EXPRESSION___IS_TYPE_CONFORMANT_WITH__ASSIGNABLEELEMENT;
+
+ /**
+ * The operation id for the '<em>Is Conformant With Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int THIS_EXPRESSION___IS_CONFORMANT_WITH_TYPE__ELEMENTREFERENCE = EXPRESSION___IS_CONFORMANT_WITH_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Multiplicity Conformant With</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int THIS_EXPRESSION___IS_MULTIPLICITY_CONFORMANT_WITH__ASSIGNABLEELEMENT = EXPRESSION___IS_MULTIPLICITY_CONFORMANT_WITH__ASSIGNABLEELEMENT;
+
+ /**
+ * The operation id for the '<em>New Assignments</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int THIS_EXPRESSION___NEW_ASSIGNMENTS = EXPRESSION___NEW_ASSIGNMENTS;
+
+ /**
+ * The operation id for the '<em>Update Assignments</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int THIS_EXPRESSION___UPDATE_ASSIGNMENTS = EXPRESSION___UPDATE_ASSIGNMENTS;
+
+ /**
+ * The operation id for the '<em>Expression update Assignments</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int THIS_EXPRESSION___EXPRESSION_UPDATE_ASSIGNMENTS = EXPRESSION___EXPRESSION_UPDATE_ASSIGNMENTS;
+
+ /**
+ * The operation id for the '<em>Update Assignments Cached</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int THIS_EXPRESSION___UPDATE_ASSIGNMENTS_CACHED = EXPRESSION___UPDATE_ASSIGNMENTS_CACHED;
+
+ /**
+ * The operation id for the '<em>Resolve</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int THIS_EXPRESSION___RESOLVE__STRING = EXPRESSION___RESOLVE__STRING;
+
+ /**
+ * The operation id for the '<em>Is Add Target</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int THIS_EXPRESSION___IS_ADD_TARGET__EXPRESSION = EXPRESSION___IS_ADD_TARGET__EXPRESSION;
+
+ /**
+ * The operation id for the '<em>Expression Assignment After Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int THIS_EXPRESSION___EXPRESSION_ASSIGNMENT_AFTER_DERIVATION__DIAGNOSTICCHAIN_MAP = EXPRESSION___EXPRESSION_ASSIGNMENT_AFTER_DERIVATION__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Expression Unique Assignments</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int THIS_EXPRESSION___EXPRESSION_UNIQUE_ASSIGNMENTS__DIAGNOSTICCHAIN_MAP = EXPRESSION___EXPRESSION_UNIQUE_ASSIGNMENTS__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int THIS_EXPRESSION___TYPE = EXPRESSION_OPERATION_COUNT + 0;
+
+ /**
+ * The operation id for the '<em>Upper</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int THIS_EXPRESSION___UPPER = EXPRESSION_OPERATION_COUNT + 1;
+
+ /**
+ * The operation id for the '<em>Lower</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int THIS_EXPRESSION___LOWER = EXPRESSION_OPERATION_COUNT + 2;
+
+ /**
+ * The operation id for the '<em>This Expression Type Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int THIS_EXPRESSION___THIS_EXPRESSION_TYPE_DERIVATION__DIAGNOSTICCHAIN_MAP = EXPRESSION_OPERATION_COUNT + 3;
+
+ /**
+ * The operation id for the '<em>This Expression Upper Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int THIS_EXPRESSION___THIS_EXPRESSION_UPPER_DERIVATION__DIAGNOSTICCHAIN_MAP = EXPRESSION_OPERATION_COUNT + 4;
+
+ /**
+ * The operation id for the '<em>This Expression Lower Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int THIS_EXPRESSION___THIS_EXPRESSION_LOWER_DERIVATION__DIAGNOSTICCHAIN_MAP = EXPRESSION_OPERATION_COUNT + 5;
+
+ /**
+ * The number of operations of the '<em>This Expression</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int THIS_EXPRESSION_OPERATION_COUNT = EXPRESSION_OPERATION_COUNT + 6;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.uml.alf.impl.ClassificationExpressionImpl <em>Classification Expression</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.uml.alf.impl.ClassificationExpressionImpl
+ * @see org.eclipse.papyrus.uml.alf.impl.AlfPackageImpl#getClassificationExpression()
+ * @generated
+ */
+ int CLASSIFICATION_EXPRESSION = 61;
+
+ /**
+ * The feature id for the '<em><b>Owner</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASSIFICATION_EXPRESSION__OWNER = UNARY_EXPRESSION__OWNER;
+
+ /**
+ * The feature id for the '<em><b>Upper</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASSIFICATION_EXPRESSION__UPPER = UNARY_EXPRESSION__UPPER;
+
+ /**
+ * The feature id for the '<em><b>Lower</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASSIFICATION_EXPRESSION__LOWER = UNARY_EXPRESSION__LOWER;
+
+ /**
+ * The feature id for the '<em><b>Type</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASSIFICATION_EXPRESSION__TYPE = UNARY_EXPRESSION__TYPE;
+
+ /**
+ * The feature id for the '<em><b>Assignment Before</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASSIFICATION_EXPRESSION__ASSIGNMENT_BEFORE = UNARY_EXPRESSION__ASSIGNMENT_BEFORE;
+
+ /**
+ * The feature id for the '<em><b>Assignment After</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASSIFICATION_EXPRESSION__ASSIGNMENT_AFTER = UNARY_EXPRESSION__ASSIGNMENT_AFTER;
+
+ /**
+ * The feature id for the '<em><b>Operator</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASSIFICATION_EXPRESSION__OPERATOR = UNARY_EXPRESSION__OPERATOR;
+
+ /**
+ * The feature id for the '<em><b>Operand</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASSIFICATION_EXPRESSION__OPERAND = UNARY_EXPRESSION__OPERAND;
+
+ /**
+ * The feature id for the '<em><b>Referent</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASSIFICATION_EXPRESSION__REFERENT = UNARY_EXPRESSION_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Is Direct</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASSIFICATION_EXPRESSION__IS_DIRECT = UNARY_EXPRESSION_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Type Name</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASSIFICATION_EXPRESSION__TYPE_NAME = UNARY_EXPRESSION_FEATURE_COUNT + 2;
+
+ /**
+ * The number of structural features of the '<em>Classification Expression</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASSIFICATION_EXPRESSION_FEATURE_COUNT = UNARY_EXPRESSION_FEATURE_COUNT + 3;
+
+ /**
+ * The operation id for the '<em>To Reference</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASSIFICATION_EXPRESSION___TO_REFERENCE = UNARY_EXPRESSION___TO_REFERENCE;
+
+ /**
+ * The operation id for the '<em>Owner</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASSIFICATION_EXPRESSION___OWNER = UNARY_EXPRESSION___OWNER;
+
+ /**
+ * The operation id for the '<em>Syntax Element owner</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASSIFICATION_EXPRESSION___SYNTAX_ELEMENT_OWNER = UNARY_EXPRESSION___SYNTAX_ELEMENT_OWNER;
+
+ /**
+ * The operation id for the '<em>Current Scope</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASSIFICATION_EXPRESSION___CURRENT_SCOPE = UNARY_EXPRESSION___CURRENT_SCOPE;
+
+ /**
+ * The operation id for the '<em>Syntax Element current Scope</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASSIFICATION_EXPRESSION___SYNTAX_ELEMENT_CURRENT_SCOPE = UNARY_EXPRESSION___SYNTAX_ELEMENT_CURRENT_SCOPE;
+
+ /**
+ * The operation id for the '<em>Enclosing Statement</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASSIFICATION_EXPRESSION___ENCLOSING_STATEMENT = UNARY_EXPRESSION___ENCLOSING_STATEMENT;
+
+ /**
+ * The operation id for the '<em>Enclosing Expression</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASSIFICATION_EXPRESSION___ENCLOSING_EXPRESSION = UNARY_EXPRESSION___ENCLOSING_EXPRESSION;
+
+ /**
+ * The operation id for the '<em>Assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASSIFICATION_EXPRESSION___ASSIGNMENTS_BEFORE = UNARY_EXPRESSION___ASSIGNMENTS_BEFORE;
+
+ /**
+ * The operation id for the '<em>Syntax Element assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASSIFICATION_EXPRESSION___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE = UNARY_EXPRESSION___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE;
+
+ /**
+ * The operation id for the '<em>Syntax Element assignments Before base</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASSIFICATION_EXPRESSION___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE_BASE = UNARY_EXPRESSION___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE_BASE;
+
+ /**
+ * The operation id for the '<em>Assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASSIFICATION_EXPRESSION___ASSIGNMENTS_BEFORE__SYNTAXELEMENT = UNARY_EXPRESSION___ASSIGNMENTS_BEFORE__SYNTAXELEMENT;
+
+ /**
+ * The operation id for the '<em>Update All</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASSIFICATION_EXPRESSION___UPDATE_ALL__ELIST_ELIST = UNARY_EXPRESSION___UPDATE_ALL__ELIST_ELIST;
+
+ /**
+ * The operation id for the '<em>Common Ancestor</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASSIFICATION_EXPRESSION___COMMON_ANCESTOR__ELIST = UNARY_EXPRESSION___COMMON_ANCESTOR__ELIST;
+
+ /**
+ * The operation id for the '<em>Common Ancestors</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASSIFICATION_EXPRESSION___COMMON_ANCESTORS__ELIST = UNARY_EXPRESSION___COMMON_ANCESTORS__ELIST;
+
+ /**
+ * The operation id for the '<em>Remove Duplicate Elements</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASSIFICATION_EXPRESSION___REMOVE_DUPLICATE_ELEMENTS__ELIST = UNARY_EXPRESSION___REMOVE_DUPLICATE_ELEMENTS__ELIST;
+
+ /**
+ * The operation id for the '<em>Resolve In Library</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASSIFICATION_EXPRESSION___RESOLVE_IN_LIBRARY__STRING = UNARY_EXPRESSION___RESOLVE_IN_LIBRARY__STRING;
+
+ /**
+ * The operation id for the '<em>Primitive Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASSIFICATION_EXPRESSION___PRIMITIVE_TYPE__STRING = UNARY_EXPRESSION___PRIMITIVE_TYPE__STRING;
+
+ /**
+ * The operation id for the '<em>Primitive Type </em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASSIFICATION_EXPRESSION___PRIMITIVE_TYPE____STRING = UNARY_EXPRESSION___PRIMITIVE_TYPE____STRING;
+
+ /**
+ * The operation id for the '<em>Boolean Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASSIFICATION_EXPRESSION___BOOLEAN_TYPE = UNARY_EXPRESSION___BOOLEAN_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Boolean Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASSIFICATION_EXPRESSION___IS_BOOLEAN_TYPE__ELEMENTREFERENCE = UNARY_EXPRESSION___IS_BOOLEAN_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Integer Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASSIFICATION_EXPRESSION___INTEGER_TYPE = UNARY_EXPRESSION___INTEGER_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Integer Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASSIFICATION_EXPRESSION___IS_INTEGER_TYPE__ELEMENTREFERENCE = UNARY_EXPRESSION___IS_INTEGER_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASSIFICATION_EXPRESSION___STRING_TYPE = UNARY_EXPRESSION___STRING_TYPE;
+
+ /**
+ * The operation id for the '<em>Is String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASSIFICATION_EXPRESSION___IS_STRING_TYPE__ELEMENTREFERENCE = UNARY_EXPRESSION___IS_STRING_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Unlimited Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASSIFICATION_EXPRESSION___UNLIMITED_NATURAL_TYPE = UNARY_EXPRESSION___UNLIMITED_NATURAL_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Unlimited Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASSIFICATION_EXPRESSION___IS_UNLIMITED_NATURAL_TYPE__ELEMENTREFERENCE = UNARY_EXPRESSION___IS_UNLIMITED_NATURAL_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Bit String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASSIFICATION_EXPRESSION___BIT_STRING_TYPE = UNARY_EXPRESSION___BIT_STRING_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Bit String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASSIFICATION_EXPRESSION___IS_BIT_STRING_TYPE__ELEMENTREFERENCE = UNARY_EXPRESSION___IS_BIT_STRING_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASSIFICATION_EXPRESSION___NATURAL_TYPE = UNARY_EXPRESSION___NATURAL_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASSIFICATION_EXPRESSION___IS_NATURAL_TYPE__ELEMENTREFERENCE = UNARY_EXPRESSION___IS_NATURAL_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Numeric Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASSIFICATION_EXPRESSION___IS_NUMERIC_TYPE__ELEMENTREFERENCE = UNARY_EXPRESSION___IS_NUMERIC_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Collection Function Add</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASSIFICATION_EXPRESSION___COLLECTION_FUNCTION_ADD = UNARY_EXPRESSION___COLLECTION_FUNCTION_ADD;
+
+ /**
+ * The operation id for the '<em>Is Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASSIFICATION_EXPRESSION___IS_COLLECTION_CLASS__ELEMENTREFERENCE = UNARY_EXPRESSION___IS_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Integer Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASSIFICATION_EXPRESSION___IS_INTEGER_COLLECTION_CLASS__ELEMENTREFERENCE = UNARY_EXPRESSION___IS_INTEGER_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Bit String Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASSIFICATION_EXPRESSION___IS_BIT_STRING_COLLECTION_CLASS__ELEMENTREFERENCE = UNARY_EXPRESSION___IS_BIT_STRING_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Type Cached</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASSIFICATION_EXPRESSION___TYPE_CACHED = UNARY_EXPRESSION___TYPE_CACHED;
+
+ /**
+ * The operation id for the '<em>Is Null</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASSIFICATION_EXPRESSION___IS_NULL = UNARY_EXPRESSION___IS_NULL;
+
+ /**
+ * The operation id for the '<em>Is Assignable From Element</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASSIFICATION_EXPRESSION___IS_ASSIGNABLE_FROM_ELEMENT__ELEMENTREFERENCE = UNARY_EXPRESSION___IS_ASSIGNABLE_FROM_ELEMENT__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Assignable From</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASSIFICATION_EXPRESSION___IS_ASSIGNABLE_FROM__ASSIGNABLEELEMENT = UNARY_EXPRESSION___IS_ASSIGNABLE_FROM__ASSIGNABLEELEMENT;
+
+ /**
+ * The operation id for the '<em>Is Type Conformant With</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASSIFICATION_EXPRESSION___IS_TYPE_CONFORMANT_WITH__ASSIGNABLEELEMENT = UNARY_EXPRESSION___IS_TYPE_CONFORMANT_WITH__ASSIGNABLEELEMENT;
+
+ /**
+ * The operation id for the '<em>Is Conformant With Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASSIFICATION_EXPRESSION___IS_CONFORMANT_WITH_TYPE__ELEMENTREFERENCE = UNARY_EXPRESSION___IS_CONFORMANT_WITH_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Multiplicity Conformant With</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASSIFICATION_EXPRESSION___IS_MULTIPLICITY_CONFORMANT_WITH__ASSIGNABLEELEMENT = UNARY_EXPRESSION___IS_MULTIPLICITY_CONFORMANT_WITH__ASSIGNABLEELEMENT;
+
+ /**
+ * The operation id for the '<em>New Assignments</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASSIFICATION_EXPRESSION___NEW_ASSIGNMENTS = UNARY_EXPRESSION___NEW_ASSIGNMENTS;
+
+ /**
+ * The operation id for the '<em>Expression update Assignments</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASSIFICATION_EXPRESSION___EXPRESSION_UPDATE_ASSIGNMENTS = UNARY_EXPRESSION___EXPRESSION_UPDATE_ASSIGNMENTS;
+
+ /**
+ * The operation id for the '<em>Update Assignments Cached</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASSIFICATION_EXPRESSION___UPDATE_ASSIGNMENTS_CACHED = UNARY_EXPRESSION___UPDATE_ASSIGNMENTS_CACHED;
+
+ /**
+ * The operation id for the '<em>Resolve</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASSIFICATION_EXPRESSION___RESOLVE__STRING = UNARY_EXPRESSION___RESOLVE__STRING;
+
+ /**
+ * The operation id for the '<em>Is Add Target</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASSIFICATION_EXPRESSION___IS_ADD_TARGET__EXPRESSION = UNARY_EXPRESSION___IS_ADD_TARGET__EXPRESSION;
+
+ /**
+ * The operation id for the '<em>Expression Assignment After Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASSIFICATION_EXPRESSION___EXPRESSION_ASSIGNMENT_AFTER_DERIVATION__DIAGNOSTICCHAIN_MAP = UNARY_EXPRESSION___EXPRESSION_ASSIGNMENT_AFTER_DERIVATION__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Expression Unique Assignments</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASSIFICATION_EXPRESSION___EXPRESSION_UNIQUE_ASSIGNMENTS__DIAGNOSTICCHAIN_MAP = UNARY_EXPRESSION___EXPRESSION_UNIQUE_ASSIGNMENTS__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Unary Expression Assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASSIFICATION_EXPRESSION___UNARY_EXPRESSION_ASSIGNMENTS_BEFORE__DIAGNOSTICCHAIN_MAP = UNARY_EXPRESSION___UNARY_EXPRESSION_ASSIGNMENTS_BEFORE__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Update Assignments</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASSIFICATION_EXPRESSION___UPDATE_ASSIGNMENTS = UNARY_EXPRESSION___UPDATE_ASSIGNMENTS;
+
+ /**
+ * The operation id for the '<em>Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASSIFICATION_EXPRESSION___TYPE = UNARY_EXPRESSION_OPERATION_COUNT + 0;
+
+ /**
+ * The operation id for the '<em>Lower</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASSIFICATION_EXPRESSION___LOWER = UNARY_EXPRESSION_OPERATION_COUNT + 1;
+
+ /**
+ * The operation id for the '<em>Upper</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASSIFICATION_EXPRESSION___UPPER = UNARY_EXPRESSION_OPERATION_COUNT + 2;
+
+ /**
+ * The operation id for the '<em>Classification Expression Is Direct Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASSIFICATION_EXPRESSION___CLASSIFICATION_EXPRESSION_IS_DIRECT_DERIVATION__DIAGNOSTICCHAIN_MAP = UNARY_EXPRESSION_OPERATION_COUNT + 3;
+
+ /**
+ * The operation id for the '<em>Classification Expression Referent Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASSIFICATION_EXPRESSION___CLASSIFICATION_EXPRESSION_REFERENT_DERIVATION__DIAGNOSTICCHAIN_MAP = UNARY_EXPRESSION_OPERATION_COUNT + 4;
+
+ /**
+ * The operation id for the '<em>Classification Expression Type Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASSIFICATION_EXPRESSION___CLASSIFICATION_EXPRESSION_TYPE_DERIVATION__DIAGNOSTICCHAIN_MAP = UNARY_EXPRESSION_OPERATION_COUNT + 5;
+
+ /**
+ * The operation id for the '<em>Classification Expression Lower Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASSIFICATION_EXPRESSION___CLASSIFICATION_EXPRESSION_LOWER_DERIVATION__DIAGNOSTICCHAIN_MAP = UNARY_EXPRESSION_OPERATION_COUNT + 6;
+
+ /**
+ * The operation id for the '<em>Classification Expression Upper Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASSIFICATION_EXPRESSION___CLASSIFICATION_EXPRESSION_UPPER_DERIVATION__DIAGNOSTICCHAIN_MAP = UNARY_EXPRESSION_OPERATION_COUNT + 7;
+
+ /**
+ * The operation id for the '<em>Classification Expression Type Name</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASSIFICATION_EXPRESSION___CLASSIFICATION_EXPRESSION_TYPE_NAME__DIAGNOSTICCHAIN_MAP = UNARY_EXPRESSION_OPERATION_COUNT + 8;
+
+ /**
+ * The operation id for the '<em>Classification Expression Operand</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASSIFICATION_EXPRESSION___CLASSIFICATION_EXPRESSION_OPERAND__DIAGNOSTICCHAIN_MAP = UNARY_EXPRESSION_OPERATION_COUNT + 9;
+
+ /**
+ * The number of operations of the '<em>Classification Expression</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASSIFICATION_EXPRESSION_OPERATION_COUNT = UNARY_EXPRESSION_OPERATION_COUNT + 10;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.uml.alf.impl.SuperInvocationExpressionImpl <em>Super Invocation Expression</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.uml.alf.impl.SuperInvocationExpressionImpl
+ * @see org.eclipse.papyrus.uml.alf.impl.AlfPackageImpl#getSuperInvocationExpression()
+ * @generated
+ */
+ int SUPER_INVOCATION_EXPRESSION = 62;
+
+ /**
+ * The feature id for the '<em><b>Owner</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SUPER_INVOCATION_EXPRESSION__OWNER = INVOCATION_EXPRESSION__OWNER;
+
+ /**
+ * The feature id for the '<em><b>Upper</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SUPER_INVOCATION_EXPRESSION__UPPER = INVOCATION_EXPRESSION__UPPER;
+
+ /**
+ * The feature id for the '<em><b>Lower</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SUPER_INVOCATION_EXPRESSION__LOWER = INVOCATION_EXPRESSION__LOWER;
+
+ /**
+ * The feature id for the '<em><b>Type</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SUPER_INVOCATION_EXPRESSION__TYPE = INVOCATION_EXPRESSION__TYPE;
+
+ /**
+ * The feature id for the '<em><b>Assignment Before</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SUPER_INVOCATION_EXPRESSION__ASSIGNMENT_BEFORE = INVOCATION_EXPRESSION__ASSIGNMENT_BEFORE;
+
+ /**
+ * The feature id for the '<em><b>Assignment After</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SUPER_INVOCATION_EXPRESSION__ASSIGNMENT_AFTER = INVOCATION_EXPRESSION__ASSIGNMENT_AFTER;
+
+ /**
+ * The feature id for the '<em><b>Is Behavior</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SUPER_INVOCATION_EXPRESSION__IS_BEHAVIOR = INVOCATION_EXPRESSION__IS_BEHAVIOR;
+
+ /**
+ * The feature id for the '<em><b>Is Association End</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SUPER_INVOCATION_EXPRESSION__IS_ASSOCIATION_END = INVOCATION_EXPRESSION__IS_ASSOCIATION_END;
+
+ /**
+ * The feature id for the '<em><b>Feature</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SUPER_INVOCATION_EXPRESSION__FEATURE = INVOCATION_EXPRESSION__FEATURE;
+
+ /**
+ * The feature id for the '<em><b>Is Operation</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SUPER_INVOCATION_EXPRESSION__IS_OPERATION = INVOCATION_EXPRESSION__IS_OPERATION;
+
+ /**
+ * The feature id for the '<em><b>Is Destructor</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SUPER_INVOCATION_EXPRESSION__IS_DESTRUCTOR = INVOCATION_EXPRESSION__IS_DESTRUCTOR;
+
+ /**
+ * The feature id for the '<em><b>Is Implicit</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SUPER_INVOCATION_EXPRESSION__IS_IMPLICIT = INVOCATION_EXPRESSION__IS_IMPLICIT;
+
+ /**
+ * The feature id for the '<em><b>Referent</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SUPER_INVOCATION_EXPRESSION__REFERENT = INVOCATION_EXPRESSION__REFERENT;
+
+ /**
+ * The feature id for the '<em><b>Parameter</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SUPER_INVOCATION_EXPRESSION__PARAMETER = INVOCATION_EXPRESSION__PARAMETER;
+
+ /**
+ * The feature id for the '<em><b>Is Signal</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SUPER_INVOCATION_EXPRESSION__IS_SIGNAL = INVOCATION_EXPRESSION__IS_SIGNAL;
+
+ /**
+ * The feature id for the '<em><b>Tuple</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SUPER_INVOCATION_EXPRESSION__TUPLE = INVOCATION_EXPRESSION__TUPLE;
+
+ /**
+ * The feature id for the '<em><b>Target</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SUPER_INVOCATION_EXPRESSION__TARGET = INVOCATION_EXPRESSION_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the '<em>Super Invocation Expression</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SUPER_INVOCATION_EXPRESSION_FEATURE_COUNT = INVOCATION_EXPRESSION_FEATURE_COUNT + 1;
+
+ /**
+ * The operation id for the '<em>To Reference</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SUPER_INVOCATION_EXPRESSION___TO_REFERENCE = INVOCATION_EXPRESSION___TO_REFERENCE;
+
+ /**
+ * The operation id for the '<em>Owner</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SUPER_INVOCATION_EXPRESSION___OWNER = INVOCATION_EXPRESSION___OWNER;
+
+ /**
+ * The operation id for the '<em>Syntax Element owner</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SUPER_INVOCATION_EXPRESSION___SYNTAX_ELEMENT_OWNER = INVOCATION_EXPRESSION___SYNTAX_ELEMENT_OWNER;
+
+ /**
+ * The operation id for the '<em>Current Scope</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SUPER_INVOCATION_EXPRESSION___CURRENT_SCOPE = INVOCATION_EXPRESSION___CURRENT_SCOPE;
+
+ /**
+ * The operation id for the '<em>Syntax Element current Scope</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SUPER_INVOCATION_EXPRESSION___SYNTAX_ELEMENT_CURRENT_SCOPE = INVOCATION_EXPRESSION___SYNTAX_ELEMENT_CURRENT_SCOPE;
+
+ /**
+ * The operation id for the '<em>Enclosing Statement</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SUPER_INVOCATION_EXPRESSION___ENCLOSING_STATEMENT = INVOCATION_EXPRESSION___ENCLOSING_STATEMENT;
+
+ /**
+ * The operation id for the '<em>Enclosing Expression</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SUPER_INVOCATION_EXPRESSION___ENCLOSING_EXPRESSION = INVOCATION_EXPRESSION___ENCLOSING_EXPRESSION;
+
+ /**
+ * The operation id for the '<em>Assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SUPER_INVOCATION_EXPRESSION___ASSIGNMENTS_BEFORE = INVOCATION_EXPRESSION___ASSIGNMENTS_BEFORE;
+
+ /**
+ * The operation id for the '<em>Syntax Element assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SUPER_INVOCATION_EXPRESSION___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE = INVOCATION_EXPRESSION___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE;
+
+ /**
+ * The operation id for the '<em>Syntax Element assignments Before base</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SUPER_INVOCATION_EXPRESSION___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE_BASE = INVOCATION_EXPRESSION___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE_BASE;
+
+ /**
+ * The operation id for the '<em>Update All</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SUPER_INVOCATION_EXPRESSION___UPDATE_ALL__ELIST_ELIST = INVOCATION_EXPRESSION___UPDATE_ALL__ELIST_ELIST;
+
+ /**
+ * The operation id for the '<em>Common Ancestor</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SUPER_INVOCATION_EXPRESSION___COMMON_ANCESTOR__ELIST = INVOCATION_EXPRESSION___COMMON_ANCESTOR__ELIST;
+
+ /**
+ * The operation id for the '<em>Common Ancestors</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SUPER_INVOCATION_EXPRESSION___COMMON_ANCESTORS__ELIST = INVOCATION_EXPRESSION___COMMON_ANCESTORS__ELIST;
+
+ /**
+ * The operation id for the '<em>Remove Duplicate Elements</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SUPER_INVOCATION_EXPRESSION___REMOVE_DUPLICATE_ELEMENTS__ELIST = INVOCATION_EXPRESSION___REMOVE_DUPLICATE_ELEMENTS__ELIST;
+
+ /**
+ * The operation id for the '<em>Resolve In Library</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SUPER_INVOCATION_EXPRESSION___RESOLVE_IN_LIBRARY__STRING = INVOCATION_EXPRESSION___RESOLVE_IN_LIBRARY__STRING;
+
+ /**
+ * The operation id for the '<em>Primitive Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SUPER_INVOCATION_EXPRESSION___PRIMITIVE_TYPE__STRING = INVOCATION_EXPRESSION___PRIMITIVE_TYPE__STRING;
+
+ /**
+ * The operation id for the '<em>Primitive Type </em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SUPER_INVOCATION_EXPRESSION___PRIMITIVE_TYPE____STRING = INVOCATION_EXPRESSION___PRIMITIVE_TYPE____STRING;
+
+ /**
+ * The operation id for the '<em>Boolean Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SUPER_INVOCATION_EXPRESSION___BOOLEAN_TYPE = INVOCATION_EXPRESSION___BOOLEAN_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Boolean Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SUPER_INVOCATION_EXPRESSION___IS_BOOLEAN_TYPE__ELEMENTREFERENCE = INVOCATION_EXPRESSION___IS_BOOLEAN_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Integer Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SUPER_INVOCATION_EXPRESSION___INTEGER_TYPE = INVOCATION_EXPRESSION___INTEGER_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Integer Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SUPER_INVOCATION_EXPRESSION___IS_INTEGER_TYPE__ELEMENTREFERENCE = INVOCATION_EXPRESSION___IS_INTEGER_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SUPER_INVOCATION_EXPRESSION___STRING_TYPE = INVOCATION_EXPRESSION___STRING_TYPE;
+
+ /**
+ * The operation id for the '<em>Is String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SUPER_INVOCATION_EXPRESSION___IS_STRING_TYPE__ELEMENTREFERENCE = INVOCATION_EXPRESSION___IS_STRING_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Unlimited Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SUPER_INVOCATION_EXPRESSION___UNLIMITED_NATURAL_TYPE = INVOCATION_EXPRESSION___UNLIMITED_NATURAL_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Unlimited Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SUPER_INVOCATION_EXPRESSION___IS_UNLIMITED_NATURAL_TYPE__ELEMENTREFERENCE = INVOCATION_EXPRESSION___IS_UNLIMITED_NATURAL_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Bit String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SUPER_INVOCATION_EXPRESSION___BIT_STRING_TYPE = INVOCATION_EXPRESSION___BIT_STRING_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Bit String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SUPER_INVOCATION_EXPRESSION___IS_BIT_STRING_TYPE__ELEMENTREFERENCE = INVOCATION_EXPRESSION___IS_BIT_STRING_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SUPER_INVOCATION_EXPRESSION___NATURAL_TYPE = INVOCATION_EXPRESSION___NATURAL_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SUPER_INVOCATION_EXPRESSION___IS_NATURAL_TYPE__ELEMENTREFERENCE = INVOCATION_EXPRESSION___IS_NATURAL_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Numeric Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SUPER_INVOCATION_EXPRESSION___IS_NUMERIC_TYPE__ELEMENTREFERENCE = INVOCATION_EXPRESSION___IS_NUMERIC_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Collection Function Add</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SUPER_INVOCATION_EXPRESSION___COLLECTION_FUNCTION_ADD = INVOCATION_EXPRESSION___COLLECTION_FUNCTION_ADD;
+
+ /**
+ * The operation id for the '<em>Is Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SUPER_INVOCATION_EXPRESSION___IS_COLLECTION_CLASS__ELEMENTREFERENCE = INVOCATION_EXPRESSION___IS_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Integer Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SUPER_INVOCATION_EXPRESSION___IS_INTEGER_COLLECTION_CLASS__ELEMENTREFERENCE = INVOCATION_EXPRESSION___IS_INTEGER_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Bit String Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SUPER_INVOCATION_EXPRESSION___IS_BIT_STRING_COLLECTION_CLASS__ELEMENTREFERENCE = INVOCATION_EXPRESSION___IS_BIT_STRING_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Type Cached</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SUPER_INVOCATION_EXPRESSION___TYPE_CACHED = INVOCATION_EXPRESSION___TYPE_CACHED;
+
+ /**
+ * The operation id for the '<em>Is Null</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SUPER_INVOCATION_EXPRESSION___IS_NULL = INVOCATION_EXPRESSION___IS_NULL;
+
+ /**
+ * The operation id for the '<em>Is Assignable From Element</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SUPER_INVOCATION_EXPRESSION___IS_ASSIGNABLE_FROM_ELEMENT__ELEMENTREFERENCE = INVOCATION_EXPRESSION___IS_ASSIGNABLE_FROM_ELEMENT__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Assignable From</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SUPER_INVOCATION_EXPRESSION___IS_ASSIGNABLE_FROM__ASSIGNABLEELEMENT = INVOCATION_EXPRESSION___IS_ASSIGNABLE_FROM__ASSIGNABLEELEMENT;
+
+ /**
+ * The operation id for the '<em>Is Type Conformant With</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SUPER_INVOCATION_EXPRESSION___IS_TYPE_CONFORMANT_WITH__ASSIGNABLEELEMENT = INVOCATION_EXPRESSION___IS_TYPE_CONFORMANT_WITH__ASSIGNABLEELEMENT;
+
+ /**
+ * The operation id for the '<em>Is Conformant With Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SUPER_INVOCATION_EXPRESSION___IS_CONFORMANT_WITH_TYPE__ELEMENTREFERENCE = INVOCATION_EXPRESSION___IS_CONFORMANT_WITH_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Multiplicity Conformant With</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SUPER_INVOCATION_EXPRESSION___IS_MULTIPLICITY_CONFORMANT_WITH__ASSIGNABLEELEMENT = INVOCATION_EXPRESSION___IS_MULTIPLICITY_CONFORMANT_WITH__ASSIGNABLEELEMENT;
+
+ /**
+ * The operation id for the '<em>New Assignments</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SUPER_INVOCATION_EXPRESSION___NEW_ASSIGNMENTS = INVOCATION_EXPRESSION___NEW_ASSIGNMENTS;
+
+ /**
+ * The operation id for the '<em>Expression update Assignments</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SUPER_INVOCATION_EXPRESSION___EXPRESSION_UPDATE_ASSIGNMENTS = INVOCATION_EXPRESSION___EXPRESSION_UPDATE_ASSIGNMENTS;
+
+ /**
+ * The operation id for the '<em>Update Assignments Cached</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SUPER_INVOCATION_EXPRESSION___UPDATE_ASSIGNMENTS_CACHED = INVOCATION_EXPRESSION___UPDATE_ASSIGNMENTS_CACHED;
+
+ /**
+ * The operation id for the '<em>Resolve</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SUPER_INVOCATION_EXPRESSION___RESOLVE__STRING = INVOCATION_EXPRESSION___RESOLVE__STRING;
+
+ /**
+ * The operation id for the '<em>Is Add Target</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SUPER_INVOCATION_EXPRESSION___IS_ADD_TARGET__EXPRESSION = INVOCATION_EXPRESSION___IS_ADD_TARGET__EXPRESSION;
+
+ /**
+ * The operation id for the '<em>Expression Assignment After Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SUPER_INVOCATION_EXPRESSION___EXPRESSION_ASSIGNMENT_AFTER_DERIVATION__DIAGNOSTICCHAIN_MAP = INVOCATION_EXPRESSION___EXPRESSION_ASSIGNMENT_AFTER_DERIVATION__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Expression Unique Assignments</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SUPER_INVOCATION_EXPRESSION___EXPRESSION_UNIQUE_ASSIGNMENTS__DIAGNOSTICCHAIN_MAP = INVOCATION_EXPRESSION___EXPRESSION_UNIQUE_ASSIGNMENTS__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SUPER_INVOCATION_EXPRESSION___ASSIGNMENTS_BEFORE__SYNTAXELEMENT = INVOCATION_EXPRESSION___ASSIGNMENTS_BEFORE__SYNTAXELEMENT;
+
+ /**
+ * The operation id for the '<em>Referent Cached</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SUPER_INVOCATION_EXPRESSION___REFERENT_CACHED = INVOCATION_EXPRESSION___REFERENT_CACHED;
+
+ /**
+ * The operation id for the '<em>Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SUPER_INVOCATION_EXPRESSION___TYPE = INVOCATION_EXPRESSION___TYPE;
+
+ /**
+ * The operation id for the '<em>Invocation Expression type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SUPER_INVOCATION_EXPRESSION___INVOCATION_EXPRESSION_TYPE = INVOCATION_EXPRESSION___INVOCATION_EXPRESSION_TYPE;
+
+ /**
+ * The operation id for the '<em>Upper</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SUPER_INVOCATION_EXPRESSION___UPPER = INVOCATION_EXPRESSION___UPPER;
+
+ /**
+ * The operation id for the '<em>Invocation Expression upper</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SUPER_INVOCATION_EXPRESSION___INVOCATION_EXPRESSION_UPPER = INVOCATION_EXPRESSION___INVOCATION_EXPRESSION_UPPER;
+
+ /**
+ * The operation id for the '<em>Lower</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SUPER_INVOCATION_EXPRESSION___LOWER = INVOCATION_EXPRESSION___LOWER;
+
+ /**
+ * The operation id for the '<em>Invocation Expression lower</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SUPER_INVOCATION_EXPRESSION___INVOCATION_EXPRESSION_LOWER = INVOCATION_EXPRESSION___INVOCATION_EXPRESSION_LOWER;
+
+ /**
+ * The operation id for the '<em>Parameter Named</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SUPER_INVOCATION_EXPRESSION___PARAMETER_NAMED__STRING = INVOCATION_EXPRESSION___PARAMETER_NAMED__STRING;
+
+ /**
+ * The operation id for the '<em>Parameter Count</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SUPER_INVOCATION_EXPRESSION___PARAMETER_COUNT = INVOCATION_EXPRESSION___PARAMETER_COUNT;
+
+ /**
+ * The operation id for the '<em>Parameter Is Assignable From</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SUPER_INVOCATION_EXPRESSION___PARAMETER_IS_ASSIGNABLE_FROM__INPUTNAMEDEXPRESSION = INVOCATION_EXPRESSION___PARAMETER_IS_ASSIGNABLE_FROM__INPUTNAMEDEXPRESSION;
+
+ /**
+ * The operation id for the '<em>Parameter Is Assignable To</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SUPER_INVOCATION_EXPRESSION___PARAMETER_IS_ASSIGNABLE_TO__OUTPUTNAMEDEXPRESSION = INVOCATION_EXPRESSION___PARAMETER_IS_ASSIGNABLE_TO__OUTPUTNAMEDEXPRESSION;
+
+ /**
+ * The operation id for the '<em>Alternative Constructor Is Valid</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SUPER_INVOCATION_EXPRESSION___ALTERNATIVE_CONSTRUCTOR_IS_VALID = INVOCATION_EXPRESSION___ALTERNATIVE_CONSTRUCTOR_IS_VALID;
+
+ /**
+ * The operation id for the '<em>Bind Template Implicit Arguments</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SUPER_INVOCATION_EXPRESSION___BIND_TEMPLATE_IMPLICIT_ARGUMENTS__ELEMENTREFERENCE_EXPRESSION = INVOCATION_EXPRESSION___BIND_TEMPLATE_IMPLICIT_ARGUMENTS__ELEMENTREFERENCE_EXPRESSION;
+
+ /**
+ * The operation id for the '<em>Bind Template Implicit Arguments1</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SUPER_INVOCATION_EXPRESSION___BIND_TEMPLATE_IMPLICIT_ARGUMENTS1__ELEMENTREFERENCE_EXPRESSION = INVOCATION_EXPRESSION___BIND_TEMPLATE_IMPLICIT_ARGUMENTS1__ELEMENTREFERENCE_EXPRESSION;
+
+ /**
+ * The operation id for the '<em>Effective Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SUPER_INVOCATION_EXPRESSION___EFFECTIVE_TYPE__ELEMENTREFERENCE_EXPRESSION = INVOCATION_EXPRESSION___EFFECTIVE_TYPE__ELEMENTREFERENCE_EXPRESSION;
+
+ /**
+ * The operation id for the '<em>Parameter Elements</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SUPER_INVOCATION_EXPRESSION___PARAMETER_ELEMENTS = INVOCATION_EXPRESSION___PARAMETER_ELEMENTS;
+
+ /**
+ * The operation id for the '<em>Invocation Expression parameter Elements</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SUPER_INVOCATION_EXPRESSION___INVOCATION_EXPRESSION_PARAMETER_ELEMENTS = INVOCATION_EXPRESSION___INVOCATION_EXPRESSION_PARAMETER_ELEMENTS;
+
+ /**
+ * The operation id for the '<em>Parameter From Property</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SUPER_INVOCATION_EXPRESSION___PARAMETER_FROM_PROPERTY__ELEMENTREFERENCE = INVOCATION_EXPRESSION___PARAMETER_FROM_PROPERTY__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Parameter From Property With Multiplicity</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SUPER_INVOCATION_EXPRESSION___PARAMETER_FROM_PROPERTY_WITH_MULTIPLICITY__ELEMENTREFERENCE_STRING_STRING = INVOCATION_EXPRESSION___PARAMETER_FROM_PROPERTY_WITH_MULTIPLICITY__ELEMENTREFERENCE_STRING_STRING;
+
+ /**
+ * The operation id for the '<em>Invocation Expression Is Behavior Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SUPER_INVOCATION_EXPRESSION___INVOCATION_EXPRESSION_IS_BEHAVIOR_DERIVATION__DIAGNOSTICCHAIN_MAP = INVOCATION_EXPRESSION___INVOCATION_EXPRESSION_IS_BEHAVIOR_DERIVATION__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Invocation Expression Is Association End Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SUPER_INVOCATION_EXPRESSION___INVOCATION_EXPRESSION_IS_ASSOCIATION_END_DERIVATION__DIAGNOSTICCHAIN_MAP = INVOCATION_EXPRESSION___INVOCATION_EXPRESSION_IS_ASSOCIATION_END_DERIVATION__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Invocation Expression Is Operation Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SUPER_INVOCATION_EXPRESSION___INVOCATION_EXPRESSION_IS_OPERATION_DERIVATION__DIAGNOSTICCHAIN_MAP = INVOCATION_EXPRESSION___INVOCATION_EXPRESSION_IS_OPERATION_DERIVATION__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Invocation Expression Is Destructor Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SUPER_INVOCATION_EXPRESSION___INVOCATION_EXPRESSION_IS_DESTRUCTOR_DERIVATION__DIAGNOSTICCHAIN_MAP = INVOCATION_EXPRESSION___INVOCATION_EXPRESSION_IS_DESTRUCTOR_DERIVATION__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Invocation Expression Is Implicit Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SUPER_INVOCATION_EXPRESSION___INVOCATION_EXPRESSION_IS_IMPLICIT_DERIVATION__DIAGNOSTICCHAIN_MAP = INVOCATION_EXPRESSION___INVOCATION_EXPRESSION_IS_IMPLICIT_DERIVATION__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Invocation Expression Is Signal Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SUPER_INVOCATION_EXPRESSION___INVOCATION_EXPRESSION_IS_SIGNAL_DERIVATION__DIAGNOSTICCHAIN_MAP = INVOCATION_EXPRESSION___INVOCATION_EXPRESSION_IS_SIGNAL_DERIVATION__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Invocation Expression Parameter Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SUPER_INVOCATION_EXPRESSION___INVOCATION_EXPRESSION_PARAMETER_DERIVATION__DIAGNOSTICCHAIN_MAP = INVOCATION_EXPRESSION___INVOCATION_EXPRESSION_PARAMETER_DERIVATION__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Invocation Expression Type Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SUPER_INVOCATION_EXPRESSION___INVOCATION_EXPRESSION_TYPE_DERIVATION__DIAGNOSTICCHAIN_MAP = INVOCATION_EXPRESSION___INVOCATION_EXPRESSION_TYPE_DERIVATION__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Invocation Expression Upper Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SUPER_INVOCATION_EXPRESSION___INVOCATION_EXPRESSION_UPPER_DERIVATION__DIAGNOSTICCHAIN_MAP = INVOCATION_EXPRESSION___INVOCATION_EXPRESSION_UPPER_DERIVATION__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Invocation Expression Lower Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SUPER_INVOCATION_EXPRESSION___INVOCATION_EXPRESSION_LOWER_DERIVATION__DIAGNOSTICCHAIN_MAP = INVOCATION_EXPRESSION___INVOCATION_EXPRESSION_LOWER_DERIVATION__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Invocation Expression Assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SUPER_INVOCATION_EXPRESSION___INVOCATION_EXPRESSION_ASSIGNMENTS_BEFORE__DIAGNOSTICCHAIN_MAP = INVOCATION_EXPRESSION___INVOCATION_EXPRESSION_ASSIGNMENTS_BEFORE__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Update Assignments</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SUPER_INVOCATION_EXPRESSION___UPDATE_ASSIGNMENTS = INVOCATION_EXPRESSION___UPDATE_ASSIGNMENTS;
+
+ /**
+ * The operation id for the '<em>Invocation Expression Template Parameters</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SUPER_INVOCATION_EXPRESSION___INVOCATION_EXPRESSION_TEMPLATE_PARAMETERS__DIAGNOSTICCHAIN_MAP = INVOCATION_EXPRESSION___INVOCATION_EXPRESSION_TEMPLATE_PARAMETERS__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Referent</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SUPER_INVOCATION_EXPRESSION___REFERENT = INVOCATION_EXPRESSION_OPERATION_COUNT + 0;
+
+ /**
+ * The operation id for the '<em>Feature</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SUPER_INVOCATION_EXPRESSION___FEATURE = INVOCATION_EXPRESSION_OPERATION_COUNT + 1;
+
+ /**
+ * The operation id for the '<em>Context</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SUPER_INVOCATION_EXPRESSION___CONTEXT = INVOCATION_EXPRESSION_OPERATION_COUNT + 2;
+
+ /**
+ * The operation id for the '<em>Super Invocation Expression Referent Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SUPER_INVOCATION_EXPRESSION___SUPER_INVOCATION_EXPRESSION_REFERENT_DERIVATION__DIAGNOSTICCHAIN_MAP = INVOCATION_EXPRESSION_OPERATION_COUNT + 3;
+
+ /**
+ * The operation id for the '<em>Super Invocation Expression Feature Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SUPER_INVOCATION_EXPRESSION___SUPER_INVOCATION_EXPRESSION_FEATURE_DERIVATION__DIAGNOSTICCHAIN_MAP = INVOCATION_EXPRESSION_OPERATION_COUNT + 4;
+
+ /**
+ * The operation id for the '<em>Super Invocation Expression Qualification</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SUPER_INVOCATION_EXPRESSION___SUPER_INVOCATION_EXPRESSION_QUALIFICATION__DIAGNOSTICCHAIN_MAP = INVOCATION_EXPRESSION_OPERATION_COUNT + 5;
+
+ /**
+ * The operation id for the '<em>Super Invocation Expression Implicit Target</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SUPER_INVOCATION_EXPRESSION___SUPER_INVOCATION_EXPRESSION_IMPLICIT_TARGET__DIAGNOSTICCHAIN_MAP = INVOCATION_EXPRESSION_OPERATION_COUNT + 6;
+
+ /**
+ * The operation id for the '<em>Super Invocation Expression Constructor Call</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SUPER_INVOCATION_EXPRESSION___SUPER_INVOCATION_EXPRESSION_CONSTRUCTOR_CALL__DIAGNOSTICCHAIN_MAP = INVOCATION_EXPRESSION_OPERATION_COUNT + 7;
+
+ /**
+ * The operation id for the '<em>Super Invocation Expression Destructor Call</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SUPER_INVOCATION_EXPRESSION___SUPER_INVOCATION_EXPRESSION_DESTRUCTOR_CALL__DIAGNOSTICCHAIN_MAP = INVOCATION_EXPRESSION_OPERATION_COUNT + 8;
+
+ /**
+ * The operation id for the '<em>Super Invocation Expression Operation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SUPER_INVOCATION_EXPRESSION___SUPER_INVOCATION_EXPRESSION_OPERATION__DIAGNOSTICCHAIN_MAP = INVOCATION_EXPRESSION_OPERATION_COUNT + 9;
+
+ /**
+ * The number of operations of the '<em>Super Invocation Expression</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SUPER_INVOCATION_EXPRESSION_OPERATION_COUNT = INVOCATION_EXPRESSION_OPERATION_COUNT + 10;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.uml.alf.impl.IncrementOrDecrementExpressionImpl <em>Increment Or Decrement Expression</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.uml.alf.impl.IncrementOrDecrementExpressionImpl
+ * @see org.eclipse.papyrus.uml.alf.impl.AlfPackageImpl#getIncrementOrDecrementExpression()
+ * @generated
+ */
+ int INCREMENT_OR_DECREMENT_EXPRESSION = 63;
+
+ /**
+ * The feature id for the '<em><b>Owner</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INCREMENT_OR_DECREMENT_EXPRESSION__OWNER = EXPRESSION__OWNER;
+
+ /**
+ * The feature id for the '<em><b>Upper</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INCREMENT_OR_DECREMENT_EXPRESSION__UPPER = EXPRESSION__UPPER;
+
+ /**
+ * The feature id for the '<em><b>Lower</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INCREMENT_OR_DECREMENT_EXPRESSION__LOWER = EXPRESSION__LOWER;
+
+ /**
+ * The feature id for the '<em><b>Type</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INCREMENT_OR_DECREMENT_EXPRESSION__TYPE = EXPRESSION__TYPE;
+
+ /**
+ * The feature id for the '<em><b>Assignment Before</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INCREMENT_OR_DECREMENT_EXPRESSION__ASSIGNMENT_BEFORE = EXPRESSION__ASSIGNMENT_BEFORE;
+
+ /**
+ * The feature id for the '<em><b>Assignment After</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INCREMENT_OR_DECREMENT_EXPRESSION__ASSIGNMENT_AFTER = EXPRESSION__ASSIGNMENT_AFTER;
+
+ /**
+ * The feature id for the '<em><b>Assignment</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INCREMENT_OR_DECREMENT_EXPRESSION__ASSIGNMENT = EXPRESSION_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Operand</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INCREMENT_OR_DECREMENT_EXPRESSION__OPERAND = EXPRESSION_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Expression</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INCREMENT_OR_DECREMENT_EXPRESSION__EXPRESSION = EXPRESSION_FEATURE_COUNT + 2;
+
+ /**
+ * The feature id for the '<em><b>Feature</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INCREMENT_OR_DECREMENT_EXPRESSION__FEATURE = EXPRESSION_FEATURE_COUNT + 3;
+
+ /**
+ * The feature id for the '<em><b>Is Prefix</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INCREMENT_OR_DECREMENT_EXPRESSION__IS_PREFIX = EXPRESSION_FEATURE_COUNT + 4;
+
+ /**
+ * The feature id for the '<em><b>Is Feature</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INCREMENT_OR_DECREMENT_EXPRESSION__IS_FEATURE = EXPRESSION_FEATURE_COUNT + 5;
+
+ /**
+ * The feature id for the '<em><b>Is Indexed</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INCREMENT_OR_DECREMENT_EXPRESSION__IS_INDEXED = EXPRESSION_FEATURE_COUNT + 6;
+
+ /**
+ * The feature id for the '<em><b>Is Data Value Update</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INCREMENT_OR_DECREMENT_EXPRESSION__IS_DATA_VALUE_UPDATE = EXPRESSION_FEATURE_COUNT + 7;
+
+ /**
+ * The feature id for the '<em><b>Operator</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INCREMENT_OR_DECREMENT_EXPRESSION__OPERATOR = EXPRESSION_FEATURE_COUNT + 8;
+
+ /**
+ * The number of structural features of the '<em>Increment Or Decrement Expression</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INCREMENT_OR_DECREMENT_EXPRESSION_FEATURE_COUNT = EXPRESSION_FEATURE_COUNT + 9;
+
+ /**
+ * The operation id for the '<em>To Reference</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INCREMENT_OR_DECREMENT_EXPRESSION___TO_REFERENCE = EXPRESSION___TO_REFERENCE;
+
+ /**
+ * The operation id for the '<em>Owner</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INCREMENT_OR_DECREMENT_EXPRESSION___OWNER = EXPRESSION___OWNER;
+
+ /**
+ * The operation id for the '<em>Syntax Element owner</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INCREMENT_OR_DECREMENT_EXPRESSION___SYNTAX_ELEMENT_OWNER = EXPRESSION___SYNTAX_ELEMENT_OWNER;
+
+ /**
+ * The operation id for the '<em>Current Scope</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INCREMENT_OR_DECREMENT_EXPRESSION___CURRENT_SCOPE = EXPRESSION___CURRENT_SCOPE;
+
+ /**
+ * The operation id for the '<em>Syntax Element current Scope</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INCREMENT_OR_DECREMENT_EXPRESSION___SYNTAX_ELEMENT_CURRENT_SCOPE = EXPRESSION___SYNTAX_ELEMENT_CURRENT_SCOPE;
+
+ /**
+ * The operation id for the '<em>Enclosing Statement</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INCREMENT_OR_DECREMENT_EXPRESSION___ENCLOSING_STATEMENT = EXPRESSION___ENCLOSING_STATEMENT;
+
+ /**
+ * The operation id for the '<em>Enclosing Expression</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INCREMENT_OR_DECREMENT_EXPRESSION___ENCLOSING_EXPRESSION = EXPRESSION___ENCLOSING_EXPRESSION;
+
+ /**
+ * The operation id for the '<em>Assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INCREMENT_OR_DECREMENT_EXPRESSION___ASSIGNMENTS_BEFORE = EXPRESSION___ASSIGNMENTS_BEFORE;
+
+ /**
+ * The operation id for the '<em>Syntax Element assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INCREMENT_OR_DECREMENT_EXPRESSION___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE = EXPRESSION___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE;
+
+ /**
+ * The operation id for the '<em>Syntax Element assignments Before base</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INCREMENT_OR_DECREMENT_EXPRESSION___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE_BASE = EXPRESSION___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE_BASE;
+
+ /**
+ * The operation id for the '<em>Assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INCREMENT_OR_DECREMENT_EXPRESSION___ASSIGNMENTS_BEFORE__SYNTAXELEMENT = EXPRESSION___ASSIGNMENTS_BEFORE__SYNTAXELEMENT;
+
+ /**
+ * The operation id for the '<em>Update All</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INCREMENT_OR_DECREMENT_EXPRESSION___UPDATE_ALL__ELIST_ELIST = EXPRESSION___UPDATE_ALL__ELIST_ELIST;
+
+ /**
+ * The operation id for the '<em>Common Ancestor</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INCREMENT_OR_DECREMENT_EXPRESSION___COMMON_ANCESTOR__ELIST = EXPRESSION___COMMON_ANCESTOR__ELIST;
+
+ /**
+ * The operation id for the '<em>Common Ancestors</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INCREMENT_OR_DECREMENT_EXPRESSION___COMMON_ANCESTORS__ELIST = EXPRESSION___COMMON_ANCESTORS__ELIST;
+
+ /**
+ * The operation id for the '<em>Remove Duplicate Elements</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INCREMENT_OR_DECREMENT_EXPRESSION___REMOVE_DUPLICATE_ELEMENTS__ELIST = EXPRESSION___REMOVE_DUPLICATE_ELEMENTS__ELIST;
+
+ /**
+ * The operation id for the '<em>Resolve In Library</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INCREMENT_OR_DECREMENT_EXPRESSION___RESOLVE_IN_LIBRARY__STRING = EXPRESSION___RESOLVE_IN_LIBRARY__STRING;
+
+ /**
+ * The operation id for the '<em>Primitive Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INCREMENT_OR_DECREMENT_EXPRESSION___PRIMITIVE_TYPE__STRING = EXPRESSION___PRIMITIVE_TYPE__STRING;
+
+ /**
+ * The operation id for the '<em>Primitive Type </em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INCREMENT_OR_DECREMENT_EXPRESSION___PRIMITIVE_TYPE____STRING = EXPRESSION___PRIMITIVE_TYPE____STRING;
+
+ /**
+ * The operation id for the '<em>Boolean Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INCREMENT_OR_DECREMENT_EXPRESSION___BOOLEAN_TYPE = EXPRESSION___BOOLEAN_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Boolean Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INCREMENT_OR_DECREMENT_EXPRESSION___IS_BOOLEAN_TYPE__ELEMENTREFERENCE = EXPRESSION___IS_BOOLEAN_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Integer Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INCREMENT_OR_DECREMENT_EXPRESSION___INTEGER_TYPE = EXPRESSION___INTEGER_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Integer Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INCREMENT_OR_DECREMENT_EXPRESSION___IS_INTEGER_TYPE__ELEMENTREFERENCE = EXPRESSION___IS_INTEGER_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INCREMENT_OR_DECREMENT_EXPRESSION___STRING_TYPE = EXPRESSION___STRING_TYPE;
+
+ /**
+ * The operation id for the '<em>Is String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INCREMENT_OR_DECREMENT_EXPRESSION___IS_STRING_TYPE__ELEMENTREFERENCE = EXPRESSION___IS_STRING_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Unlimited Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INCREMENT_OR_DECREMENT_EXPRESSION___UNLIMITED_NATURAL_TYPE = EXPRESSION___UNLIMITED_NATURAL_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Unlimited Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INCREMENT_OR_DECREMENT_EXPRESSION___IS_UNLIMITED_NATURAL_TYPE__ELEMENTREFERENCE = EXPRESSION___IS_UNLIMITED_NATURAL_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Bit String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INCREMENT_OR_DECREMENT_EXPRESSION___BIT_STRING_TYPE = EXPRESSION___BIT_STRING_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Bit String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INCREMENT_OR_DECREMENT_EXPRESSION___IS_BIT_STRING_TYPE__ELEMENTREFERENCE = EXPRESSION___IS_BIT_STRING_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INCREMENT_OR_DECREMENT_EXPRESSION___NATURAL_TYPE = EXPRESSION___NATURAL_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INCREMENT_OR_DECREMENT_EXPRESSION___IS_NATURAL_TYPE__ELEMENTREFERENCE = EXPRESSION___IS_NATURAL_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Numeric Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INCREMENT_OR_DECREMENT_EXPRESSION___IS_NUMERIC_TYPE__ELEMENTREFERENCE = EXPRESSION___IS_NUMERIC_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Collection Function Add</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INCREMENT_OR_DECREMENT_EXPRESSION___COLLECTION_FUNCTION_ADD = EXPRESSION___COLLECTION_FUNCTION_ADD;
+
+ /**
+ * The operation id for the '<em>Is Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INCREMENT_OR_DECREMENT_EXPRESSION___IS_COLLECTION_CLASS__ELEMENTREFERENCE = EXPRESSION___IS_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Integer Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INCREMENT_OR_DECREMENT_EXPRESSION___IS_INTEGER_COLLECTION_CLASS__ELEMENTREFERENCE = EXPRESSION___IS_INTEGER_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Bit String Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INCREMENT_OR_DECREMENT_EXPRESSION___IS_BIT_STRING_COLLECTION_CLASS__ELEMENTREFERENCE = EXPRESSION___IS_BIT_STRING_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Type Cached</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INCREMENT_OR_DECREMENT_EXPRESSION___TYPE_CACHED = EXPRESSION___TYPE_CACHED;
+
+ /**
+ * The operation id for the '<em>Is Null</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INCREMENT_OR_DECREMENT_EXPRESSION___IS_NULL = EXPRESSION___IS_NULL;
+
+ /**
+ * The operation id for the '<em>Is Assignable From Element</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INCREMENT_OR_DECREMENT_EXPRESSION___IS_ASSIGNABLE_FROM_ELEMENT__ELEMENTREFERENCE = EXPRESSION___IS_ASSIGNABLE_FROM_ELEMENT__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Assignable From</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INCREMENT_OR_DECREMENT_EXPRESSION___IS_ASSIGNABLE_FROM__ASSIGNABLEELEMENT = EXPRESSION___IS_ASSIGNABLE_FROM__ASSIGNABLEELEMENT;
+
+ /**
+ * The operation id for the '<em>Is Type Conformant With</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INCREMENT_OR_DECREMENT_EXPRESSION___IS_TYPE_CONFORMANT_WITH__ASSIGNABLEELEMENT = EXPRESSION___IS_TYPE_CONFORMANT_WITH__ASSIGNABLEELEMENT;
+
+ /**
+ * The operation id for the '<em>Is Conformant With Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INCREMENT_OR_DECREMENT_EXPRESSION___IS_CONFORMANT_WITH_TYPE__ELEMENTREFERENCE = EXPRESSION___IS_CONFORMANT_WITH_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Multiplicity Conformant With</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INCREMENT_OR_DECREMENT_EXPRESSION___IS_MULTIPLICITY_CONFORMANT_WITH__ASSIGNABLEELEMENT = EXPRESSION___IS_MULTIPLICITY_CONFORMANT_WITH__ASSIGNABLEELEMENT;
+
+ /**
+ * The operation id for the '<em>New Assignments</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INCREMENT_OR_DECREMENT_EXPRESSION___NEW_ASSIGNMENTS = EXPRESSION___NEW_ASSIGNMENTS;
+
+ /**
+ * The operation id for the '<em>Expression update Assignments</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INCREMENT_OR_DECREMENT_EXPRESSION___EXPRESSION_UPDATE_ASSIGNMENTS = EXPRESSION___EXPRESSION_UPDATE_ASSIGNMENTS;
+
+ /**
+ * The operation id for the '<em>Update Assignments Cached</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INCREMENT_OR_DECREMENT_EXPRESSION___UPDATE_ASSIGNMENTS_CACHED = EXPRESSION___UPDATE_ASSIGNMENTS_CACHED;
+
+ /**
+ * The operation id for the '<em>Resolve</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INCREMENT_OR_DECREMENT_EXPRESSION___RESOLVE__STRING = EXPRESSION___RESOLVE__STRING;
+
+ /**
+ * The operation id for the '<em>Is Add Target</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INCREMENT_OR_DECREMENT_EXPRESSION___IS_ADD_TARGET__EXPRESSION = EXPRESSION___IS_ADD_TARGET__EXPRESSION;
+
+ /**
+ * The operation id for the '<em>Expression Assignment After Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INCREMENT_OR_DECREMENT_EXPRESSION___EXPRESSION_ASSIGNMENT_AFTER_DERIVATION__DIAGNOSTICCHAIN_MAP = EXPRESSION___EXPRESSION_ASSIGNMENT_AFTER_DERIVATION__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Expression Unique Assignments</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INCREMENT_OR_DECREMENT_EXPRESSION___EXPRESSION_UNIQUE_ASSIGNMENTS__DIAGNOSTICCHAIN_MAP = EXPRESSION___EXPRESSION_UNIQUE_ASSIGNMENTS__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INCREMENT_OR_DECREMENT_EXPRESSION___TYPE = EXPRESSION_OPERATION_COUNT + 0;
+
+ /**
+ * The operation id for the '<em>Lower</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INCREMENT_OR_DECREMENT_EXPRESSION___LOWER = EXPRESSION_OPERATION_COUNT + 1;
+
+ /**
+ * The operation id for the '<em>Upper</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INCREMENT_OR_DECREMENT_EXPRESSION___UPPER = EXPRESSION_OPERATION_COUNT + 2;
+
+ /**
+ * The operation id for the '<em>Increment Or Decrement Expression Assignment Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INCREMENT_OR_DECREMENT_EXPRESSION___INCREMENT_OR_DECREMENT_EXPRESSION_ASSIGNMENT_DERIVATION__DIAGNOSTICCHAIN_MAP = EXPRESSION_OPERATION_COUNT + 3;
+
+ /**
+ * The operation id for the '<em>Increment Or Decrement Expression Is Feature Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INCREMENT_OR_DECREMENT_EXPRESSION___INCREMENT_OR_DECREMENT_EXPRESSION_IS_FEATURE_DERIVATION__DIAGNOSTICCHAIN_MAP = EXPRESSION_OPERATION_COUNT + 4;
+
+ /**
+ * The operation id for the '<em>Increment Or Decrement Expression Is Indexed Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INCREMENT_OR_DECREMENT_EXPRESSION___INCREMENT_OR_DECREMENT_EXPRESSION_IS_INDEXED_DERIVATION__DIAGNOSTICCHAIN_MAP = EXPRESSION_OPERATION_COUNT + 5;
+
+ /**
+ * The operation id for the '<em>Increment Or Decrement Expression Is Data Value Update Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INCREMENT_OR_DECREMENT_EXPRESSION___INCREMENT_OR_DECREMENT_EXPRESSION_IS_DATA_VALUE_UPDATE_DERIVATION__DIAGNOSTICCHAIN_MAP = EXPRESSION_OPERATION_COUNT + 6;
+
+ /**
+ * The operation id for the '<em>Increment Or Decrement Expression Feature Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INCREMENT_OR_DECREMENT_EXPRESSION___INCREMENT_OR_DECREMENT_EXPRESSION_FEATURE_DERIVATION__DIAGNOSTICCHAIN_MAP = EXPRESSION_OPERATION_COUNT + 7;
+
+ /**
+ * The operation id for the '<em>Increment Or Decrement Expression Expression Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INCREMENT_OR_DECREMENT_EXPRESSION___INCREMENT_OR_DECREMENT_EXPRESSION_EXPRESSION_DERIVATION__DIAGNOSTICCHAIN_MAP = EXPRESSION_OPERATION_COUNT + 8;
+
+ /**
+ * The operation id for the '<em>Increment Or Decrement Expression Type Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INCREMENT_OR_DECREMENT_EXPRESSION___INCREMENT_OR_DECREMENT_EXPRESSION_TYPE_DERIVATION__DIAGNOSTICCHAIN_MAP = EXPRESSION_OPERATION_COUNT + 9;
+
+ /**
+ * The operation id for the '<em>Increment Or Decrement Expression Lower Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INCREMENT_OR_DECREMENT_EXPRESSION___INCREMENT_OR_DECREMENT_EXPRESSION_LOWER_DERIVATION__DIAGNOSTICCHAIN_MAP = EXPRESSION_OPERATION_COUNT + 10;
+
+ /**
+ * The operation id for the '<em>Increment Or Decrement Expression Upper Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INCREMENT_OR_DECREMENT_EXPRESSION___INCREMENT_OR_DECREMENT_EXPRESSION_UPPER_DERIVATION__DIAGNOSTICCHAIN_MAP = EXPRESSION_OPERATION_COUNT + 11;
+
+ /**
+ * The operation id for the '<em>Increment Or Decrement Expression Operand</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INCREMENT_OR_DECREMENT_EXPRESSION___INCREMENT_OR_DECREMENT_EXPRESSION_OPERAND__DIAGNOSTICCHAIN_MAP = EXPRESSION_OPERATION_COUNT + 12;
+
+ /**
+ * The operation id for the '<em>Increment Or Decrement Expression Assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INCREMENT_OR_DECREMENT_EXPRESSION___INCREMENT_OR_DECREMENT_EXPRESSION_ASSIGNMENTS_BEFORE__DIAGNOSTICCHAIN_MAP = EXPRESSION_OPERATION_COUNT + 13;
+
+ /**
+ * The operation id for the '<em>Update Assignments</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INCREMENT_OR_DECREMENT_EXPRESSION___UPDATE_ASSIGNMENTS = EXPRESSION_OPERATION_COUNT + 14;
+
+ /**
+ * The number of operations of the '<em>Increment Or Decrement Expression</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INCREMENT_OR_DECREMENT_EXPRESSION_OPERATION_COUNT = EXPRESSION_OPERATION_COUNT + 15;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.uml.alf.impl.BooleanLiteralExpressionImpl <em>Boolean Literal Expression</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.uml.alf.impl.BooleanLiteralExpressionImpl
+ * @see org.eclipse.papyrus.uml.alf.impl.AlfPackageImpl#getBooleanLiteralExpression()
+ * @generated
+ */
+ int BOOLEAN_LITERAL_EXPRESSION = 64;
+
+ /**
+ * The feature id for the '<em><b>Owner</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BOOLEAN_LITERAL_EXPRESSION__OWNER = LITERAL_EXPRESSION__OWNER;
+
+ /**
+ * The feature id for the '<em><b>Upper</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BOOLEAN_LITERAL_EXPRESSION__UPPER = LITERAL_EXPRESSION__UPPER;
+
+ /**
+ * The feature id for the '<em><b>Lower</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BOOLEAN_LITERAL_EXPRESSION__LOWER = LITERAL_EXPRESSION__LOWER;
+
+ /**
+ * The feature id for the '<em><b>Type</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BOOLEAN_LITERAL_EXPRESSION__TYPE = LITERAL_EXPRESSION__TYPE;
+
+ /**
+ * The feature id for the '<em><b>Assignment Before</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BOOLEAN_LITERAL_EXPRESSION__ASSIGNMENT_BEFORE = LITERAL_EXPRESSION__ASSIGNMENT_BEFORE;
+
+ /**
+ * The feature id for the '<em><b>Assignment After</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BOOLEAN_LITERAL_EXPRESSION__ASSIGNMENT_AFTER = LITERAL_EXPRESSION__ASSIGNMENT_AFTER;
+
+ /**
+ * The feature id for the '<em><b>Image</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BOOLEAN_LITERAL_EXPRESSION__IMAGE = LITERAL_EXPRESSION_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the '<em>Boolean Literal Expression</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BOOLEAN_LITERAL_EXPRESSION_FEATURE_COUNT = LITERAL_EXPRESSION_FEATURE_COUNT + 1;
+
+ /**
+ * The operation id for the '<em>To Reference</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BOOLEAN_LITERAL_EXPRESSION___TO_REFERENCE = LITERAL_EXPRESSION___TO_REFERENCE;
+
+ /**
+ * The operation id for the '<em>Owner</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BOOLEAN_LITERAL_EXPRESSION___OWNER = LITERAL_EXPRESSION___OWNER;
+
+ /**
+ * The operation id for the '<em>Syntax Element owner</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BOOLEAN_LITERAL_EXPRESSION___SYNTAX_ELEMENT_OWNER = LITERAL_EXPRESSION___SYNTAX_ELEMENT_OWNER;
+
+ /**
+ * The operation id for the '<em>Current Scope</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BOOLEAN_LITERAL_EXPRESSION___CURRENT_SCOPE = LITERAL_EXPRESSION___CURRENT_SCOPE;
+
+ /**
+ * The operation id for the '<em>Syntax Element current Scope</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BOOLEAN_LITERAL_EXPRESSION___SYNTAX_ELEMENT_CURRENT_SCOPE = LITERAL_EXPRESSION___SYNTAX_ELEMENT_CURRENT_SCOPE;
+
+ /**
+ * The operation id for the '<em>Enclosing Statement</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BOOLEAN_LITERAL_EXPRESSION___ENCLOSING_STATEMENT = LITERAL_EXPRESSION___ENCLOSING_STATEMENT;
+
+ /**
+ * The operation id for the '<em>Enclosing Expression</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BOOLEAN_LITERAL_EXPRESSION___ENCLOSING_EXPRESSION = LITERAL_EXPRESSION___ENCLOSING_EXPRESSION;
+
+ /**
+ * The operation id for the '<em>Assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BOOLEAN_LITERAL_EXPRESSION___ASSIGNMENTS_BEFORE = LITERAL_EXPRESSION___ASSIGNMENTS_BEFORE;
+
+ /**
+ * The operation id for the '<em>Syntax Element assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BOOLEAN_LITERAL_EXPRESSION___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE = LITERAL_EXPRESSION___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE;
+
+ /**
+ * The operation id for the '<em>Syntax Element assignments Before base</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BOOLEAN_LITERAL_EXPRESSION___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE_BASE = LITERAL_EXPRESSION___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE_BASE;
+
+ /**
+ * The operation id for the '<em>Assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BOOLEAN_LITERAL_EXPRESSION___ASSIGNMENTS_BEFORE__SYNTAXELEMENT = LITERAL_EXPRESSION___ASSIGNMENTS_BEFORE__SYNTAXELEMENT;
+
+ /**
+ * The operation id for the '<em>Update All</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BOOLEAN_LITERAL_EXPRESSION___UPDATE_ALL__ELIST_ELIST = LITERAL_EXPRESSION___UPDATE_ALL__ELIST_ELIST;
+
+ /**
+ * The operation id for the '<em>Common Ancestor</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BOOLEAN_LITERAL_EXPRESSION___COMMON_ANCESTOR__ELIST = LITERAL_EXPRESSION___COMMON_ANCESTOR__ELIST;
+
+ /**
+ * The operation id for the '<em>Common Ancestors</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BOOLEAN_LITERAL_EXPRESSION___COMMON_ANCESTORS__ELIST = LITERAL_EXPRESSION___COMMON_ANCESTORS__ELIST;
+
+ /**
+ * The operation id for the '<em>Remove Duplicate Elements</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BOOLEAN_LITERAL_EXPRESSION___REMOVE_DUPLICATE_ELEMENTS__ELIST = LITERAL_EXPRESSION___REMOVE_DUPLICATE_ELEMENTS__ELIST;
+
+ /**
+ * The operation id for the '<em>Resolve In Library</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BOOLEAN_LITERAL_EXPRESSION___RESOLVE_IN_LIBRARY__STRING = LITERAL_EXPRESSION___RESOLVE_IN_LIBRARY__STRING;
+
+ /**
+ * The operation id for the '<em>Primitive Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BOOLEAN_LITERAL_EXPRESSION___PRIMITIVE_TYPE__STRING = LITERAL_EXPRESSION___PRIMITIVE_TYPE__STRING;
+
+ /**
+ * The operation id for the '<em>Primitive Type </em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BOOLEAN_LITERAL_EXPRESSION___PRIMITIVE_TYPE____STRING = LITERAL_EXPRESSION___PRIMITIVE_TYPE____STRING;
+
+ /**
+ * The operation id for the '<em>Boolean Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BOOLEAN_LITERAL_EXPRESSION___BOOLEAN_TYPE = LITERAL_EXPRESSION___BOOLEAN_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Boolean Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BOOLEAN_LITERAL_EXPRESSION___IS_BOOLEAN_TYPE__ELEMENTREFERENCE = LITERAL_EXPRESSION___IS_BOOLEAN_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Integer Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BOOLEAN_LITERAL_EXPRESSION___INTEGER_TYPE = LITERAL_EXPRESSION___INTEGER_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Integer Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BOOLEAN_LITERAL_EXPRESSION___IS_INTEGER_TYPE__ELEMENTREFERENCE = LITERAL_EXPRESSION___IS_INTEGER_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BOOLEAN_LITERAL_EXPRESSION___STRING_TYPE = LITERAL_EXPRESSION___STRING_TYPE;
+
+ /**
+ * The operation id for the '<em>Is String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BOOLEAN_LITERAL_EXPRESSION___IS_STRING_TYPE__ELEMENTREFERENCE = LITERAL_EXPRESSION___IS_STRING_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Unlimited Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BOOLEAN_LITERAL_EXPRESSION___UNLIMITED_NATURAL_TYPE = LITERAL_EXPRESSION___UNLIMITED_NATURAL_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Unlimited Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BOOLEAN_LITERAL_EXPRESSION___IS_UNLIMITED_NATURAL_TYPE__ELEMENTREFERENCE = LITERAL_EXPRESSION___IS_UNLIMITED_NATURAL_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Bit String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BOOLEAN_LITERAL_EXPRESSION___BIT_STRING_TYPE = LITERAL_EXPRESSION___BIT_STRING_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Bit String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BOOLEAN_LITERAL_EXPRESSION___IS_BIT_STRING_TYPE__ELEMENTREFERENCE = LITERAL_EXPRESSION___IS_BIT_STRING_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BOOLEAN_LITERAL_EXPRESSION___NATURAL_TYPE = LITERAL_EXPRESSION___NATURAL_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BOOLEAN_LITERAL_EXPRESSION___IS_NATURAL_TYPE__ELEMENTREFERENCE = LITERAL_EXPRESSION___IS_NATURAL_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Numeric Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BOOLEAN_LITERAL_EXPRESSION___IS_NUMERIC_TYPE__ELEMENTREFERENCE = LITERAL_EXPRESSION___IS_NUMERIC_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Collection Function Add</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BOOLEAN_LITERAL_EXPRESSION___COLLECTION_FUNCTION_ADD = LITERAL_EXPRESSION___COLLECTION_FUNCTION_ADD;
+
+ /**
+ * The operation id for the '<em>Is Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BOOLEAN_LITERAL_EXPRESSION___IS_COLLECTION_CLASS__ELEMENTREFERENCE = LITERAL_EXPRESSION___IS_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Integer Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BOOLEAN_LITERAL_EXPRESSION___IS_INTEGER_COLLECTION_CLASS__ELEMENTREFERENCE = LITERAL_EXPRESSION___IS_INTEGER_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Bit String Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BOOLEAN_LITERAL_EXPRESSION___IS_BIT_STRING_COLLECTION_CLASS__ELEMENTREFERENCE = LITERAL_EXPRESSION___IS_BIT_STRING_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Type Cached</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BOOLEAN_LITERAL_EXPRESSION___TYPE_CACHED = LITERAL_EXPRESSION___TYPE_CACHED;
+
+ /**
+ * The operation id for the '<em>Is Null</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BOOLEAN_LITERAL_EXPRESSION___IS_NULL = LITERAL_EXPRESSION___IS_NULL;
+
+ /**
+ * The operation id for the '<em>Is Assignable From Element</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BOOLEAN_LITERAL_EXPRESSION___IS_ASSIGNABLE_FROM_ELEMENT__ELEMENTREFERENCE = LITERAL_EXPRESSION___IS_ASSIGNABLE_FROM_ELEMENT__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Assignable From</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BOOLEAN_LITERAL_EXPRESSION___IS_ASSIGNABLE_FROM__ASSIGNABLEELEMENT = LITERAL_EXPRESSION___IS_ASSIGNABLE_FROM__ASSIGNABLEELEMENT;
+
+ /**
+ * The operation id for the '<em>Is Type Conformant With</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BOOLEAN_LITERAL_EXPRESSION___IS_TYPE_CONFORMANT_WITH__ASSIGNABLEELEMENT = LITERAL_EXPRESSION___IS_TYPE_CONFORMANT_WITH__ASSIGNABLEELEMENT;
+
+ /**
+ * The operation id for the '<em>Is Conformant With Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BOOLEAN_LITERAL_EXPRESSION___IS_CONFORMANT_WITH_TYPE__ELEMENTREFERENCE = LITERAL_EXPRESSION___IS_CONFORMANT_WITH_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Multiplicity Conformant With</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BOOLEAN_LITERAL_EXPRESSION___IS_MULTIPLICITY_CONFORMANT_WITH__ASSIGNABLEELEMENT = LITERAL_EXPRESSION___IS_MULTIPLICITY_CONFORMANT_WITH__ASSIGNABLEELEMENT;
+
+ /**
+ * The operation id for the '<em>New Assignments</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BOOLEAN_LITERAL_EXPRESSION___NEW_ASSIGNMENTS = LITERAL_EXPRESSION___NEW_ASSIGNMENTS;
+
+ /**
+ * The operation id for the '<em>Update Assignments</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BOOLEAN_LITERAL_EXPRESSION___UPDATE_ASSIGNMENTS = LITERAL_EXPRESSION___UPDATE_ASSIGNMENTS;
+
+ /**
+ * The operation id for the '<em>Expression update Assignments</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BOOLEAN_LITERAL_EXPRESSION___EXPRESSION_UPDATE_ASSIGNMENTS = LITERAL_EXPRESSION___EXPRESSION_UPDATE_ASSIGNMENTS;
+
+ /**
+ * The operation id for the '<em>Update Assignments Cached</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BOOLEAN_LITERAL_EXPRESSION___UPDATE_ASSIGNMENTS_CACHED = LITERAL_EXPRESSION___UPDATE_ASSIGNMENTS_CACHED;
+
+ /**
+ * The operation id for the '<em>Resolve</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BOOLEAN_LITERAL_EXPRESSION___RESOLVE__STRING = LITERAL_EXPRESSION___RESOLVE__STRING;
+
+ /**
+ * The operation id for the '<em>Is Add Target</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BOOLEAN_LITERAL_EXPRESSION___IS_ADD_TARGET__EXPRESSION = LITERAL_EXPRESSION___IS_ADD_TARGET__EXPRESSION;
+
+ /**
+ * The operation id for the '<em>Expression Assignment After Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BOOLEAN_LITERAL_EXPRESSION___EXPRESSION_ASSIGNMENT_AFTER_DERIVATION__DIAGNOSTICCHAIN_MAP = LITERAL_EXPRESSION___EXPRESSION_ASSIGNMENT_AFTER_DERIVATION__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Expression Unique Assignments</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BOOLEAN_LITERAL_EXPRESSION___EXPRESSION_UNIQUE_ASSIGNMENTS__DIAGNOSTICCHAIN_MAP = LITERAL_EXPRESSION___EXPRESSION_UNIQUE_ASSIGNMENTS__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Upper</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BOOLEAN_LITERAL_EXPRESSION___UPPER = LITERAL_EXPRESSION___UPPER;
+
+ /**
+ * The operation id for the '<em>Lower</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BOOLEAN_LITERAL_EXPRESSION___LOWER = LITERAL_EXPRESSION___LOWER;
+
+ /**
+ * The operation id for the '<em>Literal Expression Upper Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BOOLEAN_LITERAL_EXPRESSION___LITERAL_EXPRESSION_UPPER_DERIVATION__DIAGNOSTICCHAIN_MAP = LITERAL_EXPRESSION___LITERAL_EXPRESSION_UPPER_DERIVATION__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Literal Expression Lower Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BOOLEAN_LITERAL_EXPRESSION___LITERAL_EXPRESSION_LOWER_DERIVATION__DIAGNOSTICCHAIN_MAP = LITERAL_EXPRESSION___LITERAL_EXPRESSION_LOWER_DERIVATION__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BOOLEAN_LITERAL_EXPRESSION___TYPE = LITERAL_EXPRESSION_OPERATION_COUNT + 0;
+
+ /**
+ * The operation id for the '<em>Boolean Literal Expression Type Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BOOLEAN_LITERAL_EXPRESSION___BOOLEAN_LITERAL_EXPRESSION_TYPE_DERIVATION__DIAGNOSTICCHAIN_MAP = LITERAL_EXPRESSION_OPERATION_COUNT + 1;
+
+ /**
+ * The number of operations of the '<em>Boolean Literal Expression</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BOOLEAN_LITERAL_EXPRESSION_OPERATION_COUNT = LITERAL_EXPRESSION_OPERATION_COUNT + 2;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.uml.alf.impl.NamedTupleImpl <em>Named Tuple</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.uml.alf.impl.NamedTupleImpl
+ * @see org.eclipse.papyrus.uml.alf.impl.AlfPackageImpl#getNamedTuple()
+ * @generated
+ */
+ int NAMED_TUPLE = 65;
+
+ /**
+ * The feature id for the '<em><b>Owner</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAMED_TUPLE__OWNER = TUPLE__OWNER;
+
+ /**
+ * The feature id for the '<em><b>Input</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAMED_TUPLE__INPUT = TUPLE__INPUT;
+
+ /**
+ * The feature id for the '<em><b>Invocation</b></em>' container reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAMED_TUPLE__INVOCATION = TUPLE__INVOCATION;
+
+ /**
+ * The feature id for the '<em><b>Output</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAMED_TUPLE__OUTPUT = TUPLE__OUTPUT;
+
+ /**
+ * The feature id for the '<em><b>Named Expression</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAMED_TUPLE__NAMED_EXPRESSION = TUPLE_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the '<em>Named Tuple</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAMED_TUPLE_FEATURE_COUNT = TUPLE_FEATURE_COUNT + 1;
+
+ /**
+ * The operation id for the '<em>To Reference</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAMED_TUPLE___TO_REFERENCE = TUPLE___TO_REFERENCE;
+
+ /**
+ * The operation id for the '<em>Owner</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAMED_TUPLE___OWNER = TUPLE___OWNER;
+
+ /**
+ * The operation id for the '<em>Syntax Element owner</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAMED_TUPLE___SYNTAX_ELEMENT_OWNER = TUPLE___SYNTAX_ELEMENT_OWNER;
+
+ /**
+ * The operation id for the '<em>Current Scope</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAMED_TUPLE___CURRENT_SCOPE = TUPLE___CURRENT_SCOPE;
+
+ /**
+ * The operation id for the '<em>Syntax Element current Scope</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAMED_TUPLE___SYNTAX_ELEMENT_CURRENT_SCOPE = TUPLE___SYNTAX_ELEMENT_CURRENT_SCOPE;
+
+ /**
+ * The operation id for the '<em>Enclosing Statement</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAMED_TUPLE___ENCLOSING_STATEMENT = TUPLE___ENCLOSING_STATEMENT;
+
+ /**
+ * The operation id for the '<em>Enclosing Expression</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAMED_TUPLE___ENCLOSING_EXPRESSION = TUPLE___ENCLOSING_EXPRESSION;
+
+ /**
+ * The operation id for the '<em>Assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAMED_TUPLE___ASSIGNMENTS_BEFORE = TUPLE___ASSIGNMENTS_BEFORE;
+
+ /**
+ * The operation id for the '<em>Syntax Element assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAMED_TUPLE___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE = TUPLE___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE;
+
+ /**
+ * The operation id for the '<em>Syntax Element assignments Before base</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAMED_TUPLE___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE_BASE = TUPLE___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE_BASE;
+
+ /**
+ * The operation id for the '<em>Update All</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAMED_TUPLE___UPDATE_ALL__ELIST_ELIST = TUPLE___UPDATE_ALL__ELIST_ELIST;
+
+ /**
+ * The operation id for the '<em>Common Ancestor</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAMED_TUPLE___COMMON_ANCESTOR__ELIST = TUPLE___COMMON_ANCESTOR__ELIST;
+
+ /**
+ * The operation id for the '<em>Common Ancestors</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAMED_TUPLE___COMMON_ANCESTORS__ELIST = TUPLE___COMMON_ANCESTORS__ELIST;
+
+ /**
+ * The operation id for the '<em>Remove Duplicate Elements</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAMED_TUPLE___REMOVE_DUPLICATE_ELEMENTS__ELIST = TUPLE___REMOVE_DUPLICATE_ELEMENTS__ELIST;
+
+ /**
+ * The operation id for the '<em>Resolve In Library</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAMED_TUPLE___RESOLVE_IN_LIBRARY__STRING = TUPLE___RESOLVE_IN_LIBRARY__STRING;
+
+ /**
+ * The operation id for the '<em>Primitive Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAMED_TUPLE___PRIMITIVE_TYPE__STRING = TUPLE___PRIMITIVE_TYPE__STRING;
+
+ /**
+ * The operation id for the '<em>Primitive Type </em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAMED_TUPLE___PRIMITIVE_TYPE____STRING = TUPLE___PRIMITIVE_TYPE____STRING;
+
+ /**
+ * The operation id for the '<em>Boolean Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAMED_TUPLE___BOOLEAN_TYPE = TUPLE___BOOLEAN_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Boolean Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAMED_TUPLE___IS_BOOLEAN_TYPE__ELEMENTREFERENCE = TUPLE___IS_BOOLEAN_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Integer Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAMED_TUPLE___INTEGER_TYPE = TUPLE___INTEGER_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Integer Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAMED_TUPLE___IS_INTEGER_TYPE__ELEMENTREFERENCE = TUPLE___IS_INTEGER_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAMED_TUPLE___STRING_TYPE = TUPLE___STRING_TYPE;
+
+ /**
+ * The operation id for the '<em>Is String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAMED_TUPLE___IS_STRING_TYPE__ELEMENTREFERENCE = TUPLE___IS_STRING_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Unlimited Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAMED_TUPLE___UNLIMITED_NATURAL_TYPE = TUPLE___UNLIMITED_NATURAL_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Unlimited Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAMED_TUPLE___IS_UNLIMITED_NATURAL_TYPE__ELEMENTREFERENCE = TUPLE___IS_UNLIMITED_NATURAL_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Bit String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAMED_TUPLE___BIT_STRING_TYPE = TUPLE___BIT_STRING_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Bit String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAMED_TUPLE___IS_BIT_STRING_TYPE__ELEMENTREFERENCE = TUPLE___IS_BIT_STRING_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAMED_TUPLE___NATURAL_TYPE = TUPLE___NATURAL_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAMED_TUPLE___IS_NATURAL_TYPE__ELEMENTREFERENCE = TUPLE___IS_NATURAL_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Numeric Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAMED_TUPLE___IS_NUMERIC_TYPE__ELEMENTREFERENCE = TUPLE___IS_NUMERIC_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Collection Function Add</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAMED_TUPLE___COLLECTION_FUNCTION_ADD = TUPLE___COLLECTION_FUNCTION_ADD;
+
+ /**
+ * The operation id for the '<em>Is Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAMED_TUPLE___IS_COLLECTION_CLASS__ELEMENTREFERENCE = TUPLE___IS_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Integer Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAMED_TUPLE___IS_INTEGER_COLLECTION_CLASS__ELEMENTREFERENCE = TUPLE___IS_INTEGER_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Bit String Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAMED_TUPLE___IS_BIT_STRING_COLLECTION_CLASS__ELEMENTREFERENCE = TUPLE___IS_BIT_STRING_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Input Cached</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAMED_TUPLE___INPUT_CACHED = TUPLE___INPUT_CACHED;
+
+ /**
+ * The operation id for the '<em>Input</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAMED_TUPLE___INPUT = TUPLE___INPUT;
+
+ /**
+ * The operation id for the '<em>Output Cached</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAMED_TUPLE___OUTPUT_CACHED = TUPLE___OUTPUT_CACHED;
+
+ /**
+ * The operation id for the '<em>Output</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAMED_TUPLE___OUTPUT = TUPLE___OUTPUT;
+
+ /**
+ * The operation id for the '<em>Assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAMED_TUPLE___ASSIGNMENTS_BEFORE__SYNTAXELEMENT = TUPLE___ASSIGNMENTS_BEFORE__SYNTAXELEMENT;
+
+ /**
+ * The operation id for the '<em>Assignments After</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAMED_TUPLE___ASSIGNMENTS_AFTER = TUPLE___ASSIGNMENTS_AFTER;
+
+ /**
+ * The operation id for the '<em>New Assignments</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAMED_TUPLE___NEW_ASSIGNMENTS = TUPLE___NEW_ASSIGNMENTS;
+
+ /**
+ * The operation id for the '<em>Update For</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAMED_TUPLE___UPDATE_FOR__ELIST_OUTPUTNAMEDEXPRESSION = TUPLE___UPDATE_FOR__ELIST_OUTPUTNAMEDEXPRESSION;
+
+ /**
+ * The operation id for the '<em>Tuple Input Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAMED_TUPLE___TUPLE_INPUT_DERIVATION__DIAGNOSTICCHAIN_MAP = TUPLE___TUPLE_INPUT_DERIVATION__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Tuple Output Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAMED_TUPLE___TUPLE_OUTPUT_DERIVATION__DIAGNOSTICCHAIN_MAP = TUPLE___TUPLE_OUTPUT_DERIVATION__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Tuple Null Inputs</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAMED_TUPLE___TUPLE_NULL_INPUTS__DIAGNOSTICCHAIN_MAP = TUPLE___TUPLE_NULL_INPUTS__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Tuple Outputs</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAMED_TUPLE___TUPLE_OUTPUTS__DIAGNOSTICCHAIN_MAP = TUPLE___TUPLE_OUTPUTS__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Tuple Assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAMED_TUPLE___TUPLE_ASSIGNMENTS_BEFORE__DIAGNOSTICCHAIN_MAP = TUPLE___TUPLE_ASSIGNMENTS_BEFORE__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Tuple Assignments After</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAMED_TUPLE___TUPLE_ASSIGNMENTS_AFTER__DIAGNOSTICCHAIN_MAP = TUPLE___TUPLE_ASSIGNMENTS_AFTER__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Size</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAMED_TUPLE___SIZE = TUPLE_OPERATION_COUNT + 0;
+
+ /**
+ * The operation id for the '<em>Input For</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAMED_TUPLE___INPUT_FOR__ELIST = TUPLE_OPERATION_COUNT + 1;
+
+ /**
+ * The operation id for the '<em>Output For</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAMED_TUPLE___OUTPUT_FOR__ELIST = TUPLE_OPERATION_COUNT + 2;
+
+ /**
+ * The operation id for the '<em>Named Tuple Argument Names</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAMED_TUPLE___NAMED_TUPLE_ARGUMENT_NAMES__DIAGNOSTICCHAIN_MAP = TUPLE_OPERATION_COUNT + 3;
+
+ /**
+ * The number of operations of the '<em>Named Tuple</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAMED_TUPLE_OPERATION_COUNT = TUPLE_OPERATION_COUNT + 4;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.uml.alf.impl.NaturalLiteralExpressionImpl <em>Natural Literal Expression</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.uml.alf.impl.NaturalLiteralExpressionImpl
+ * @see org.eclipse.papyrus.uml.alf.impl.AlfPackageImpl#getNaturalLiteralExpression()
+ * @generated
+ */
+ int NATURAL_LITERAL_EXPRESSION = 66;
+
+ /**
+ * The feature id for the '<em><b>Owner</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NATURAL_LITERAL_EXPRESSION__OWNER = LITERAL_EXPRESSION__OWNER;
+
+ /**
+ * The feature id for the '<em><b>Upper</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NATURAL_LITERAL_EXPRESSION__UPPER = LITERAL_EXPRESSION__UPPER;
+
+ /**
+ * The feature id for the '<em><b>Lower</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NATURAL_LITERAL_EXPRESSION__LOWER = LITERAL_EXPRESSION__LOWER;
+
+ /**
+ * The feature id for the '<em><b>Type</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NATURAL_LITERAL_EXPRESSION__TYPE = LITERAL_EXPRESSION__TYPE;
+
+ /**
+ * The feature id for the '<em><b>Assignment Before</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NATURAL_LITERAL_EXPRESSION__ASSIGNMENT_BEFORE = LITERAL_EXPRESSION__ASSIGNMENT_BEFORE;
+
+ /**
+ * The feature id for the '<em><b>Assignment After</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NATURAL_LITERAL_EXPRESSION__ASSIGNMENT_AFTER = LITERAL_EXPRESSION__ASSIGNMENT_AFTER;
+
+ /**
+ * The feature id for the '<em><b>Image</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NATURAL_LITERAL_EXPRESSION__IMAGE = LITERAL_EXPRESSION_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the '<em>Natural Literal Expression</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NATURAL_LITERAL_EXPRESSION_FEATURE_COUNT = LITERAL_EXPRESSION_FEATURE_COUNT + 1;
+
+ /**
+ * The operation id for the '<em>To Reference</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NATURAL_LITERAL_EXPRESSION___TO_REFERENCE = LITERAL_EXPRESSION___TO_REFERENCE;
+
+ /**
+ * The operation id for the '<em>Owner</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NATURAL_LITERAL_EXPRESSION___OWNER = LITERAL_EXPRESSION___OWNER;
+
+ /**
+ * The operation id for the '<em>Syntax Element owner</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NATURAL_LITERAL_EXPRESSION___SYNTAX_ELEMENT_OWNER = LITERAL_EXPRESSION___SYNTAX_ELEMENT_OWNER;
+
+ /**
+ * The operation id for the '<em>Current Scope</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NATURAL_LITERAL_EXPRESSION___CURRENT_SCOPE = LITERAL_EXPRESSION___CURRENT_SCOPE;
+
+ /**
+ * The operation id for the '<em>Syntax Element current Scope</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NATURAL_LITERAL_EXPRESSION___SYNTAX_ELEMENT_CURRENT_SCOPE = LITERAL_EXPRESSION___SYNTAX_ELEMENT_CURRENT_SCOPE;
+
+ /**
+ * The operation id for the '<em>Enclosing Statement</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NATURAL_LITERAL_EXPRESSION___ENCLOSING_STATEMENT = LITERAL_EXPRESSION___ENCLOSING_STATEMENT;
+
+ /**
+ * The operation id for the '<em>Enclosing Expression</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NATURAL_LITERAL_EXPRESSION___ENCLOSING_EXPRESSION = LITERAL_EXPRESSION___ENCLOSING_EXPRESSION;
+
+ /**
+ * The operation id for the '<em>Assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NATURAL_LITERAL_EXPRESSION___ASSIGNMENTS_BEFORE = LITERAL_EXPRESSION___ASSIGNMENTS_BEFORE;
+
+ /**
+ * The operation id for the '<em>Syntax Element assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NATURAL_LITERAL_EXPRESSION___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE = LITERAL_EXPRESSION___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE;
+
+ /**
+ * The operation id for the '<em>Syntax Element assignments Before base</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NATURAL_LITERAL_EXPRESSION___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE_BASE = LITERAL_EXPRESSION___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE_BASE;
+
+ /**
+ * The operation id for the '<em>Assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NATURAL_LITERAL_EXPRESSION___ASSIGNMENTS_BEFORE__SYNTAXELEMENT = LITERAL_EXPRESSION___ASSIGNMENTS_BEFORE__SYNTAXELEMENT;
+
+ /**
+ * The operation id for the '<em>Update All</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NATURAL_LITERAL_EXPRESSION___UPDATE_ALL__ELIST_ELIST = LITERAL_EXPRESSION___UPDATE_ALL__ELIST_ELIST;
+
+ /**
+ * The operation id for the '<em>Common Ancestor</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NATURAL_LITERAL_EXPRESSION___COMMON_ANCESTOR__ELIST = LITERAL_EXPRESSION___COMMON_ANCESTOR__ELIST;
+
+ /**
+ * The operation id for the '<em>Common Ancestors</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NATURAL_LITERAL_EXPRESSION___COMMON_ANCESTORS__ELIST = LITERAL_EXPRESSION___COMMON_ANCESTORS__ELIST;
+
+ /**
+ * The operation id for the '<em>Remove Duplicate Elements</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NATURAL_LITERAL_EXPRESSION___REMOVE_DUPLICATE_ELEMENTS__ELIST = LITERAL_EXPRESSION___REMOVE_DUPLICATE_ELEMENTS__ELIST;
+
+ /**
+ * The operation id for the '<em>Resolve In Library</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NATURAL_LITERAL_EXPRESSION___RESOLVE_IN_LIBRARY__STRING = LITERAL_EXPRESSION___RESOLVE_IN_LIBRARY__STRING;
+
+ /**
+ * The operation id for the '<em>Primitive Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NATURAL_LITERAL_EXPRESSION___PRIMITIVE_TYPE__STRING = LITERAL_EXPRESSION___PRIMITIVE_TYPE__STRING;
+
+ /**
+ * The operation id for the '<em>Primitive Type </em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NATURAL_LITERAL_EXPRESSION___PRIMITIVE_TYPE____STRING = LITERAL_EXPRESSION___PRIMITIVE_TYPE____STRING;
+
+ /**
+ * The operation id for the '<em>Boolean Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NATURAL_LITERAL_EXPRESSION___BOOLEAN_TYPE = LITERAL_EXPRESSION___BOOLEAN_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Boolean Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NATURAL_LITERAL_EXPRESSION___IS_BOOLEAN_TYPE__ELEMENTREFERENCE = LITERAL_EXPRESSION___IS_BOOLEAN_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Integer Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NATURAL_LITERAL_EXPRESSION___INTEGER_TYPE = LITERAL_EXPRESSION___INTEGER_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Integer Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NATURAL_LITERAL_EXPRESSION___IS_INTEGER_TYPE__ELEMENTREFERENCE = LITERAL_EXPRESSION___IS_INTEGER_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NATURAL_LITERAL_EXPRESSION___STRING_TYPE = LITERAL_EXPRESSION___STRING_TYPE;
+
+ /**
+ * The operation id for the '<em>Is String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NATURAL_LITERAL_EXPRESSION___IS_STRING_TYPE__ELEMENTREFERENCE = LITERAL_EXPRESSION___IS_STRING_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Unlimited Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NATURAL_LITERAL_EXPRESSION___UNLIMITED_NATURAL_TYPE = LITERAL_EXPRESSION___UNLIMITED_NATURAL_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Unlimited Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NATURAL_LITERAL_EXPRESSION___IS_UNLIMITED_NATURAL_TYPE__ELEMENTREFERENCE = LITERAL_EXPRESSION___IS_UNLIMITED_NATURAL_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Bit String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NATURAL_LITERAL_EXPRESSION___BIT_STRING_TYPE = LITERAL_EXPRESSION___BIT_STRING_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Bit String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NATURAL_LITERAL_EXPRESSION___IS_BIT_STRING_TYPE__ELEMENTREFERENCE = LITERAL_EXPRESSION___IS_BIT_STRING_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NATURAL_LITERAL_EXPRESSION___NATURAL_TYPE = LITERAL_EXPRESSION___NATURAL_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NATURAL_LITERAL_EXPRESSION___IS_NATURAL_TYPE__ELEMENTREFERENCE = LITERAL_EXPRESSION___IS_NATURAL_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Numeric Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NATURAL_LITERAL_EXPRESSION___IS_NUMERIC_TYPE__ELEMENTREFERENCE = LITERAL_EXPRESSION___IS_NUMERIC_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Collection Function Add</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NATURAL_LITERAL_EXPRESSION___COLLECTION_FUNCTION_ADD = LITERAL_EXPRESSION___COLLECTION_FUNCTION_ADD;
+
+ /**
+ * The operation id for the '<em>Is Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NATURAL_LITERAL_EXPRESSION___IS_COLLECTION_CLASS__ELEMENTREFERENCE = LITERAL_EXPRESSION___IS_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Integer Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NATURAL_LITERAL_EXPRESSION___IS_INTEGER_COLLECTION_CLASS__ELEMENTREFERENCE = LITERAL_EXPRESSION___IS_INTEGER_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Bit String Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NATURAL_LITERAL_EXPRESSION___IS_BIT_STRING_COLLECTION_CLASS__ELEMENTREFERENCE = LITERAL_EXPRESSION___IS_BIT_STRING_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Type Cached</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NATURAL_LITERAL_EXPRESSION___TYPE_CACHED = LITERAL_EXPRESSION___TYPE_CACHED;
+
+ /**
+ * The operation id for the '<em>Is Null</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NATURAL_LITERAL_EXPRESSION___IS_NULL = LITERAL_EXPRESSION___IS_NULL;
+
+ /**
+ * The operation id for the '<em>Is Assignable From Element</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NATURAL_LITERAL_EXPRESSION___IS_ASSIGNABLE_FROM_ELEMENT__ELEMENTREFERENCE = LITERAL_EXPRESSION___IS_ASSIGNABLE_FROM_ELEMENT__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Assignable From</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NATURAL_LITERAL_EXPRESSION___IS_ASSIGNABLE_FROM__ASSIGNABLEELEMENT = LITERAL_EXPRESSION___IS_ASSIGNABLE_FROM__ASSIGNABLEELEMENT;
+
+ /**
+ * The operation id for the '<em>Is Type Conformant With</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NATURAL_LITERAL_EXPRESSION___IS_TYPE_CONFORMANT_WITH__ASSIGNABLEELEMENT = LITERAL_EXPRESSION___IS_TYPE_CONFORMANT_WITH__ASSIGNABLEELEMENT;
+
+ /**
+ * The operation id for the '<em>Is Conformant With Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NATURAL_LITERAL_EXPRESSION___IS_CONFORMANT_WITH_TYPE__ELEMENTREFERENCE = LITERAL_EXPRESSION___IS_CONFORMANT_WITH_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Multiplicity Conformant With</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NATURAL_LITERAL_EXPRESSION___IS_MULTIPLICITY_CONFORMANT_WITH__ASSIGNABLEELEMENT = LITERAL_EXPRESSION___IS_MULTIPLICITY_CONFORMANT_WITH__ASSIGNABLEELEMENT;
+
+ /**
+ * The operation id for the '<em>New Assignments</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NATURAL_LITERAL_EXPRESSION___NEW_ASSIGNMENTS = LITERAL_EXPRESSION___NEW_ASSIGNMENTS;
+
+ /**
+ * The operation id for the '<em>Update Assignments</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NATURAL_LITERAL_EXPRESSION___UPDATE_ASSIGNMENTS = LITERAL_EXPRESSION___UPDATE_ASSIGNMENTS;
+
+ /**
+ * The operation id for the '<em>Expression update Assignments</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NATURAL_LITERAL_EXPRESSION___EXPRESSION_UPDATE_ASSIGNMENTS = LITERAL_EXPRESSION___EXPRESSION_UPDATE_ASSIGNMENTS;
+
+ /**
+ * The operation id for the '<em>Update Assignments Cached</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NATURAL_LITERAL_EXPRESSION___UPDATE_ASSIGNMENTS_CACHED = LITERAL_EXPRESSION___UPDATE_ASSIGNMENTS_CACHED;
+
+ /**
+ * The operation id for the '<em>Resolve</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NATURAL_LITERAL_EXPRESSION___RESOLVE__STRING = LITERAL_EXPRESSION___RESOLVE__STRING;
+
+ /**
+ * The operation id for the '<em>Is Add Target</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NATURAL_LITERAL_EXPRESSION___IS_ADD_TARGET__EXPRESSION = LITERAL_EXPRESSION___IS_ADD_TARGET__EXPRESSION;
+
+ /**
+ * The operation id for the '<em>Expression Assignment After Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NATURAL_LITERAL_EXPRESSION___EXPRESSION_ASSIGNMENT_AFTER_DERIVATION__DIAGNOSTICCHAIN_MAP = LITERAL_EXPRESSION___EXPRESSION_ASSIGNMENT_AFTER_DERIVATION__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Expression Unique Assignments</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NATURAL_LITERAL_EXPRESSION___EXPRESSION_UNIQUE_ASSIGNMENTS__DIAGNOSTICCHAIN_MAP = LITERAL_EXPRESSION___EXPRESSION_UNIQUE_ASSIGNMENTS__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Upper</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NATURAL_LITERAL_EXPRESSION___UPPER = LITERAL_EXPRESSION___UPPER;
+
+ /**
+ * The operation id for the '<em>Lower</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NATURAL_LITERAL_EXPRESSION___LOWER = LITERAL_EXPRESSION___LOWER;
+
+ /**
+ * The operation id for the '<em>Literal Expression Upper Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NATURAL_LITERAL_EXPRESSION___LITERAL_EXPRESSION_UPPER_DERIVATION__DIAGNOSTICCHAIN_MAP = LITERAL_EXPRESSION___LITERAL_EXPRESSION_UPPER_DERIVATION__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Literal Expression Lower Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NATURAL_LITERAL_EXPRESSION___LITERAL_EXPRESSION_LOWER_DERIVATION__DIAGNOSTICCHAIN_MAP = LITERAL_EXPRESSION___LITERAL_EXPRESSION_LOWER_DERIVATION__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NATURAL_LITERAL_EXPRESSION___TYPE = LITERAL_EXPRESSION_OPERATION_COUNT + 0;
+
+ /**
+ * The operation id for the '<em>Natural Literal Expression Type Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NATURAL_LITERAL_EXPRESSION___NATURAL_LITERAL_EXPRESSION_TYPE_DERIVATION__DIAGNOSTICCHAIN_MAP = LITERAL_EXPRESSION_OPERATION_COUNT + 1;
+
+ /**
+ * The number of operations of the '<em>Natural Literal Expression</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NATURAL_LITERAL_EXPRESSION_OPERATION_COUNT = LITERAL_EXPRESSION_OPERATION_COUNT + 2;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.uml.alf.impl.SequenceRangeImpl <em>Sequence Range</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.uml.alf.impl.SequenceRangeImpl
+ * @see org.eclipse.papyrus.uml.alf.impl.AlfPackageImpl#getSequenceRange()
+ * @generated
+ */
+ int SEQUENCE_RANGE = 67;
+
+ /**
+ * The feature id for the '<em><b>Owner</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_RANGE__OWNER = SEQUENCE_ELEMENTS__OWNER;
+
+ /**
+ * The feature id for the '<em><b>Upper</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_RANGE__UPPER = SEQUENCE_ELEMENTS__UPPER;
+
+ /**
+ * The feature id for the '<em><b>Lower</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_RANGE__LOWER = SEQUENCE_ELEMENTS__LOWER;
+
+ /**
+ * The feature id for the '<em><b>Range Lower</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_RANGE__RANGE_LOWER = SEQUENCE_ELEMENTS_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Range Upper</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_RANGE__RANGE_UPPER = SEQUENCE_ELEMENTS_FEATURE_COUNT + 1;
+
+ /**
+ * The number of structural features of the '<em>Sequence Range</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_RANGE_FEATURE_COUNT = SEQUENCE_ELEMENTS_FEATURE_COUNT + 2;
+
+ /**
+ * The operation id for the '<em>To Reference</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_RANGE___TO_REFERENCE = SEQUENCE_ELEMENTS___TO_REFERENCE;
+
+ /**
+ * The operation id for the '<em>Owner</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_RANGE___OWNER = SEQUENCE_ELEMENTS___OWNER;
+
+ /**
+ * The operation id for the '<em>Syntax Element owner</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_RANGE___SYNTAX_ELEMENT_OWNER = SEQUENCE_ELEMENTS___SYNTAX_ELEMENT_OWNER;
+
+ /**
+ * The operation id for the '<em>Current Scope</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_RANGE___CURRENT_SCOPE = SEQUENCE_ELEMENTS___CURRENT_SCOPE;
+
+ /**
+ * The operation id for the '<em>Syntax Element current Scope</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_RANGE___SYNTAX_ELEMENT_CURRENT_SCOPE = SEQUENCE_ELEMENTS___SYNTAX_ELEMENT_CURRENT_SCOPE;
+
+ /**
+ * The operation id for the '<em>Enclosing Statement</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_RANGE___ENCLOSING_STATEMENT = SEQUENCE_ELEMENTS___ENCLOSING_STATEMENT;
+
+ /**
+ * The operation id for the '<em>Enclosing Expression</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_RANGE___ENCLOSING_EXPRESSION = SEQUENCE_ELEMENTS___ENCLOSING_EXPRESSION;
+
+ /**
+ * The operation id for the '<em>Assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_RANGE___ASSIGNMENTS_BEFORE = SEQUENCE_ELEMENTS___ASSIGNMENTS_BEFORE;
+
+ /**
+ * The operation id for the '<em>Syntax Element assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_RANGE___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE = SEQUENCE_ELEMENTS___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE;
+
+ /**
+ * The operation id for the '<em>Syntax Element assignments Before base</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_RANGE___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE_BASE = SEQUENCE_ELEMENTS___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE_BASE;
+
+ /**
+ * The operation id for the '<em>Assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_RANGE___ASSIGNMENTS_BEFORE__SYNTAXELEMENT = SEQUENCE_ELEMENTS___ASSIGNMENTS_BEFORE__SYNTAXELEMENT;
+
+ /**
+ * The operation id for the '<em>Update All</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_RANGE___UPDATE_ALL__ELIST_ELIST = SEQUENCE_ELEMENTS___UPDATE_ALL__ELIST_ELIST;
+
+ /**
+ * The operation id for the '<em>Common Ancestor</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_RANGE___COMMON_ANCESTOR__ELIST = SEQUENCE_ELEMENTS___COMMON_ANCESTOR__ELIST;
+
+ /**
+ * The operation id for the '<em>Common Ancestors</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_RANGE___COMMON_ANCESTORS__ELIST = SEQUENCE_ELEMENTS___COMMON_ANCESTORS__ELIST;
+
+ /**
+ * The operation id for the '<em>Remove Duplicate Elements</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_RANGE___REMOVE_DUPLICATE_ELEMENTS__ELIST = SEQUENCE_ELEMENTS___REMOVE_DUPLICATE_ELEMENTS__ELIST;
+
+ /**
+ * The operation id for the '<em>Resolve In Library</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_RANGE___RESOLVE_IN_LIBRARY__STRING = SEQUENCE_ELEMENTS___RESOLVE_IN_LIBRARY__STRING;
+
+ /**
+ * The operation id for the '<em>Primitive Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_RANGE___PRIMITIVE_TYPE__STRING = SEQUENCE_ELEMENTS___PRIMITIVE_TYPE__STRING;
+
+ /**
+ * The operation id for the '<em>Primitive Type </em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_RANGE___PRIMITIVE_TYPE____STRING = SEQUENCE_ELEMENTS___PRIMITIVE_TYPE____STRING;
+
+ /**
+ * The operation id for the '<em>Boolean Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_RANGE___BOOLEAN_TYPE = SEQUENCE_ELEMENTS___BOOLEAN_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Boolean Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_RANGE___IS_BOOLEAN_TYPE__ELEMENTREFERENCE = SEQUENCE_ELEMENTS___IS_BOOLEAN_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Integer Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_RANGE___INTEGER_TYPE = SEQUENCE_ELEMENTS___INTEGER_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Integer Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_RANGE___IS_INTEGER_TYPE__ELEMENTREFERENCE = SEQUENCE_ELEMENTS___IS_INTEGER_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_RANGE___STRING_TYPE = SEQUENCE_ELEMENTS___STRING_TYPE;
+
+ /**
+ * The operation id for the '<em>Is String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_RANGE___IS_STRING_TYPE__ELEMENTREFERENCE = SEQUENCE_ELEMENTS___IS_STRING_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Unlimited Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_RANGE___UNLIMITED_NATURAL_TYPE = SEQUENCE_ELEMENTS___UNLIMITED_NATURAL_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Unlimited Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_RANGE___IS_UNLIMITED_NATURAL_TYPE__ELEMENTREFERENCE = SEQUENCE_ELEMENTS___IS_UNLIMITED_NATURAL_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Bit String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_RANGE___BIT_STRING_TYPE = SEQUENCE_ELEMENTS___BIT_STRING_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Bit String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_RANGE___IS_BIT_STRING_TYPE__ELEMENTREFERENCE = SEQUENCE_ELEMENTS___IS_BIT_STRING_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_RANGE___NATURAL_TYPE = SEQUENCE_ELEMENTS___NATURAL_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_RANGE___IS_NATURAL_TYPE__ELEMENTREFERENCE = SEQUENCE_ELEMENTS___IS_NATURAL_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Numeric Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_RANGE___IS_NUMERIC_TYPE__ELEMENTREFERENCE = SEQUENCE_ELEMENTS___IS_NUMERIC_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Collection Function Add</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_RANGE___COLLECTION_FUNCTION_ADD = SEQUENCE_ELEMENTS___COLLECTION_FUNCTION_ADD;
+
+ /**
+ * The operation id for the '<em>Is Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_RANGE___IS_COLLECTION_CLASS__ELEMENTREFERENCE = SEQUENCE_ELEMENTS___IS_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Integer Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_RANGE___IS_INTEGER_COLLECTION_CLASS__ELEMENTREFERENCE = SEQUENCE_ELEMENTS___IS_INTEGER_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Bit String Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_RANGE___IS_BIT_STRING_COLLECTION_CLASS__ELEMENTREFERENCE = SEQUENCE_ELEMENTS___IS_BIT_STRING_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Conforms To</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_RANGE___CONFORMS_TO__ELEMENTREFERENCE = SEQUENCE_ELEMENTS_OPERATION_COUNT + 0;
+
+ /**
+ * The operation id for the '<em>Assignments After</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_RANGE___ASSIGNMENTS_AFTER = SEQUENCE_ELEMENTS_OPERATION_COUNT + 1;
+
+ /**
+ * The operation id for the '<em>Upper</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_RANGE___UPPER = SEQUENCE_ELEMENTS_OPERATION_COUNT + 2;
+
+ /**
+ * The operation id for the '<em>Lower</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_RANGE___LOWER = SEQUENCE_ELEMENTS_OPERATION_COUNT + 3;
+
+ /**
+ * The operation id for the '<em>Sequence Range Lower Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_RANGE___SEQUENCE_RANGE_LOWER_DERIVATION__DIAGNOSTICCHAIN_MAP = SEQUENCE_ELEMENTS_OPERATION_COUNT + 4;
+
+ /**
+ * The operation id for the '<em>Sequence Range Upper Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_RANGE___SEQUENCE_RANGE_UPPER_DERIVATION__DIAGNOSTICCHAIN_MAP = SEQUENCE_ELEMENTS_OPERATION_COUNT + 5;
+
+ /**
+ * The operation id for the '<em>Sequence Range Expression Multiplicity</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_RANGE___SEQUENCE_RANGE_EXPRESSION_MULTIPLICITY__DIAGNOSTICCHAIN_MAP = SEQUENCE_ELEMENTS_OPERATION_COUNT + 6;
+
+ /**
+ * The operation id for the '<em>Sequence Range Assignments</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_RANGE___SEQUENCE_RANGE_ASSIGNMENTS__DIAGNOSTICCHAIN_MAP = SEQUENCE_ELEMENTS_OPERATION_COUNT + 7;
+
+ /**
+ * The number of operations of the '<em>Sequence Range</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_RANGE_OPERATION_COUNT = SEQUENCE_ELEMENTS_OPERATION_COUNT + 8;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.uml.alf.impl.NameLeftHandSideImpl <em>Name Left Hand Side</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.uml.alf.impl.NameLeftHandSideImpl
+ * @see org.eclipse.papyrus.uml.alf.impl.AlfPackageImpl#getNameLeftHandSide()
+ * @generated
+ */
+ int NAME_LEFT_HAND_SIDE = 68;
+
+ /**
+ * The feature id for the '<em><b>Owner</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAME_LEFT_HAND_SIDE__OWNER = LEFT_HAND_SIDE__OWNER;
+
+ /**
+ * The feature id for the '<em><b>Upper</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAME_LEFT_HAND_SIDE__UPPER = LEFT_HAND_SIDE__UPPER;
+
+ /**
+ * The feature id for the '<em><b>Lower</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAME_LEFT_HAND_SIDE__LOWER = LEFT_HAND_SIDE__LOWER;
+
+ /**
+ * The feature id for the '<em><b>Type</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAME_LEFT_HAND_SIDE__TYPE = LEFT_HAND_SIDE__TYPE;
+
+ /**
+ * The feature id for the '<em><b>Assignment Before</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAME_LEFT_HAND_SIDE__ASSIGNMENT_BEFORE = LEFT_HAND_SIDE__ASSIGNMENT_BEFORE;
+
+ /**
+ * The feature id for the '<em><b>Assignment After</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAME_LEFT_HAND_SIDE__ASSIGNMENT_AFTER = LEFT_HAND_SIDE__ASSIGNMENT_AFTER;
+
+ /**
+ * The feature id for the '<em><b>Referent</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAME_LEFT_HAND_SIDE__REFERENT = LEFT_HAND_SIDE__REFERENT;
+
+ /**
+ * The feature id for the '<em><b>Target</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAME_LEFT_HAND_SIDE__TARGET = LEFT_HAND_SIDE_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Index</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAME_LEFT_HAND_SIDE__INDEX = LEFT_HAND_SIDE_FEATURE_COUNT + 1;
+
+ /**
+ * The number of structural features of the '<em>Name Left Hand Side</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAME_LEFT_HAND_SIDE_FEATURE_COUNT = LEFT_HAND_SIDE_FEATURE_COUNT + 2;
+
+ /**
+ * The operation id for the '<em>To Reference</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAME_LEFT_HAND_SIDE___TO_REFERENCE = LEFT_HAND_SIDE___TO_REFERENCE;
+
+ /**
+ * The operation id for the '<em>Owner</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAME_LEFT_HAND_SIDE___OWNER = LEFT_HAND_SIDE___OWNER;
+
+ /**
+ * The operation id for the '<em>Syntax Element owner</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAME_LEFT_HAND_SIDE___SYNTAX_ELEMENT_OWNER = LEFT_HAND_SIDE___SYNTAX_ELEMENT_OWNER;
+
+ /**
+ * The operation id for the '<em>Current Scope</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAME_LEFT_HAND_SIDE___CURRENT_SCOPE = LEFT_HAND_SIDE___CURRENT_SCOPE;
+
+ /**
+ * The operation id for the '<em>Syntax Element current Scope</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAME_LEFT_HAND_SIDE___SYNTAX_ELEMENT_CURRENT_SCOPE = LEFT_HAND_SIDE___SYNTAX_ELEMENT_CURRENT_SCOPE;
+
+ /**
+ * The operation id for the '<em>Enclosing Statement</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAME_LEFT_HAND_SIDE___ENCLOSING_STATEMENT = LEFT_HAND_SIDE___ENCLOSING_STATEMENT;
+
+ /**
+ * The operation id for the '<em>Enclosing Expression</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAME_LEFT_HAND_SIDE___ENCLOSING_EXPRESSION = LEFT_HAND_SIDE___ENCLOSING_EXPRESSION;
+
+ /**
+ * The operation id for the '<em>Assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAME_LEFT_HAND_SIDE___ASSIGNMENTS_BEFORE = LEFT_HAND_SIDE___ASSIGNMENTS_BEFORE;
+
+ /**
+ * The operation id for the '<em>Syntax Element assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAME_LEFT_HAND_SIDE___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE = LEFT_HAND_SIDE___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE;
+
+ /**
+ * The operation id for the '<em>Syntax Element assignments Before base</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAME_LEFT_HAND_SIDE___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE_BASE = LEFT_HAND_SIDE___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE_BASE;
+
+ /**
+ * The operation id for the '<em>Update All</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAME_LEFT_HAND_SIDE___UPDATE_ALL__ELIST_ELIST = LEFT_HAND_SIDE___UPDATE_ALL__ELIST_ELIST;
+
+ /**
+ * The operation id for the '<em>Common Ancestor</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAME_LEFT_HAND_SIDE___COMMON_ANCESTOR__ELIST = LEFT_HAND_SIDE___COMMON_ANCESTOR__ELIST;
+
+ /**
+ * The operation id for the '<em>Common Ancestors</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAME_LEFT_HAND_SIDE___COMMON_ANCESTORS__ELIST = LEFT_HAND_SIDE___COMMON_ANCESTORS__ELIST;
+
+ /**
+ * The operation id for the '<em>Remove Duplicate Elements</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAME_LEFT_HAND_SIDE___REMOVE_DUPLICATE_ELEMENTS__ELIST = LEFT_HAND_SIDE___REMOVE_DUPLICATE_ELEMENTS__ELIST;
+
+ /**
+ * The operation id for the '<em>Resolve In Library</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAME_LEFT_HAND_SIDE___RESOLVE_IN_LIBRARY__STRING = LEFT_HAND_SIDE___RESOLVE_IN_LIBRARY__STRING;
+
+ /**
+ * The operation id for the '<em>Primitive Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAME_LEFT_HAND_SIDE___PRIMITIVE_TYPE__STRING = LEFT_HAND_SIDE___PRIMITIVE_TYPE__STRING;
+
+ /**
+ * The operation id for the '<em>Primitive Type </em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAME_LEFT_HAND_SIDE___PRIMITIVE_TYPE____STRING = LEFT_HAND_SIDE___PRIMITIVE_TYPE____STRING;
+
+ /**
+ * The operation id for the '<em>Boolean Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAME_LEFT_HAND_SIDE___BOOLEAN_TYPE = LEFT_HAND_SIDE___BOOLEAN_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Boolean Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAME_LEFT_HAND_SIDE___IS_BOOLEAN_TYPE__ELEMENTREFERENCE = LEFT_HAND_SIDE___IS_BOOLEAN_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Integer Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAME_LEFT_HAND_SIDE___INTEGER_TYPE = LEFT_HAND_SIDE___INTEGER_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Integer Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAME_LEFT_HAND_SIDE___IS_INTEGER_TYPE__ELEMENTREFERENCE = LEFT_HAND_SIDE___IS_INTEGER_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAME_LEFT_HAND_SIDE___STRING_TYPE = LEFT_HAND_SIDE___STRING_TYPE;
+
+ /**
+ * The operation id for the '<em>Is String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAME_LEFT_HAND_SIDE___IS_STRING_TYPE__ELEMENTREFERENCE = LEFT_HAND_SIDE___IS_STRING_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Unlimited Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAME_LEFT_HAND_SIDE___UNLIMITED_NATURAL_TYPE = LEFT_HAND_SIDE___UNLIMITED_NATURAL_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Unlimited Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAME_LEFT_HAND_SIDE___IS_UNLIMITED_NATURAL_TYPE__ELEMENTREFERENCE = LEFT_HAND_SIDE___IS_UNLIMITED_NATURAL_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Bit String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAME_LEFT_HAND_SIDE___BIT_STRING_TYPE = LEFT_HAND_SIDE___BIT_STRING_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Bit String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAME_LEFT_HAND_SIDE___IS_BIT_STRING_TYPE__ELEMENTREFERENCE = LEFT_HAND_SIDE___IS_BIT_STRING_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAME_LEFT_HAND_SIDE___NATURAL_TYPE = LEFT_HAND_SIDE___NATURAL_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAME_LEFT_HAND_SIDE___IS_NATURAL_TYPE__ELEMENTREFERENCE = LEFT_HAND_SIDE___IS_NATURAL_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Numeric Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAME_LEFT_HAND_SIDE___IS_NUMERIC_TYPE__ELEMENTREFERENCE = LEFT_HAND_SIDE___IS_NUMERIC_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Collection Function Add</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAME_LEFT_HAND_SIDE___COLLECTION_FUNCTION_ADD = LEFT_HAND_SIDE___COLLECTION_FUNCTION_ADD;
+
+ /**
+ * The operation id for the '<em>Is Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAME_LEFT_HAND_SIDE___IS_COLLECTION_CLASS__ELEMENTREFERENCE = LEFT_HAND_SIDE___IS_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Integer Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAME_LEFT_HAND_SIDE___IS_INTEGER_COLLECTION_CLASS__ELEMENTREFERENCE = LEFT_HAND_SIDE___IS_INTEGER_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Bit String Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAME_LEFT_HAND_SIDE___IS_BIT_STRING_COLLECTION_CLASS__ELEMENTREFERENCE = LEFT_HAND_SIDE___IS_BIT_STRING_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Type Cached</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAME_LEFT_HAND_SIDE___TYPE_CACHED = LEFT_HAND_SIDE___TYPE_CACHED;
+
+ /**
+ * The operation id for the '<em>Is Null</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAME_LEFT_HAND_SIDE___IS_NULL = LEFT_HAND_SIDE___IS_NULL;
+
+ /**
+ * The operation id for the '<em>Is Assignable From Element</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAME_LEFT_HAND_SIDE___IS_ASSIGNABLE_FROM_ELEMENT__ELEMENTREFERENCE = LEFT_HAND_SIDE___IS_ASSIGNABLE_FROM_ELEMENT__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Assignable From</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAME_LEFT_HAND_SIDE___IS_ASSIGNABLE_FROM__ASSIGNABLEELEMENT = LEFT_HAND_SIDE___IS_ASSIGNABLE_FROM__ASSIGNABLEELEMENT;
+
+ /**
+ * The operation id for the '<em>Is Type Conformant With</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAME_LEFT_HAND_SIDE___IS_TYPE_CONFORMANT_WITH__ASSIGNABLEELEMENT = LEFT_HAND_SIDE___IS_TYPE_CONFORMANT_WITH__ASSIGNABLEELEMENT;
+
+ /**
+ * The operation id for the '<em>Is Conformant With Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAME_LEFT_HAND_SIDE___IS_CONFORMANT_WITH_TYPE__ELEMENTREFERENCE = LEFT_HAND_SIDE___IS_CONFORMANT_WITH_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Multiplicity Conformant With</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAME_LEFT_HAND_SIDE___IS_MULTIPLICITY_CONFORMANT_WITH__ASSIGNABLEELEMENT = LEFT_HAND_SIDE___IS_MULTIPLICITY_CONFORMANT_WITH__ASSIGNABLEELEMENT;
+
+ /**
+ * The operation id for the '<em>Assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAME_LEFT_HAND_SIDE___ASSIGNMENTS_BEFORE__SYNTAXELEMENT = LEFT_HAND_SIDE___ASSIGNMENTS_BEFORE__SYNTAXELEMENT;
+
+ /**
+ * The operation id for the '<em>Assignments After</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAME_LEFT_HAND_SIDE___ASSIGNMENTS_AFTER = LEFT_HAND_SIDE___ASSIGNMENTS_AFTER;
+
+ /**
+ * The operation id for the '<em>Left Hand Side type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAME_LEFT_HAND_SIDE___LEFT_HAND_SIDE_TYPE = LEFT_HAND_SIDE___LEFT_HAND_SIDE_TYPE;
+
+ /**
+ * The operation id for the '<em>Left Hand Side upper</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAME_LEFT_HAND_SIDE___LEFT_HAND_SIDE_UPPER = LEFT_HAND_SIDE___LEFT_HAND_SIDE_UPPER;
+
+ /**
+ * The operation id for the '<em>Left Hand Side lower</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAME_LEFT_HAND_SIDE___LEFT_HAND_SIDE_LOWER = LEFT_HAND_SIDE___LEFT_HAND_SIDE_LOWER;
+
+ /**
+ * The operation id for the '<em>Assigned Name</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAME_LEFT_HAND_SIDE___ASSIGNED_NAME = LEFT_HAND_SIDE___ASSIGNED_NAME;
+
+ /**
+ * The operation id for the '<em>Expression</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAME_LEFT_HAND_SIDE___EXPRESSION = LEFT_HAND_SIDE___EXPRESSION;
+
+ /**
+ * The operation id for the '<em>Is Data Value Update</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAME_LEFT_HAND_SIDE___IS_DATA_VALUE_UPDATE = LEFT_HAND_SIDE___IS_DATA_VALUE_UPDATE;
+
+ /**
+ * The operation id for the '<em>Left Hand Side Index Expression</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAME_LEFT_HAND_SIDE___LEFT_HAND_SIDE_INDEX_EXPRESSION__DIAGNOSTICCHAIN_MAP = LEFT_HAND_SIDE___LEFT_HAND_SIDE_INDEX_EXPRESSION__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Target</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAME_LEFT_HAND_SIDE___TARGET = LEFT_HAND_SIDE_OPERATION_COUNT + 0;
+
+ /**
+ * The operation id for the '<em>Index</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAME_LEFT_HAND_SIDE___INDEX = LEFT_HAND_SIDE_OPERATION_COUNT + 1;
+
+ /**
+ * The operation id for the '<em>Referent</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAME_LEFT_HAND_SIDE___REFERENT = LEFT_HAND_SIDE_OPERATION_COUNT + 2;
+
+ /**
+ * The operation id for the '<em>Parameter Referent</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAME_LEFT_HAND_SIDE___PARAMETER_REFERENT = LEFT_HAND_SIDE_OPERATION_COUNT + 3;
+
+ /**
+ * The operation id for the '<em>Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAME_LEFT_HAND_SIDE___TYPE = LEFT_HAND_SIDE_OPERATION_COUNT + 4;
+
+ /**
+ * The operation id for the '<em>Upper</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAME_LEFT_HAND_SIDE___UPPER = LEFT_HAND_SIDE_OPERATION_COUNT + 5;
+
+ /**
+ * The operation id for the '<em>Lower</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAME_LEFT_HAND_SIDE___LOWER = LEFT_HAND_SIDE_OPERATION_COUNT + 6;
+
+ /**
+ * The operation id for the '<em>Old Assignment</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAME_LEFT_HAND_SIDE___OLD_ASSIGNMENT = LEFT_HAND_SIDE_OPERATION_COUNT + 7;
+
+ /**
+ * The operation id for the '<em>Feature</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAME_LEFT_HAND_SIDE___FEATURE = LEFT_HAND_SIDE_OPERATION_COUNT + 8;
+
+ /**
+ * The operation id for the '<em>Local Name</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAME_LEFT_HAND_SIDE___LOCAL_NAME = LEFT_HAND_SIDE_OPERATION_COUNT + 9;
+
+ /**
+ * The operation id for the '<em>Name Left Hand Side Assignment After Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAME_LEFT_HAND_SIDE___NAME_LEFT_HAND_SIDE_ASSIGNMENT_AFTER_DERIVATION__DIAGNOSTICCHAIN_MAP = LEFT_HAND_SIDE_OPERATION_COUNT + 10;
+
+ /**
+ * The operation id for the '<em>Name Left Hand Side Target Assignment</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAME_LEFT_HAND_SIDE___NAME_LEFT_HAND_SIDE_TARGET_ASSIGNMENT__DIAGNOSTICCHAIN_MAP = LEFT_HAND_SIDE_OPERATION_COUNT + 11;
+
+ /**
+ * The operation id for the '<em>Name Left Hand Side Assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAME_LEFT_HAND_SIDE___NAME_LEFT_HAND_SIDE_ASSIGNMENTS_BEFORE__DIAGNOSTICCHAIN_MAP = LEFT_HAND_SIDE_OPERATION_COUNT + 12;
+
+ /**
+ * The operation id for the '<em>Name Left Hand Side Referent Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAME_LEFT_HAND_SIDE___NAME_LEFT_HAND_SIDE_REFERENT_DERIVATION__DIAGNOSTICCHAIN_MAP = LEFT_HAND_SIDE_OPERATION_COUNT + 13;
+
+ /**
+ * The operation id for the '<em>Name Left Hand Side Lower Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAME_LEFT_HAND_SIDE___NAME_LEFT_HAND_SIDE_LOWER_DERIVATION__DIAGNOSTICCHAIN_MAP = LEFT_HAND_SIDE_OPERATION_COUNT + 14;
+
+ /**
+ * The operation id for the '<em>Name Left Hand Side Upper Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAME_LEFT_HAND_SIDE___NAME_LEFT_HAND_SIDE_UPPER_DERIVATION__DIAGNOSTICCHAIN_MAP = LEFT_HAND_SIDE_OPERATION_COUNT + 15;
+
+ /**
+ * The operation id for the '<em>Name Left Hand Side Type Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAME_LEFT_HAND_SIDE___NAME_LEFT_HAND_SIDE_TYPE_DERIVATION__DIAGNOSTICCHAIN_MAP = LEFT_HAND_SIDE_OPERATION_COUNT + 16;
+
+ /**
+ * The operation id for the '<em>Name Left Hand Side Target Resolution</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAME_LEFT_HAND_SIDE___NAME_LEFT_HAND_SIDE_TARGET_RESOLUTION__DIAGNOSTICCHAIN_MAP = LEFT_HAND_SIDE_OPERATION_COUNT + 17;
+
+ /**
+ * The operation id for the '<em>Name Left Hand Side Indexed Feature</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAME_LEFT_HAND_SIDE___NAME_LEFT_HAND_SIDE_INDEXED_FEATURE__DIAGNOSTICCHAIN_MAP = LEFT_HAND_SIDE_OPERATION_COUNT + 18;
+
+ /**
+ * The operation id for the '<em>Name Left Hand Side Nontemplate Target</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAME_LEFT_HAND_SIDE___NAME_LEFT_HAND_SIDE_NONTEMPLATE_TARGET__DIAGNOSTICCHAIN_MAP = LEFT_HAND_SIDE_OPERATION_COUNT + 19;
+
+ /**
+ * The number of operations of the '<em>Name Left Hand Side</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAME_LEFT_HAND_SIDE_OPERATION_COUNT = LEFT_HAND_SIDE_OPERATION_COUNT + 20;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.uml.alf.impl.EffectiveLeftHandSideImpl <em>Effective Left Hand Side</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.uml.alf.impl.EffectiveLeftHandSideImpl
+ * @see org.eclipse.papyrus.uml.alf.impl.AlfPackageImpl#getEffectiveLeftHandSide()
+ * @generated
+ */
+ int EFFECTIVE_LEFT_HAND_SIDE = 69;
+
+ /**
+ * The feature id for the '<em><b>Owner</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EFFECTIVE_LEFT_HAND_SIDE__OWNER = NAME_LEFT_HAND_SIDE__OWNER;
+
+ /**
+ * The feature id for the '<em><b>Upper</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EFFECTIVE_LEFT_HAND_SIDE__UPPER = NAME_LEFT_HAND_SIDE__UPPER;
+
+ /**
+ * The feature id for the '<em><b>Lower</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EFFECTIVE_LEFT_HAND_SIDE__LOWER = NAME_LEFT_HAND_SIDE__LOWER;
+
+ /**
+ * The feature id for the '<em><b>Type</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EFFECTIVE_LEFT_HAND_SIDE__TYPE = NAME_LEFT_HAND_SIDE__TYPE;
+
+ /**
+ * The feature id for the '<em><b>Assignment Before</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EFFECTIVE_LEFT_HAND_SIDE__ASSIGNMENT_BEFORE = NAME_LEFT_HAND_SIDE__ASSIGNMENT_BEFORE;
+
+ /**
+ * The feature id for the '<em><b>Assignment After</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EFFECTIVE_LEFT_HAND_SIDE__ASSIGNMENT_AFTER = NAME_LEFT_HAND_SIDE__ASSIGNMENT_AFTER;
+
+ /**
+ * The feature id for the '<em><b>Referent</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EFFECTIVE_LEFT_HAND_SIDE__REFERENT = NAME_LEFT_HAND_SIDE__REFERENT;
+
+ /**
+ * The feature id for the '<em><b>Target</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EFFECTIVE_LEFT_HAND_SIDE__TARGET = NAME_LEFT_HAND_SIDE__TARGET;
+
+ /**
+ * The feature id for the '<em><b>Index</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EFFECTIVE_LEFT_HAND_SIDE__INDEX = NAME_LEFT_HAND_SIDE__INDEX;
+
+ /**
+ * The feature id for the '<em><b>Expression</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EFFECTIVE_LEFT_HAND_SIDE__EXPRESSION = NAME_LEFT_HAND_SIDE_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the '<em>Effective Left Hand Side</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EFFECTIVE_LEFT_HAND_SIDE_FEATURE_COUNT = NAME_LEFT_HAND_SIDE_FEATURE_COUNT + 1;
+
+ /**
+ * The operation id for the '<em>To Reference</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EFFECTIVE_LEFT_HAND_SIDE___TO_REFERENCE = NAME_LEFT_HAND_SIDE___TO_REFERENCE;
+
+ /**
+ * The operation id for the '<em>Owner</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EFFECTIVE_LEFT_HAND_SIDE___OWNER = NAME_LEFT_HAND_SIDE___OWNER;
+
+ /**
+ * The operation id for the '<em>Syntax Element owner</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EFFECTIVE_LEFT_HAND_SIDE___SYNTAX_ELEMENT_OWNER = NAME_LEFT_HAND_SIDE___SYNTAX_ELEMENT_OWNER;
+
+ /**
+ * The operation id for the '<em>Current Scope</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EFFECTIVE_LEFT_HAND_SIDE___CURRENT_SCOPE = NAME_LEFT_HAND_SIDE___CURRENT_SCOPE;
+
+ /**
+ * The operation id for the '<em>Syntax Element current Scope</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EFFECTIVE_LEFT_HAND_SIDE___SYNTAX_ELEMENT_CURRENT_SCOPE = NAME_LEFT_HAND_SIDE___SYNTAX_ELEMENT_CURRENT_SCOPE;
+
+ /**
+ * The operation id for the '<em>Enclosing Statement</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EFFECTIVE_LEFT_HAND_SIDE___ENCLOSING_STATEMENT = NAME_LEFT_HAND_SIDE___ENCLOSING_STATEMENT;
+
+ /**
+ * The operation id for the '<em>Enclosing Expression</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EFFECTIVE_LEFT_HAND_SIDE___ENCLOSING_EXPRESSION = NAME_LEFT_HAND_SIDE___ENCLOSING_EXPRESSION;
+
+ /**
+ * The operation id for the '<em>Assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EFFECTIVE_LEFT_HAND_SIDE___ASSIGNMENTS_BEFORE = NAME_LEFT_HAND_SIDE___ASSIGNMENTS_BEFORE;
+
+ /**
+ * The operation id for the '<em>Syntax Element assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EFFECTIVE_LEFT_HAND_SIDE___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE = NAME_LEFT_HAND_SIDE___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE;
+
+ /**
+ * The operation id for the '<em>Syntax Element assignments Before base</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EFFECTIVE_LEFT_HAND_SIDE___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE_BASE = NAME_LEFT_HAND_SIDE___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE_BASE;
+
+ /**
+ * The operation id for the '<em>Update All</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EFFECTIVE_LEFT_HAND_SIDE___UPDATE_ALL__ELIST_ELIST = NAME_LEFT_HAND_SIDE___UPDATE_ALL__ELIST_ELIST;
+
+ /**
+ * The operation id for the '<em>Common Ancestor</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EFFECTIVE_LEFT_HAND_SIDE___COMMON_ANCESTOR__ELIST = NAME_LEFT_HAND_SIDE___COMMON_ANCESTOR__ELIST;
+
+ /**
+ * The operation id for the '<em>Common Ancestors</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EFFECTIVE_LEFT_HAND_SIDE___COMMON_ANCESTORS__ELIST = NAME_LEFT_HAND_SIDE___COMMON_ANCESTORS__ELIST;
+
+ /**
+ * The operation id for the '<em>Remove Duplicate Elements</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EFFECTIVE_LEFT_HAND_SIDE___REMOVE_DUPLICATE_ELEMENTS__ELIST = NAME_LEFT_HAND_SIDE___REMOVE_DUPLICATE_ELEMENTS__ELIST;
+
+ /**
+ * The operation id for the '<em>Resolve In Library</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EFFECTIVE_LEFT_HAND_SIDE___RESOLVE_IN_LIBRARY__STRING = NAME_LEFT_HAND_SIDE___RESOLVE_IN_LIBRARY__STRING;
+
+ /**
+ * The operation id for the '<em>Primitive Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EFFECTIVE_LEFT_HAND_SIDE___PRIMITIVE_TYPE__STRING = NAME_LEFT_HAND_SIDE___PRIMITIVE_TYPE__STRING;
+
+ /**
+ * The operation id for the '<em>Primitive Type </em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EFFECTIVE_LEFT_HAND_SIDE___PRIMITIVE_TYPE____STRING = NAME_LEFT_HAND_SIDE___PRIMITIVE_TYPE____STRING;
+
+ /**
+ * The operation id for the '<em>Boolean Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EFFECTIVE_LEFT_HAND_SIDE___BOOLEAN_TYPE = NAME_LEFT_HAND_SIDE___BOOLEAN_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Boolean Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EFFECTIVE_LEFT_HAND_SIDE___IS_BOOLEAN_TYPE__ELEMENTREFERENCE = NAME_LEFT_HAND_SIDE___IS_BOOLEAN_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Integer Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EFFECTIVE_LEFT_HAND_SIDE___INTEGER_TYPE = NAME_LEFT_HAND_SIDE___INTEGER_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Integer Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EFFECTIVE_LEFT_HAND_SIDE___IS_INTEGER_TYPE__ELEMENTREFERENCE = NAME_LEFT_HAND_SIDE___IS_INTEGER_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EFFECTIVE_LEFT_HAND_SIDE___STRING_TYPE = NAME_LEFT_HAND_SIDE___STRING_TYPE;
+
+ /**
+ * The operation id for the '<em>Is String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EFFECTIVE_LEFT_HAND_SIDE___IS_STRING_TYPE__ELEMENTREFERENCE = NAME_LEFT_HAND_SIDE___IS_STRING_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Unlimited Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EFFECTIVE_LEFT_HAND_SIDE___UNLIMITED_NATURAL_TYPE = NAME_LEFT_HAND_SIDE___UNLIMITED_NATURAL_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Unlimited Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EFFECTIVE_LEFT_HAND_SIDE___IS_UNLIMITED_NATURAL_TYPE__ELEMENTREFERENCE = NAME_LEFT_HAND_SIDE___IS_UNLIMITED_NATURAL_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Bit String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EFFECTIVE_LEFT_HAND_SIDE___BIT_STRING_TYPE = NAME_LEFT_HAND_SIDE___BIT_STRING_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Bit String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EFFECTIVE_LEFT_HAND_SIDE___IS_BIT_STRING_TYPE__ELEMENTREFERENCE = NAME_LEFT_HAND_SIDE___IS_BIT_STRING_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EFFECTIVE_LEFT_HAND_SIDE___NATURAL_TYPE = NAME_LEFT_HAND_SIDE___NATURAL_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EFFECTIVE_LEFT_HAND_SIDE___IS_NATURAL_TYPE__ELEMENTREFERENCE = NAME_LEFT_HAND_SIDE___IS_NATURAL_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Numeric Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EFFECTIVE_LEFT_HAND_SIDE___IS_NUMERIC_TYPE__ELEMENTREFERENCE = NAME_LEFT_HAND_SIDE___IS_NUMERIC_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Collection Function Add</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EFFECTIVE_LEFT_HAND_SIDE___COLLECTION_FUNCTION_ADD = NAME_LEFT_HAND_SIDE___COLLECTION_FUNCTION_ADD;
+
+ /**
+ * The operation id for the '<em>Is Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EFFECTIVE_LEFT_HAND_SIDE___IS_COLLECTION_CLASS__ELEMENTREFERENCE = NAME_LEFT_HAND_SIDE___IS_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Integer Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EFFECTIVE_LEFT_HAND_SIDE___IS_INTEGER_COLLECTION_CLASS__ELEMENTREFERENCE = NAME_LEFT_HAND_SIDE___IS_INTEGER_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Bit String Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EFFECTIVE_LEFT_HAND_SIDE___IS_BIT_STRING_COLLECTION_CLASS__ELEMENTREFERENCE = NAME_LEFT_HAND_SIDE___IS_BIT_STRING_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Type Cached</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EFFECTIVE_LEFT_HAND_SIDE___TYPE_CACHED = NAME_LEFT_HAND_SIDE___TYPE_CACHED;
+
+ /**
+ * The operation id for the '<em>Is Null</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EFFECTIVE_LEFT_HAND_SIDE___IS_NULL = NAME_LEFT_HAND_SIDE___IS_NULL;
+
+ /**
+ * The operation id for the '<em>Is Assignable From Element</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EFFECTIVE_LEFT_HAND_SIDE___IS_ASSIGNABLE_FROM_ELEMENT__ELEMENTREFERENCE = NAME_LEFT_HAND_SIDE___IS_ASSIGNABLE_FROM_ELEMENT__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Assignable From</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EFFECTIVE_LEFT_HAND_SIDE___IS_ASSIGNABLE_FROM__ASSIGNABLEELEMENT = NAME_LEFT_HAND_SIDE___IS_ASSIGNABLE_FROM__ASSIGNABLEELEMENT;
+
+ /**
+ * The operation id for the '<em>Is Type Conformant With</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EFFECTIVE_LEFT_HAND_SIDE___IS_TYPE_CONFORMANT_WITH__ASSIGNABLEELEMENT = NAME_LEFT_HAND_SIDE___IS_TYPE_CONFORMANT_WITH__ASSIGNABLEELEMENT;
+
+ /**
+ * The operation id for the '<em>Is Conformant With Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EFFECTIVE_LEFT_HAND_SIDE___IS_CONFORMANT_WITH_TYPE__ELEMENTREFERENCE = NAME_LEFT_HAND_SIDE___IS_CONFORMANT_WITH_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Multiplicity Conformant With</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EFFECTIVE_LEFT_HAND_SIDE___IS_MULTIPLICITY_CONFORMANT_WITH__ASSIGNABLEELEMENT = NAME_LEFT_HAND_SIDE___IS_MULTIPLICITY_CONFORMANT_WITH__ASSIGNABLEELEMENT;
+
+ /**
+ * The operation id for the '<em>Assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EFFECTIVE_LEFT_HAND_SIDE___ASSIGNMENTS_BEFORE__SYNTAXELEMENT = NAME_LEFT_HAND_SIDE___ASSIGNMENTS_BEFORE__SYNTAXELEMENT;
+
+ /**
+ * The operation id for the '<em>Assignments After</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EFFECTIVE_LEFT_HAND_SIDE___ASSIGNMENTS_AFTER = NAME_LEFT_HAND_SIDE___ASSIGNMENTS_AFTER;
+
+ /**
+ * The operation id for the '<em>Left Hand Side type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EFFECTIVE_LEFT_HAND_SIDE___LEFT_HAND_SIDE_TYPE = NAME_LEFT_HAND_SIDE___LEFT_HAND_SIDE_TYPE;
+
+ /**
+ * The operation id for the '<em>Left Hand Side upper</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EFFECTIVE_LEFT_HAND_SIDE___LEFT_HAND_SIDE_UPPER = NAME_LEFT_HAND_SIDE___LEFT_HAND_SIDE_UPPER;
+
+ /**
+ * The operation id for the '<em>Left Hand Side lower</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EFFECTIVE_LEFT_HAND_SIDE___LEFT_HAND_SIDE_LOWER = NAME_LEFT_HAND_SIDE___LEFT_HAND_SIDE_LOWER;
+
+ /**
+ * The operation id for the '<em>Assigned Name</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EFFECTIVE_LEFT_HAND_SIDE___ASSIGNED_NAME = NAME_LEFT_HAND_SIDE___ASSIGNED_NAME;
+
+ /**
+ * The operation id for the '<em>Expression</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EFFECTIVE_LEFT_HAND_SIDE___EXPRESSION = NAME_LEFT_HAND_SIDE___EXPRESSION;
+
+ /**
+ * The operation id for the '<em>Is Data Value Update</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EFFECTIVE_LEFT_HAND_SIDE___IS_DATA_VALUE_UPDATE = NAME_LEFT_HAND_SIDE___IS_DATA_VALUE_UPDATE;
+
+ /**
+ * The operation id for the '<em>Left Hand Side Index Expression</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EFFECTIVE_LEFT_HAND_SIDE___LEFT_HAND_SIDE_INDEX_EXPRESSION__DIAGNOSTICCHAIN_MAP = NAME_LEFT_HAND_SIDE___LEFT_HAND_SIDE_INDEX_EXPRESSION__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Referent</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EFFECTIVE_LEFT_HAND_SIDE___REFERENT = NAME_LEFT_HAND_SIDE___REFERENT;
+
+ /**
+ * The operation id for the '<em>Parameter Referent</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EFFECTIVE_LEFT_HAND_SIDE___PARAMETER_REFERENT = NAME_LEFT_HAND_SIDE___PARAMETER_REFERENT;
+
+ /**
+ * The operation id for the '<em>Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EFFECTIVE_LEFT_HAND_SIDE___TYPE = NAME_LEFT_HAND_SIDE___TYPE;
+
+ /**
+ * The operation id for the '<em>Upper</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EFFECTIVE_LEFT_HAND_SIDE___UPPER = NAME_LEFT_HAND_SIDE___UPPER;
+
+ /**
+ * The operation id for the '<em>Lower</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EFFECTIVE_LEFT_HAND_SIDE___LOWER = NAME_LEFT_HAND_SIDE___LOWER;
+
+ /**
+ * The operation id for the '<em>Old Assignment</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EFFECTIVE_LEFT_HAND_SIDE___OLD_ASSIGNMENT = NAME_LEFT_HAND_SIDE___OLD_ASSIGNMENT;
+
+ /**
+ * The operation id for the '<em>Local Name</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EFFECTIVE_LEFT_HAND_SIDE___LOCAL_NAME = NAME_LEFT_HAND_SIDE___LOCAL_NAME;
+
+ /**
+ * The operation id for the '<em>Name Left Hand Side Assignment After Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EFFECTIVE_LEFT_HAND_SIDE___NAME_LEFT_HAND_SIDE_ASSIGNMENT_AFTER_DERIVATION__DIAGNOSTICCHAIN_MAP = NAME_LEFT_HAND_SIDE___NAME_LEFT_HAND_SIDE_ASSIGNMENT_AFTER_DERIVATION__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Name Left Hand Side Target Assignment</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EFFECTIVE_LEFT_HAND_SIDE___NAME_LEFT_HAND_SIDE_TARGET_ASSIGNMENT__DIAGNOSTICCHAIN_MAP = NAME_LEFT_HAND_SIDE___NAME_LEFT_HAND_SIDE_TARGET_ASSIGNMENT__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Name Left Hand Side Assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EFFECTIVE_LEFT_HAND_SIDE___NAME_LEFT_HAND_SIDE_ASSIGNMENTS_BEFORE__DIAGNOSTICCHAIN_MAP = NAME_LEFT_HAND_SIDE___NAME_LEFT_HAND_SIDE_ASSIGNMENTS_BEFORE__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Name Left Hand Side Referent Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EFFECTIVE_LEFT_HAND_SIDE___NAME_LEFT_HAND_SIDE_REFERENT_DERIVATION__DIAGNOSTICCHAIN_MAP = NAME_LEFT_HAND_SIDE___NAME_LEFT_HAND_SIDE_REFERENT_DERIVATION__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Name Left Hand Side Lower Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EFFECTIVE_LEFT_HAND_SIDE___NAME_LEFT_HAND_SIDE_LOWER_DERIVATION__DIAGNOSTICCHAIN_MAP = NAME_LEFT_HAND_SIDE___NAME_LEFT_HAND_SIDE_LOWER_DERIVATION__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Name Left Hand Side Upper Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EFFECTIVE_LEFT_HAND_SIDE___NAME_LEFT_HAND_SIDE_UPPER_DERIVATION__DIAGNOSTICCHAIN_MAP = NAME_LEFT_HAND_SIDE___NAME_LEFT_HAND_SIDE_UPPER_DERIVATION__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Name Left Hand Side Type Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EFFECTIVE_LEFT_HAND_SIDE___NAME_LEFT_HAND_SIDE_TYPE_DERIVATION__DIAGNOSTICCHAIN_MAP = NAME_LEFT_HAND_SIDE___NAME_LEFT_HAND_SIDE_TYPE_DERIVATION__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Name Left Hand Side Target Resolution</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EFFECTIVE_LEFT_HAND_SIDE___NAME_LEFT_HAND_SIDE_TARGET_RESOLUTION__DIAGNOSTICCHAIN_MAP = NAME_LEFT_HAND_SIDE___NAME_LEFT_HAND_SIDE_TARGET_RESOLUTION__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Name Left Hand Side Indexed Feature</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EFFECTIVE_LEFT_HAND_SIDE___NAME_LEFT_HAND_SIDE_INDEXED_FEATURE__DIAGNOSTICCHAIN_MAP = NAME_LEFT_HAND_SIDE___NAME_LEFT_HAND_SIDE_INDEXED_FEATURE__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Name Left Hand Side Nontemplate Target</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EFFECTIVE_LEFT_HAND_SIDE___NAME_LEFT_HAND_SIDE_NONTEMPLATE_TARGET__DIAGNOSTICCHAIN_MAP = NAME_LEFT_HAND_SIDE___NAME_LEFT_HAND_SIDE_NONTEMPLATE_TARGET__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Target</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EFFECTIVE_LEFT_HAND_SIDE___TARGET = NAME_LEFT_HAND_SIDE_OPERATION_COUNT + 0;
+
+ /**
+ * The operation id for the '<em>Index</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EFFECTIVE_LEFT_HAND_SIDE___INDEX = NAME_LEFT_HAND_SIDE_OPERATION_COUNT + 1;
+
+ /**
+ * The operation id for the '<em>Feature</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EFFECTIVE_LEFT_HAND_SIDE___FEATURE = NAME_LEFT_HAND_SIDE_OPERATION_COUNT + 2;
+
+ /**
+ * The operation id for the '<em>Primary</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EFFECTIVE_LEFT_HAND_SIDE___PRIMARY = NAME_LEFT_HAND_SIDE_OPERATION_COUNT + 3;
+
+ /**
+ * The number of operations of the '<em>Effective Left Hand Side</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EFFECTIVE_LEFT_HAND_SIDE_OPERATION_COUNT = NAME_LEFT_HAND_SIDE_OPERATION_COUNT + 4;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.uml.alf.impl.SequenceReductionExpressionImpl <em>Sequence Reduction Expression</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.uml.alf.impl.SequenceReductionExpressionImpl
+ * @see org.eclipse.papyrus.uml.alf.impl.AlfPackageImpl#getSequenceReductionExpression()
+ * @generated
+ */
+ int SEQUENCE_REDUCTION_EXPRESSION = 70;
+
+ /**
+ * The feature id for the '<em><b>Owner</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_REDUCTION_EXPRESSION__OWNER = EXPRESSION__OWNER;
+
+ /**
+ * The feature id for the '<em><b>Upper</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_REDUCTION_EXPRESSION__UPPER = EXPRESSION__UPPER;
+
+ /**
+ * The feature id for the '<em><b>Lower</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_REDUCTION_EXPRESSION__LOWER = EXPRESSION__LOWER;
+
+ /**
+ * The feature id for the '<em><b>Type</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_REDUCTION_EXPRESSION__TYPE = EXPRESSION__TYPE;
+
+ /**
+ * The feature id for the '<em><b>Assignment Before</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_REDUCTION_EXPRESSION__ASSIGNMENT_BEFORE = EXPRESSION__ASSIGNMENT_BEFORE;
+
+ /**
+ * The feature id for the '<em><b>Assignment After</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_REDUCTION_EXPRESSION__ASSIGNMENT_AFTER = EXPRESSION__ASSIGNMENT_AFTER;
+
+ /**
+ * The feature id for the '<em><b>Referent</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_REDUCTION_EXPRESSION__REFERENT = EXPRESSION_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Is Ordered</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_REDUCTION_EXPRESSION__IS_ORDERED = EXPRESSION_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Primary</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_REDUCTION_EXPRESSION__PRIMARY = EXPRESSION_FEATURE_COUNT + 2;
+
+ /**
+ * The feature id for the '<em><b>Behavior Name</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_REDUCTION_EXPRESSION__BEHAVIOR_NAME = EXPRESSION_FEATURE_COUNT + 3;
+
+ /**
+ * The number of structural features of the '<em>Sequence Reduction Expression</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_REDUCTION_EXPRESSION_FEATURE_COUNT = EXPRESSION_FEATURE_COUNT + 4;
+
+ /**
+ * The operation id for the '<em>To Reference</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_REDUCTION_EXPRESSION___TO_REFERENCE = EXPRESSION___TO_REFERENCE;
+
+ /**
+ * The operation id for the '<em>Owner</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_REDUCTION_EXPRESSION___OWNER = EXPRESSION___OWNER;
+
+ /**
+ * The operation id for the '<em>Syntax Element owner</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_REDUCTION_EXPRESSION___SYNTAX_ELEMENT_OWNER = EXPRESSION___SYNTAX_ELEMENT_OWNER;
+
+ /**
+ * The operation id for the '<em>Current Scope</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_REDUCTION_EXPRESSION___CURRENT_SCOPE = EXPRESSION___CURRENT_SCOPE;
+
+ /**
+ * The operation id for the '<em>Syntax Element current Scope</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_REDUCTION_EXPRESSION___SYNTAX_ELEMENT_CURRENT_SCOPE = EXPRESSION___SYNTAX_ELEMENT_CURRENT_SCOPE;
+
+ /**
+ * The operation id for the '<em>Enclosing Statement</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_REDUCTION_EXPRESSION___ENCLOSING_STATEMENT = EXPRESSION___ENCLOSING_STATEMENT;
+
+ /**
+ * The operation id for the '<em>Enclosing Expression</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_REDUCTION_EXPRESSION___ENCLOSING_EXPRESSION = EXPRESSION___ENCLOSING_EXPRESSION;
+
+ /**
+ * The operation id for the '<em>Assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_REDUCTION_EXPRESSION___ASSIGNMENTS_BEFORE = EXPRESSION___ASSIGNMENTS_BEFORE;
+
+ /**
+ * The operation id for the '<em>Syntax Element assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_REDUCTION_EXPRESSION___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE = EXPRESSION___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE;
+
+ /**
+ * The operation id for the '<em>Syntax Element assignments Before base</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_REDUCTION_EXPRESSION___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE_BASE = EXPRESSION___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE_BASE;
+
+ /**
+ * The operation id for the '<em>Assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_REDUCTION_EXPRESSION___ASSIGNMENTS_BEFORE__SYNTAXELEMENT = EXPRESSION___ASSIGNMENTS_BEFORE__SYNTAXELEMENT;
+
+ /**
+ * The operation id for the '<em>Update All</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_REDUCTION_EXPRESSION___UPDATE_ALL__ELIST_ELIST = EXPRESSION___UPDATE_ALL__ELIST_ELIST;
+
+ /**
+ * The operation id for the '<em>Common Ancestor</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_REDUCTION_EXPRESSION___COMMON_ANCESTOR__ELIST = EXPRESSION___COMMON_ANCESTOR__ELIST;
+
+ /**
+ * The operation id for the '<em>Common Ancestors</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_REDUCTION_EXPRESSION___COMMON_ANCESTORS__ELIST = EXPRESSION___COMMON_ANCESTORS__ELIST;
+
+ /**
+ * The operation id for the '<em>Remove Duplicate Elements</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_REDUCTION_EXPRESSION___REMOVE_DUPLICATE_ELEMENTS__ELIST = EXPRESSION___REMOVE_DUPLICATE_ELEMENTS__ELIST;
+
+ /**
+ * The operation id for the '<em>Resolve In Library</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_REDUCTION_EXPRESSION___RESOLVE_IN_LIBRARY__STRING = EXPRESSION___RESOLVE_IN_LIBRARY__STRING;
+
+ /**
+ * The operation id for the '<em>Primitive Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_REDUCTION_EXPRESSION___PRIMITIVE_TYPE__STRING = EXPRESSION___PRIMITIVE_TYPE__STRING;
+
+ /**
+ * The operation id for the '<em>Primitive Type </em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_REDUCTION_EXPRESSION___PRIMITIVE_TYPE____STRING = EXPRESSION___PRIMITIVE_TYPE____STRING;
+
+ /**
+ * The operation id for the '<em>Boolean Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_REDUCTION_EXPRESSION___BOOLEAN_TYPE = EXPRESSION___BOOLEAN_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Boolean Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_REDUCTION_EXPRESSION___IS_BOOLEAN_TYPE__ELEMENTREFERENCE = EXPRESSION___IS_BOOLEAN_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Integer Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_REDUCTION_EXPRESSION___INTEGER_TYPE = EXPRESSION___INTEGER_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Integer Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_REDUCTION_EXPRESSION___IS_INTEGER_TYPE__ELEMENTREFERENCE = EXPRESSION___IS_INTEGER_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_REDUCTION_EXPRESSION___STRING_TYPE = EXPRESSION___STRING_TYPE;
+
+ /**
+ * The operation id for the '<em>Is String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_REDUCTION_EXPRESSION___IS_STRING_TYPE__ELEMENTREFERENCE = EXPRESSION___IS_STRING_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Unlimited Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_REDUCTION_EXPRESSION___UNLIMITED_NATURAL_TYPE = EXPRESSION___UNLIMITED_NATURAL_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Unlimited Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_REDUCTION_EXPRESSION___IS_UNLIMITED_NATURAL_TYPE__ELEMENTREFERENCE = EXPRESSION___IS_UNLIMITED_NATURAL_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Bit String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_REDUCTION_EXPRESSION___BIT_STRING_TYPE = EXPRESSION___BIT_STRING_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Bit String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_REDUCTION_EXPRESSION___IS_BIT_STRING_TYPE__ELEMENTREFERENCE = EXPRESSION___IS_BIT_STRING_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_REDUCTION_EXPRESSION___NATURAL_TYPE = EXPRESSION___NATURAL_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_REDUCTION_EXPRESSION___IS_NATURAL_TYPE__ELEMENTREFERENCE = EXPRESSION___IS_NATURAL_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Numeric Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_REDUCTION_EXPRESSION___IS_NUMERIC_TYPE__ELEMENTREFERENCE = EXPRESSION___IS_NUMERIC_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Collection Function Add</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_REDUCTION_EXPRESSION___COLLECTION_FUNCTION_ADD = EXPRESSION___COLLECTION_FUNCTION_ADD;
+
+ /**
+ * The operation id for the '<em>Is Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_REDUCTION_EXPRESSION___IS_COLLECTION_CLASS__ELEMENTREFERENCE = EXPRESSION___IS_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Integer Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_REDUCTION_EXPRESSION___IS_INTEGER_COLLECTION_CLASS__ELEMENTREFERENCE = EXPRESSION___IS_INTEGER_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Bit String Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_REDUCTION_EXPRESSION___IS_BIT_STRING_COLLECTION_CLASS__ELEMENTREFERENCE = EXPRESSION___IS_BIT_STRING_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Type Cached</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_REDUCTION_EXPRESSION___TYPE_CACHED = EXPRESSION___TYPE_CACHED;
+
+ /**
+ * The operation id for the '<em>Is Null</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_REDUCTION_EXPRESSION___IS_NULL = EXPRESSION___IS_NULL;
+
+ /**
+ * The operation id for the '<em>Is Assignable From Element</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_REDUCTION_EXPRESSION___IS_ASSIGNABLE_FROM_ELEMENT__ELEMENTREFERENCE = EXPRESSION___IS_ASSIGNABLE_FROM_ELEMENT__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Assignable From</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_REDUCTION_EXPRESSION___IS_ASSIGNABLE_FROM__ASSIGNABLEELEMENT = EXPRESSION___IS_ASSIGNABLE_FROM__ASSIGNABLEELEMENT;
+
+ /**
+ * The operation id for the '<em>Is Type Conformant With</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_REDUCTION_EXPRESSION___IS_TYPE_CONFORMANT_WITH__ASSIGNABLEELEMENT = EXPRESSION___IS_TYPE_CONFORMANT_WITH__ASSIGNABLEELEMENT;
+
+ /**
+ * The operation id for the '<em>Is Conformant With Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_REDUCTION_EXPRESSION___IS_CONFORMANT_WITH_TYPE__ELEMENTREFERENCE = EXPRESSION___IS_CONFORMANT_WITH_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Multiplicity Conformant With</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_REDUCTION_EXPRESSION___IS_MULTIPLICITY_CONFORMANT_WITH__ASSIGNABLEELEMENT = EXPRESSION___IS_MULTIPLICITY_CONFORMANT_WITH__ASSIGNABLEELEMENT;
+
+ /**
+ * The operation id for the '<em>New Assignments</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_REDUCTION_EXPRESSION___NEW_ASSIGNMENTS = EXPRESSION___NEW_ASSIGNMENTS;
+
+ /**
+ * The operation id for the '<em>Expression update Assignments</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_REDUCTION_EXPRESSION___EXPRESSION_UPDATE_ASSIGNMENTS = EXPRESSION___EXPRESSION_UPDATE_ASSIGNMENTS;
+
+ /**
+ * The operation id for the '<em>Update Assignments Cached</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_REDUCTION_EXPRESSION___UPDATE_ASSIGNMENTS_CACHED = EXPRESSION___UPDATE_ASSIGNMENTS_CACHED;
+
+ /**
+ * The operation id for the '<em>Resolve</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_REDUCTION_EXPRESSION___RESOLVE__STRING = EXPRESSION___RESOLVE__STRING;
+
+ /**
+ * The operation id for the '<em>Is Add Target</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_REDUCTION_EXPRESSION___IS_ADD_TARGET__EXPRESSION = EXPRESSION___IS_ADD_TARGET__EXPRESSION;
+
+ /**
+ * The operation id for the '<em>Expression Assignment After Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_REDUCTION_EXPRESSION___EXPRESSION_ASSIGNMENT_AFTER_DERIVATION__DIAGNOSTICCHAIN_MAP = EXPRESSION___EXPRESSION_ASSIGNMENT_AFTER_DERIVATION__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Expression Unique Assignments</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_REDUCTION_EXPRESSION___EXPRESSION_UNIQUE_ASSIGNMENTS__DIAGNOSTICCHAIN_MAP = EXPRESSION___EXPRESSION_UNIQUE_ASSIGNMENTS__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_REDUCTION_EXPRESSION___TYPE = EXPRESSION_OPERATION_COUNT + 0;
+
+ /**
+ * The operation id for the '<em>Upper</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_REDUCTION_EXPRESSION___UPPER = EXPRESSION_OPERATION_COUNT + 1;
+
+ /**
+ * The operation id for the '<em>Lower</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_REDUCTION_EXPRESSION___LOWER = EXPRESSION_OPERATION_COUNT + 2;
+
+ /**
+ * The operation id for the '<em>Sequence Reduction Expression Referent Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_REDUCTION_EXPRESSION___SEQUENCE_REDUCTION_EXPRESSION_REFERENT_DERIVATION__DIAGNOSTICCHAIN_MAP = EXPRESSION_OPERATION_COUNT + 3;
+
+ /**
+ * The operation id for the '<em>Sequence Reduction Expression Type Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_REDUCTION_EXPRESSION___SEQUENCE_REDUCTION_EXPRESSION_TYPE_DERIVATION__DIAGNOSTICCHAIN_MAP = EXPRESSION_OPERATION_COUNT + 4;
+
+ /**
+ * The operation id for the '<em>Sequence Reduction Expression Upper Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_REDUCTION_EXPRESSION___SEQUENCE_REDUCTION_EXPRESSION_UPPER_DERIVATION__DIAGNOSTICCHAIN_MAP = EXPRESSION_OPERATION_COUNT + 5;
+
+ /**
+ * The operation id for the '<em>Sequence Reduction Expression Lower Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_REDUCTION_EXPRESSION___SEQUENCE_REDUCTION_EXPRESSION_LOWER_DERIVATION__DIAGNOSTICCHAIN_MAP = EXPRESSION_OPERATION_COUNT + 6;
+
+ /**
+ * The operation id for the '<em>Sequence Reduction Expression Behavior</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_REDUCTION_EXPRESSION___SEQUENCE_REDUCTION_EXPRESSION_BEHAVIOR__DIAGNOSTICCHAIN_MAP = EXPRESSION_OPERATION_COUNT + 7;
+
+ /**
+ * The operation id for the '<em>Sequence Reduction Expression Behavior Parameters</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_REDUCTION_EXPRESSION___SEQUENCE_REDUCTION_EXPRESSION_BEHAVIOR_PARAMETERS__DIAGNOSTICCHAIN_MAP = EXPRESSION_OPERATION_COUNT + 8;
+
+ /**
+ * The operation id for the '<em>Sequence Reduction Expression Assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_REDUCTION_EXPRESSION___SEQUENCE_REDUCTION_EXPRESSION_ASSIGNMENTS_BEFORE__DIAGNOSTICCHAIN_MAP = EXPRESSION_OPERATION_COUNT + 9;
+
+ /**
+ * The operation id for the '<em>Update Assignments</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_REDUCTION_EXPRESSION___UPDATE_ASSIGNMENTS = EXPRESSION_OPERATION_COUNT + 10;
+
+ /**
+ * The number of operations of the '<em>Sequence Reduction Expression</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_REDUCTION_EXPRESSION_OPERATION_COUNT = EXPRESSION_OPERATION_COUNT + 11;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.uml.alf.impl.SequenceExpressionListImpl <em>Sequence Expression List</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.uml.alf.impl.SequenceExpressionListImpl
+ * @see org.eclipse.papyrus.uml.alf.impl.AlfPackageImpl#getSequenceExpressionList()
+ * @generated
+ */
+ int SEQUENCE_EXPRESSION_LIST = 71;
+
+ /**
+ * The feature id for the '<em><b>Owner</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_EXPRESSION_LIST__OWNER = SEQUENCE_ELEMENTS__OWNER;
+
+ /**
+ * The feature id for the '<em><b>Upper</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_EXPRESSION_LIST__UPPER = SEQUENCE_ELEMENTS__UPPER;
+
+ /**
+ * The feature id for the '<em><b>Lower</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_EXPRESSION_LIST__LOWER = SEQUENCE_ELEMENTS__LOWER;
+
+ /**
+ * The feature id for the '<em><b>Element</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_EXPRESSION_LIST__ELEMENT = SEQUENCE_ELEMENTS_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the '<em>Sequence Expression List</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_EXPRESSION_LIST_FEATURE_COUNT = SEQUENCE_ELEMENTS_FEATURE_COUNT + 1;
+
+ /**
+ * The operation id for the '<em>To Reference</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_EXPRESSION_LIST___TO_REFERENCE = SEQUENCE_ELEMENTS___TO_REFERENCE;
+
+ /**
+ * The operation id for the '<em>Owner</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_EXPRESSION_LIST___OWNER = SEQUENCE_ELEMENTS___OWNER;
+
+ /**
+ * The operation id for the '<em>Syntax Element owner</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_EXPRESSION_LIST___SYNTAX_ELEMENT_OWNER = SEQUENCE_ELEMENTS___SYNTAX_ELEMENT_OWNER;
+
+ /**
+ * The operation id for the '<em>Current Scope</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_EXPRESSION_LIST___CURRENT_SCOPE = SEQUENCE_ELEMENTS___CURRENT_SCOPE;
+
+ /**
+ * The operation id for the '<em>Syntax Element current Scope</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_EXPRESSION_LIST___SYNTAX_ELEMENT_CURRENT_SCOPE = SEQUENCE_ELEMENTS___SYNTAX_ELEMENT_CURRENT_SCOPE;
+
+ /**
+ * The operation id for the '<em>Enclosing Statement</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_EXPRESSION_LIST___ENCLOSING_STATEMENT = SEQUENCE_ELEMENTS___ENCLOSING_STATEMENT;
+
+ /**
+ * The operation id for the '<em>Enclosing Expression</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_EXPRESSION_LIST___ENCLOSING_EXPRESSION = SEQUENCE_ELEMENTS___ENCLOSING_EXPRESSION;
+
+ /**
+ * The operation id for the '<em>Assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_EXPRESSION_LIST___ASSIGNMENTS_BEFORE = SEQUENCE_ELEMENTS___ASSIGNMENTS_BEFORE;
+
+ /**
+ * The operation id for the '<em>Syntax Element assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_EXPRESSION_LIST___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE = SEQUENCE_ELEMENTS___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE;
+
+ /**
+ * The operation id for the '<em>Syntax Element assignments Before base</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_EXPRESSION_LIST___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE_BASE = SEQUENCE_ELEMENTS___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE_BASE;
+
+ /**
+ * The operation id for the '<em>Update All</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_EXPRESSION_LIST___UPDATE_ALL__ELIST_ELIST = SEQUENCE_ELEMENTS___UPDATE_ALL__ELIST_ELIST;
+
+ /**
+ * The operation id for the '<em>Common Ancestor</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_EXPRESSION_LIST___COMMON_ANCESTOR__ELIST = SEQUENCE_ELEMENTS___COMMON_ANCESTOR__ELIST;
+
+ /**
+ * The operation id for the '<em>Common Ancestors</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_EXPRESSION_LIST___COMMON_ANCESTORS__ELIST = SEQUENCE_ELEMENTS___COMMON_ANCESTORS__ELIST;
+
+ /**
+ * The operation id for the '<em>Remove Duplicate Elements</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_EXPRESSION_LIST___REMOVE_DUPLICATE_ELEMENTS__ELIST = SEQUENCE_ELEMENTS___REMOVE_DUPLICATE_ELEMENTS__ELIST;
+
+ /**
+ * The operation id for the '<em>Resolve In Library</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_EXPRESSION_LIST___RESOLVE_IN_LIBRARY__STRING = SEQUENCE_ELEMENTS___RESOLVE_IN_LIBRARY__STRING;
+
+ /**
+ * The operation id for the '<em>Primitive Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_EXPRESSION_LIST___PRIMITIVE_TYPE__STRING = SEQUENCE_ELEMENTS___PRIMITIVE_TYPE__STRING;
+
+ /**
+ * The operation id for the '<em>Primitive Type </em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_EXPRESSION_LIST___PRIMITIVE_TYPE____STRING = SEQUENCE_ELEMENTS___PRIMITIVE_TYPE____STRING;
+
+ /**
+ * The operation id for the '<em>Boolean Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_EXPRESSION_LIST___BOOLEAN_TYPE = SEQUENCE_ELEMENTS___BOOLEAN_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Boolean Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_EXPRESSION_LIST___IS_BOOLEAN_TYPE__ELEMENTREFERENCE = SEQUENCE_ELEMENTS___IS_BOOLEAN_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Integer Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_EXPRESSION_LIST___INTEGER_TYPE = SEQUENCE_ELEMENTS___INTEGER_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Integer Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_EXPRESSION_LIST___IS_INTEGER_TYPE__ELEMENTREFERENCE = SEQUENCE_ELEMENTS___IS_INTEGER_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_EXPRESSION_LIST___STRING_TYPE = SEQUENCE_ELEMENTS___STRING_TYPE;
+
+ /**
+ * The operation id for the '<em>Is String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_EXPRESSION_LIST___IS_STRING_TYPE__ELEMENTREFERENCE = SEQUENCE_ELEMENTS___IS_STRING_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Unlimited Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_EXPRESSION_LIST___UNLIMITED_NATURAL_TYPE = SEQUENCE_ELEMENTS___UNLIMITED_NATURAL_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Unlimited Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_EXPRESSION_LIST___IS_UNLIMITED_NATURAL_TYPE__ELEMENTREFERENCE = SEQUENCE_ELEMENTS___IS_UNLIMITED_NATURAL_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Bit String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_EXPRESSION_LIST___BIT_STRING_TYPE = SEQUENCE_ELEMENTS___BIT_STRING_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Bit String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_EXPRESSION_LIST___IS_BIT_STRING_TYPE__ELEMENTREFERENCE = SEQUENCE_ELEMENTS___IS_BIT_STRING_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_EXPRESSION_LIST___NATURAL_TYPE = SEQUENCE_ELEMENTS___NATURAL_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_EXPRESSION_LIST___IS_NATURAL_TYPE__ELEMENTREFERENCE = SEQUENCE_ELEMENTS___IS_NATURAL_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Numeric Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_EXPRESSION_LIST___IS_NUMERIC_TYPE__ELEMENTREFERENCE = SEQUENCE_ELEMENTS___IS_NUMERIC_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Collection Function Add</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_EXPRESSION_LIST___COLLECTION_FUNCTION_ADD = SEQUENCE_ELEMENTS___COLLECTION_FUNCTION_ADD;
+
+ /**
+ * The operation id for the '<em>Is Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_EXPRESSION_LIST___IS_COLLECTION_CLASS__ELEMENTREFERENCE = SEQUENCE_ELEMENTS___IS_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Integer Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_EXPRESSION_LIST___IS_INTEGER_COLLECTION_CLASS__ELEMENTREFERENCE = SEQUENCE_ELEMENTS___IS_INTEGER_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Bit String Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_EXPRESSION_LIST___IS_BIT_STRING_COLLECTION_CLASS__ELEMENTREFERENCE = SEQUENCE_ELEMENTS___IS_BIT_STRING_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Conforms To</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_EXPRESSION_LIST___CONFORMS_TO__ELEMENTREFERENCE = SEQUENCE_ELEMENTS_OPERATION_COUNT + 0;
+
+ /**
+ * The operation id for the '<em>Assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_EXPRESSION_LIST___ASSIGNMENTS_BEFORE__SYNTAXELEMENT = SEQUENCE_ELEMENTS_OPERATION_COUNT + 1;
+
+ /**
+ * The operation id for the '<em>Assignments After</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_EXPRESSION_LIST___ASSIGNMENTS_AFTER = SEQUENCE_ELEMENTS_OPERATION_COUNT + 2;
+
+ /**
+ * The operation id for the '<em>Lower</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_EXPRESSION_LIST___LOWER = SEQUENCE_ELEMENTS_OPERATION_COUNT + 3;
+
+ /**
+ * The operation id for the '<em>Upper</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_EXPRESSION_LIST___UPPER = SEQUENCE_ELEMENTS_OPERATION_COUNT + 4;
+
+ /**
+ * The operation id for the '<em>Sequence Expression List Lower Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_EXPRESSION_LIST___SEQUENCE_EXPRESSION_LIST_LOWER_DERIVATION__DIAGNOSTICCHAIN_MAP = SEQUENCE_ELEMENTS_OPERATION_COUNT + 5;
+
+ /**
+ * The operation id for the '<em>Sequence Expression List Upper Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_EXPRESSION_LIST___SEQUENCE_EXPRESSION_LIST_UPPER_DERIVATION__DIAGNOSTICCHAIN_MAP = SEQUENCE_ELEMENTS_OPERATION_COUNT + 6;
+
+ /**
+ * The number of operations of the '<em>Sequence Expression List</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_EXPRESSION_LIST_OPERATION_COUNT = SEQUENCE_ELEMENTS_OPERATION_COUNT + 7;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.uml.alf.impl.RelationalExpressionImpl <em>Relational Expression</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.uml.alf.impl.RelationalExpressionImpl
+ * @see org.eclipse.papyrus.uml.alf.impl.AlfPackageImpl#getRelationalExpression()
+ * @generated
+ */
+ int RELATIONAL_EXPRESSION = 72;
+
+ /**
+ * The feature id for the '<em><b>Owner</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int RELATIONAL_EXPRESSION__OWNER = BINARY_EXPRESSION__OWNER;
+
+ /**
+ * The feature id for the '<em><b>Upper</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int RELATIONAL_EXPRESSION__UPPER = BINARY_EXPRESSION__UPPER;
+
+ /**
+ * The feature id for the '<em><b>Lower</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int RELATIONAL_EXPRESSION__LOWER = BINARY_EXPRESSION__LOWER;
+
+ /**
+ * The feature id for the '<em><b>Type</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int RELATIONAL_EXPRESSION__TYPE = BINARY_EXPRESSION__TYPE;
+
+ /**
+ * The feature id for the '<em><b>Assignment Before</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int RELATIONAL_EXPRESSION__ASSIGNMENT_BEFORE = BINARY_EXPRESSION__ASSIGNMENT_BEFORE;
+
+ /**
+ * The feature id for the '<em><b>Assignment After</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int RELATIONAL_EXPRESSION__ASSIGNMENT_AFTER = BINARY_EXPRESSION__ASSIGNMENT_AFTER;
+
+ /**
+ * The feature id for the '<em><b>Operand1</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int RELATIONAL_EXPRESSION__OPERAND1 = BINARY_EXPRESSION__OPERAND1;
+
+ /**
+ * The feature id for the '<em><b>Operand2</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int RELATIONAL_EXPRESSION__OPERAND2 = BINARY_EXPRESSION__OPERAND2;
+
+ /**
+ * The feature id for the '<em><b>Operator</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int RELATIONAL_EXPRESSION__OPERATOR = BINARY_EXPRESSION__OPERATOR;
+
+ /**
+ * The feature id for the '<em><b>Is Unlimited Natural</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int RELATIONAL_EXPRESSION__IS_UNLIMITED_NATURAL = BINARY_EXPRESSION_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the '<em>Relational Expression</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int RELATIONAL_EXPRESSION_FEATURE_COUNT = BINARY_EXPRESSION_FEATURE_COUNT + 1;
+
+ /**
+ * The operation id for the '<em>To Reference</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int RELATIONAL_EXPRESSION___TO_REFERENCE = BINARY_EXPRESSION___TO_REFERENCE;
+
+ /**
+ * The operation id for the '<em>Owner</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int RELATIONAL_EXPRESSION___OWNER = BINARY_EXPRESSION___OWNER;
+
+ /**
+ * The operation id for the '<em>Syntax Element owner</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int RELATIONAL_EXPRESSION___SYNTAX_ELEMENT_OWNER = BINARY_EXPRESSION___SYNTAX_ELEMENT_OWNER;
+
+ /**
+ * The operation id for the '<em>Current Scope</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int RELATIONAL_EXPRESSION___CURRENT_SCOPE = BINARY_EXPRESSION___CURRENT_SCOPE;
+
+ /**
+ * The operation id for the '<em>Syntax Element current Scope</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int RELATIONAL_EXPRESSION___SYNTAX_ELEMENT_CURRENT_SCOPE = BINARY_EXPRESSION___SYNTAX_ELEMENT_CURRENT_SCOPE;
+
+ /**
+ * The operation id for the '<em>Enclosing Statement</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int RELATIONAL_EXPRESSION___ENCLOSING_STATEMENT = BINARY_EXPRESSION___ENCLOSING_STATEMENT;
+
+ /**
+ * The operation id for the '<em>Enclosing Expression</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int RELATIONAL_EXPRESSION___ENCLOSING_EXPRESSION = BINARY_EXPRESSION___ENCLOSING_EXPRESSION;
+
+ /**
+ * The operation id for the '<em>Assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int RELATIONAL_EXPRESSION___ASSIGNMENTS_BEFORE = BINARY_EXPRESSION___ASSIGNMENTS_BEFORE;
+
+ /**
+ * The operation id for the '<em>Syntax Element assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int RELATIONAL_EXPRESSION___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE = BINARY_EXPRESSION___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE;
+
+ /**
+ * The operation id for the '<em>Syntax Element assignments Before base</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int RELATIONAL_EXPRESSION___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE_BASE = BINARY_EXPRESSION___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE_BASE;
+
+ /**
+ * The operation id for the '<em>Assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int RELATIONAL_EXPRESSION___ASSIGNMENTS_BEFORE__SYNTAXELEMENT = BINARY_EXPRESSION___ASSIGNMENTS_BEFORE__SYNTAXELEMENT;
+
+ /**
+ * The operation id for the '<em>Update All</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int RELATIONAL_EXPRESSION___UPDATE_ALL__ELIST_ELIST = BINARY_EXPRESSION___UPDATE_ALL__ELIST_ELIST;
+
+ /**
+ * The operation id for the '<em>Common Ancestor</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int RELATIONAL_EXPRESSION___COMMON_ANCESTOR__ELIST = BINARY_EXPRESSION___COMMON_ANCESTOR__ELIST;
+
+ /**
+ * The operation id for the '<em>Common Ancestors</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int RELATIONAL_EXPRESSION___COMMON_ANCESTORS__ELIST = BINARY_EXPRESSION___COMMON_ANCESTORS__ELIST;
+
+ /**
+ * The operation id for the '<em>Remove Duplicate Elements</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int RELATIONAL_EXPRESSION___REMOVE_DUPLICATE_ELEMENTS__ELIST = BINARY_EXPRESSION___REMOVE_DUPLICATE_ELEMENTS__ELIST;
+
+ /**
+ * The operation id for the '<em>Resolve In Library</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int RELATIONAL_EXPRESSION___RESOLVE_IN_LIBRARY__STRING = BINARY_EXPRESSION___RESOLVE_IN_LIBRARY__STRING;
+
+ /**
+ * The operation id for the '<em>Primitive Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int RELATIONAL_EXPRESSION___PRIMITIVE_TYPE__STRING = BINARY_EXPRESSION___PRIMITIVE_TYPE__STRING;
+
+ /**
+ * The operation id for the '<em>Primitive Type </em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int RELATIONAL_EXPRESSION___PRIMITIVE_TYPE____STRING = BINARY_EXPRESSION___PRIMITIVE_TYPE____STRING;
+
+ /**
+ * The operation id for the '<em>Boolean Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int RELATIONAL_EXPRESSION___BOOLEAN_TYPE = BINARY_EXPRESSION___BOOLEAN_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Boolean Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int RELATIONAL_EXPRESSION___IS_BOOLEAN_TYPE__ELEMENTREFERENCE = BINARY_EXPRESSION___IS_BOOLEAN_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Integer Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int RELATIONAL_EXPRESSION___INTEGER_TYPE = BINARY_EXPRESSION___INTEGER_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Integer Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int RELATIONAL_EXPRESSION___IS_INTEGER_TYPE__ELEMENTREFERENCE = BINARY_EXPRESSION___IS_INTEGER_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int RELATIONAL_EXPRESSION___STRING_TYPE = BINARY_EXPRESSION___STRING_TYPE;
+
+ /**
+ * The operation id for the '<em>Is String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int RELATIONAL_EXPRESSION___IS_STRING_TYPE__ELEMENTREFERENCE = BINARY_EXPRESSION___IS_STRING_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Unlimited Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int RELATIONAL_EXPRESSION___UNLIMITED_NATURAL_TYPE = BINARY_EXPRESSION___UNLIMITED_NATURAL_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Unlimited Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int RELATIONAL_EXPRESSION___IS_UNLIMITED_NATURAL_TYPE__ELEMENTREFERENCE = BINARY_EXPRESSION___IS_UNLIMITED_NATURAL_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Bit String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int RELATIONAL_EXPRESSION___BIT_STRING_TYPE = BINARY_EXPRESSION___BIT_STRING_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Bit String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int RELATIONAL_EXPRESSION___IS_BIT_STRING_TYPE__ELEMENTREFERENCE = BINARY_EXPRESSION___IS_BIT_STRING_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int RELATIONAL_EXPRESSION___NATURAL_TYPE = BINARY_EXPRESSION___NATURAL_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int RELATIONAL_EXPRESSION___IS_NATURAL_TYPE__ELEMENTREFERENCE = BINARY_EXPRESSION___IS_NATURAL_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Numeric Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int RELATIONAL_EXPRESSION___IS_NUMERIC_TYPE__ELEMENTREFERENCE = BINARY_EXPRESSION___IS_NUMERIC_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Collection Function Add</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int RELATIONAL_EXPRESSION___COLLECTION_FUNCTION_ADD = BINARY_EXPRESSION___COLLECTION_FUNCTION_ADD;
+
+ /**
+ * The operation id for the '<em>Is Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int RELATIONAL_EXPRESSION___IS_COLLECTION_CLASS__ELEMENTREFERENCE = BINARY_EXPRESSION___IS_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Integer Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int RELATIONAL_EXPRESSION___IS_INTEGER_COLLECTION_CLASS__ELEMENTREFERENCE = BINARY_EXPRESSION___IS_INTEGER_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Bit String Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int RELATIONAL_EXPRESSION___IS_BIT_STRING_COLLECTION_CLASS__ELEMENTREFERENCE = BINARY_EXPRESSION___IS_BIT_STRING_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Type Cached</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int RELATIONAL_EXPRESSION___TYPE_CACHED = BINARY_EXPRESSION___TYPE_CACHED;
+
+ /**
+ * The operation id for the '<em>Is Null</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int RELATIONAL_EXPRESSION___IS_NULL = BINARY_EXPRESSION___IS_NULL;
+
+ /**
+ * The operation id for the '<em>Is Assignable From Element</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int RELATIONAL_EXPRESSION___IS_ASSIGNABLE_FROM_ELEMENT__ELEMENTREFERENCE = BINARY_EXPRESSION___IS_ASSIGNABLE_FROM_ELEMENT__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Assignable From</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int RELATIONAL_EXPRESSION___IS_ASSIGNABLE_FROM__ASSIGNABLEELEMENT = BINARY_EXPRESSION___IS_ASSIGNABLE_FROM__ASSIGNABLEELEMENT;
+
+ /**
+ * The operation id for the '<em>Is Type Conformant With</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int RELATIONAL_EXPRESSION___IS_TYPE_CONFORMANT_WITH__ASSIGNABLEELEMENT = BINARY_EXPRESSION___IS_TYPE_CONFORMANT_WITH__ASSIGNABLEELEMENT;
+
+ /**
+ * The operation id for the '<em>Is Conformant With Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int RELATIONAL_EXPRESSION___IS_CONFORMANT_WITH_TYPE__ELEMENTREFERENCE = BINARY_EXPRESSION___IS_CONFORMANT_WITH_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Multiplicity Conformant With</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int RELATIONAL_EXPRESSION___IS_MULTIPLICITY_CONFORMANT_WITH__ASSIGNABLEELEMENT = BINARY_EXPRESSION___IS_MULTIPLICITY_CONFORMANT_WITH__ASSIGNABLEELEMENT;
+
+ /**
+ * The operation id for the '<em>New Assignments</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int RELATIONAL_EXPRESSION___NEW_ASSIGNMENTS = BINARY_EXPRESSION___NEW_ASSIGNMENTS;
+
+ /**
+ * The operation id for the '<em>Expression update Assignments</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int RELATIONAL_EXPRESSION___EXPRESSION_UPDATE_ASSIGNMENTS = BINARY_EXPRESSION___EXPRESSION_UPDATE_ASSIGNMENTS;
+
+ /**
+ * The operation id for the '<em>Update Assignments Cached</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int RELATIONAL_EXPRESSION___UPDATE_ASSIGNMENTS_CACHED = BINARY_EXPRESSION___UPDATE_ASSIGNMENTS_CACHED;
+
+ /**
+ * The operation id for the '<em>Resolve</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int RELATIONAL_EXPRESSION___RESOLVE__STRING = BINARY_EXPRESSION___RESOLVE__STRING;
+
+ /**
+ * The operation id for the '<em>Is Add Target</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int RELATIONAL_EXPRESSION___IS_ADD_TARGET__EXPRESSION = BINARY_EXPRESSION___IS_ADD_TARGET__EXPRESSION;
+
+ /**
+ * The operation id for the '<em>Expression Assignment After Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int RELATIONAL_EXPRESSION___EXPRESSION_ASSIGNMENT_AFTER_DERIVATION__DIAGNOSTICCHAIN_MAP = BINARY_EXPRESSION___EXPRESSION_ASSIGNMENT_AFTER_DERIVATION__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Expression Unique Assignments</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int RELATIONAL_EXPRESSION___EXPRESSION_UNIQUE_ASSIGNMENTS__DIAGNOSTICCHAIN_MAP = BINARY_EXPRESSION___EXPRESSION_UNIQUE_ASSIGNMENTS__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Validate Assignments</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int RELATIONAL_EXPRESSION___VALIDATE_ASSIGNMENTS = BINARY_EXPRESSION___VALIDATE_ASSIGNMENTS;
+
+ /**
+ * The operation id for the '<em>No Null Arguments</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int RELATIONAL_EXPRESSION___NO_NULL_ARGUMENTS = BINARY_EXPRESSION___NO_NULL_ARGUMENTS;
+
+ /**
+ * The operation id for the '<em>Binary Expression Operand Multiplicity</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int RELATIONAL_EXPRESSION___BINARY_EXPRESSION_OPERAND_MULTIPLICITY__DIAGNOSTICCHAIN_MAP = BINARY_EXPRESSION___BINARY_EXPRESSION_OPERAND_MULTIPLICITY__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Binary Expression Operand Assignments</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int RELATIONAL_EXPRESSION___BINARY_EXPRESSION_OPERAND_ASSIGNMENTS__DIAGNOSTICCHAIN_MAP = BINARY_EXPRESSION___BINARY_EXPRESSION_OPERAND_ASSIGNMENTS__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Update Assignments</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int RELATIONAL_EXPRESSION___UPDATE_ASSIGNMENTS = BINARY_EXPRESSION___UPDATE_ASSIGNMENTS;
+
+ /**
+ * The operation id for the '<em>Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int RELATIONAL_EXPRESSION___TYPE = BINARY_EXPRESSION_OPERATION_COUNT + 0;
+
+ /**
+ * The operation id for the '<em>Lower</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int RELATIONAL_EXPRESSION___LOWER = BINARY_EXPRESSION_OPERATION_COUNT + 1;
+
+ /**
+ * The operation id for the '<em>Upper</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int RELATIONAL_EXPRESSION___UPPER = BINARY_EXPRESSION_OPERATION_COUNT + 2;
+
+ /**
+ * The operation id for the '<em>Relational Expression Is Unlimited Natural Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int RELATIONAL_EXPRESSION___RELATIONAL_EXPRESSION_IS_UNLIMITED_NATURAL_DERIVATION__DIAGNOSTICCHAIN_MAP = BINARY_EXPRESSION_OPERATION_COUNT + 3;
+
+ /**
+ * The operation id for the '<em>Relational Expression Type Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int RELATIONAL_EXPRESSION___RELATIONAL_EXPRESSION_TYPE_DERIVATION__DIAGNOSTICCHAIN_MAP = BINARY_EXPRESSION_OPERATION_COUNT + 4;
+
+ /**
+ * The operation id for the '<em>Relational Expression Lower Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int RELATIONAL_EXPRESSION___RELATIONAL_EXPRESSION_LOWER_DERIVATION__DIAGNOSTICCHAIN_MAP = BINARY_EXPRESSION_OPERATION_COUNT + 5;
+
+ /**
+ * The operation id for the '<em>Relational Expression Upper Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int RELATIONAL_EXPRESSION___RELATIONAL_EXPRESSION_UPPER_DERIVATION__DIAGNOSTICCHAIN_MAP = BINARY_EXPRESSION_OPERATION_COUNT + 6;
+
+ /**
+ * The operation id for the '<em>Relational Expression Operand Types</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int RELATIONAL_EXPRESSION___RELATIONAL_EXPRESSION_OPERAND_TYPES__DIAGNOSTICCHAIN_MAP = BINARY_EXPRESSION_OPERATION_COUNT + 7;
+
+ /**
+ * The number of operations of the '<em>Relational Expression</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int RELATIONAL_EXPRESSION_OPERATION_COUNT = BINARY_EXPRESSION_OPERATION_COUNT + 8;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.uml.alf.impl.StatementImpl <em>Statement</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.uml.alf.impl.StatementImpl
+ * @see org.eclipse.papyrus.uml.alf.impl.AlfPackageImpl#getStatement()
+ * @generated
+ */
+ int STATEMENT = 75;
+
+ /**
+ * The feature id for the '<em><b>Owner</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int STATEMENT__OWNER = SYNTAX_ELEMENT__OWNER;
+
+ /**
+ * The feature id for the '<em><b>Assignment Before</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int STATEMENT__ASSIGNMENT_BEFORE = SYNTAX_ELEMENT_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Assignment After</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int STATEMENT__ASSIGNMENT_AFTER = SYNTAX_ELEMENT_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Enclosing Statement</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int STATEMENT__ENCLOSING_STATEMENT = SYNTAX_ELEMENT_FEATURE_COUNT + 2;
+
+ /**
+ * The feature id for the '<em><b>Is Isolated</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int STATEMENT__IS_ISOLATED = SYNTAX_ELEMENT_FEATURE_COUNT + 3;
+
+ /**
+ * The number of structural features of the '<em>Statement</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int STATEMENT_FEATURE_COUNT = SYNTAX_ELEMENT_FEATURE_COUNT + 4;
+
+ /**
+ * The operation id for the '<em>To Reference</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int STATEMENT___TO_REFERENCE = SYNTAX_ELEMENT___TO_REFERENCE;
+
+ /**
+ * The operation id for the '<em>Owner</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int STATEMENT___OWNER = SYNTAX_ELEMENT___OWNER;
+
+ /**
+ * The operation id for the '<em>Syntax Element owner</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int STATEMENT___SYNTAX_ELEMENT_OWNER = SYNTAX_ELEMENT___SYNTAX_ELEMENT_OWNER;
+
+ /**
+ * The operation id for the '<em>Current Scope</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int STATEMENT___CURRENT_SCOPE = SYNTAX_ELEMENT___CURRENT_SCOPE;
+
+ /**
+ * The operation id for the '<em>Syntax Element current Scope</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int STATEMENT___SYNTAX_ELEMENT_CURRENT_SCOPE = SYNTAX_ELEMENT___SYNTAX_ELEMENT_CURRENT_SCOPE;
+
+ /**
+ * The operation id for the '<em>Enclosing Statement</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int STATEMENT___ENCLOSING_STATEMENT = SYNTAX_ELEMENT___ENCLOSING_STATEMENT;
+
+ /**
+ * The operation id for the '<em>Enclosing Expression</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int STATEMENT___ENCLOSING_EXPRESSION = SYNTAX_ELEMENT___ENCLOSING_EXPRESSION;
+
+ /**
+ * The operation id for the '<em>Assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int STATEMENT___ASSIGNMENTS_BEFORE = SYNTAX_ELEMENT___ASSIGNMENTS_BEFORE;
+
+ /**
+ * The operation id for the '<em>Syntax Element assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int STATEMENT___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE = SYNTAX_ELEMENT___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE;
+
+ /**
+ * The operation id for the '<em>Syntax Element assignments Before base</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int STATEMENT___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE_BASE = SYNTAX_ELEMENT___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE_BASE;
+
+ /**
+ * The operation id for the '<em>Assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int STATEMENT___ASSIGNMENTS_BEFORE__SYNTAXELEMENT = SYNTAX_ELEMENT___ASSIGNMENTS_BEFORE__SYNTAXELEMENT;
+
+ /**
+ * The operation id for the '<em>Update All</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int STATEMENT___UPDATE_ALL__ELIST_ELIST = SYNTAX_ELEMENT___UPDATE_ALL__ELIST_ELIST;
+
+ /**
+ * The operation id for the '<em>Common Ancestor</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int STATEMENT___COMMON_ANCESTOR__ELIST = SYNTAX_ELEMENT___COMMON_ANCESTOR__ELIST;
+
+ /**
+ * The operation id for the '<em>Common Ancestors</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int STATEMENT___COMMON_ANCESTORS__ELIST = SYNTAX_ELEMENT___COMMON_ANCESTORS__ELIST;
+
+ /**
+ * The operation id for the '<em>Remove Duplicate Elements</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int STATEMENT___REMOVE_DUPLICATE_ELEMENTS__ELIST = SYNTAX_ELEMENT___REMOVE_DUPLICATE_ELEMENTS__ELIST;
+
+ /**
+ * The operation id for the '<em>Resolve In Library</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int STATEMENT___RESOLVE_IN_LIBRARY__STRING = SYNTAX_ELEMENT___RESOLVE_IN_LIBRARY__STRING;
+
+ /**
+ * The operation id for the '<em>Primitive Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int STATEMENT___PRIMITIVE_TYPE__STRING = SYNTAX_ELEMENT___PRIMITIVE_TYPE__STRING;
+
+ /**
+ * The operation id for the '<em>Primitive Type </em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int STATEMENT___PRIMITIVE_TYPE____STRING = SYNTAX_ELEMENT___PRIMITIVE_TYPE____STRING;
+
+ /**
+ * The operation id for the '<em>Boolean Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int STATEMENT___BOOLEAN_TYPE = SYNTAX_ELEMENT___BOOLEAN_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Boolean Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int STATEMENT___IS_BOOLEAN_TYPE__ELEMENTREFERENCE = SYNTAX_ELEMENT___IS_BOOLEAN_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Integer Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int STATEMENT___INTEGER_TYPE = SYNTAX_ELEMENT___INTEGER_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Integer Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int STATEMENT___IS_INTEGER_TYPE__ELEMENTREFERENCE = SYNTAX_ELEMENT___IS_INTEGER_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int STATEMENT___STRING_TYPE = SYNTAX_ELEMENT___STRING_TYPE;
+
+ /**
+ * The operation id for the '<em>Is String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int STATEMENT___IS_STRING_TYPE__ELEMENTREFERENCE = SYNTAX_ELEMENT___IS_STRING_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Unlimited Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int STATEMENT___UNLIMITED_NATURAL_TYPE = SYNTAX_ELEMENT___UNLIMITED_NATURAL_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Unlimited Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int STATEMENT___IS_UNLIMITED_NATURAL_TYPE__ELEMENTREFERENCE = SYNTAX_ELEMENT___IS_UNLIMITED_NATURAL_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Bit String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int STATEMENT___BIT_STRING_TYPE = SYNTAX_ELEMENT___BIT_STRING_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Bit String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int STATEMENT___IS_BIT_STRING_TYPE__ELEMENTREFERENCE = SYNTAX_ELEMENT___IS_BIT_STRING_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int STATEMENT___NATURAL_TYPE = SYNTAX_ELEMENT___NATURAL_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int STATEMENT___IS_NATURAL_TYPE__ELEMENTREFERENCE = SYNTAX_ELEMENT___IS_NATURAL_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Numeric Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int STATEMENT___IS_NUMERIC_TYPE__ELEMENTREFERENCE = SYNTAX_ELEMENT___IS_NUMERIC_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Collection Function Add</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int STATEMENT___COLLECTION_FUNCTION_ADD = SYNTAX_ELEMENT___COLLECTION_FUNCTION_ADD;
+
+ /**
+ * The operation id for the '<em>Is Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int STATEMENT___IS_COLLECTION_CLASS__ELEMENTREFERENCE = SYNTAX_ELEMENT___IS_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Integer Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int STATEMENT___IS_INTEGER_COLLECTION_CLASS__ELEMENTREFERENCE = SYNTAX_ELEMENT___IS_INTEGER_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Bit String Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int STATEMENT___IS_BIT_STRING_COLLECTION_CLASS__ELEMENTREFERENCE = SYNTAX_ELEMENT___IS_BIT_STRING_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Enclosing Loop Statement</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int STATEMENT___ENCLOSING_LOOP_STATEMENT = SYNTAX_ELEMENT_OPERATION_COUNT + 0;
+
+ /**
+ * The operation id for the '<em>Annotation Allowed</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int STATEMENT___ANNOTATION_ALLOWED__ANNOTATION = SYNTAX_ELEMENT_OPERATION_COUNT + 1;
+
+ /**
+ * The operation id for the '<em>Statement annotation Allowed</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int STATEMENT___STATEMENT_ANNOTATION_ALLOWED__ANNOTATION = SYNTAX_ELEMENT_OPERATION_COUNT + 2;
+
+ /**
+ * The operation id for the '<em>Annotation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int STATEMENT___ANNOTATION = SYNTAX_ELEMENT_OPERATION_COUNT + 3;
+
+ /**
+ * The operation id for the '<em>Has Annotation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int STATEMENT___HAS_ANNOTATION__STRING = SYNTAX_ELEMENT_OPERATION_COUNT + 4;
+
+ /**
+ * The operation id for the '<em>New Assignments</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int STATEMENT___NEW_ASSIGNMENTS = SYNTAX_ELEMENT_OPERATION_COUNT + 5;
+
+ /**
+ * The operation id for the '<em>Resolve</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int STATEMENT___RESOLVE__STRING = SYNTAX_ELEMENT_OPERATION_COUNT + 6;
+
+ /**
+ * The operation id for the '<em>Assignments After</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int STATEMENT___ASSIGNMENTS_AFTER = SYNTAX_ELEMENT_OPERATION_COUNT + 7;
+
+ /**
+ * The operation id for the '<em>Statement assignments After</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int STATEMENT___STATEMENT_ASSIGNMENTS_AFTER = SYNTAX_ELEMENT_OPERATION_COUNT + 8;
+
+ /**
+ * The operation id for the '<em>Assignments After Cached</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int STATEMENT___ASSIGNMENTS_AFTER_CACHED = SYNTAX_ELEMENT_OPERATION_COUNT + 9;
+
+ /**
+ * The operation id for the '<em>Merge Assignments</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int STATEMENT___MERGE_ASSIGNMENTS__ELIST = SYNTAX_ELEMENT_OPERATION_COUNT + 10;
+
+ /**
+ * The operation id for the '<em>Merge</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int STATEMENT___MERGE__STRING_ELIST = SYNTAX_ELEMENT_OPERATION_COUNT + 11;
+
+ /**
+ * The operation id for the '<em>Statement Annotations Allowed</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int STATEMENT___STATEMENT_ANNOTATIONS_ALLOWED__DIAGNOSTICCHAIN_MAP = SYNTAX_ELEMENT_OPERATION_COUNT + 12;
+
+ /**
+ * The operation id for the '<em>Statement Unique Assignments</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int STATEMENT___STATEMENT_UNIQUE_ASSIGNMENTS__DIAGNOSTICCHAIN_MAP = SYNTAX_ELEMENT_OPERATION_COUNT + 13;
+
+ /**
+ * The operation id for the '<em>Statement Is Isolated Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int STATEMENT___STATEMENT_IS_ISOLATED_DERIVATION__DIAGNOSTICCHAIN_MAP = SYNTAX_ELEMENT_OPERATION_COUNT + 14;
+
+ /**
+ * The number of operations of the '<em>Statement</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int STATEMENT_OPERATION_COUNT = SYNTAX_ELEMENT_OPERATION_COUNT + 15;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.uml.alf.impl.LocalNameDeclarationStatementImpl <em>Local Name Declaration Statement</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.uml.alf.impl.LocalNameDeclarationStatementImpl
+ * @see org.eclipse.papyrus.uml.alf.impl.AlfPackageImpl#getLocalNameDeclarationStatement()
+ * @generated
+ */
+ int LOCAL_NAME_DECLARATION_STATEMENT = 73;
+
+ /**
+ * The feature id for the '<em><b>Owner</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LOCAL_NAME_DECLARATION_STATEMENT__OWNER = STATEMENT__OWNER;
+
+ /**
+ * The feature id for the '<em><b>Assignment Before</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LOCAL_NAME_DECLARATION_STATEMENT__ASSIGNMENT_BEFORE = STATEMENT__ASSIGNMENT_BEFORE;
+
+ /**
+ * The feature id for the '<em><b>Assignment After</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LOCAL_NAME_DECLARATION_STATEMENT__ASSIGNMENT_AFTER = STATEMENT__ASSIGNMENT_AFTER;
+
+ /**
+ * The feature id for the '<em><b>Enclosing Statement</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LOCAL_NAME_DECLARATION_STATEMENT__ENCLOSING_STATEMENT = STATEMENT__ENCLOSING_STATEMENT;
+
+ /**
+ * The feature id for the '<em><b>Is Isolated</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LOCAL_NAME_DECLARATION_STATEMENT__IS_ISOLATED = STATEMENT__IS_ISOLATED;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LOCAL_NAME_DECLARATION_STATEMENT__NAME = STATEMENT_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Expression</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LOCAL_NAME_DECLARATION_STATEMENT__EXPRESSION = STATEMENT_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Has Multiplicity</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LOCAL_NAME_DECLARATION_STATEMENT__HAS_MULTIPLICITY = STATEMENT_FEATURE_COUNT + 2;
+
+ /**
+ * The feature id for the '<em><b>Type Name</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LOCAL_NAME_DECLARATION_STATEMENT__TYPE_NAME = STATEMENT_FEATURE_COUNT + 3;
+
+ /**
+ * The feature id for the '<em><b>Type</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LOCAL_NAME_DECLARATION_STATEMENT__TYPE = STATEMENT_FEATURE_COUNT + 4;
+
+ /**
+ * The feature id for the '<em><b>Is Any</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LOCAL_NAME_DECLARATION_STATEMENT__IS_ANY = STATEMENT_FEATURE_COUNT + 5;
+
+ /**
+ * The number of structural features of the '<em>Local Name Declaration Statement</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LOCAL_NAME_DECLARATION_STATEMENT_FEATURE_COUNT = STATEMENT_FEATURE_COUNT + 6;
+
+ /**
+ * The operation id for the '<em>To Reference</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LOCAL_NAME_DECLARATION_STATEMENT___TO_REFERENCE = STATEMENT___TO_REFERENCE;
+
+ /**
+ * The operation id for the '<em>Owner</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LOCAL_NAME_DECLARATION_STATEMENT___OWNER = STATEMENT___OWNER;
+
+ /**
+ * The operation id for the '<em>Syntax Element owner</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LOCAL_NAME_DECLARATION_STATEMENT___SYNTAX_ELEMENT_OWNER = STATEMENT___SYNTAX_ELEMENT_OWNER;
+
+ /**
+ * The operation id for the '<em>Current Scope</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LOCAL_NAME_DECLARATION_STATEMENT___CURRENT_SCOPE = STATEMENT___CURRENT_SCOPE;
+
+ /**
+ * The operation id for the '<em>Syntax Element current Scope</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LOCAL_NAME_DECLARATION_STATEMENT___SYNTAX_ELEMENT_CURRENT_SCOPE = STATEMENT___SYNTAX_ELEMENT_CURRENT_SCOPE;
+
+ /**
+ * The operation id for the '<em>Enclosing Statement</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LOCAL_NAME_DECLARATION_STATEMENT___ENCLOSING_STATEMENT = STATEMENT___ENCLOSING_STATEMENT;
+
+ /**
+ * The operation id for the '<em>Enclosing Expression</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LOCAL_NAME_DECLARATION_STATEMENT___ENCLOSING_EXPRESSION = STATEMENT___ENCLOSING_EXPRESSION;
+
+ /**
+ * The operation id for the '<em>Assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LOCAL_NAME_DECLARATION_STATEMENT___ASSIGNMENTS_BEFORE = STATEMENT___ASSIGNMENTS_BEFORE;
+
+ /**
+ * The operation id for the '<em>Syntax Element assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LOCAL_NAME_DECLARATION_STATEMENT___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE = STATEMENT___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE;
+
+ /**
+ * The operation id for the '<em>Syntax Element assignments Before base</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LOCAL_NAME_DECLARATION_STATEMENT___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE_BASE = STATEMENT___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE_BASE;
+
+ /**
+ * The operation id for the '<em>Assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LOCAL_NAME_DECLARATION_STATEMENT___ASSIGNMENTS_BEFORE__SYNTAXELEMENT = STATEMENT___ASSIGNMENTS_BEFORE__SYNTAXELEMENT;
+
+ /**
+ * The operation id for the '<em>Update All</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LOCAL_NAME_DECLARATION_STATEMENT___UPDATE_ALL__ELIST_ELIST = STATEMENT___UPDATE_ALL__ELIST_ELIST;
+
+ /**
+ * The operation id for the '<em>Common Ancestor</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LOCAL_NAME_DECLARATION_STATEMENT___COMMON_ANCESTOR__ELIST = STATEMENT___COMMON_ANCESTOR__ELIST;
+
+ /**
+ * The operation id for the '<em>Common Ancestors</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LOCAL_NAME_DECLARATION_STATEMENT___COMMON_ANCESTORS__ELIST = STATEMENT___COMMON_ANCESTORS__ELIST;
+
+ /**
+ * The operation id for the '<em>Remove Duplicate Elements</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LOCAL_NAME_DECLARATION_STATEMENT___REMOVE_DUPLICATE_ELEMENTS__ELIST = STATEMENT___REMOVE_DUPLICATE_ELEMENTS__ELIST;
+
+ /**
+ * The operation id for the '<em>Resolve In Library</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LOCAL_NAME_DECLARATION_STATEMENT___RESOLVE_IN_LIBRARY__STRING = STATEMENT___RESOLVE_IN_LIBRARY__STRING;
+
+ /**
+ * The operation id for the '<em>Primitive Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LOCAL_NAME_DECLARATION_STATEMENT___PRIMITIVE_TYPE__STRING = STATEMENT___PRIMITIVE_TYPE__STRING;
+
+ /**
+ * The operation id for the '<em>Primitive Type </em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LOCAL_NAME_DECLARATION_STATEMENT___PRIMITIVE_TYPE____STRING = STATEMENT___PRIMITIVE_TYPE____STRING;
+
+ /**
+ * The operation id for the '<em>Boolean Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LOCAL_NAME_DECLARATION_STATEMENT___BOOLEAN_TYPE = STATEMENT___BOOLEAN_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Boolean Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LOCAL_NAME_DECLARATION_STATEMENT___IS_BOOLEAN_TYPE__ELEMENTREFERENCE = STATEMENT___IS_BOOLEAN_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Integer Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LOCAL_NAME_DECLARATION_STATEMENT___INTEGER_TYPE = STATEMENT___INTEGER_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Integer Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LOCAL_NAME_DECLARATION_STATEMENT___IS_INTEGER_TYPE__ELEMENTREFERENCE = STATEMENT___IS_INTEGER_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LOCAL_NAME_DECLARATION_STATEMENT___STRING_TYPE = STATEMENT___STRING_TYPE;
+
+ /**
+ * The operation id for the '<em>Is String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LOCAL_NAME_DECLARATION_STATEMENT___IS_STRING_TYPE__ELEMENTREFERENCE = STATEMENT___IS_STRING_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Unlimited Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LOCAL_NAME_DECLARATION_STATEMENT___UNLIMITED_NATURAL_TYPE = STATEMENT___UNLIMITED_NATURAL_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Unlimited Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LOCAL_NAME_DECLARATION_STATEMENT___IS_UNLIMITED_NATURAL_TYPE__ELEMENTREFERENCE = STATEMENT___IS_UNLIMITED_NATURAL_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Bit String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LOCAL_NAME_DECLARATION_STATEMENT___BIT_STRING_TYPE = STATEMENT___BIT_STRING_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Bit String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LOCAL_NAME_DECLARATION_STATEMENT___IS_BIT_STRING_TYPE__ELEMENTREFERENCE = STATEMENT___IS_BIT_STRING_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LOCAL_NAME_DECLARATION_STATEMENT___NATURAL_TYPE = STATEMENT___NATURAL_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LOCAL_NAME_DECLARATION_STATEMENT___IS_NATURAL_TYPE__ELEMENTREFERENCE = STATEMENT___IS_NATURAL_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Numeric Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LOCAL_NAME_DECLARATION_STATEMENT___IS_NUMERIC_TYPE__ELEMENTREFERENCE = STATEMENT___IS_NUMERIC_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Collection Function Add</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LOCAL_NAME_DECLARATION_STATEMENT___COLLECTION_FUNCTION_ADD = STATEMENT___COLLECTION_FUNCTION_ADD;
+
+ /**
+ * The operation id for the '<em>Is Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LOCAL_NAME_DECLARATION_STATEMENT___IS_COLLECTION_CLASS__ELEMENTREFERENCE = STATEMENT___IS_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Integer Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LOCAL_NAME_DECLARATION_STATEMENT___IS_INTEGER_COLLECTION_CLASS__ELEMENTREFERENCE = STATEMENT___IS_INTEGER_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Bit String Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LOCAL_NAME_DECLARATION_STATEMENT___IS_BIT_STRING_COLLECTION_CLASS__ELEMENTREFERENCE = STATEMENT___IS_BIT_STRING_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Enclosing Loop Statement</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LOCAL_NAME_DECLARATION_STATEMENT___ENCLOSING_LOOP_STATEMENT = STATEMENT___ENCLOSING_LOOP_STATEMENT;
+
+ /**
+ * The operation id for the '<em>Annotation Allowed</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LOCAL_NAME_DECLARATION_STATEMENT___ANNOTATION_ALLOWED__ANNOTATION = STATEMENT___ANNOTATION_ALLOWED__ANNOTATION;
+
+ /**
+ * The operation id for the '<em>Statement annotation Allowed</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LOCAL_NAME_DECLARATION_STATEMENT___STATEMENT_ANNOTATION_ALLOWED__ANNOTATION = STATEMENT___STATEMENT_ANNOTATION_ALLOWED__ANNOTATION;
+
+ /**
+ * The operation id for the '<em>Annotation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LOCAL_NAME_DECLARATION_STATEMENT___ANNOTATION = STATEMENT___ANNOTATION;
+
+ /**
+ * The operation id for the '<em>Has Annotation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LOCAL_NAME_DECLARATION_STATEMENT___HAS_ANNOTATION__STRING = STATEMENT___HAS_ANNOTATION__STRING;
+
+ /**
+ * The operation id for the '<em>New Assignments</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LOCAL_NAME_DECLARATION_STATEMENT___NEW_ASSIGNMENTS = STATEMENT___NEW_ASSIGNMENTS;
+
+ /**
+ * The operation id for the '<em>Resolve</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LOCAL_NAME_DECLARATION_STATEMENT___RESOLVE__STRING = STATEMENT___RESOLVE__STRING;
+
+ /**
+ * The operation id for the '<em>Statement assignments After</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LOCAL_NAME_DECLARATION_STATEMENT___STATEMENT_ASSIGNMENTS_AFTER = STATEMENT___STATEMENT_ASSIGNMENTS_AFTER;
+
+ /**
+ * The operation id for the '<em>Assignments After Cached</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LOCAL_NAME_DECLARATION_STATEMENT___ASSIGNMENTS_AFTER_CACHED = STATEMENT___ASSIGNMENTS_AFTER_CACHED;
+
+ /**
+ * The operation id for the '<em>Merge Assignments</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LOCAL_NAME_DECLARATION_STATEMENT___MERGE_ASSIGNMENTS__ELIST = STATEMENT___MERGE_ASSIGNMENTS__ELIST;
+
+ /**
+ * The operation id for the '<em>Merge</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LOCAL_NAME_DECLARATION_STATEMENT___MERGE__STRING_ELIST = STATEMENT___MERGE__STRING_ELIST;
+
+ /**
+ * The operation id for the '<em>Statement Annotations Allowed</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LOCAL_NAME_DECLARATION_STATEMENT___STATEMENT_ANNOTATIONS_ALLOWED__DIAGNOSTICCHAIN_MAP = STATEMENT___STATEMENT_ANNOTATIONS_ALLOWED__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Statement Unique Assignments</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LOCAL_NAME_DECLARATION_STATEMENT___STATEMENT_UNIQUE_ASSIGNMENTS__DIAGNOSTICCHAIN_MAP = STATEMENT___STATEMENT_UNIQUE_ASSIGNMENTS__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Statement Is Isolated Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LOCAL_NAME_DECLARATION_STATEMENT___STATEMENT_IS_ISOLATED_DERIVATION__DIAGNOSTICCHAIN_MAP = STATEMENT___STATEMENT_IS_ISOLATED_DERIVATION__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Actual Name</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LOCAL_NAME_DECLARATION_STATEMENT___ACTUAL_NAME = STATEMENT_OPERATION_COUNT + 0;
+
+ /**
+ * The operation id for the '<em>Assignments After</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LOCAL_NAME_DECLARATION_STATEMENT___ASSIGNMENTS_AFTER = STATEMENT_OPERATION_COUNT + 1;
+
+ /**
+ * The operation id for the '<em>Local Name Declaration Statement Assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LOCAL_NAME_DECLARATION_STATEMENT___LOCAL_NAME_DECLARATION_STATEMENT_ASSIGNMENTS_BEFORE__DIAGNOSTICCHAIN_MAP = STATEMENT_OPERATION_COUNT + 2;
+
+ /**
+ * The operation id for the '<em>Local Name Declaration Statement Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LOCAL_NAME_DECLARATION_STATEMENT___LOCAL_NAME_DECLARATION_STATEMENT_TYPE__DIAGNOSTICCHAIN_MAP = STATEMENT_OPERATION_COUNT + 3;
+
+ /**
+ * The operation id for the '<em>Local Name Declaration Statement Local Name</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LOCAL_NAME_DECLARATION_STATEMENT___LOCAL_NAME_DECLARATION_STATEMENT_LOCAL_NAME__DIAGNOSTICCHAIN_MAP = STATEMENT_OPERATION_COUNT + 4;
+
+ /**
+ * The operation id for the '<em>Local Name Declaration Statement Assignments After</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LOCAL_NAME_DECLARATION_STATEMENT___LOCAL_NAME_DECLARATION_STATEMENT_ASSIGNMENTS_AFTER__DIAGNOSTICCHAIN_MAP = STATEMENT_OPERATION_COUNT + 5;
+
+ /**
+ * The operation id for the '<em>Local Name Declaration Statement Expression Multiplicity</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LOCAL_NAME_DECLARATION_STATEMENT___LOCAL_NAME_DECLARATION_STATEMENT_EXPRESSION_MULTIPLICITY__DIAGNOSTICCHAIN_MAP = STATEMENT_OPERATION_COUNT + 6;
+
+ /**
+ * The operation id for the '<em>Local Name Declaration Statement Type Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LOCAL_NAME_DECLARATION_STATEMENT___LOCAL_NAME_DECLARATION_STATEMENT_TYPE_DERIVATION__DIAGNOSTICCHAIN_MAP = STATEMENT_OPERATION_COUNT + 7;
+
+ /**
+ * The operation id for the '<em>Type Cached</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LOCAL_NAME_DECLARATION_STATEMENT___TYPE_CACHED = STATEMENT_OPERATION_COUNT + 8;
+
+ /**
+ * The operation id for the '<em>Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LOCAL_NAME_DECLARATION_STATEMENT___TYPE = STATEMENT_OPERATION_COUNT + 9;
+
+ /**
+ * The number of operations of the '<em>Local Name Declaration Statement</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LOCAL_NAME_DECLARATION_STATEMENT_OPERATION_COUNT = STATEMENT_OPERATION_COUNT + 10;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.uml.alf.impl.AssignableLocalNameDeclarationImpl <em>Assignable Local Name Declaration</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.uml.alf.impl.AssignableLocalNameDeclarationImpl
+ * @see org.eclipse.papyrus.uml.alf.impl.AlfPackageImpl#getAssignableLocalNameDeclaration()
+ * @generated
+ */
+ int ASSIGNABLE_LOCAL_NAME_DECLARATION = 74;
+
+ /**
+ * The feature id for the '<em><b>Owner</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSIGNABLE_LOCAL_NAME_DECLARATION__OWNER = ASSIGNABLE_ELEMENT__OWNER;
+
+ /**
+ * The feature id for the '<em><b>Upper</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSIGNABLE_LOCAL_NAME_DECLARATION__UPPER = ASSIGNABLE_ELEMENT__UPPER;
+
+ /**
+ * The feature id for the '<em><b>Lower</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSIGNABLE_LOCAL_NAME_DECLARATION__LOWER = ASSIGNABLE_ELEMENT__LOWER;
+
+ /**
+ * The feature id for the '<em><b>Type</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSIGNABLE_LOCAL_NAME_DECLARATION__TYPE = ASSIGNABLE_ELEMENT__TYPE;
+
+ /**
+ * The feature id for the '<em><b>Local Name Declaration</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSIGNABLE_LOCAL_NAME_DECLARATION__LOCAL_NAME_DECLARATION = ASSIGNABLE_ELEMENT_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the '<em>Assignable Local Name Declaration</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSIGNABLE_LOCAL_NAME_DECLARATION_FEATURE_COUNT = ASSIGNABLE_ELEMENT_FEATURE_COUNT + 1;
+
+ /**
+ * The operation id for the '<em>To Reference</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSIGNABLE_LOCAL_NAME_DECLARATION___TO_REFERENCE = ASSIGNABLE_ELEMENT___TO_REFERENCE;
+
+ /**
+ * The operation id for the '<em>Owner</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSIGNABLE_LOCAL_NAME_DECLARATION___OWNER = ASSIGNABLE_ELEMENT___OWNER;
+
+ /**
+ * The operation id for the '<em>Syntax Element owner</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSIGNABLE_LOCAL_NAME_DECLARATION___SYNTAX_ELEMENT_OWNER = ASSIGNABLE_ELEMENT___SYNTAX_ELEMENT_OWNER;
+
+ /**
+ * The operation id for the '<em>Current Scope</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSIGNABLE_LOCAL_NAME_DECLARATION___CURRENT_SCOPE = ASSIGNABLE_ELEMENT___CURRENT_SCOPE;
+
+ /**
+ * The operation id for the '<em>Syntax Element current Scope</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSIGNABLE_LOCAL_NAME_DECLARATION___SYNTAX_ELEMENT_CURRENT_SCOPE = ASSIGNABLE_ELEMENT___SYNTAX_ELEMENT_CURRENT_SCOPE;
+
+ /**
+ * The operation id for the '<em>Enclosing Statement</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSIGNABLE_LOCAL_NAME_DECLARATION___ENCLOSING_STATEMENT = ASSIGNABLE_ELEMENT___ENCLOSING_STATEMENT;
+
+ /**
+ * The operation id for the '<em>Enclosing Expression</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSIGNABLE_LOCAL_NAME_DECLARATION___ENCLOSING_EXPRESSION = ASSIGNABLE_ELEMENT___ENCLOSING_EXPRESSION;
+
+ /**
+ * The operation id for the '<em>Assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSIGNABLE_LOCAL_NAME_DECLARATION___ASSIGNMENTS_BEFORE = ASSIGNABLE_ELEMENT___ASSIGNMENTS_BEFORE;
+
+ /**
+ * The operation id for the '<em>Syntax Element assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSIGNABLE_LOCAL_NAME_DECLARATION___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE = ASSIGNABLE_ELEMENT___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE;
+
+ /**
+ * The operation id for the '<em>Syntax Element assignments Before base</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSIGNABLE_LOCAL_NAME_DECLARATION___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE_BASE = ASSIGNABLE_ELEMENT___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE_BASE;
+
+ /**
+ * The operation id for the '<em>Assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSIGNABLE_LOCAL_NAME_DECLARATION___ASSIGNMENTS_BEFORE__SYNTAXELEMENT = ASSIGNABLE_ELEMENT___ASSIGNMENTS_BEFORE__SYNTAXELEMENT;
+
+ /**
+ * The operation id for the '<em>Update All</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSIGNABLE_LOCAL_NAME_DECLARATION___UPDATE_ALL__ELIST_ELIST = ASSIGNABLE_ELEMENT___UPDATE_ALL__ELIST_ELIST;
+
+ /**
+ * The operation id for the '<em>Common Ancestor</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSIGNABLE_LOCAL_NAME_DECLARATION___COMMON_ANCESTOR__ELIST = ASSIGNABLE_ELEMENT___COMMON_ANCESTOR__ELIST;
+
+ /**
+ * The operation id for the '<em>Common Ancestors</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSIGNABLE_LOCAL_NAME_DECLARATION___COMMON_ANCESTORS__ELIST = ASSIGNABLE_ELEMENT___COMMON_ANCESTORS__ELIST;
+
+ /**
+ * The operation id for the '<em>Remove Duplicate Elements</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSIGNABLE_LOCAL_NAME_DECLARATION___REMOVE_DUPLICATE_ELEMENTS__ELIST = ASSIGNABLE_ELEMENT___REMOVE_DUPLICATE_ELEMENTS__ELIST;
+
+ /**
+ * The operation id for the '<em>Resolve In Library</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSIGNABLE_LOCAL_NAME_DECLARATION___RESOLVE_IN_LIBRARY__STRING = ASSIGNABLE_ELEMENT___RESOLVE_IN_LIBRARY__STRING;
+
+ /**
+ * The operation id for the '<em>Primitive Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSIGNABLE_LOCAL_NAME_DECLARATION___PRIMITIVE_TYPE__STRING = ASSIGNABLE_ELEMENT___PRIMITIVE_TYPE__STRING;
+
+ /**
+ * The operation id for the '<em>Primitive Type </em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSIGNABLE_LOCAL_NAME_DECLARATION___PRIMITIVE_TYPE____STRING = ASSIGNABLE_ELEMENT___PRIMITIVE_TYPE____STRING;
+
+ /**
+ * The operation id for the '<em>Boolean Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSIGNABLE_LOCAL_NAME_DECLARATION___BOOLEAN_TYPE = ASSIGNABLE_ELEMENT___BOOLEAN_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Boolean Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSIGNABLE_LOCAL_NAME_DECLARATION___IS_BOOLEAN_TYPE__ELEMENTREFERENCE = ASSIGNABLE_ELEMENT___IS_BOOLEAN_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Integer Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSIGNABLE_LOCAL_NAME_DECLARATION___INTEGER_TYPE = ASSIGNABLE_ELEMENT___INTEGER_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Integer Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSIGNABLE_LOCAL_NAME_DECLARATION___IS_INTEGER_TYPE__ELEMENTREFERENCE = ASSIGNABLE_ELEMENT___IS_INTEGER_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSIGNABLE_LOCAL_NAME_DECLARATION___STRING_TYPE = ASSIGNABLE_ELEMENT___STRING_TYPE;
+
+ /**
+ * The operation id for the '<em>Is String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSIGNABLE_LOCAL_NAME_DECLARATION___IS_STRING_TYPE__ELEMENTREFERENCE = ASSIGNABLE_ELEMENT___IS_STRING_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Unlimited Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSIGNABLE_LOCAL_NAME_DECLARATION___UNLIMITED_NATURAL_TYPE = ASSIGNABLE_ELEMENT___UNLIMITED_NATURAL_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Unlimited Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSIGNABLE_LOCAL_NAME_DECLARATION___IS_UNLIMITED_NATURAL_TYPE__ELEMENTREFERENCE = ASSIGNABLE_ELEMENT___IS_UNLIMITED_NATURAL_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Bit String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSIGNABLE_LOCAL_NAME_DECLARATION___BIT_STRING_TYPE = ASSIGNABLE_ELEMENT___BIT_STRING_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Bit String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSIGNABLE_LOCAL_NAME_DECLARATION___IS_BIT_STRING_TYPE__ELEMENTREFERENCE = ASSIGNABLE_ELEMENT___IS_BIT_STRING_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSIGNABLE_LOCAL_NAME_DECLARATION___NATURAL_TYPE = ASSIGNABLE_ELEMENT___NATURAL_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSIGNABLE_LOCAL_NAME_DECLARATION___IS_NATURAL_TYPE__ELEMENTREFERENCE = ASSIGNABLE_ELEMENT___IS_NATURAL_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Numeric Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSIGNABLE_LOCAL_NAME_DECLARATION___IS_NUMERIC_TYPE__ELEMENTREFERENCE = ASSIGNABLE_ELEMENT___IS_NUMERIC_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Collection Function Add</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSIGNABLE_LOCAL_NAME_DECLARATION___COLLECTION_FUNCTION_ADD = ASSIGNABLE_ELEMENT___COLLECTION_FUNCTION_ADD;
+
+ /**
+ * The operation id for the '<em>Is Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSIGNABLE_LOCAL_NAME_DECLARATION___IS_COLLECTION_CLASS__ELEMENTREFERENCE = ASSIGNABLE_ELEMENT___IS_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Integer Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSIGNABLE_LOCAL_NAME_DECLARATION___IS_INTEGER_COLLECTION_CLASS__ELEMENTREFERENCE = ASSIGNABLE_ELEMENT___IS_INTEGER_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Bit String Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSIGNABLE_LOCAL_NAME_DECLARATION___IS_BIT_STRING_COLLECTION_CLASS__ELEMENTREFERENCE = ASSIGNABLE_ELEMENT___IS_BIT_STRING_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Type Cached</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSIGNABLE_LOCAL_NAME_DECLARATION___TYPE_CACHED = ASSIGNABLE_ELEMENT___TYPE_CACHED;
+
+ /**
+ * The operation id for the '<em>Is Null</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSIGNABLE_LOCAL_NAME_DECLARATION___IS_NULL = ASSIGNABLE_ELEMENT___IS_NULL;
+
+ /**
+ * The operation id for the '<em>Is Assignable From Element</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSIGNABLE_LOCAL_NAME_DECLARATION___IS_ASSIGNABLE_FROM_ELEMENT__ELEMENTREFERENCE = ASSIGNABLE_ELEMENT___IS_ASSIGNABLE_FROM_ELEMENT__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Assignable From</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSIGNABLE_LOCAL_NAME_DECLARATION___IS_ASSIGNABLE_FROM__ASSIGNABLEELEMENT = ASSIGNABLE_ELEMENT___IS_ASSIGNABLE_FROM__ASSIGNABLEELEMENT;
+
+ /**
+ * The operation id for the '<em>Is Type Conformant With</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSIGNABLE_LOCAL_NAME_DECLARATION___IS_TYPE_CONFORMANT_WITH__ASSIGNABLEELEMENT = ASSIGNABLE_ELEMENT___IS_TYPE_CONFORMANT_WITH__ASSIGNABLEELEMENT;
+
+ /**
+ * The operation id for the '<em>Is Conformant With Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSIGNABLE_LOCAL_NAME_DECLARATION___IS_CONFORMANT_WITH_TYPE__ELEMENTREFERENCE = ASSIGNABLE_ELEMENT___IS_CONFORMANT_WITH_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Multiplicity Conformant With</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSIGNABLE_LOCAL_NAME_DECLARATION___IS_MULTIPLICITY_CONFORMANT_WITH__ASSIGNABLEELEMENT = ASSIGNABLE_ELEMENT___IS_MULTIPLICITY_CONFORMANT_WITH__ASSIGNABLEELEMENT;
+
+ /**
+ * The operation id for the '<em>Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSIGNABLE_LOCAL_NAME_DECLARATION___TYPE = ASSIGNABLE_ELEMENT_OPERATION_COUNT + 0;
+
+ /**
+ * The operation id for the '<em>Lower</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSIGNABLE_LOCAL_NAME_DECLARATION___LOWER = ASSIGNABLE_ELEMENT_OPERATION_COUNT + 1;
+
+ /**
+ * The operation id for the '<em>Upper</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSIGNABLE_LOCAL_NAME_DECLARATION___UPPER = ASSIGNABLE_ELEMENT_OPERATION_COUNT + 2;
+
+ /**
+ * The number of operations of the '<em>Assignable Local Name Declaration</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSIGNABLE_LOCAL_NAME_DECLARATION_OPERATION_COUNT = ASSIGNABLE_ELEMENT_OPERATION_COUNT + 3;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.uml.alf.impl.AnnotationImpl <em>Annotation</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.uml.alf.impl.AnnotationImpl
+ * @see org.eclipse.papyrus.uml.alf.impl.AlfPackageImpl#getAnnotation()
+ * @generated
+ */
+ int ANNOTATION = 76;
+
+ /**
+ * The feature id for the '<em><b>Owner</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ANNOTATION__OWNER = SYNTAX_ELEMENT__OWNER;
+
+ /**
+ * The feature id for the '<em><b>Text</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ANNOTATION__TEXT = SYNTAX_ELEMENT_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Identifier</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ANNOTATION__IDENTIFIER = SYNTAX_ELEMENT_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Argument</b></em>' attribute list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ANNOTATION__ARGUMENT = SYNTAX_ELEMENT_FEATURE_COUNT + 2;
+
+ /**
+ * The number of structural features of the '<em>Annotation</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ANNOTATION_FEATURE_COUNT = SYNTAX_ELEMENT_FEATURE_COUNT + 3;
+
+ /**
+ * The operation id for the '<em>To Reference</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ANNOTATION___TO_REFERENCE = SYNTAX_ELEMENT___TO_REFERENCE;
+
+ /**
+ * The operation id for the '<em>Owner</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ANNOTATION___OWNER = SYNTAX_ELEMENT___OWNER;
+
+ /**
+ * The operation id for the '<em>Syntax Element owner</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ANNOTATION___SYNTAX_ELEMENT_OWNER = SYNTAX_ELEMENT___SYNTAX_ELEMENT_OWNER;
+
+ /**
+ * The operation id for the '<em>Current Scope</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ANNOTATION___CURRENT_SCOPE = SYNTAX_ELEMENT___CURRENT_SCOPE;
+
+ /**
+ * The operation id for the '<em>Syntax Element current Scope</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ANNOTATION___SYNTAX_ELEMENT_CURRENT_SCOPE = SYNTAX_ELEMENT___SYNTAX_ELEMENT_CURRENT_SCOPE;
+
+ /**
+ * The operation id for the '<em>Enclosing Statement</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ANNOTATION___ENCLOSING_STATEMENT = SYNTAX_ELEMENT___ENCLOSING_STATEMENT;
+
+ /**
+ * The operation id for the '<em>Enclosing Expression</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ANNOTATION___ENCLOSING_EXPRESSION = SYNTAX_ELEMENT___ENCLOSING_EXPRESSION;
+
+ /**
+ * The operation id for the '<em>Assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ANNOTATION___ASSIGNMENTS_BEFORE = SYNTAX_ELEMENT___ASSIGNMENTS_BEFORE;
+
+ /**
+ * The operation id for the '<em>Syntax Element assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ANNOTATION___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE = SYNTAX_ELEMENT___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE;
+
+ /**
+ * The operation id for the '<em>Syntax Element assignments Before base</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ANNOTATION___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE_BASE = SYNTAX_ELEMENT___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE_BASE;
+
+ /**
+ * The operation id for the '<em>Assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ANNOTATION___ASSIGNMENTS_BEFORE__SYNTAXELEMENT = SYNTAX_ELEMENT___ASSIGNMENTS_BEFORE__SYNTAXELEMENT;
+
+ /**
+ * The operation id for the '<em>Update All</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ANNOTATION___UPDATE_ALL__ELIST_ELIST = SYNTAX_ELEMENT___UPDATE_ALL__ELIST_ELIST;
+
+ /**
+ * The operation id for the '<em>Common Ancestor</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ANNOTATION___COMMON_ANCESTOR__ELIST = SYNTAX_ELEMENT___COMMON_ANCESTOR__ELIST;
+
+ /**
+ * The operation id for the '<em>Common Ancestors</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ANNOTATION___COMMON_ANCESTORS__ELIST = SYNTAX_ELEMENT___COMMON_ANCESTORS__ELIST;
+
+ /**
+ * The operation id for the '<em>Remove Duplicate Elements</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ANNOTATION___REMOVE_DUPLICATE_ELEMENTS__ELIST = SYNTAX_ELEMENT___REMOVE_DUPLICATE_ELEMENTS__ELIST;
+
+ /**
+ * The operation id for the '<em>Resolve In Library</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ANNOTATION___RESOLVE_IN_LIBRARY__STRING = SYNTAX_ELEMENT___RESOLVE_IN_LIBRARY__STRING;
+
+ /**
+ * The operation id for the '<em>Primitive Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ANNOTATION___PRIMITIVE_TYPE__STRING = SYNTAX_ELEMENT___PRIMITIVE_TYPE__STRING;
+
+ /**
+ * The operation id for the '<em>Primitive Type </em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ANNOTATION___PRIMITIVE_TYPE____STRING = SYNTAX_ELEMENT___PRIMITIVE_TYPE____STRING;
+
+ /**
+ * The operation id for the '<em>Boolean Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ANNOTATION___BOOLEAN_TYPE = SYNTAX_ELEMENT___BOOLEAN_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Boolean Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ANNOTATION___IS_BOOLEAN_TYPE__ELEMENTREFERENCE = SYNTAX_ELEMENT___IS_BOOLEAN_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Integer Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ANNOTATION___INTEGER_TYPE = SYNTAX_ELEMENT___INTEGER_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Integer Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ANNOTATION___IS_INTEGER_TYPE__ELEMENTREFERENCE = SYNTAX_ELEMENT___IS_INTEGER_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ANNOTATION___STRING_TYPE = SYNTAX_ELEMENT___STRING_TYPE;
+
+ /**
+ * The operation id for the '<em>Is String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ANNOTATION___IS_STRING_TYPE__ELEMENTREFERENCE = SYNTAX_ELEMENT___IS_STRING_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Unlimited Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ANNOTATION___UNLIMITED_NATURAL_TYPE = SYNTAX_ELEMENT___UNLIMITED_NATURAL_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Unlimited Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ANNOTATION___IS_UNLIMITED_NATURAL_TYPE__ELEMENTREFERENCE = SYNTAX_ELEMENT___IS_UNLIMITED_NATURAL_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Bit String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ANNOTATION___BIT_STRING_TYPE = SYNTAX_ELEMENT___BIT_STRING_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Bit String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ANNOTATION___IS_BIT_STRING_TYPE__ELEMENTREFERENCE = SYNTAX_ELEMENT___IS_BIT_STRING_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ANNOTATION___NATURAL_TYPE = SYNTAX_ELEMENT___NATURAL_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ANNOTATION___IS_NATURAL_TYPE__ELEMENTREFERENCE = SYNTAX_ELEMENT___IS_NATURAL_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Numeric Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ANNOTATION___IS_NUMERIC_TYPE__ELEMENTREFERENCE = SYNTAX_ELEMENT___IS_NUMERIC_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Collection Function Add</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ANNOTATION___COLLECTION_FUNCTION_ADD = SYNTAX_ELEMENT___COLLECTION_FUNCTION_ADD;
+
+ /**
+ * The operation id for the '<em>Is Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ANNOTATION___IS_COLLECTION_CLASS__ELEMENTREFERENCE = SYNTAX_ELEMENT___IS_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Integer Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ANNOTATION___IS_INTEGER_COLLECTION_CLASS__ELEMENTREFERENCE = SYNTAX_ELEMENT___IS_INTEGER_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Bit String Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ANNOTATION___IS_BIT_STRING_COLLECTION_CLASS__ELEMENTREFERENCE = SYNTAX_ELEMENT___IS_BIT_STRING_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Identifier</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ANNOTATION___IDENTIFIER = SYNTAX_ELEMENT_OPERATION_COUNT + 0;
+
+ /**
+ * The operation id for the '<em>Arguments</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ANNOTATION___ARGUMENTS = SYNTAX_ELEMENT_OPERATION_COUNT + 1;
+
+ /**
+ * The number of operations of the '<em>Annotation</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ANNOTATION_OPERATION_COUNT = SYNTAX_ELEMENT_OPERATION_COUNT + 2;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.uml.alf.impl.QualifiedNameListImpl <em>Qualified Name List</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.uml.alf.impl.QualifiedNameListImpl
+ * @see org.eclipse.papyrus.uml.alf.impl.AlfPackageImpl#getQualifiedNameList()
+ * @generated
+ */
+ int QUALIFIED_NAME_LIST = 77;
+
+ /**
+ * The feature id for the '<em><b>Owner</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int QUALIFIED_NAME_LIST__OWNER = SYNTAX_ELEMENT__OWNER;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int QUALIFIED_NAME_LIST__NAME = SYNTAX_ELEMENT_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the '<em>Qualified Name List</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int QUALIFIED_NAME_LIST_FEATURE_COUNT = SYNTAX_ELEMENT_FEATURE_COUNT + 1;
+
+ /**
+ * The operation id for the '<em>To Reference</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int QUALIFIED_NAME_LIST___TO_REFERENCE = SYNTAX_ELEMENT___TO_REFERENCE;
+
+ /**
+ * The operation id for the '<em>Owner</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int QUALIFIED_NAME_LIST___OWNER = SYNTAX_ELEMENT___OWNER;
+
+ /**
+ * The operation id for the '<em>Syntax Element owner</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int QUALIFIED_NAME_LIST___SYNTAX_ELEMENT_OWNER = SYNTAX_ELEMENT___SYNTAX_ELEMENT_OWNER;
+
+ /**
+ * The operation id for the '<em>Syntax Element current Scope</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int QUALIFIED_NAME_LIST___SYNTAX_ELEMENT_CURRENT_SCOPE = SYNTAX_ELEMENT___SYNTAX_ELEMENT_CURRENT_SCOPE;
+
+ /**
+ * The operation id for the '<em>Enclosing Statement</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int QUALIFIED_NAME_LIST___ENCLOSING_STATEMENT = SYNTAX_ELEMENT___ENCLOSING_STATEMENT;
+
+ /**
+ * The operation id for the '<em>Enclosing Expression</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int QUALIFIED_NAME_LIST___ENCLOSING_EXPRESSION = SYNTAX_ELEMENT___ENCLOSING_EXPRESSION;
+
+ /**
+ * The operation id for the '<em>Assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int QUALIFIED_NAME_LIST___ASSIGNMENTS_BEFORE = SYNTAX_ELEMENT___ASSIGNMENTS_BEFORE;
+
+ /**
+ * The operation id for the '<em>Syntax Element assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int QUALIFIED_NAME_LIST___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE = SYNTAX_ELEMENT___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE;
+
+ /**
+ * The operation id for the '<em>Syntax Element assignments Before base</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int QUALIFIED_NAME_LIST___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE_BASE = SYNTAX_ELEMENT___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE_BASE;
+
+ /**
+ * The operation id for the '<em>Assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int QUALIFIED_NAME_LIST___ASSIGNMENTS_BEFORE__SYNTAXELEMENT = SYNTAX_ELEMENT___ASSIGNMENTS_BEFORE__SYNTAXELEMENT;
+
+ /**
+ * The operation id for the '<em>Update All</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int QUALIFIED_NAME_LIST___UPDATE_ALL__ELIST_ELIST = SYNTAX_ELEMENT___UPDATE_ALL__ELIST_ELIST;
+
+ /**
+ * The operation id for the '<em>Common Ancestor</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int QUALIFIED_NAME_LIST___COMMON_ANCESTOR__ELIST = SYNTAX_ELEMENT___COMMON_ANCESTOR__ELIST;
+
+ /**
+ * The operation id for the '<em>Common Ancestors</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int QUALIFIED_NAME_LIST___COMMON_ANCESTORS__ELIST = SYNTAX_ELEMENT___COMMON_ANCESTORS__ELIST;
+
+ /**
+ * The operation id for the '<em>Remove Duplicate Elements</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int QUALIFIED_NAME_LIST___REMOVE_DUPLICATE_ELEMENTS__ELIST = SYNTAX_ELEMENT___REMOVE_DUPLICATE_ELEMENTS__ELIST;
+
+ /**
+ * The operation id for the '<em>Resolve In Library</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int QUALIFIED_NAME_LIST___RESOLVE_IN_LIBRARY__STRING = SYNTAX_ELEMENT___RESOLVE_IN_LIBRARY__STRING;
+
+ /**
+ * The operation id for the '<em>Primitive Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int QUALIFIED_NAME_LIST___PRIMITIVE_TYPE__STRING = SYNTAX_ELEMENT___PRIMITIVE_TYPE__STRING;
+
+ /**
+ * The operation id for the '<em>Primitive Type </em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int QUALIFIED_NAME_LIST___PRIMITIVE_TYPE____STRING = SYNTAX_ELEMENT___PRIMITIVE_TYPE____STRING;
+
+ /**
+ * The operation id for the '<em>Boolean Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int QUALIFIED_NAME_LIST___BOOLEAN_TYPE = SYNTAX_ELEMENT___BOOLEAN_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Boolean Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int QUALIFIED_NAME_LIST___IS_BOOLEAN_TYPE__ELEMENTREFERENCE = SYNTAX_ELEMENT___IS_BOOLEAN_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Integer Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int QUALIFIED_NAME_LIST___INTEGER_TYPE = SYNTAX_ELEMENT___INTEGER_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Integer Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int QUALIFIED_NAME_LIST___IS_INTEGER_TYPE__ELEMENTREFERENCE = SYNTAX_ELEMENT___IS_INTEGER_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int QUALIFIED_NAME_LIST___STRING_TYPE = SYNTAX_ELEMENT___STRING_TYPE;
+
+ /**
+ * The operation id for the '<em>Is String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int QUALIFIED_NAME_LIST___IS_STRING_TYPE__ELEMENTREFERENCE = SYNTAX_ELEMENT___IS_STRING_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Unlimited Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int QUALIFIED_NAME_LIST___UNLIMITED_NATURAL_TYPE = SYNTAX_ELEMENT___UNLIMITED_NATURAL_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Unlimited Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int QUALIFIED_NAME_LIST___IS_UNLIMITED_NATURAL_TYPE__ELEMENTREFERENCE = SYNTAX_ELEMENT___IS_UNLIMITED_NATURAL_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Bit String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int QUALIFIED_NAME_LIST___BIT_STRING_TYPE = SYNTAX_ELEMENT___BIT_STRING_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Bit String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int QUALIFIED_NAME_LIST___IS_BIT_STRING_TYPE__ELEMENTREFERENCE = SYNTAX_ELEMENT___IS_BIT_STRING_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int QUALIFIED_NAME_LIST___NATURAL_TYPE = SYNTAX_ELEMENT___NATURAL_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int QUALIFIED_NAME_LIST___IS_NATURAL_TYPE__ELEMENTREFERENCE = SYNTAX_ELEMENT___IS_NATURAL_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Numeric Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int QUALIFIED_NAME_LIST___IS_NUMERIC_TYPE__ELEMENTREFERENCE = SYNTAX_ELEMENT___IS_NUMERIC_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Collection Function Add</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int QUALIFIED_NAME_LIST___COLLECTION_FUNCTION_ADD = SYNTAX_ELEMENT___COLLECTION_FUNCTION_ADD;
+
+ /**
+ * The operation id for the '<em>Is Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int QUALIFIED_NAME_LIST___IS_COLLECTION_CLASS__ELEMENTREFERENCE = SYNTAX_ELEMENT___IS_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Integer Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int QUALIFIED_NAME_LIST___IS_INTEGER_COLLECTION_CLASS__ELEMENTREFERENCE = SYNTAX_ELEMENT___IS_INTEGER_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Bit String Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int QUALIFIED_NAME_LIST___IS_BIT_STRING_COLLECTION_CLASS__ELEMENTREFERENCE = SYNTAX_ELEMENT___IS_BIT_STRING_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Current Scope</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int QUALIFIED_NAME_LIST___CURRENT_SCOPE = SYNTAX_ELEMENT_OPERATION_COUNT + 0;
+
+ /**
+ * The number of operations of the '<em>Qualified Name List</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int QUALIFIED_NAME_LIST_OPERATION_COUNT = SYNTAX_ELEMENT_OPERATION_COUNT + 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.uml.alf.impl.NonFinalClauseImpl <em>Non Final Clause</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.uml.alf.impl.NonFinalClauseImpl
+ * @see org.eclipse.papyrus.uml.alf.impl.AlfPackageImpl#getNonFinalClause()
+ * @generated
+ */
+ int NON_FINAL_CLAUSE = 78;
+
+ /**
+ * The feature id for the '<em><b>Owner</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NON_FINAL_CLAUSE__OWNER = SYNTAX_ELEMENT__OWNER;
+
+ /**
+ * The feature id for the '<em><b>Condition</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NON_FINAL_CLAUSE__CONDITION = SYNTAX_ELEMENT_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Body</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NON_FINAL_CLAUSE__BODY = SYNTAX_ELEMENT_FEATURE_COUNT + 1;
+
+ /**
+ * The number of structural features of the '<em>Non Final Clause</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NON_FINAL_CLAUSE_FEATURE_COUNT = SYNTAX_ELEMENT_FEATURE_COUNT + 2;
+
+ /**
+ * The operation id for the '<em>To Reference</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NON_FINAL_CLAUSE___TO_REFERENCE = SYNTAX_ELEMENT___TO_REFERENCE;
+
+ /**
+ * The operation id for the '<em>Owner</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NON_FINAL_CLAUSE___OWNER = SYNTAX_ELEMENT___OWNER;
+
+ /**
+ * The operation id for the '<em>Syntax Element owner</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NON_FINAL_CLAUSE___SYNTAX_ELEMENT_OWNER = SYNTAX_ELEMENT___SYNTAX_ELEMENT_OWNER;
+
+ /**
+ * The operation id for the '<em>Current Scope</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NON_FINAL_CLAUSE___CURRENT_SCOPE = SYNTAX_ELEMENT___CURRENT_SCOPE;
+
+ /**
+ * The operation id for the '<em>Syntax Element current Scope</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NON_FINAL_CLAUSE___SYNTAX_ELEMENT_CURRENT_SCOPE = SYNTAX_ELEMENT___SYNTAX_ELEMENT_CURRENT_SCOPE;
+
+ /**
+ * The operation id for the '<em>Enclosing Statement</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NON_FINAL_CLAUSE___ENCLOSING_STATEMENT = SYNTAX_ELEMENT___ENCLOSING_STATEMENT;
+
+ /**
+ * The operation id for the '<em>Enclosing Expression</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NON_FINAL_CLAUSE___ENCLOSING_EXPRESSION = SYNTAX_ELEMENT___ENCLOSING_EXPRESSION;
+
+ /**
+ * The operation id for the '<em>Syntax Element assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NON_FINAL_CLAUSE___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE = SYNTAX_ELEMENT___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE;
+
+ /**
+ * The operation id for the '<em>Syntax Element assignments Before base</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NON_FINAL_CLAUSE___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE_BASE = SYNTAX_ELEMENT___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE_BASE;
+
+ /**
+ * The operation id for the '<em>Update All</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NON_FINAL_CLAUSE___UPDATE_ALL__ELIST_ELIST = SYNTAX_ELEMENT___UPDATE_ALL__ELIST_ELIST;
+
+ /**
+ * The operation id for the '<em>Common Ancestor</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NON_FINAL_CLAUSE___COMMON_ANCESTOR__ELIST = SYNTAX_ELEMENT___COMMON_ANCESTOR__ELIST;
+
+ /**
+ * The operation id for the '<em>Common Ancestors</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NON_FINAL_CLAUSE___COMMON_ANCESTORS__ELIST = SYNTAX_ELEMENT___COMMON_ANCESTORS__ELIST;
+
+ /**
+ * The operation id for the '<em>Remove Duplicate Elements</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NON_FINAL_CLAUSE___REMOVE_DUPLICATE_ELEMENTS__ELIST = SYNTAX_ELEMENT___REMOVE_DUPLICATE_ELEMENTS__ELIST;
+
+ /**
+ * The operation id for the '<em>Resolve In Library</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NON_FINAL_CLAUSE___RESOLVE_IN_LIBRARY__STRING = SYNTAX_ELEMENT___RESOLVE_IN_LIBRARY__STRING;
+
+ /**
+ * The operation id for the '<em>Primitive Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NON_FINAL_CLAUSE___PRIMITIVE_TYPE__STRING = SYNTAX_ELEMENT___PRIMITIVE_TYPE__STRING;
+
+ /**
+ * The operation id for the '<em>Primitive Type </em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NON_FINAL_CLAUSE___PRIMITIVE_TYPE____STRING = SYNTAX_ELEMENT___PRIMITIVE_TYPE____STRING;
+
+ /**
+ * The operation id for the '<em>Boolean Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NON_FINAL_CLAUSE___BOOLEAN_TYPE = SYNTAX_ELEMENT___BOOLEAN_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Boolean Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NON_FINAL_CLAUSE___IS_BOOLEAN_TYPE__ELEMENTREFERENCE = SYNTAX_ELEMENT___IS_BOOLEAN_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Integer Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NON_FINAL_CLAUSE___INTEGER_TYPE = SYNTAX_ELEMENT___INTEGER_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Integer Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NON_FINAL_CLAUSE___IS_INTEGER_TYPE__ELEMENTREFERENCE = SYNTAX_ELEMENT___IS_INTEGER_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NON_FINAL_CLAUSE___STRING_TYPE = SYNTAX_ELEMENT___STRING_TYPE;
+
+ /**
+ * The operation id for the '<em>Is String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NON_FINAL_CLAUSE___IS_STRING_TYPE__ELEMENTREFERENCE = SYNTAX_ELEMENT___IS_STRING_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Unlimited Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NON_FINAL_CLAUSE___UNLIMITED_NATURAL_TYPE = SYNTAX_ELEMENT___UNLIMITED_NATURAL_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Unlimited Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NON_FINAL_CLAUSE___IS_UNLIMITED_NATURAL_TYPE__ELEMENTREFERENCE = SYNTAX_ELEMENT___IS_UNLIMITED_NATURAL_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Bit String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NON_FINAL_CLAUSE___BIT_STRING_TYPE = SYNTAX_ELEMENT___BIT_STRING_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Bit String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NON_FINAL_CLAUSE___IS_BIT_STRING_TYPE__ELEMENTREFERENCE = SYNTAX_ELEMENT___IS_BIT_STRING_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NON_FINAL_CLAUSE___NATURAL_TYPE = SYNTAX_ELEMENT___NATURAL_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NON_FINAL_CLAUSE___IS_NATURAL_TYPE__ELEMENTREFERENCE = SYNTAX_ELEMENT___IS_NATURAL_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Numeric Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NON_FINAL_CLAUSE___IS_NUMERIC_TYPE__ELEMENTREFERENCE = SYNTAX_ELEMENT___IS_NUMERIC_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Collection Function Add</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NON_FINAL_CLAUSE___COLLECTION_FUNCTION_ADD = SYNTAX_ELEMENT___COLLECTION_FUNCTION_ADD;
+
+ /**
+ * The operation id for the '<em>Is Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NON_FINAL_CLAUSE___IS_COLLECTION_CLASS__ELEMENTREFERENCE = SYNTAX_ELEMENT___IS_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Integer Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NON_FINAL_CLAUSE___IS_INTEGER_COLLECTION_CLASS__ELEMENTREFERENCE = SYNTAX_ELEMENT___IS_INTEGER_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Bit String Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NON_FINAL_CLAUSE___IS_BIT_STRING_COLLECTION_CLASS__ELEMENTREFERENCE = SYNTAX_ELEMENT___IS_BIT_STRING_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NON_FINAL_CLAUSE___ASSIGNMENTS_BEFORE__SYNTAXELEMENT = SYNTAX_ELEMENT_OPERATION_COUNT + 0;
+
+ /**
+ * The operation id for the '<em>Assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NON_FINAL_CLAUSE___ASSIGNMENTS_BEFORE = SYNTAX_ELEMENT_OPERATION_COUNT + 1;
+
+ /**
+ * The operation id for the '<em>Assignments After</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NON_FINAL_CLAUSE___ASSIGNMENTS_AFTER = SYNTAX_ELEMENT_OPERATION_COUNT + 2;
+
+ /**
+ * The operation id for the '<em>Non Final Clause Assignments Before Body</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NON_FINAL_CLAUSE___NON_FINAL_CLAUSE_ASSIGNMENTS_BEFORE_BODY__DIAGNOSTICCHAIN_MAP = SYNTAX_ELEMENT_OPERATION_COUNT + 3;
+
+ /**
+ * The operation id for the '<em>Non Final Clause Condition Local Names</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NON_FINAL_CLAUSE___NON_FINAL_CLAUSE_CONDITION_LOCAL_NAMES__DIAGNOSTICCHAIN_MAP = SYNTAX_ELEMENT_OPERATION_COUNT + 4;
+
+ /**
+ * The operation id for the '<em>Non Final Clause Condition Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NON_FINAL_CLAUSE___NON_FINAL_CLAUSE_CONDITION_TYPE__DIAGNOSTICCHAIN_MAP = SYNTAX_ELEMENT_OPERATION_COUNT + 5;
+
+ /**
+ * The number of operations of the '<em>Non Final Clause</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NON_FINAL_CLAUSE_OPERATION_COUNT = SYNTAX_ELEMENT_OPERATION_COUNT + 6;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.uml.alf.impl.BlockImpl <em>Block</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.uml.alf.impl.BlockImpl
+ * @see org.eclipse.papyrus.uml.alf.impl.AlfPackageImpl#getBlock()
+ * @generated
+ */
+ int BLOCK = 79;
+
+ /**
+ * The feature id for the '<em><b>Owner</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BLOCK__OWNER = SYNTAX_ELEMENT__OWNER;
+
+ /**
+ * The feature id for the '<em><b>Statement</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BLOCK__STATEMENT = SYNTAX_ELEMENT_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Assignment After</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BLOCK__ASSIGNMENT_AFTER = SYNTAX_ELEMENT_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Assignment Before</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BLOCK__ASSIGNMENT_BEFORE = SYNTAX_ELEMENT_FEATURE_COUNT + 2;
+
+ /**
+ * The number of structural features of the '<em>Block</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BLOCK_FEATURE_COUNT = SYNTAX_ELEMENT_FEATURE_COUNT + 3;
+
+ /**
+ * The operation id for the '<em>To Reference</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BLOCK___TO_REFERENCE = SYNTAX_ELEMENT___TO_REFERENCE;
+
+ /**
+ * The operation id for the '<em>Owner</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BLOCK___OWNER = SYNTAX_ELEMENT___OWNER;
+
+ /**
+ * The operation id for the '<em>Syntax Element owner</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BLOCK___SYNTAX_ELEMENT_OWNER = SYNTAX_ELEMENT___SYNTAX_ELEMENT_OWNER;
+
+ /**
+ * The operation id for the '<em>Current Scope</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BLOCK___CURRENT_SCOPE = SYNTAX_ELEMENT___CURRENT_SCOPE;
+
+ /**
+ * The operation id for the '<em>Syntax Element current Scope</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BLOCK___SYNTAX_ELEMENT_CURRENT_SCOPE = SYNTAX_ELEMENT___SYNTAX_ELEMENT_CURRENT_SCOPE;
+
+ /**
+ * The operation id for the '<em>Enclosing Statement</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BLOCK___ENCLOSING_STATEMENT = SYNTAX_ELEMENT___ENCLOSING_STATEMENT;
+
+ /**
+ * The operation id for the '<em>Enclosing Expression</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BLOCK___ENCLOSING_EXPRESSION = SYNTAX_ELEMENT___ENCLOSING_EXPRESSION;
+
+ /**
+ * The operation id for the '<em>Assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BLOCK___ASSIGNMENTS_BEFORE = SYNTAX_ELEMENT___ASSIGNMENTS_BEFORE;
+
+ /**
+ * The operation id for the '<em>Syntax Element assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BLOCK___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE = SYNTAX_ELEMENT___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE;
+
+ /**
+ * The operation id for the '<em>Syntax Element assignments Before base</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BLOCK___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE_BASE = SYNTAX_ELEMENT___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE_BASE;
+
+ /**
+ * The operation id for the '<em>Update All</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BLOCK___UPDATE_ALL__ELIST_ELIST = SYNTAX_ELEMENT___UPDATE_ALL__ELIST_ELIST;
+
+ /**
+ * The operation id for the '<em>Common Ancestor</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BLOCK___COMMON_ANCESTOR__ELIST = SYNTAX_ELEMENT___COMMON_ANCESTOR__ELIST;
+
+ /**
+ * The operation id for the '<em>Common Ancestors</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BLOCK___COMMON_ANCESTORS__ELIST = SYNTAX_ELEMENT___COMMON_ANCESTORS__ELIST;
+
+ /**
+ * The operation id for the '<em>Remove Duplicate Elements</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BLOCK___REMOVE_DUPLICATE_ELEMENTS__ELIST = SYNTAX_ELEMENT___REMOVE_DUPLICATE_ELEMENTS__ELIST;
+
+ /**
+ * The operation id for the '<em>Resolve In Library</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BLOCK___RESOLVE_IN_LIBRARY__STRING = SYNTAX_ELEMENT___RESOLVE_IN_LIBRARY__STRING;
+
+ /**
+ * The operation id for the '<em>Primitive Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BLOCK___PRIMITIVE_TYPE__STRING = SYNTAX_ELEMENT___PRIMITIVE_TYPE__STRING;
+
+ /**
+ * The operation id for the '<em>Primitive Type </em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BLOCK___PRIMITIVE_TYPE____STRING = SYNTAX_ELEMENT___PRIMITIVE_TYPE____STRING;
+
+ /**
+ * The operation id for the '<em>Boolean Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BLOCK___BOOLEAN_TYPE = SYNTAX_ELEMENT___BOOLEAN_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Boolean Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BLOCK___IS_BOOLEAN_TYPE__ELEMENTREFERENCE = SYNTAX_ELEMENT___IS_BOOLEAN_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Integer Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BLOCK___INTEGER_TYPE = SYNTAX_ELEMENT___INTEGER_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Integer Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BLOCK___IS_INTEGER_TYPE__ELEMENTREFERENCE = SYNTAX_ELEMENT___IS_INTEGER_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BLOCK___STRING_TYPE = SYNTAX_ELEMENT___STRING_TYPE;
+
+ /**
+ * The operation id for the '<em>Is String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BLOCK___IS_STRING_TYPE__ELEMENTREFERENCE = SYNTAX_ELEMENT___IS_STRING_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Unlimited Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BLOCK___UNLIMITED_NATURAL_TYPE = SYNTAX_ELEMENT___UNLIMITED_NATURAL_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Unlimited Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BLOCK___IS_UNLIMITED_NATURAL_TYPE__ELEMENTREFERENCE = SYNTAX_ELEMENT___IS_UNLIMITED_NATURAL_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Bit String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BLOCK___BIT_STRING_TYPE = SYNTAX_ELEMENT___BIT_STRING_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Bit String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BLOCK___IS_BIT_STRING_TYPE__ELEMENTREFERENCE = SYNTAX_ELEMENT___IS_BIT_STRING_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BLOCK___NATURAL_TYPE = SYNTAX_ELEMENT___NATURAL_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BLOCK___IS_NATURAL_TYPE__ELEMENTREFERENCE = SYNTAX_ELEMENT___IS_NATURAL_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Numeric Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BLOCK___IS_NUMERIC_TYPE__ELEMENTREFERENCE = SYNTAX_ELEMENT___IS_NUMERIC_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Collection Function Add</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BLOCK___COLLECTION_FUNCTION_ADD = SYNTAX_ELEMENT___COLLECTION_FUNCTION_ADD;
+
+ /**
+ * The operation id for the '<em>Is Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BLOCK___IS_COLLECTION_CLASS__ELEMENTREFERENCE = SYNTAX_ELEMENT___IS_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Integer Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BLOCK___IS_INTEGER_COLLECTION_CLASS__ELEMENTREFERENCE = SYNTAX_ELEMENT___IS_INTEGER_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Bit String Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BLOCK___IS_BIT_STRING_COLLECTION_CLASS__ELEMENTREFERENCE = SYNTAX_ELEMENT___IS_BIT_STRING_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BLOCK___ASSIGNMENTS_BEFORE__SYNTAXELEMENT = SYNTAX_ELEMENT_OPERATION_COUNT + 0;
+
+ /**
+ * The operation id for the '<em>New Assignments</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BLOCK___NEW_ASSIGNMENTS = SYNTAX_ELEMENT_OPERATION_COUNT + 1;
+
+ /**
+ * The operation id for the '<em>Block Assignments Before Statements</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BLOCK___BLOCK_ASSIGNMENTS_BEFORE_STATEMENTS__DIAGNOSTICCHAIN_MAP = SYNTAX_ELEMENT_OPERATION_COUNT + 2;
+
+ /**
+ * The operation id for the '<em>Block Assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BLOCK___BLOCK_ASSIGNMENTS_BEFORE__DIAGNOSTICCHAIN_MAP = SYNTAX_ELEMENT_OPERATION_COUNT + 3;
+
+ /**
+ * The operation id for the '<em>Block Assignment After Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BLOCK___BLOCK_ASSIGNMENT_AFTER_DERIVATION__DIAGNOSTICCHAIN_MAP = SYNTAX_ELEMENT_OPERATION_COUNT + 4;
+
+ /**
+ * The number of operations of the '<em>Block</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BLOCK_OPERATION_COUNT = SYNTAX_ELEMENT_OPERATION_COUNT + 5;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.uml.alf.impl.BlockStatementImpl <em>Block Statement</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.uml.alf.impl.BlockStatementImpl
+ * @see org.eclipse.papyrus.uml.alf.impl.AlfPackageImpl#getBlockStatement()
+ * @generated
+ */
+ int BLOCK_STATEMENT = 80;
+
+ /**
+ * The feature id for the '<em><b>Owner</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BLOCK_STATEMENT__OWNER = STATEMENT__OWNER;
+
+ /**
+ * The feature id for the '<em><b>Assignment Before</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BLOCK_STATEMENT__ASSIGNMENT_BEFORE = STATEMENT__ASSIGNMENT_BEFORE;
+
+ /**
+ * The feature id for the '<em><b>Assignment After</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BLOCK_STATEMENT__ASSIGNMENT_AFTER = STATEMENT__ASSIGNMENT_AFTER;
+
+ /**
+ * The feature id for the '<em><b>Enclosing Statement</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BLOCK_STATEMENT__ENCLOSING_STATEMENT = STATEMENT__ENCLOSING_STATEMENT;
+
+ /**
+ * The feature id for the '<em><b>Is Isolated</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BLOCK_STATEMENT__IS_ISOLATED = STATEMENT__IS_ISOLATED;
+
+ /**
+ * The feature id for the '<em><b>Block</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BLOCK_STATEMENT__BLOCK = STATEMENT_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Is Parallel</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BLOCK_STATEMENT__IS_PARALLEL = STATEMENT_FEATURE_COUNT + 1;
+
+ /**
+ * The number of structural features of the '<em>Block Statement</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BLOCK_STATEMENT_FEATURE_COUNT = STATEMENT_FEATURE_COUNT + 2;
+
+ /**
+ * The operation id for the '<em>To Reference</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BLOCK_STATEMENT___TO_REFERENCE = STATEMENT___TO_REFERENCE;
+
+ /**
+ * The operation id for the '<em>Owner</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BLOCK_STATEMENT___OWNER = STATEMENT___OWNER;
+
+ /**
+ * The operation id for the '<em>Syntax Element owner</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BLOCK_STATEMENT___SYNTAX_ELEMENT_OWNER = STATEMENT___SYNTAX_ELEMENT_OWNER;
+
+ /**
+ * The operation id for the '<em>Current Scope</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BLOCK_STATEMENT___CURRENT_SCOPE = STATEMENT___CURRENT_SCOPE;
+
+ /**
+ * The operation id for the '<em>Syntax Element current Scope</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BLOCK_STATEMENT___SYNTAX_ELEMENT_CURRENT_SCOPE = STATEMENT___SYNTAX_ELEMENT_CURRENT_SCOPE;
+
+ /**
+ * The operation id for the '<em>Enclosing Statement</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BLOCK_STATEMENT___ENCLOSING_STATEMENT = STATEMENT___ENCLOSING_STATEMENT;
+
+ /**
+ * The operation id for the '<em>Enclosing Expression</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BLOCK_STATEMENT___ENCLOSING_EXPRESSION = STATEMENT___ENCLOSING_EXPRESSION;
+
+ /**
+ * The operation id for the '<em>Assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BLOCK_STATEMENT___ASSIGNMENTS_BEFORE = STATEMENT___ASSIGNMENTS_BEFORE;
+
+ /**
+ * The operation id for the '<em>Syntax Element assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BLOCK_STATEMENT___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE = STATEMENT___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE;
+
+ /**
+ * The operation id for the '<em>Syntax Element assignments Before base</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BLOCK_STATEMENT___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE_BASE = STATEMENT___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE_BASE;
+
+ /**
+ * The operation id for the '<em>Assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BLOCK_STATEMENT___ASSIGNMENTS_BEFORE__SYNTAXELEMENT = STATEMENT___ASSIGNMENTS_BEFORE__SYNTAXELEMENT;
+
+ /**
+ * The operation id for the '<em>Update All</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BLOCK_STATEMENT___UPDATE_ALL__ELIST_ELIST = STATEMENT___UPDATE_ALL__ELIST_ELIST;
+
+ /**
+ * The operation id for the '<em>Common Ancestor</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BLOCK_STATEMENT___COMMON_ANCESTOR__ELIST = STATEMENT___COMMON_ANCESTOR__ELIST;
+
+ /**
+ * The operation id for the '<em>Common Ancestors</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BLOCK_STATEMENT___COMMON_ANCESTORS__ELIST = STATEMENT___COMMON_ANCESTORS__ELIST;
+
+ /**
+ * The operation id for the '<em>Remove Duplicate Elements</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BLOCK_STATEMENT___REMOVE_DUPLICATE_ELEMENTS__ELIST = STATEMENT___REMOVE_DUPLICATE_ELEMENTS__ELIST;
+
+ /**
+ * The operation id for the '<em>Resolve In Library</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BLOCK_STATEMENT___RESOLVE_IN_LIBRARY__STRING = STATEMENT___RESOLVE_IN_LIBRARY__STRING;
+
+ /**
+ * The operation id for the '<em>Primitive Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BLOCK_STATEMENT___PRIMITIVE_TYPE__STRING = STATEMENT___PRIMITIVE_TYPE__STRING;
+
+ /**
+ * The operation id for the '<em>Primitive Type </em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BLOCK_STATEMENT___PRIMITIVE_TYPE____STRING = STATEMENT___PRIMITIVE_TYPE____STRING;
+
+ /**
+ * The operation id for the '<em>Boolean Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BLOCK_STATEMENT___BOOLEAN_TYPE = STATEMENT___BOOLEAN_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Boolean Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BLOCK_STATEMENT___IS_BOOLEAN_TYPE__ELEMENTREFERENCE = STATEMENT___IS_BOOLEAN_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Integer Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BLOCK_STATEMENT___INTEGER_TYPE = STATEMENT___INTEGER_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Integer Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BLOCK_STATEMENT___IS_INTEGER_TYPE__ELEMENTREFERENCE = STATEMENT___IS_INTEGER_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BLOCK_STATEMENT___STRING_TYPE = STATEMENT___STRING_TYPE;
+
+ /**
+ * The operation id for the '<em>Is String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BLOCK_STATEMENT___IS_STRING_TYPE__ELEMENTREFERENCE = STATEMENT___IS_STRING_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Unlimited Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BLOCK_STATEMENT___UNLIMITED_NATURAL_TYPE = STATEMENT___UNLIMITED_NATURAL_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Unlimited Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BLOCK_STATEMENT___IS_UNLIMITED_NATURAL_TYPE__ELEMENTREFERENCE = STATEMENT___IS_UNLIMITED_NATURAL_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Bit String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BLOCK_STATEMENT___BIT_STRING_TYPE = STATEMENT___BIT_STRING_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Bit String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BLOCK_STATEMENT___IS_BIT_STRING_TYPE__ELEMENTREFERENCE = STATEMENT___IS_BIT_STRING_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BLOCK_STATEMENT___NATURAL_TYPE = STATEMENT___NATURAL_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BLOCK_STATEMENT___IS_NATURAL_TYPE__ELEMENTREFERENCE = STATEMENT___IS_NATURAL_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Numeric Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BLOCK_STATEMENT___IS_NUMERIC_TYPE__ELEMENTREFERENCE = STATEMENT___IS_NUMERIC_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Collection Function Add</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BLOCK_STATEMENT___COLLECTION_FUNCTION_ADD = STATEMENT___COLLECTION_FUNCTION_ADD;
+
+ /**
+ * The operation id for the '<em>Is Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BLOCK_STATEMENT___IS_COLLECTION_CLASS__ELEMENTREFERENCE = STATEMENT___IS_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Integer Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BLOCK_STATEMENT___IS_INTEGER_COLLECTION_CLASS__ELEMENTREFERENCE = STATEMENT___IS_INTEGER_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Bit String Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BLOCK_STATEMENT___IS_BIT_STRING_COLLECTION_CLASS__ELEMENTREFERENCE = STATEMENT___IS_BIT_STRING_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Enclosing Loop Statement</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BLOCK_STATEMENT___ENCLOSING_LOOP_STATEMENT = STATEMENT___ENCLOSING_LOOP_STATEMENT;
+
+ /**
+ * The operation id for the '<em>Statement annotation Allowed</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BLOCK_STATEMENT___STATEMENT_ANNOTATION_ALLOWED__ANNOTATION = STATEMENT___STATEMENT_ANNOTATION_ALLOWED__ANNOTATION;
+
+ /**
+ * The operation id for the '<em>Annotation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BLOCK_STATEMENT___ANNOTATION = STATEMENT___ANNOTATION;
+
+ /**
+ * The operation id for the '<em>Has Annotation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BLOCK_STATEMENT___HAS_ANNOTATION__STRING = STATEMENT___HAS_ANNOTATION__STRING;
+
+ /**
+ * The operation id for the '<em>New Assignments</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BLOCK_STATEMENT___NEW_ASSIGNMENTS = STATEMENT___NEW_ASSIGNMENTS;
+
+ /**
+ * The operation id for the '<em>Resolve</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BLOCK_STATEMENT___RESOLVE__STRING = STATEMENT___RESOLVE__STRING;
+
+ /**
+ * The operation id for the '<em>Statement assignments After</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BLOCK_STATEMENT___STATEMENT_ASSIGNMENTS_AFTER = STATEMENT___STATEMENT_ASSIGNMENTS_AFTER;
+
+ /**
+ * The operation id for the '<em>Assignments After Cached</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BLOCK_STATEMENT___ASSIGNMENTS_AFTER_CACHED = STATEMENT___ASSIGNMENTS_AFTER_CACHED;
+
+ /**
+ * The operation id for the '<em>Merge Assignments</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BLOCK_STATEMENT___MERGE_ASSIGNMENTS__ELIST = STATEMENT___MERGE_ASSIGNMENTS__ELIST;
+
+ /**
+ * The operation id for the '<em>Merge</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BLOCK_STATEMENT___MERGE__STRING_ELIST = STATEMENT___MERGE__STRING_ELIST;
+
+ /**
+ * The operation id for the '<em>Statement Annotations Allowed</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BLOCK_STATEMENT___STATEMENT_ANNOTATIONS_ALLOWED__DIAGNOSTICCHAIN_MAP = STATEMENT___STATEMENT_ANNOTATIONS_ALLOWED__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Statement Unique Assignments</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BLOCK_STATEMENT___STATEMENT_UNIQUE_ASSIGNMENTS__DIAGNOSTICCHAIN_MAP = STATEMENT___STATEMENT_UNIQUE_ASSIGNMENTS__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Statement Is Isolated Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BLOCK_STATEMENT___STATEMENT_IS_ISOLATED_DERIVATION__DIAGNOSTICCHAIN_MAP = STATEMENT___STATEMENT_IS_ISOLATED_DERIVATION__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Assignments After</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BLOCK_STATEMENT___ASSIGNMENTS_AFTER = STATEMENT_OPERATION_COUNT + 0;
+
+ /**
+ * The operation id for the '<em>Block Statement Parallel Assignments</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BLOCK_STATEMENT___BLOCK_STATEMENT_PARALLEL_ASSIGNMENTS__DIAGNOSTICCHAIN_MAP = STATEMENT_OPERATION_COUNT + 1;
+
+ /**
+ * The operation id for the '<em>Block Statement Assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BLOCK_STATEMENT___BLOCK_STATEMENT_ASSIGNMENTS_BEFORE__DIAGNOSTICCHAIN_MAP = STATEMENT_OPERATION_COUNT + 2;
+
+ /**
+ * The operation id for the '<em>Block Statement Assignments After</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BLOCK_STATEMENT___BLOCK_STATEMENT_ASSIGNMENTS_AFTER__DIAGNOSTICCHAIN_MAP = STATEMENT_OPERATION_COUNT + 3;
+
+ /**
+ * The operation id for the '<em>Block Statement Enclosed Statements</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BLOCK_STATEMENT___BLOCK_STATEMENT_ENCLOSED_STATEMENTS__DIAGNOSTICCHAIN_MAP = STATEMENT_OPERATION_COUNT + 4;
+
+ /**
+ * The operation id for the '<em>Block Statement Is Parallel Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BLOCK_STATEMENT___BLOCK_STATEMENT_IS_PARALLEL_DERIVATION__DIAGNOSTICCHAIN_MAP = STATEMENT_OPERATION_COUNT + 5;
+
+ /**
+ * The operation id for the '<em>Annotation Allowed</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BLOCK_STATEMENT___ANNOTATION_ALLOWED__ANNOTATION = STATEMENT_OPERATION_COUNT + 6;
+
+ /**
+ * The number of operations of the '<em>Block Statement</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BLOCK_STATEMENT_OPERATION_COUNT = STATEMENT_OPERATION_COUNT + 7;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.uml.alf.impl.DoStatementImpl <em>Do Statement</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.uml.alf.impl.DoStatementImpl
+ * @see org.eclipse.papyrus.uml.alf.impl.AlfPackageImpl#getDoStatement()
+ * @generated
+ */
+ int DO_STATEMENT = 81;
+
+ /**
+ * The feature id for the '<em><b>Owner</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DO_STATEMENT__OWNER = STATEMENT__OWNER;
+
+ /**
+ * The feature id for the '<em><b>Assignment Before</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DO_STATEMENT__ASSIGNMENT_BEFORE = STATEMENT__ASSIGNMENT_BEFORE;
+
+ /**
+ * The feature id for the '<em><b>Assignment After</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DO_STATEMENT__ASSIGNMENT_AFTER = STATEMENT__ASSIGNMENT_AFTER;
+
+ /**
+ * The feature id for the '<em><b>Enclosing Statement</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DO_STATEMENT__ENCLOSING_STATEMENT = STATEMENT__ENCLOSING_STATEMENT;
+
+ /**
+ * The feature id for the '<em><b>Is Isolated</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DO_STATEMENT__IS_ISOLATED = STATEMENT__IS_ISOLATED;
+
+ /**
+ * The feature id for the '<em><b>Condition</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DO_STATEMENT__CONDITION = STATEMENT_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Body</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DO_STATEMENT__BODY = STATEMENT_FEATURE_COUNT + 1;
+
+ /**
+ * The number of structural features of the '<em>Do Statement</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DO_STATEMENT_FEATURE_COUNT = STATEMENT_FEATURE_COUNT + 2;
+
+ /**
+ * The operation id for the '<em>To Reference</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DO_STATEMENT___TO_REFERENCE = STATEMENT___TO_REFERENCE;
+
+ /**
+ * The operation id for the '<em>Owner</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DO_STATEMENT___OWNER = STATEMENT___OWNER;
+
+ /**
+ * The operation id for the '<em>Syntax Element owner</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DO_STATEMENT___SYNTAX_ELEMENT_OWNER = STATEMENT___SYNTAX_ELEMENT_OWNER;
+
+ /**
+ * The operation id for the '<em>Current Scope</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DO_STATEMENT___CURRENT_SCOPE = STATEMENT___CURRENT_SCOPE;
+
+ /**
+ * The operation id for the '<em>Syntax Element current Scope</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DO_STATEMENT___SYNTAX_ELEMENT_CURRENT_SCOPE = STATEMENT___SYNTAX_ELEMENT_CURRENT_SCOPE;
+
+ /**
+ * The operation id for the '<em>Enclosing Statement</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DO_STATEMENT___ENCLOSING_STATEMENT = STATEMENT___ENCLOSING_STATEMENT;
+
+ /**
+ * The operation id for the '<em>Enclosing Expression</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DO_STATEMENT___ENCLOSING_EXPRESSION = STATEMENT___ENCLOSING_EXPRESSION;
+
+ /**
+ * The operation id for the '<em>Assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DO_STATEMENT___ASSIGNMENTS_BEFORE = STATEMENT___ASSIGNMENTS_BEFORE;
+
+ /**
+ * The operation id for the '<em>Syntax Element assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DO_STATEMENT___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE = STATEMENT___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE;
+
+ /**
+ * The operation id for the '<em>Syntax Element assignments Before base</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DO_STATEMENT___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE_BASE = STATEMENT___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE_BASE;
+
+ /**
+ * The operation id for the '<em>Update All</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DO_STATEMENT___UPDATE_ALL__ELIST_ELIST = STATEMENT___UPDATE_ALL__ELIST_ELIST;
+
+ /**
+ * The operation id for the '<em>Common Ancestor</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DO_STATEMENT___COMMON_ANCESTOR__ELIST = STATEMENT___COMMON_ANCESTOR__ELIST;
+
+ /**
+ * The operation id for the '<em>Common Ancestors</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DO_STATEMENT___COMMON_ANCESTORS__ELIST = STATEMENT___COMMON_ANCESTORS__ELIST;
+
+ /**
+ * The operation id for the '<em>Remove Duplicate Elements</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DO_STATEMENT___REMOVE_DUPLICATE_ELEMENTS__ELIST = STATEMENT___REMOVE_DUPLICATE_ELEMENTS__ELIST;
+
+ /**
+ * The operation id for the '<em>Resolve In Library</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DO_STATEMENT___RESOLVE_IN_LIBRARY__STRING = STATEMENT___RESOLVE_IN_LIBRARY__STRING;
+
+ /**
+ * The operation id for the '<em>Primitive Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DO_STATEMENT___PRIMITIVE_TYPE__STRING = STATEMENT___PRIMITIVE_TYPE__STRING;
+
+ /**
+ * The operation id for the '<em>Primitive Type </em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DO_STATEMENT___PRIMITIVE_TYPE____STRING = STATEMENT___PRIMITIVE_TYPE____STRING;
+
+ /**
+ * The operation id for the '<em>Boolean Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DO_STATEMENT___BOOLEAN_TYPE = STATEMENT___BOOLEAN_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Boolean Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DO_STATEMENT___IS_BOOLEAN_TYPE__ELEMENTREFERENCE = STATEMENT___IS_BOOLEAN_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Integer Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DO_STATEMENT___INTEGER_TYPE = STATEMENT___INTEGER_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Integer Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DO_STATEMENT___IS_INTEGER_TYPE__ELEMENTREFERENCE = STATEMENT___IS_INTEGER_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DO_STATEMENT___STRING_TYPE = STATEMENT___STRING_TYPE;
+
+ /**
+ * The operation id for the '<em>Is String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DO_STATEMENT___IS_STRING_TYPE__ELEMENTREFERENCE = STATEMENT___IS_STRING_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Unlimited Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DO_STATEMENT___UNLIMITED_NATURAL_TYPE = STATEMENT___UNLIMITED_NATURAL_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Unlimited Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DO_STATEMENT___IS_UNLIMITED_NATURAL_TYPE__ELEMENTREFERENCE = STATEMENT___IS_UNLIMITED_NATURAL_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Bit String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DO_STATEMENT___BIT_STRING_TYPE = STATEMENT___BIT_STRING_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Bit String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DO_STATEMENT___IS_BIT_STRING_TYPE__ELEMENTREFERENCE = STATEMENT___IS_BIT_STRING_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DO_STATEMENT___NATURAL_TYPE = STATEMENT___NATURAL_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DO_STATEMENT___IS_NATURAL_TYPE__ELEMENTREFERENCE = STATEMENT___IS_NATURAL_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Numeric Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DO_STATEMENT___IS_NUMERIC_TYPE__ELEMENTREFERENCE = STATEMENT___IS_NUMERIC_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Collection Function Add</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DO_STATEMENT___COLLECTION_FUNCTION_ADD = STATEMENT___COLLECTION_FUNCTION_ADD;
+
+ /**
+ * The operation id for the '<em>Is Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DO_STATEMENT___IS_COLLECTION_CLASS__ELEMENTREFERENCE = STATEMENT___IS_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Integer Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DO_STATEMENT___IS_INTEGER_COLLECTION_CLASS__ELEMENTREFERENCE = STATEMENT___IS_INTEGER_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Bit String Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DO_STATEMENT___IS_BIT_STRING_COLLECTION_CLASS__ELEMENTREFERENCE = STATEMENT___IS_BIT_STRING_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Annotation Allowed</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DO_STATEMENT___ANNOTATION_ALLOWED__ANNOTATION = STATEMENT___ANNOTATION_ALLOWED__ANNOTATION;
+
+ /**
+ * The operation id for the '<em>Statement annotation Allowed</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DO_STATEMENT___STATEMENT_ANNOTATION_ALLOWED__ANNOTATION = STATEMENT___STATEMENT_ANNOTATION_ALLOWED__ANNOTATION;
+
+ /**
+ * The operation id for the '<em>Annotation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DO_STATEMENT___ANNOTATION = STATEMENT___ANNOTATION;
+
+ /**
+ * The operation id for the '<em>Has Annotation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DO_STATEMENT___HAS_ANNOTATION__STRING = STATEMENT___HAS_ANNOTATION__STRING;
+
+ /**
+ * The operation id for the '<em>New Assignments</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DO_STATEMENT___NEW_ASSIGNMENTS = STATEMENT___NEW_ASSIGNMENTS;
+
+ /**
+ * The operation id for the '<em>Resolve</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DO_STATEMENT___RESOLVE__STRING = STATEMENT___RESOLVE__STRING;
+
+ /**
+ * The operation id for the '<em>Statement assignments After</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DO_STATEMENT___STATEMENT_ASSIGNMENTS_AFTER = STATEMENT___STATEMENT_ASSIGNMENTS_AFTER;
+
+ /**
+ * The operation id for the '<em>Assignments After Cached</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DO_STATEMENT___ASSIGNMENTS_AFTER_CACHED = STATEMENT___ASSIGNMENTS_AFTER_CACHED;
+
+ /**
+ * The operation id for the '<em>Merge Assignments</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DO_STATEMENT___MERGE_ASSIGNMENTS__ELIST = STATEMENT___MERGE_ASSIGNMENTS__ELIST;
+
+ /**
+ * The operation id for the '<em>Merge</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DO_STATEMENT___MERGE__STRING_ELIST = STATEMENT___MERGE__STRING_ELIST;
+
+ /**
+ * The operation id for the '<em>Statement Annotations Allowed</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DO_STATEMENT___STATEMENT_ANNOTATIONS_ALLOWED__DIAGNOSTICCHAIN_MAP = STATEMENT___STATEMENT_ANNOTATIONS_ALLOWED__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Statement Unique Assignments</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DO_STATEMENT___STATEMENT_UNIQUE_ASSIGNMENTS__DIAGNOSTICCHAIN_MAP = STATEMENT___STATEMENT_UNIQUE_ASSIGNMENTS__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Statement Is Isolated Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DO_STATEMENT___STATEMENT_IS_ISOLATED_DERIVATION__DIAGNOSTICCHAIN_MAP = STATEMENT___STATEMENT_IS_ISOLATED_DERIVATION__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Enclosing Loop Statement</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DO_STATEMENT___ENCLOSING_LOOP_STATEMENT = STATEMENT_OPERATION_COUNT + 0;
+
+ /**
+ * The operation id for the '<em>Assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DO_STATEMENT___ASSIGNMENTS_BEFORE__SYNTAXELEMENT = STATEMENT_OPERATION_COUNT + 1;
+
+ /**
+ * The operation id for the '<em>Assignments After</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DO_STATEMENT___ASSIGNMENTS_AFTER = STATEMENT_OPERATION_COUNT + 2;
+
+ /**
+ * The operation id for the '<em>Do Statement Assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DO_STATEMENT___DO_STATEMENT_ASSIGNMENTS_BEFORE__DIAGNOSTICCHAIN_MAP = STATEMENT_OPERATION_COUNT + 3;
+
+ /**
+ * The operation id for the '<em>Do Statement Assignments After</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DO_STATEMENT___DO_STATEMENT_ASSIGNMENTS_AFTER__DIAGNOSTICCHAIN_MAP = STATEMENT_OPERATION_COUNT + 4;
+
+ /**
+ * The operation id for the '<em>Do Statement Condition</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DO_STATEMENT___DO_STATEMENT_CONDITION__DIAGNOSTICCHAIN_MAP = STATEMENT_OPERATION_COUNT + 5;
+
+ /**
+ * The operation id for the '<em>Do Statement Enclosed Statements</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DO_STATEMENT___DO_STATEMENT_ENCLOSED_STATEMENTS__DIAGNOSTICCHAIN_MAP = STATEMENT_OPERATION_COUNT + 6;
+
+ /**
+ * The number of operations of the '<em>Do Statement</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DO_STATEMENT_OPERATION_COUNT = STATEMENT_OPERATION_COUNT + 7;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.uml.alf.impl.ConcurrentClausesImpl <em>Concurrent Clauses</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.uml.alf.impl.ConcurrentClausesImpl
+ * @see org.eclipse.papyrus.uml.alf.impl.AlfPackageImpl#getConcurrentClauses()
+ * @generated
+ */
+ int CONCURRENT_CLAUSES = 82;
+
+ /**
+ * The feature id for the '<em><b>Owner</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CONCURRENT_CLAUSES__OWNER = SYNTAX_ELEMENT__OWNER;
+
+ /**
+ * The feature id for the '<em><b>Clause</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CONCURRENT_CLAUSES__CLAUSE = SYNTAX_ELEMENT_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the '<em>Concurrent Clauses</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CONCURRENT_CLAUSES_FEATURE_COUNT = SYNTAX_ELEMENT_FEATURE_COUNT + 1;
+
+ /**
+ * The operation id for the '<em>To Reference</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CONCURRENT_CLAUSES___TO_REFERENCE = SYNTAX_ELEMENT___TO_REFERENCE;
+
+ /**
+ * The operation id for the '<em>Owner</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CONCURRENT_CLAUSES___OWNER = SYNTAX_ELEMENT___OWNER;
+
+ /**
+ * The operation id for the '<em>Syntax Element owner</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CONCURRENT_CLAUSES___SYNTAX_ELEMENT_OWNER = SYNTAX_ELEMENT___SYNTAX_ELEMENT_OWNER;
+
+ /**
+ * The operation id for the '<em>Current Scope</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CONCURRENT_CLAUSES___CURRENT_SCOPE = SYNTAX_ELEMENT___CURRENT_SCOPE;
+
+ /**
+ * The operation id for the '<em>Syntax Element current Scope</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CONCURRENT_CLAUSES___SYNTAX_ELEMENT_CURRENT_SCOPE = SYNTAX_ELEMENT___SYNTAX_ELEMENT_CURRENT_SCOPE;
+
+ /**
+ * The operation id for the '<em>Enclosing Statement</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CONCURRENT_CLAUSES___ENCLOSING_STATEMENT = SYNTAX_ELEMENT___ENCLOSING_STATEMENT;
+
+ /**
+ * The operation id for the '<em>Enclosing Expression</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CONCURRENT_CLAUSES___ENCLOSING_EXPRESSION = SYNTAX_ELEMENT___ENCLOSING_EXPRESSION;
+
+ /**
+ * The operation id for the '<em>Assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CONCURRENT_CLAUSES___ASSIGNMENTS_BEFORE = SYNTAX_ELEMENT___ASSIGNMENTS_BEFORE;
+
+ /**
+ * The operation id for the '<em>Syntax Element assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CONCURRENT_CLAUSES___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE = SYNTAX_ELEMENT___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE;
+
+ /**
+ * The operation id for the '<em>Syntax Element assignments Before base</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CONCURRENT_CLAUSES___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE_BASE = SYNTAX_ELEMENT___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE_BASE;
+
+ /**
+ * The operation id for the '<em>Assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CONCURRENT_CLAUSES___ASSIGNMENTS_BEFORE__SYNTAXELEMENT = SYNTAX_ELEMENT___ASSIGNMENTS_BEFORE__SYNTAXELEMENT;
+
+ /**
+ * The operation id for the '<em>Update All</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CONCURRENT_CLAUSES___UPDATE_ALL__ELIST_ELIST = SYNTAX_ELEMENT___UPDATE_ALL__ELIST_ELIST;
+
+ /**
+ * The operation id for the '<em>Common Ancestor</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CONCURRENT_CLAUSES___COMMON_ANCESTOR__ELIST = SYNTAX_ELEMENT___COMMON_ANCESTOR__ELIST;
+
+ /**
+ * The operation id for the '<em>Common Ancestors</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CONCURRENT_CLAUSES___COMMON_ANCESTORS__ELIST = SYNTAX_ELEMENT___COMMON_ANCESTORS__ELIST;
+
+ /**
+ * The operation id for the '<em>Remove Duplicate Elements</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CONCURRENT_CLAUSES___REMOVE_DUPLICATE_ELEMENTS__ELIST = SYNTAX_ELEMENT___REMOVE_DUPLICATE_ELEMENTS__ELIST;
+
+ /**
+ * The operation id for the '<em>Resolve In Library</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CONCURRENT_CLAUSES___RESOLVE_IN_LIBRARY__STRING = SYNTAX_ELEMENT___RESOLVE_IN_LIBRARY__STRING;
+
+ /**
+ * The operation id for the '<em>Primitive Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CONCURRENT_CLAUSES___PRIMITIVE_TYPE__STRING = SYNTAX_ELEMENT___PRIMITIVE_TYPE__STRING;
+
+ /**
+ * The operation id for the '<em>Primitive Type </em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CONCURRENT_CLAUSES___PRIMITIVE_TYPE____STRING = SYNTAX_ELEMENT___PRIMITIVE_TYPE____STRING;
+
+ /**
+ * The operation id for the '<em>Boolean Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CONCURRENT_CLAUSES___BOOLEAN_TYPE = SYNTAX_ELEMENT___BOOLEAN_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Boolean Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CONCURRENT_CLAUSES___IS_BOOLEAN_TYPE__ELEMENTREFERENCE = SYNTAX_ELEMENT___IS_BOOLEAN_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Integer Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CONCURRENT_CLAUSES___INTEGER_TYPE = SYNTAX_ELEMENT___INTEGER_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Integer Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CONCURRENT_CLAUSES___IS_INTEGER_TYPE__ELEMENTREFERENCE = SYNTAX_ELEMENT___IS_INTEGER_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CONCURRENT_CLAUSES___STRING_TYPE = SYNTAX_ELEMENT___STRING_TYPE;
+
+ /**
+ * The operation id for the '<em>Is String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CONCURRENT_CLAUSES___IS_STRING_TYPE__ELEMENTREFERENCE = SYNTAX_ELEMENT___IS_STRING_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Unlimited Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CONCURRENT_CLAUSES___UNLIMITED_NATURAL_TYPE = SYNTAX_ELEMENT___UNLIMITED_NATURAL_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Unlimited Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CONCURRENT_CLAUSES___IS_UNLIMITED_NATURAL_TYPE__ELEMENTREFERENCE = SYNTAX_ELEMENT___IS_UNLIMITED_NATURAL_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Bit String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CONCURRENT_CLAUSES___BIT_STRING_TYPE = SYNTAX_ELEMENT___BIT_STRING_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Bit String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CONCURRENT_CLAUSES___IS_BIT_STRING_TYPE__ELEMENTREFERENCE = SYNTAX_ELEMENT___IS_BIT_STRING_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CONCURRENT_CLAUSES___NATURAL_TYPE = SYNTAX_ELEMENT___NATURAL_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CONCURRENT_CLAUSES___IS_NATURAL_TYPE__ELEMENTREFERENCE = SYNTAX_ELEMENT___IS_NATURAL_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Numeric Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CONCURRENT_CLAUSES___IS_NUMERIC_TYPE__ELEMENTREFERENCE = SYNTAX_ELEMENT___IS_NUMERIC_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Collection Function Add</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CONCURRENT_CLAUSES___COLLECTION_FUNCTION_ADD = SYNTAX_ELEMENT___COLLECTION_FUNCTION_ADD;
+
+ /**
+ * The operation id for the '<em>Is Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CONCURRENT_CLAUSES___IS_COLLECTION_CLASS__ELEMENTREFERENCE = SYNTAX_ELEMENT___IS_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Integer Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CONCURRENT_CLAUSES___IS_INTEGER_COLLECTION_CLASS__ELEMENTREFERENCE = SYNTAX_ELEMENT___IS_INTEGER_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Bit String Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CONCURRENT_CLAUSES___IS_BIT_STRING_COLLECTION_CLASS__ELEMENTREFERENCE = SYNTAX_ELEMENT___IS_BIT_STRING_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Concurrent Clauses Assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CONCURRENT_CLAUSES___CONCURRENT_CLAUSES_ASSIGNMENTS_BEFORE__DIAGNOSTICCHAIN_MAP = SYNTAX_ELEMENT_OPERATION_COUNT + 0;
+
+ /**
+ * The operation id for the '<em>Concurrent Clauses Condition Assignments</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CONCURRENT_CLAUSES___CONCURRENT_CLAUSES_CONDITION_ASSIGNMENTS__DIAGNOSTICCHAIN_MAP = SYNTAX_ELEMENT_OPERATION_COUNT + 1;
+
+ /**
+ * The number of operations of the '<em>Concurrent Clauses</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CONCURRENT_CLAUSES_OPERATION_COUNT = SYNTAX_ELEMENT_OPERATION_COUNT + 2;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.uml.alf.impl.BreakStatementImpl <em>Break Statement</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.uml.alf.impl.BreakStatementImpl
+ * @see org.eclipse.papyrus.uml.alf.impl.AlfPackageImpl#getBreakStatement()
+ * @generated
+ */
+ int BREAK_STATEMENT = 83;
+
+ /**
+ * The feature id for the '<em><b>Owner</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BREAK_STATEMENT__OWNER = STATEMENT__OWNER;
+
+ /**
+ * The feature id for the '<em><b>Assignment Before</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BREAK_STATEMENT__ASSIGNMENT_BEFORE = STATEMENT__ASSIGNMENT_BEFORE;
+
+ /**
+ * The feature id for the '<em><b>Assignment After</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BREAK_STATEMENT__ASSIGNMENT_AFTER = STATEMENT__ASSIGNMENT_AFTER;
+
+ /**
+ * The feature id for the '<em><b>Enclosing Statement</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BREAK_STATEMENT__ENCLOSING_STATEMENT = STATEMENT__ENCLOSING_STATEMENT;
+
+ /**
+ * The feature id for the '<em><b>Is Isolated</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BREAK_STATEMENT__IS_ISOLATED = STATEMENT__IS_ISOLATED;
+
+ /**
+ * The feature id for the '<em><b>Target</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BREAK_STATEMENT__TARGET = STATEMENT_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the '<em>Break Statement</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BREAK_STATEMENT_FEATURE_COUNT = STATEMENT_FEATURE_COUNT + 1;
+
+ /**
+ * The operation id for the '<em>To Reference</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BREAK_STATEMENT___TO_REFERENCE = STATEMENT___TO_REFERENCE;
+
+ /**
+ * The operation id for the '<em>Owner</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BREAK_STATEMENT___OWNER = STATEMENT___OWNER;
+
+ /**
+ * The operation id for the '<em>Syntax Element owner</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BREAK_STATEMENT___SYNTAX_ELEMENT_OWNER = STATEMENT___SYNTAX_ELEMENT_OWNER;
+
+ /**
+ * The operation id for the '<em>Current Scope</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BREAK_STATEMENT___CURRENT_SCOPE = STATEMENT___CURRENT_SCOPE;
+
+ /**
+ * The operation id for the '<em>Syntax Element current Scope</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BREAK_STATEMENT___SYNTAX_ELEMENT_CURRENT_SCOPE = STATEMENT___SYNTAX_ELEMENT_CURRENT_SCOPE;
+
+ /**
+ * The operation id for the '<em>Enclosing Statement</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BREAK_STATEMENT___ENCLOSING_STATEMENT = STATEMENT___ENCLOSING_STATEMENT;
+
+ /**
+ * The operation id for the '<em>Enclosing Expression</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BREAK_STATEMENT___ENCLOSING_EXPRESSION = STATEMENT___ENCLOSING_EXPRESSION;
+
+ /**
+ * The operation id for the '<em>Assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BREAK_STATEMENT___ASSIGNMENTS_BEFORE = STATEMENT___ASSIGNMENTS_BEFORE;
+
+ /**
+ * The operation id for the '<em>Syntax Element assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BREAK_STATEMENT___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE = STATEMENT___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE;
+
+ /**
+ * The operation id for the '<em>Syntax Element assignments Before base</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BREAK_STATEMENT___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE_BASE = STATEMENT___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE_BASE;
+
+ /**
+ * The operation id for the '<em>Assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BREAK_STATEMENT___ASSIGNMENTS_BEFORE__SYNTAXELEMENT = STATEMENT___ASSIGNMENTS_BEFORE__SYNTAXELEMENT;
+
+ /**
+ * The operation id for the '<em>Update All</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BREAK_STATEMENT___UPDATE_ALL__ELIST_ELIST = STATEMENT___UPDATE_ALL__ELIST_ELIST;
+
+ /**
+ * The operation id for the '<em>Common Ancestor</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BREAK_STATEMENT___COMMON_ANCESTOR__ELIST = STATEMENT___COMMON_ANCESTOR__ELIST;
+
+ /**
+ * The operation id for the '<em>Common Ancestors</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BREAK_STATEMENT___COMMON_ANCESTORS__ELIST = STATEMENT___COMMON_ANCESTORS__ELIST;
+
+ /**
+ * The operation id for the '<em>Remove Duplicate Elements</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BREAK_STATEMENT___REMOVE_DUPLICATE_ELEMENTS__ELIST = STATEMENT___REMOVE_DUPLICATE_ELEMENTS__ELIST;
+
+ /**
+ * The operation id for the '<em>Resolve In Library</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BREAK_STATEMENT___RESOLVE_IN_LIBRARY__STRING = STATEMENT___RESOLVE_IN_LIBRARY__STRING;
+
+ /**
+ * The operation id for the '<em>Primitive Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BREAK_STATEMENT___PRIMITIVE_TYPE__STRING = STATEMENT___PRIMITIVE_TYPE__STRING;
+
+ /**
+ * The operation id for the '<em>Primitive Type </em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BREAK_STATEMENT___PRIMITIVE_TYPE____STRING = STATEMENT___PRIMITIVE_TYPE____STRING;
+
+ /**
+ * The operation id for the '<em>Boolean Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BREAK_STATEMENT___BOOLEAN_TYPE = STATEMENT___BOOLEAN_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Boolean Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BREAK_STATEMENT___IS_BOOLEAN_TYPE__ELEMENTREFERENCE = STATEMENT___IS_BOOLEAN_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Integer Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BREAK_STATEMENT___INTEGER_TYPE = STATEMENT___INTEGER_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Integer Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BREAK_STATEMENT___IS_INTEGER_TYPE__ELEMENTREFERENCE = STATEMENT___IS_INTEGER_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BREAK_STATEMENT___STRING_TYPE = STATEMENT___STRING_TYPE;
+
+ /**
+ * The operation id for the '<em>Is String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BREAK_STATEMENT___IS_STRING_TYPE__ELEMENTREFERENCE = STATEMENT___IS_STRING_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Unlimited Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BREAK_STATEMENT___UNLIMITED_NATURAL_TYPE = STATEMENT___UNLIMITED_NATURAL_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Unlimited Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BREAK_STATEMENT___IS_UNLIMITED_NATURAL_TYPE__ELEMENTREFERENCE = STATEMENT___IS_UNLIMITED_NATURAL_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Bit String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BREAK_STATEMENT___BIT_STRING_TYPE = STATEMENT___BIT_STRING_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Bit String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BREAK_STATEMENT___IS_BIT_STRING_TYPE__ELEMENTREFERENCE = STATEMENT___IS_BIT_STRING_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BREAK_STATEMENT___NATURAL_TYPE = STATEMENT___NATURAL_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BREAK_STATEMENT___IS_NATURAL_TYPE__ELEMENTREFERENCE = STATEMENT___IS_NATURAL_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Numeric Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BREAK_STATEMENT___IS_NUMERIC_TYPE__ELEMENTREFERENCE = STATEMENT___IS_NUMERIC_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Collection Function Add</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BREAK_STATEMENT___COLLECTION_FUNCTION_ADD = STATEMENT___COLLECTION_FUNCTION_ADD;
+
+ /**
+ * The operation id for the '<em>Is Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BREAK_STATEMENT___IS_COLLECTION_CLASS__ELEMENTREFERENCE = STATEMENT___IS_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Integer Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BREAK_STATEMENT___IS_INTEGER_COLLECTION_CLASS__ELEMENTREFERENCE = STATEMENT___IS_INTEGER_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Bit String Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BREAK_STATEMENT___IS_BIT_STRING_COLLECTION_CLASS__ELEMENTREFERENCE = STATEMENT___IS_BIT_STRING_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Enclosing Loop Statement</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BREAK_STATEMENT___ENCLOSING_LOOP_STATEMENT = STATEMENT___ENCLOSING_LOOP_STATEMENT;
+
+ /**
+ * The operation id for the '<em>Statement annotation Allowed</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BREAK_STATEMENT___STATEMENT_ANNOTATION_ALLOWED__ANNOTATION = STATEMENT___STATEMENT_ANNOTATION_ALLOWED__ANNOTATION;
+
+ /**
+ * The operation id for the '<em>Annotation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BREAK_STATEMENT___ANNOTATION = STATEMENT___ANNOTATION;
+
+ /**
+ * The operation id for the '<em>Has Annotation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BREAK_STATEMENT___HAS_ANNOTATION__STRING = STATEMENT___HAS_ANNOTATION__STRING;
+
+ /**
+ * The operation id for the '<em>New Assignments</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BREAK_STATEMENT___NEW_ASSIGNMENTS = STATEMENT___NEW_ASSIGNMENTS;
+
+ /**
+ * The operation id for the '<em>Resolve</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BREAK_STATEMENT___RESOLVE__STRING = STATEMENT___RESOLVE__STRING;
+
+ /**
+ * The operation id for the '<em>Assignments After</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BREAK_STATEMENT___ASSIGNMENTS_AFTER = STATEMENT___ASSIGNMENTS_AFTER;
+
+ /**
+ * The operation id for the '<em>Statement assignments After</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BREAK_STATEMENT___STATEMENT_ASSIGNMENTS_AFTER = STATEMENT___STATEMENT_ASSIGNMENTS_AFTER;
+
+ /**
+ * The operation id for the '<em>Assignments After Cached</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BREAK_STATEMENT___ASSIGNMENTS_AFTER_CACHED = STATEMENT___ASSIGNMENTS_AFTER_CACHED;
+
+ /**
+ * The operation id for the '<em>Merge Assignments</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BREAK_STATEMENT___MERGE_ASSIGNMENTS__ELIST = STATEMENT___MERGE_ASSIGNMENTS__ELIST;
+
+ /**
+ * The operation id for the '<em>Merge</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BREAK_STATEMENT___MERGE__STRING_ELIST = STATEMENT___MERGE__STRING_ELIST;
+
+ /**
+ * The operation id for the '<em>Statement Annotations Allowed</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BREAK_STATEMENT___STATEMENT_ANNOTATIONS_ALLOWED__DIAGNOSTICCHAIN_MAP = STATEMENT___STATEMENT_ANNOTATIONS_ALLOWED__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Statement Unique Assignments</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BREAK_STATEMENT___STATEMENT_UNIQUE_ASSIGNMENTS__DIAGNOSTICCHAIN_MAP = STATEMENT___STATEMENT_UNIQUE_ASSIGNMENTS__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Statement Is Isolated Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BREAK_STATEMENT___STATEMENT_IS_ISOLATED_DERIVATION__DIAGNOSTICCHAIN_MAP = STATEMENT___STATEMENT_IS_ISOLATED_DERIVATION__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Break Statement Target Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BREAK_STATEMENT___BREAK_STATEMENT_TARGET_DERIVATION__DIAGNOSTICCHAIN_MAP = STATEMENT_OPERATION_COUNT + 0;
+
+ /**
+ * The operation id for the '<em>Break Statement Nonparallel Target</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BREAK_STATEMENT___BREAK_STATEMENT_NONPARALLEL_TARGET__DIAGNOSTICCHAIN_MAP = STATEMENT_OPERATION_COUNT + 1;
+
+ /**
+ * The operation id for the '<em>Annotation Allowed</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BREAK_STATEMENT___ANNOTATION_ALLOWED__ANNOTATION = STATEMENT_OPERATION_COUNT + 2;
+
+ /**
+ * The number of operations of the '<em>Break Statement</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BREAK_STATEMENT_OPERATION_COUNT = STATEMENT_OPERATION_COUNT + 3;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.uml.alf.impl.ExpressionStatementImpl <em>Expression Statement</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.uml.alf.impl.ExpressionStatementImpl
+ * @see org.eclipse.papyrus.uml.alf.impl.AlfPackageImpl#getExpressionStatement()
+ * @generated
+ */
+ int EXPRESSION_STATEMENT = 84;
+
+ /**
+ * The feature id for the '<em><b>Owner</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXPRESSION_STATEMENT__OWNER = STATEMENT__OWNER;
+
+ /**
+ * The feature id for the '<em><b>Assignment Before</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXPRESSION_STATEMENT__ASSIGNMENT_BEFORE = STATEMENT__ASSIGNMENT_BEFORE;
+
+ /**
+ * The feature id for the '<em><b>Assignment After</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXPRESSION_STATEMENT__ASSIGNMENT_AFTER = STATEMENT__ASSIGNMENT_AFTER;
+
+ /**
+ * The feature id for the '<em><b>Enclosing Statement</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXPRESSION_STATEMENT__ENCLOSING_STATEMENT = STATEMENT__ENCLOSING_STATEMENT;
+
+ /**
+ * The feature id for the '<em><b>Is Isolated</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXPRESSION_STATEMENT__IS_ISOLATED = STATEMENT__IS_ISOLATED;
+
+ /**
+ * The feature id for the '<em><b>Expression</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXPRESSION_STATEMENT__EXPRESSION = STATEMENT_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the '<em>Expression Statement</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXPRESSION_STATEMENT_FEATURE_COUNT = STATEMENT_FEATURE_COUNT + 1;
+
+ /**
+ * The operation id for the '<em>To Reference</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXPRESSION_STATEMENT___TO_REFERENCE = STATEMENT___TO_REFERENCE;
+
+ /**
+ * The operation id for the '<em>Owner</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXPRESSION_STATEMENT___OWNER = STATEMENT___OWNER;
+
+ /**
+ * The operation id for the '<em>Syntax Element owner</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXPRESSION_STATEMENT___SYNTAX_ELEMENT_OWNER = STATEMENT___SYNTAX_ELEMENT_OWNER;
+
+ /**
+ * The operation id for the '<em>Current Scope</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXPRESSION_STATEMENT___CURRENT_SCOPE = STATEMENT___CURRENT_SCOPE;
+
+ /**
+ * The operation id for the '<em>Syntax Element current Scope</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXPRESSION_STATEMENT___SYNTAX_ELEMENT_CURRENT_SCOPE = STATEMENT___SYNTAX_ELEMENT_CURRENT_SCOPE;
+
+ /**
+ * The operation id for the '<em>Enclosing Statement</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXPRESSION_STATEMENT___ENCLOSING_STATEMENT = STATEMENT___ENCLOSING_STATEMENT;
+
+ /**
+ * The operation id for the '<em>Enclosing Expression</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXPRESSION_STATEMENT___ENCLOSING_EXPRESSION = STATEMENT___ENCLOSING_EXPRESSION;
+
+ /**
+ * The operation id for the '<em>Assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXPRESSION_STATEMENT___ASSIGNMENTS_BEFORE = STATEMENT___ASSIGNMENTS_BEFORE;
+
+ /**
+ * The operation id for the '<em>Syntax Element assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXPRESSION_STATEMENT___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE = STATEMENT___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE;
+
+ /**
+ * The operation id for the '<em>Syntax Element assignments Before base</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXPRESSION_STATEMENT___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE_BASE = STATEMENT___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE_BASE;
+
+ /**
+ * The operation id for the '<em>Assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXPRESSION_STATEMENT___ASSIGNMENTS_BEFORE__SYNTAXELEMENT = STATEMENT___ASSIGNMENTS_BEFORE__SYNTAXELEMENT;
+
+ /**
+ * The operation id for the '<em>Update All</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXPRESSION_STATEMENT___UPDATE_ALL__ELIST_ELIST = STATEMENT___UPDATE_ALL__ELIST_ELIST;
+
+ /**
+ * The operation id for the '<em>Common Ancestor</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXPRESSION_STATEMENT___COMMON_ANCESTOR__ELIST = STATEMENT___COMMON_ANCESTOR__ELIST;
+
+ /**
+ * The operation id for the '<em>Common Ancestors</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXPRESSION_STATEMENT___COMMON_ANCESTORS__ELIST = STATEMENT___COMMON_ANCESTORS__ELIST;
+
+ /**
+ * The operation id for the '<em>Remove Duplicate Elements</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXPRESSION_STATEMENT___REMOVE_DUPLICATE_ELEMENTS__ELIST = STATEMENT___REMOVE_DUPLICATE_ELEMENTS__ELIST;
+
+ /**
+ * The operation id for the '<em>Resolve In Library</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXPRESSION_STATEMENT___RESOLVE_IN_LIBRARY__STRING = STATEMENT___RESOLVE_IN_LIBRARY__STRING;
+
+ /**
+ * The operation id for the '<em>Primitive Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXPRESSION_STATEMENT___PRIMITIVE_TYPE__STRING = STATEMENT___PRIMITIVE_TYPE__STRING;
+
+ /**
+ * The operation id for the '<em>Primitive Type </em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXPRESSION_STATEMENT___PRIMITIVE_TYPE____STRING = STATEMENT___PRIMITIVE_TYPE____STRING;
+
+ /**
+ * The operation id for the '<em>Boolean Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXPRESSION_STATEMENT___BOOLEAN_TYPE = STATEMENT___BOOLEAN_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Boolean Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXPRESSION_STATEMENT___IS_BOOLEAN_TYPE__ELEMENTREFERENCE = STATEMENT___IS_BOOLEAN_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Integer Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXPRESSION_STATEMENT___INTEGER_TYPE = STATEMENT___INTEGER_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Integer Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXPRESSION_STATEMENT___IS_INTEGER_TYPE__ELEMENTREFERENCE = STATEMENT___IS_INTEGER_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXPRESSION_STATEMENT___STRING_TYPE = STATEMENT___STRING_TYPE;
+
+ /**
+ * The operation id for the '<em>Is String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXPRESSION_STATEMENT___IS_STRING_TYPE__ELEMENTREFERENCE = STATEMENT___IS_STRING_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Unlimited Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXPRESSION_STATEMENT___UNLIMITED_NATURAL_TYPE = STATEMENT___UNLIMITED_NATURAL_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Unlimited Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXPRESSION_STATEMENT___IS_UNLIMITED_NATURAL_TYPE__ELEMENTREFERENCE = STATEMENT___IS_UNLIMITED_NATURAL_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Bit String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXPRESSION_STATEMENT___BIT_STRING_TYPE = STATEMENT___BIT_STRING_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Bit String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXPRESSION_STATEMENT___IS_BIT_STRING_TYPE__ELEMENTREFERENCE = STATEMENT___IS_BIT_STRING_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXPRESSION_STATEMENT___NATURAL_TYPE = STATEMENT___NATURAL_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXPRESSION_STATEMENT___IS_NATURAL_TYPE__ELEMENTREFERENCE = STATEMENT___IS_NATURAL_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Numeric Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXPRESSION_STATEMENT___IS_NUMERIC_TYPE__ELEMENTREFERENCE = STATEMENT___IS_NUMERIC_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Collection Function Add</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXPRESSION_STATEMENT___COLLECTION_FUNCTION_ADD = STATEMENT___COLLECTION_FUNCTION_ADD;
+
+ /**
+ * The operation id for the '<em>Is Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXPRESSION_STATEMENT___IS_COLLECTION_CLASS__ELEMENTREFERENCE = STATEMENT___IS_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Integer Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXPRESSION_STATEMENT___IS_INTEGER_COLLECTION_CLASS__ELEMENTREFERENCE = STATEMENT___IS_INTEGER_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Bit String Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXPRESSION_STATEMENT___IS_BIT_STRING_COLLECTION_CLASS__ELEMENTREFERENCE = STATEMENT___IS_BIT_STRING_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Enclosing Loop Statement</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXPRESSION_STATEMENT___ENCLOSING_LOOP_STATEMENT = STATEMENT___ENCLOSING_LOOP_STATEMENT;
+
+ /**
+ * The operation id for the '<em>Annotation Allowed</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXPRESSION_STATEMENT___ANNOTATION_ALLOWED__ANNOTATION = STATEMENT___ANNOTATION_ALLOWED__ANNOTATION;
+
+ /**
+ * The operation id for the '<em>Statement annotation Allowed</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXPRESSION_STATEMENT___STATEMENT_ANNOTATION_ALLOWED__ANNOTATION = STATEMENT___STATEMENT_ANNOTATION_ALLOWED__ANNOTATION;
+
+ /**
+ * The operation id for the '<em>Annotation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXPRESSION_STATEMENT___ANNOTATION = STATEMENT___ANNOTATION;
+
+ /**
+ * The operation id for the '<em>Has Annotation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXPRESSION_STATEMENT___HAS_ANNOTATION__STRING = STATEMENT___HAS_ANNOTATION__STRING;
+
+ /**
+ * The operation id for the '<em>New Assignments</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXPRESSION_STATEMENT___NEW_ASSIGNMENTS = STATEMENT___NEW_ASSIGNMENTS;
+
+ /**
+ * The operation id for the '<em>Resolve</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXPRESSION_STATEMENT___RESOLVE__STRING = STATEMENT___RESOLVE__STRING;
+
+ /**
+ * The operation id for the '<em>Statement assignments After</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXPRESSION_STATEMENT___STATEMENT_ASSIGNMENTS_AFTER = STATEMENT___STATEMENT_ASSIGNMENTS_AFTER;
+
+ /**
+ * The operation id for the '<em>Assignments After Cached</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXPRESSION_STATEMENT___ASSIGNMENTS_AFTER_CACHED = STATEMENT___ASSIGNMENTS_AFTER_CACHED;
+
+ /**
+ * The operation id for the '<em>Merge Assignments</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXPRESSION_STATEMENT___MERGE_ASSIGNMENTS__ELIST = STATEMENT___MERGE_ASSIGNMENTS__ELIST;
+
+ /**
+ * The operation id for the '<em>Merge</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXPRESSION_STATEMENT___MERGE__STRING_ELIST = STATEMENT___MERGE__STRING_ELIST;
+
+ /**
+ * The operation id for the '<em>Statement Annotations Allowed</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXPRESSION_STATEMENT___STATEMENT_ANNOTATIONS_ALLOWED__DIAGNOSTICCHAIN_MAP = STATEMENT___STATEMENT_ANNOTATIONS_ALLOWED__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Statement Unique Assignments</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXPRESSION_STATEMENT___STATEMENT_UNIQUE_ASSIGNMENTS__DIAGNOSTICCHAIN_MAP = STATEMENT___STATEMENT_UNIQUE_ASSIGNMENTS__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Statement Is Isolated Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXPRESSION_STATEMENT___STATEMENT_IS_ISOLATED_DERIVATION__DIAGNOSTICCHAIN_MAP = STATEMENT___STATEMENT_IS_ISOLATED_DERIVATION__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Assignments After</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXPRESSION_STATEMENT___ASSIGNMENTS_AFTER = STATEMENT_OPERATION_COUNT + 0;
+
+ /**
+ * The operation id for the '<em>Expression Statement Assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXPRESSION_STATEMENT___EXPRESSION_STATEMENT_ASSIGNMENTS_BEFORE__DIAGNOSTICCHAIN_MAP = STATEMENT_OPERATION_COUNT + 1;
+
+ /**
+ * The operation id for the '<em>Expression Statement Assignments After</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXPRESSION_STATEMENT___EXPRESSION_STATEMENT_ASSIGNMENTS_AFTER__DIAGNOSTICCHAIN_MAP = STATEMENT_OPERATION_COUNT + 2;
+
+ /**
+ * The number of operations of the '<em>Expression Statement</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXPRESSION_STATEMENT_OPERATION_COUNT = STATEMENT_OPERATION_COUNT + 3;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.uml.alf.impl.ClassifyStatementImpl <em>Classify Statement</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.uml.alf.impl.ClassifyStatementImpl
+ * @see org.eclipse.papyrus.uml.alf.impl.AlfPackageImpl#getClassifyStatement()
+ * @generated
+ */
+ int CLASSIFY_STATEMENT = 85;
+
+ /**
+ * The feature id for the '<em><b>Owner</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASSIFY_STATEMENT__OWNER = STATEMENT__OWNER;
+
+ /**
+ * The feature id for the '<em><b>Assignment Before</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASSIFY_STATEMENT__ASSIGNMENT_BEFORE = STATEMENT__ASSIGNMENT_BEFORE;
+
+ /**
+ * The feature id for the '<em><b>Assignment After</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASSIFY_STATEMENT__ASSIGNMENT_AFTER = STATEMENT__ASSIGNMENT_AFTER;
+
+ /**
+ * The feature id for the '<em><b>Enclosing Statement</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASSIFY_STATEMENT__ENCLOSING_STATEMENT = STATEMENT__ENCLOSING_STATEMENT;
+
+ /**
+ * The feature id for the '<em><b>Is Isolated</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASSIFY_STATEMENT__IS_ISOLATED = STATEMENT__IS_ISOLATED;
+
+ /**
+ * The feature id for the '<em><b>Expression</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASSIFY_STATEMENT__EXPRESSION = STATEMENT_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>From List</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASSIFY_STATEMENT__FROM_LIST = STATEMENT_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>To List</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASSIFY_STATEMENT__TO_LIST = STATEMENT_FEATURE_COUNT + 2;
+
+ /**
+ * The feature id for the '<em><b>From Class</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASSIFY_STATEMENT__FROM_CLASS = STATEMENT_FEATURE_COUNT + 3;
+
+ /**
+ * The feature id for the '<em><b>To Class</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASSIFY_STATEMENT__TO_CLASS = STATEMENT_FEATURE_COUNT + 4;
+
+ /**
+ * The feature id for the '<em><b>Is Reclassify All</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASSIFY_STATEMENT__IS_RECLASSIFY_ALL = STATEMENT_FEATURE_COUNT + 5;
+
+ /**
+ * The number of structural features of the '<em>Classify Statement</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASSIFY_STATEMENT_FEATURE_COUNT = STATEMENT_FEATURE_COUNT + 6;
+
+ /**
+ * The operation id for the '<em>To Reference</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASSIFY_STATEMENT___TO_REFERENCE = STATEMENT___TO_REFERENCE;
+
+ /**
+ * The operation id for the '<em>Owner</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASSIFY_STATEMENT___OWNER = STATEMENT___OWNER;
+
+ /**
+ * The operation id for the '<em>Syntax Element owner</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASSIFY_STATEMENT___SYNTAX_ELEMENT_OWNER = STATEMENT___SYNTAX_ELEMENT_OWNER;
+
+ /**
+ * The operation id for the '<em>Current Scope</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASSIFY_STATEMENT___CURRENT_SCOPE = STATEMENT___CURRENT_SCOPE;
+
+ /**
+ * The operation id for the '<em>Syntax Element current Scope</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASSIFY_STATEMENT___SYNTAX_ELEMENT_CURRENT_SCOPE = STATEMENT___SYNTAX_ELEMENT_CURRENT_SCOPE;
+
+ /**
+ * The operation id for the '<em>Enclosing Statement</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASSIFY_STATEMENT___ENCLOSING_STATEMENT = STATEMENT___ENCLOSING_STATEMENT;
+
+ /**
+ * The operation id for the '<em>Enclosing Expression</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASSIFY_STATEMENT___ENCLOSING_EXPRESSION = STATEMENT___ENCLOSING_EXPRESSION;
+
+ /**
+ * The operation id for the '<em>Assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASSIFY_STATEMENT___ASSIGNMENTS_BEFORE = STATEMENT___ASSIGNMENTS_BEFORE;
+
+ /**
+ * The operation id for the '<em>Syntax Element assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASSIFY_STATEMENT___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE = STATEMENT___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE;
+
+ /**
+ * The operation id for the '<em>Syntax Element assignments Before base</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASSIFY_STATEMENT___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE_BASE = STATEMENT___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE_BASE;
+
+ /**
+ * The operation id for the '<em>Assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASSIFY_STATEMENT___ASSIGNMENTS_BEFORE__SYNTAXELEMENT = STATEMENT___ASSIGNMENTS_BEFORE__SYNTAXELEMENT;
+
+ /**
+ * The operation id for the '<em>Update All</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASSIFY_STATEMENT___UPDATE_ALL__ELIST_ELIST = STATEMENT___UPDATE_ALL__ELIST_ELIST;
+
+ /**
+ * The operation id for the '<em>Common Ancestor</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASSIFY_STATEMENT___COMMON_ANCESTOR__ELIST = STATEMENT___COMMON_ANCESTOR__ELIST;
+
+ /**
+ * The operation id for the '<em>Common Ancestors</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASSIFY_STATEMENT___COMMON_ANCESTORS__ELIST = STATEMENT___COMMON_ANCESTORS__ELIST;
+
+ /**
+ * The operation id for the '<em>Remove Duplicate Elements</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASSIFY_STATEMENT___REMOVE_DUPLICATE_ELEMENTS__ELIST = STATEMENT___REMOVE_DUPLICATE_ELEMENTS__ELIST;
+
+ /**
+ * The operation id for the '<em>Resolve In Library</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASSIFY_STATEMENT___RESOLVE_IN_LIBRARY__STRING = STATEMENT___RESOLVE_IN_LIBRARY__STRING;
+
+ /**
+ * The operation id for the '<em>Primitive Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASSIFY_STATEMENT___PRIMITIVE_TYPE__STRING = STATEMENT___PRIMITIVE_TYPE__STRING;
+
+ /**
+ * The operation id for the '<em>Primitive Type </em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASSIFY_STATEMENT___PRIMITIVE_TYPE____STRING = STATEMENT___PRIMITIVE_TYPE____STRING;
+
+ /**
+ * The operation id for the '<em>Boolean Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASSIFY_STATEMENT___BOOLEAN_TYPE = STATEMENT___BOOLEAN_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Boolean Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASSIFY_STATEMENT___IS_BOOLEAN_TYPE__ELEMENTREFERENCE = STATEMENT___IS_BOOLEAN_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Integer Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASSIFY_STATEMENT___INTEGER_TYPE = STATEMENT___INTEGER_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Integer Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASSIFY_STATEMENT___IS_INTEGER_TYPE__ELEMENTREFERENCE = STATEMENT___IS_INTEGER_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASSIFY_STATEMENT___STRING_TYPE = STATEMENT___STRING_TYPE;
+
+ /**
+ * The operation id for the '<em>Is String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASSIFY_STATEMENT___IS_STRING_TYPE__ELEMENTREFERENCE = STATEMENT___IS_STRING_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Unlimited Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASSIFY_STATEMENT___UNLIMITED_NATURAL_TYPE = STATEMENT___UNLIMITED_NATURAL_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Unlimited Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASSIFY_STATEMENT___IS_UNLIMITED_NATURAL_TYPE__ELEMENTREFERENCE = STATEMENT___IS_UNLIMITED_NATURAL_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Bit String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASSIFY_STATEMENT___BIT_STRING_TYPE = STATEMENT___BIT_STRING_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Bit String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASSIFY_STATEMENT___IS_BIT_STRING_TYPE__ELEMENTREFERENCE = STATEMENT___IS_BIT_STRING_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASSIFY_STATEMENT___NATURAL_TYPE = STATEMENT___NATURAL_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASSIFY_STATEMENT___IS_NATURAL_TYPE__ELEMENTREFERENCE = STATEMENT___IS_NATURAL_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Numeric Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASSIFY_STATEMENT___IS_NUMERIC_TYPE__ELEMENTREFERENCE = STATEMENT___IS_NUMERIC_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Collection Function Add</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASSIFY_STATEMENT___COLLECTION_FUNCTION_ADD = STATEMENT___COLLECTION_FUNCTION_ADD;
+
+ /**
+ * The operation id for the '<em>Is Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASSIFY_STATEMENT___IS_COLLECTION_CLASS__ELEMENTREFERENCE = STATEMENT___IS_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Integer Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASSIFY_STATEMENT___IS_INTEGER_COLLECTION_CLASS__ELEMENTREFERENCE = STATEMENT___IS_INTEGER_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Bit String Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASSIFY_STATEMENT___IS_BIT_STRING_COLLECTION_CLASS__ELEMENTREFERENCE = STATEMENT___IS_BIT_STRING_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Enclosing Loop Statement</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASSIFY_STATEMENT___ENCLOSING_LOOP_STATEMENT = STATEMENT___ENCLOSING_LOOP_STATEMENT;
+
+ /**
+ * The operation id for the '<em>Annotation Allowed</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASSIFY_STATEMENT___ANNOTATION_ALLOWED__ANNOTATION = STATEMENT___ANNOTATION_ALLOWED__ANNOTATION;
+
+ /**
+ * The operation id for the '<em>Statement annotation Allowed</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASSIFY_STATEMENT___STATEMENT_ANNOTATION_ALLOWED__ANNOTATION = STATEMENT___STATEMENT_ANNOTATION_ALLOWED__ANNOTATION;
+
+ /**
+ * The operation id for the '<em>Annotation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASSIFY_STATEMENT___ANNOTATION = STATEMENT___ANNOTATION;
+
+ /**
+ * The operation id for the '<em>Has Annotation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASSIFY_STATEMENT___HAS_ANNOTATION__STRING = STATEMENT___HAS_ANNOTATION__STRING;
+
+ /**
+ * The operation id for the '<em>New Assignments</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASSIFY_STATEMENT___NEW_ASSIGNMENTS = STATEMENT___NEW_ASSIGNMENTS;
+
+ /**
+ * The operation id for the '<em>Resolve</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASSIFY_STATEMENT___RESOLVE__STRING = STATEMENT___RESOLVE__STRING;
+
+ /**
+ * The operation id for the '<em>Assignments After</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASSIFY_STATEMENT___ASSIGNMENTS_AFTER = STATEMENT___ASSIGNMENTS_AFTER;
+
+ /**
+ * The operation id for the '<em>Statement assignments After</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASSIFY_STATEMENT___STATEMENT_ASSIGNMENTS_AFTER = STATEMENT___STATEMENT_ASSIGNMENTS_AFTER;
+
+ /**
+ * The operation id for the '<em>Assignments After Cached</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASSIFY_STATEMENT___ASSIGNMENTS_AFTER_CACHED = STATEMENT___ASSIGNMENTS_AFTER_CACHED;
+
+ /**
+ * The operation id for the '<em>Merge Assignments</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASSIFY_STATEMENT___MERGE_ASSIGNMENTS__ELIST = STATEMENT___MERGE_ASSIGNMENTS__ELIST;
+
+ /**
+ * The operation id for the '<em>Merge</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASSIFY_STATEMENT___MERGE__STRING_ELIST = STATEMENT___MERGE__STRING_ELIST;
+
+ /**
+ * The operation id for the '<em>Statement Annotations Allowed</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASSIFY_STATEMENT___STATEMENT_ANNOTATIONS_ALLOWED__DIAGNOSTICCHAIN_MAP = STATEMENT___STATEMENT_ANNOTATIONS_ALLOWED__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Statement Unique Assignments</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASSIFY_STATEMENT___STATEMENT_UNIQUE_ASSIGNMENTS__DIAGNOSTICCHAIN_MAP = STATEMENT___STATEMENT_UNIQUE_ASSIGNMENTS__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Statement Is Isolated Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASSIFY_STATEMENT___STATEMENT_IS_ISOLATED_DERIVATION__DIAGNOSTICCHAIN_MAP = STATEMENT___STATEMENT_IS_ISOLATED_DERIVATION__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Assignment After</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASSIFY_STATEMENT___ASSIGNMENT_AFTER = STATEMENT_OPERATION_COUNT + 0;
+
+ /**
+ * The operation id for the '<em>Classify Statement Expression</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASSIFY_STATEMENT___CLASSIFY_STATEMENT_EXPRESSION__DIAGNOSTICCHAIN_MAP = STATEMENT_OPERATION_COUNT + 1;
+
+ /**
+ * The operation id for the '<em>Classify Statement Class Names</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASSIFY_STATEMENT___CLASSIFY_STATEMENT_CLASS_NAMES__DIAGNOSTICCHAIN_MAP = STATEMENT_OPERATION_COUNT + 2;
+
+ /**
+ * The operation id for the '<em>Classify Statement Classes</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASSIFY_STATEMENT___CLASSIFY_STATEMENT_CLASSES__DIAGNOSTICCHAIN_MAP = STATEMENT_OPERATION_COUNT + 3;
+
+ /**
+ * The operation id for the '<em>Classify Statement Assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASSIFY_STATEMENT___CLASSIFY_STATEMENT_ASSIGNMENTS_BEFORE__DIAGNOSTICCHAIN_MAP = STATEMENT_OPERATION_COUNT + 4;
+
+ /**
+ * The operation id for the '<em>Classify Statement Assignments After</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASSIFY_STATEMENT___CLASSIFY_STATEMENT_ASSIGNMENTS_AFTER__DIAGNOSTICCHAIN_MAP = STATEMENT_OPERATION_COUNT + 5;
+
+ /**
+ * The operation id for the '<em>Classify Statement From Class Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASSIFY_STATEMENT___CLASSIFY_STATEMENT_FROM_CLASS_DERIVATION__DIAGNOSTICCHAIN_MAP = STATEMENT_OPERATION_COUNT + 6;
+
+ /**
+ * The operation id for the '<em>Classify Statement To Class Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASSIFY_STATEMENT___CLASSIFY_STATEMENT_TO_CLASS_DERIVATION__DIAGNOSTICCHAIN_MAP = STATEMENT_OPERATION_COUNT + 7;
+
+ /**
+ * The number of operations of the '<em>Classify Statement</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASSIFY_STATEMENT_OPERATION_COUNT = STATEMENT_OPERATION_COUNT + 8;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.uml.alf.impl.ForStatementImpl <em>For Statement</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.uml.alf.impl.ForStatementImpl
+ * @see org.eclipse.papyrus.uml.alf.impl.AlfPackageImpl#getForStatement()
+ * @generated
+ */
+ int FOR_STATEMENT = 86;
+
+ /**
+ * The feature id for the '<em><b>Owner</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FOR_STATEMENT__OWNER = STATEMENT__OWNER;
+
+ /**
+ * The feature id for the '<em><b>Assignment Before</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FOR_STATEMENT__ASSIGNMENT_BEFORE = STATEMENT__ASSIGNMENT_BEFORE;
+
+ /**
+ * The feature id for the '<em><b>Assignment After</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FOR_STATEMENT__ASSIGNMENT_AFTER = STATEMENT__ASSIGNMENT_AFTER;
+
+ /**
+ * The feature id for the '<em><b>Enclosing Statement</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FOR_STATEMENT__ENCLOSING_STATEMENT = STATEMENT__ENCLOSING_STATEMENT;
+
+ /**
+ * The feature id for the '<em><b>Is Isolated</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FOR_STATEMENT__IS_ISOLATED = STATEMENT__IS_ISOLATED;
+
+ /**
+ * The feature id for the '<em><b>Body</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FOR_STATEMENT__BODY = STATEMENT_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Variable Definition</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FOR_STATEMENT__VARIABLE_DEFINITION = STATEMENT_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Is Parallel</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FOR_STATEMENT__IS_PARALLEL = STATEMENT_FEATURE_COUNT + 2;
+
+ /**
+ * The number of structural features of the '<em>For Statement</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FOR_STATEMENT_FEATURE_COUNT = STATEMENT_FEATURE_COUNT + 3;
+
+ /**
+ * The operation id for the '<em>To Reference</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FOR_STATEMENT___TO_REFERENCE = STATEMENT___TO_REFERENCE;
+
+ /**
+ * The operation id for the '<em>Owner</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FOR_STATEMENT___OWNER = STATEMENT___OWNER;
+
+ /**
+ * The operation id for the '<em>Syntax Element owner</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FOR_STATEMENT___SYNTAX_ELEMENT_OWNER = STATEMENT___SYNTAX_ELEMENT_OWNER;
+
+ /**
+ * The operation id for the '<em>Current Scope</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FOR_STATEMENT___CURRENT_SCOPE = STATEMENT___CURRENT_SCOPE;
+
+ /**
+ * The operation id for the '<em>Syntax Element current Scope</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FOR_STATEMENT___SYNTAX_ELEMENT_CURRENT_SCOPE = STATEMENT___SYNTAX_ELEMENT_CURRENT_SCOPE;
+
+ /**
+ * The operation id for the '<em>Enclosing Statement</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FOR_STATEMENT___ENCLOSING_STATEMENT = STATEMENT___ENCLOSING_STATEMENT;
+
+ /**
+ * The operation id for the '<em>Enclosing Expression</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FOR_STATEMENT___ENCLOSING_EXPRESSION = STATEMENT___ENCLOSING_EXPRESSION;
+
+ /**
+ * The operation id for the '<em>Assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FOR_STATEMENT___ASSIGNMENTS_BEFORE = STATEMENT___ASSIGNMENTS_BEFORE;
+
+ /**
+ * The operation id for the '<em>Syntax Element assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FOR_STATEMENT___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE = STATEMENT___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE;
+
+ /**
+ * The operation id for the '<em>Syntax Element assignments Before base</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FOR_STATEMENT___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE_BASE = STATEMENT___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE_BASE;
+
+ /**
+ * The operation id for the '<em>Update All</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FOR_STATEMENT___UPDATE_ALL__ELIST_ELIST = STATEMENT___UPDATE_ALL__ELIST_ELIST;
+
+ /**
+ * The operation id for the '<em>Common Ancestor</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FOR_STATEMENT___COMMON_ANCESTOR__ELIST = STATEMENT___COMMON_ANCESTOR__ELIST;
+
+ /**
+ * The operation id for the '<em>Common Ancestors</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FOR_STATEMENT___COMMON_ANCESTORS__ELIST = STATEMENT___COMMON_ANCESTORS__ELIST;
+
+ /**
+ * The operation id for the '<em>Remove Duplicate Elements</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FOR_STATEMENT___REMOVE_DUPLICATE_ELEMENTS__ELIST = STATEMENT___REMOVE_DUPLICATE_ELEMENTS__ELIST;
+
+ /**
+ * The operation id for the '<em>Resolve In Library</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FOR_STATEMENT___RESOLVE_IN_LIBRARY__STRING = STATEMENT___RESOLVE_IN_LIBRARY__STRING;
+
+ /**
+ * The operation id for the '<em>Primitive Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FOR_STATEMENT___PRIMITIVE_TYPE__STRING = STATEMENT___PRIMITIVE_TYPE__STRING;
+
+ /**
+ * The operation id for the '<em>Primitive Type </em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FOR_STATEMENT___PRIMITIVE_TYPE____STRING = STATEMENT___PRIMITIVE_TYPE____STRING;
+
+ /**
+ * The operation id for the '<em>Boolean Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FOR_STATEMENT___BOOLEAN_TYPE = STATEMENT___BOOLEAN_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Boolean Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FOR_STATEMENT___IS_BOOLEAN_TYPE__ELEMENTREFERENCE = STATEMENT___IS_BOOLEAN_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Integer Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FOR_STATEMENT___INTEGER_TYPE = STATEMENT___INTEGER_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Integer Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FOR_STATEMENT___IS_INTEGER_TYPE__ELEMENTREFERENCE = STATEMENT___IS_INTEGER_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FOR_STATEMENT___STRING_TYPE = STATEMENT___STRING_TYPE;
+
+ /**
+ * The operation id for the '<em>Is String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FOR_STATEMENT___IS_STRING_TYPE__ELEMENTREFERENCE = STATEMENT___IS_STRING_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Unlimited Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FOR_STATEMENT___UNLIMITED_NATURAL_TYPE = STATEMENT___UNLIMITED_NATURAL_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Unlimited Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FOR_STATEMENT___IS_UNLIMITED_NATURAL_TYPE__ELEMENTREFERENCE = STATEMENT___IS_UNLIMITED_NATURAL_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Bit String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FOR_STATEMENT___BIT_STRING_TYPE = STATEMENT___BIT_STRING_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Bit String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FOR_STATEMENT___IS_BIT_STRING_TYPE__ELEMENTREFERENCE = STATEMENT___IS_BIT_STRING_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FOR_STATEMENT___NATURAL_TYPE = STATEMENT___NATURAL_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FOR_STATEMENT___IS_NATURAL_TYPE__ELEMENTREFERENCE = STATEMENT___IS_NATURAL_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Numeric Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FOR_STATEMENT___IS_NUMERIC_TYPE__ELEMENTREFERENCE = STATEMENT___IS_NUMERIC_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Collection Function Add</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FOR_STATEMENT___COLLECTION_FUNCTION_ADD = STATEMENT___COLLECTION_FUNCTION_ADD;
+
+ /**
+ * The operation id for the '<em>Is Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FOR_STATEMENT___IS_COLLECTION_CLASS__ELEMENTREFERENCE = STATEMENT___IS_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Integer Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FOR_STATEMENT___IS_INTEGER_COLLECTION_CLASS__ELEMENTREFERENCE = STATEMENT___IS_INTEGER_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Bit String Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FOR_STATEMENT___IS_BIT_STRING_COLLECTION_CLASS__ELEMENTREFERENCE = STATEMENT___IS_BIT_STRING_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Statement annotation Allowed</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FOR_STATEMENT___STATEMENT_ANNOTATION_ALLOWED__ANNOTATION = STATEMENT___STATEMENT_ANNOTATION_ALLOWED__ANNOTATION;
+
+ /**
+ * The operation id for the '<em>Annotation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FOR_STATEMENT___ANNOTATION = STATEMENT___ANNOTATION;
+
+ /**
+ * The operation id for the '<em>Has Annotation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FOR_STATEMENT___HAS_ANNOTATION__STRING = STATEMENT___HAS_ANNOTATION__STRING;
+
+ /**
+ * The operation id for the '<em>New Assignments</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FOR_STATEMENT___NEW_ASSIGNMENTS = STATEMENT___NEW_ASSIGNMENTS;
+
+ /**
+ * The operation id for the '<em>Resolve</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FOR_STATEMENT___RESOLVE__STRING = STATEMENT___RESOLVE__STRING;
+
+ /**
+ * The operation id for the '<em>Statement assignments After</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FOR_STATEMENT___STATEMENT_ASSIGNMENTS_AFTER = STATEMENT___STATEMENT_ASSIGNMENTS_AFTER;
+
+ /**
+ * The operation id for the '<em>Assignments After Cached</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FOR_STATEMENT___ASSIGNMENTS_AFTER_CACHED = STATEMENT___ASSIGNMENTS_AFTER_CACHED;
+
+ /**
+ * The operation id for the '<em>Merge Assignments</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FOR_STATEMENT___MERGE_ASSIGNMENTS__ELIST = STATEMENT___MERGE_ASSIGNMENTS__ELIST;
+
+ /**
+ * The operation id for the '<em>Merge</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FOR_STATEMENT___MERGE__STRING_ELIST = STATEMENT___MERGE__STRING_ELIST;
+
+ /**
+ * The operation id for the '<em>Statement Annotations Allowed</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FOR_STATEMENT___STATEMENT_ANNOTATIONS_ALLOWED__DIAGNOSTICCHAIN_MAP = STATEMENT___STATEMENT_ANNOTATIONS_ALLOWED__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Statement Unique Assignments</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FOR_STATEMENT___STATEMENT_UNIQUE_ASSIGNMENTS__DIAGNOSTICCHAIN_MAP = STATEMENT___STATEMENT_UNIQUE_ASSIGNMENTS__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Statement Is Isolated Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FOR_STATEMENT___STATEMENT_IS_ISOLATED_DERIVATION__DIAGNOSTICCHAIN_MAP = STATEMENT___STATEMENT_IS_ISOLATED_DERIVATION__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Enclosing Loop Statement</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FOR_STATEMENT___ENCLOSING_LOOP_STATEMENT = STATEMENT_OPERATION_COUNT + 0;
+
+ /**
+ * The operation id for the '<em>Assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FOR_STATEMENT___ASSIGNMENTS_BEFORE__SYNTAXELEMENT = STATEMENT_OPERATION_COUNT + 1;
+
+ /**
+ * The operation id for the '<em>Assignments After Variables</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FOR_STATEMENT___ASSIGNMENTS_AFTER_VARIABLES = STATEMENT_OPERATION_COUNT + 2;
+
+ /**
+ * The operation id for the '<em>Assignments After</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FOR_STATEMENT___ASSIGNMENTS_AFTER = STATEMENT_OPERATION_COUNT + 3;
+
+ /**
+ * The operation id for the '<em>Parallel Names</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FOR_STATEMENT___PARALLEL_NAMES = STATEMENT_OPERATION_COUNT + 4;
+
+ /**
+ * The operation id for the '<em>For Statement Assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FOR_STATEMENT___FOR_STATEMENT_ASSIGNMENTS_BEFORE__DIAGNOSTICCHAIN_MAP = STATEMENT_OPERATION_COUNT + 5;
+
+ /**
+ * The operation id for the '<em>For Statement Assignments After</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FOR_STATEMENT___FOR_STATEMENT_ASSIGNMENTS_AFTER__DIAGNOSTICCHAIN_MAP = STATEMENT_OPERATION_COUNT + 6;
+
+ /**
+ * The operation id for the '<em>For Statement Parallel Annotation Names</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FOR_STATEMENT___FOR_STATEMENT_PARALLEL_ANNOTATION_NAMES__DIAGNOSTICCHAIN_MAP = STATEMENT_OPERATION_COUNT + 7;
+
+ /**
+ * The operation id for the '<em>For Statement Parallel Assignments After</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FOR_STATEMENT___FOR_STATEMENT_PARALLEL_ASSIGNMENTS_AFTER__DIAGNOSTICCHAIN_MAP = STATEMENT_OPERATION_COUNT + 8;
+
+ /**
+ * The operation id for the '<em>For Statement Variable Definitions</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FOR_STATEMENT___FOR_STATEMENT_VARIABLE_DEFINITIONS__DIAGNOSTICCHAIN_MAP = STATEMENT_OPERATION_COUNT + 9;
+
+ /**
+ * The operation id for the '<em>For Statement Loop Variables</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FOR_STATEMENT___FOR_STATEMENT_LOOP_VARIABLES__DIAGNOSTICCHAIN_MAP = STATEMENT_OPERATION_COUNT + 10;
+
+ /**
+ * The operation id for the '<em>For Statement Is Parallel Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FOR_STATEMENT___FOR_STATEMENT_IS_PARALLEL_DERIVATION__DIAGNOSTICCHAIN_MAP = STATEMENT_OPERATION_COUNT + 11;
+
+ /**
+ * The operation id for the '<em>For Statement Enclosed Statements</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FOR_STATEMENT___FOR_STATEMENT_ENCLOSED_STATEMENTS__DIAGNOSTICCHAIN_MAP = STATEMENT_OPERATION_COUNT + 12;
+
+ /**
+ * The operation id for the '<em>Annotation Allowed</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FOR_STATEMENT___ANNOTATION_ALLOWED__ANNOTATION = STATEMENT_OPERATION_COUNT + 13;
+
+ /**
+ * The number of operations of the '<em>For Statement</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FOR_STATEMENT_OPERATION_COUNT = STATEMENT_OPERATION_COUNT + 14;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.uml.alf.impl.LoopVariableDefinitionImpl <em>Loop Variable Definition</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.uml.alf.impl.LoopVariableDefinitionImpl
+ * @see org.eclipse.papyrus.uml.alf.impl.AlfPackageImpl#getLoopVariableDefinition()
+ * @generated
+ */
+ int LOOP_VARIABLE_DEFINITION = 87;
+
+ /**
+ * The feature id for the '<em><b>Owner</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LOOP_VARIABLE_DEFINITION__OWNER = SYNTAX_ELEMENT__OWNER;
+
+ /**
+ * The feature id for the '<em><b>Variable</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LOOP_VARIABLE_DEFINITION__VARIABLE = SYNTAX_ELEMENT_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Expression1</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LOOP_VARIABLE_DEFINITION__EXPRESSION1 = SYNTAX_ELEMENT_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Expression2</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LOOP_VARIABLE_DEFINITION__EXPRESSION2 = SYNTAX_ELEMENT_FEATURE_COUNT + 2;
+
+ /**
+ * The feature id for the '<em><b>Type Name</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LOOP_VARIABLE_DEFINITION__TYPE_NAME = SYNTAX_ELEMENT_FEATURE_COUNT + 3;
+
+ /**
+ * The feature id for the '<em><b>Type Is Inferred</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LOOP_VARIABLE_DEFINITION__TYPE_IS_INFERRED = SYNTAX_ELEMENT_FEATURE_COUNT + 4;
+
+ /**
+ * The feature id for the '<em><b>Is Collection Conversion</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LOOP_VARIABLE_DEFINITION__IS_COLLECTION_CONVERSION = SYNTAX_ELEMENT_FEATURE_COUNT + 5;
+
+ /**
+ * The feature id for the '<em><b>Type</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LOOP_VARIABLE_DEFINITION__TYPE = SYNTAX_ELEMENT_FEATURE_COUNT + 6;
+
+ /**
+ * The feature id for the '<em><b>Is First</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LOOP_VARIABLE_DEFINITION__IS_FIRST = SYNTAX_ELEMENT_FEATURE_COUNT + 7;
+
+ /**
+ * The feature id for the '<em><b>Assignment Before</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LOOP_VARIABLE_DEFINITION__ASSIGNMENT_BEFORE = SYNTAX_ELEMENT_FEATURE_COUNT + 8;
+
+ /**
+ * The feature id for the '<em><b>Assignment After</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LOOP_VARIABLE_DEFINITION__ASSIGNMENT_AFTER = SYNTAX_ELEMENT_FEATURE_COUNT + 9;
+
+ /**
+ * The feature id for the '<em><b>Is Any</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LOOP_VARIABLE_DEFINITION__IS_ANY = SYNTAX_ELEMENT_FEATURE_COUNT + 10;
+
+ /**
+ * The number of structural features of the '<em>Loop Variable Definition</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LOOP_VARIABLE_DEFINITION_FEATURE_COUNT = SYNTAX_ELEMENT_FEATURE_COUNT + 11;
+
+ /**
+ * The operation id for the '<em>To Reference</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LOOP_VARIABLE_DEFINITION___TO_REFERENCE = SYNTAX_ELEMENT___TO_REFERENCE;
+
+ /**
+ * The operation id for the '<em>Owner</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LOOP_VARIABLE_DEFINITION___OWNER = SYNTAX_ELEMENT___OWNER;
+
+ /**
+ * The operation id for the '<em>Syntax Element owner</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LOOP_VARIABLE_DEFINITION___SYNTAX_ELEMENT_OWNER = SYNTAX_ELEMENT___SYNTAX_ELEMENT_OWNER;
+
+ /**
+ * The operation id for the '<em>Current Scope</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LOOP_VARIABLE_DEFINITION___CURRENT_SCOPE = SYNTAX_ELEMENT___CURRENT_SCOPE;
+
+ /**
+ * The operation id for the '<em>Syntax Element current Scope</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LOOP_VARIABLE_DEFINITION___SYNTAX_ELEMENT_CURRENT_SCOPE = SYNTAX_ELEMENT___SYNTAX_ELEMENT_CURRENT_SCOPE;
+
+ /**
+ * The operation id for the '<em>Enclosing Statement</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LOOP_VARIABLE_DEFINITION___ENCLOSING_STATEMENT = SYNTAX_ELEMENT___ENCLOSING_STATEMENT;
+
+ /**
+ * The operation id for the '<em>Enclosing Expression</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LOOP_VARIABLE_DEFINITION___ENCLOSING_EXPRESSION = SYNTAX_ELEMENT___ENCLOSING_EXPRESSION;
+
+ /**
+ * The operation id for the '<em>Assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LOOP_VARIABLE_DEFINITION___ASSIGNMENTS_BEFORE = SYNTAX_ELEMENT___ASSIGNMENTS_BEFORE;
+
+ /**
+ * The operation id for the '<em>Syntax Element assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LOOP_VARIABLE_DEFINITION___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE = SYNTAX_ELEMENT___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE;
+
+ /**
+ * The operation id for the '<em>Syntax Element assignments Before base</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LOOP_VARIABLE_DEFINITION___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE_BASE = SYNTAX_ELEMENT___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE_BASE;
+
+ /**
+ * The operation id for the '<em>Assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LOOP_VARIABLE_DEFINITION___ASSIGNMENTS_BEFORE__SYNTAXELEMENT = SYNTAX_ELEMENT___ASSIGNMENTS_BEFORE__SYNTAXELEMENT;
+
+ /**
+ * The operation id for the '<em>Update All</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LOOP_VARIABLE_DEFINITION___UPDATE_ALL__ELIST_ELIST = SYNTAX_ELEMENT___UPDATE_ALL__ELIST_ELIST;
+
+ /**
+ * The operation id for the '<em>Common Ancestor</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LOOP_VARIABLE_DEFINITION___COMMON_ANCESTOR__ELIST = SYNTAX_ELEMENT___COMMON_ANCESTOR__ELIST;
+
+ /**
+ * The operation id for the '<em>Common Ancestors</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LOOP_VARIABLE_DEFINITION___COMMON_ANCESTORS__ELIST = SYNTAX_ELEMENT___COMMON_ANCESTORS__ELIST;
+
+ /**
+ * The operation id for the '<em>Remove Duplicate Elements</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LOOP_VARIABLE_DEFINITION___REMOVE_DUPLICATE_ELEMENTS__ELIST = SYNTAX_ELEMENT___REMOVE_DUPLICATE_ELEMENTS__ELIST;
+
+ /**
+ * The operation id for the '<em>Resolve In Library</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LOOP_VARIABLE_DEFINITION___RESOLVE_IN_LIBRARY__STRING = SYNTAX_ELEMENT___RESOLVE_IN_LIBRARY__STRING;
+
+ /**
+ * The operation id for the '<em>Primitive Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LOOP_VARIABLE_DEFINITION___PRIMITIVE_TYPE__STRING = SYNTAX_ELEMENT___PRIMITIVE_TYPE__STRING;
+
+ /**
+ * The operation id for the '<em>Primitive Type </em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LOOP_VARIABLE_DEFINITION___PRIMITIVE_TYPE____STRING = SYNTAX_ELEMENT___PRIMITIVE_TYPE____STRING;
+
+ /**
+ * The operation id for the '<em>Boolean Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LOOP_VARIABLE_DEFINITION___BOOLEAN_TYPE = SYNTAX_ELEMENT___BOOLEAN_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Boolean Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LOOP_VARIABLE_DEFINITION___IS_BOOLEAN_TYPE__ELEMENTREFERENCE = SYNTAX_ELEMENT___IS_BOOLEAN_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Integer Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LOOP_VARIABLE_DEFINITION___INTEGER_TYPE = SYNTAX_ELEMENT___INTEGER_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Integer Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LOOP_VARIABLE_DEFINITION___IS_INTEGER_TYPE__ELEMENTREFERENCE = SYNTAX_ELEMENT___IS_INTEGER_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LOOP_VARIABLE_DEFINITION___STRING_TYPE = SYNTAX_ELEMENT___STRING_TYPE;
+
+ /**
+ * The operation id for the '<em>Is String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LOOP_VARIABLE_DEFINITION___IS_STRING_TYPE__ELEMENTREFERENCE = SYNTAX_ELEMENT___IS_STRING_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Unlimited Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LOOP_VARIABLE_DEFINITION___UNLIMITED_NATURAL_TYPE = SYNTAX_ELEMENT___UNLIMITED_NATURAL_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Unlimited Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LOOP_VARIABLE_DEFINITION___IS_UNLIMITED_NATURAL_TYPE__ELEMENTREFERENCE = SYNTAX_ELEMENT___IS_UNLIMITED_NATURAL_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Bit String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LOOP_VARIABLE_DEFINITION___BIT_STRING_TYPE = SYNTAX_ELEMENT___BIT_STRING_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Bit String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LOOP_VARIABLE_DEFINITION___IS_BIT_STRING_TYPE__ELEMENTREFERENCE = SYNTAX_ELEMENT___IS_BIT_STRING_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LOOP_VARIABLE_DEFINITION___NATURAL_TYPE = SYNTAX_ELEMENT___NATURAL_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LOOP_VARIABLE_DEFINITION___IS_NATURAL_TYPE__ELEMENTREFERENCE = SYNTAX_ELEMENT___IS_NATURAL_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Numeric Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LOOP_VARIABLE_DEFINITION___IS_NUMERIC_TYPE__ELEMENTREFERENCE = SYNTAX_ELEMENT___IS_NUMERIC_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Collection Function Add</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LOOP_VARIABLE_DEFINITION___COLLECTION_FUNCTION_ADD = SYNTAX_ELEMENT___COLLECTION_FUNCTION_ADD;
+
+ /**
+ * The operation id for the '<em>Is Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LOOP_VARIABLE_DEFINITION___IS_COLLECTION_CLASS__ELEMENTREFERENCE = SYNTAX_ELEMENT___IS_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Integer Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LOOP_VARIABLE_DEFINITION___IS_INTEGER_COLLECTION_CLASS__ELEMENTREFERENCE = SYNTAX_ELEMENT___IS_INTEGER_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Bit String Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LOOP_VARIABLE_DEFINITION___IS_BIT_STRING_COLLECTION_CLASS__ELEMENTREFERENCE = SYNTAX_ELEMENT___IS_BIT_STRING_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Actual Name</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LOOP_VARIABLE_DEFINITION___ACTUAL_NAME = SYNTAX_ELEMENT_OPERATION_COUNT + 0;
+
+ /**
+ * The operation id for the '<em>New Assignments</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LOOP_VARIABLE_DEFINITION___NEW_ASSIGNMENTS = SYNTAX_ELEMENT_OPERATION_COUNT + 1;
+
+ /**
+ * The operation id for the '<em>Loop Variable Definition Assignment After Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LOOP_VARIABLE_DEFINITION___LOOP_VARIABLE_DEFINITION_ASSIGNMENT_AFTER_DERIVATION__DIAGNOSTICCHAIN_MAP = SYNTAX_ELEMENT_OPERATION_COUNT + 2;
+
+ /**
+ * The operation id for the '<em>Loop Variable Definition Assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LOOP_VARIABLE_DEFINITION___LOOP_VARIABLE_DEFINITION_ASSIGNMENTS_BEFORE__DIAGNOSTICCHAIN_MAP = SYNTAX_ELEMENT_OPERATION_COUNT + 3;
+
+ /**
+ * The operation id for the '<em>Loop Variable Definition Range Expressions</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LOOP_VARIABLE_DEFINITION___LOOP_VARIABLE_DEFINITION_RANGE_EXPRESSIONS__DIAGNOSTICCHAIN_MAP = SYNTAX_ELEMENT_OPERATION_COUNT + 4;
+
+ /**
+ * The operation id for the '<em>Loop Variable Definition Type Name</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LOOP_VARIABLE_DEFINITION___LOOP_VARIABLE_DEFINITION_TYPE_NAME__DIAGNOSTICCHAIN_MAP = SYNTAX_ELEMENT_OPERATION_COUNT + 5;
+
+ /**
+ * The operation id for the '<em>Loop Variable Definition Type Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LOOP_VARIABLE_DEFINITION___LOOP_VARIABLE_DEFINITION_TYPE_DERIVATION__DIAGNOSTICCHAIN_MAP = SYNTAX_ELEMENT_OPERATION_COUNT + 6;
+
+ /**
+ * The operation id for the '<em>Loop Variable Definition Declared Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LOOP_VARIABLE_DEFINITION___LOOP_VARIABLE_DEFINITION_DECLARED_TYPE__DIAGNOSTICCHAIN_MAP = SYNTAX_ELEMENT_OPERATION_COUNT + 7;
+
+ /**
+ * The operation id for the '<em>Loop Variable Definition Is Collection Conversion Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LOOP_VARIABLE_DEFINITION___LOOP_VARIABLE_DEFINITION_IS_COLLECTION_CONVERSION_DERIVATION__DIAGNOSTICCHAIN_MAP = SYNTAX_ELEMENT_OPERATION_COUNT + 8;
+
+ /**
+ * The operation id for the '<em>Loop Variable Definition Variable</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LOOP_VARIABLE_DEFINITION___LOOP_VARIABLE_DEFINITION_VARIABLE__DIAGNOSTICCHAIN_MAP = SYNTAX_ELEMENT_OPERATION_COUNT + 9;
+
+ /**
+ * The number of operations of the '<em>Loop Variable Definition</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LOOP_VARIABLE_DEFINITION_OPERATION_COUNT = SYNTAX_ELEMENT_OPERATION_COUNT + 10;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.uml.alf.impl.IfStatementImpl <em>If Statement</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.uml.alf.impl.IfStatementImpl
+ * @see org.eclipse.papyrus.uml.alf.impl.AlfPackageImpl#getIfStatement()
+ * @generated
+ */
+ int IF_STATEMENT = 88;
+
+ /**
+ * The feature id for the '<em><b>Owner</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int IF_STATEMENT__OWNER = STATEMENT__OWNER;
+
+ /**
+ * The feature id for the '<em><b>Assignment Before</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int IF_STATEMENT__ASSIGNMENT_BEFORE = STATEMENT__ASSIGNMENT_BEFORE;
+
+ /**
+ * The feature id for the '<em><b>Assignment After</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int IF_STATEMENT__ASSIGNMENT_AFTER = STATEMENT__ASSIGNMENT_AFTER;
+
+ /**
+ * The feature id for the '<em><b>Enclosing Statement</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int IF_STATEMENT__ENCLOSING_STATEMENT = STATEMENT__ENCLOSING_STATEMENT;
+
+ /**
+ * The feature id for the '<em><b>Is Isolated</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int IF_STATEMENT__IS_ISOLATED = STATEMENT__IS_ISOLATED;
+
+ /**
+ * The feature id for the '<em><b>Non Final Clauses</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int IF_STATEMENT__NON_FINAL_CLAUSES = STATEMENT_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Final Clause</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int IF_STATEMENT__FINAL_CLAUSE = STATEMENT_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Is Assured</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int IF_STATEMENT__IS_ASSURED = STATEMENT_FEATURE_COUNT + 2;
+
+ /**
+ * The feature id for the '<em><b>Is Determinate</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int IF_STATEMENT__IS_DETERMINATE = STATEMENT_FEATURE_COUNT + 3;
+
+ /**
+ * The number of structural features of the '<em>If Statement</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int IF_STATEMENT_FEATURE_COUNT = STATEMENT_FEATURE_COUNT + 4;
+
+ /**
+ * The operation id for the '<em>To Reference</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int IF_STATEMENT___TO_REFERENCE = STATEMENT___TO_REFERENCE;
+
+ /**
+ * The operation id for the '<em>Owner</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int IF_STATEMENT___OWNER = STATEMENT___OWNER;
+
+ /**
+ * The operation id for the '<em>Syntax Element owner</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int IF_STATEMENT___SYNTAX_ELEMENT_OWNER = STATEMENT___SYNTAX_ELEMENT_OWNER;
+
+ /**
+ * The operation id for the '<em>Current Scope</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int IF_STATEMENT___CURRENT_SCOPE = STATEMENT___CURRENT_SCOPE;
+
+ /**
+ * The operation id for the '<em>Syntax Element current Scope</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int IF_STATEMENT___SYNTAX_ELEMENT_CURRENT_SCOPE = STATEMENT___SYNTAX_ELEMENT_CURRENT_SCOPE;
+
+ /**
+ * The operation id for the '<em>Enclosing Statement</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int IF_STATEMENT___ENCLOSING_STATEMENT = STATEMENT___ENCLOSING_STATEMENT;
+
+ /**
+ * The operation id for the '<em>Enclosing Expression</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int IF_STATEMENT___ENCLOSING_EXPRESSION = STATEMENT___ENCLOSING_EXPRESSION;
+
+ /**
+ * The operation id for the '<em>Assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int IF_STATEMENT___ASSIGNMENTS_BEFORE = STATEMENT___ASSIGNMENTS_BEFORE;
+
+ /**
+ * The operation id for the '<em>Syntax Element assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int IF_STATEMENT___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE = STATEMENT___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE;
+
+ /**
+ * The operation id for the '<em>Syntax Element assignments Before base</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int IF_STATEMENT___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE_BASE = STATEMENT___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE_BASE;
+
+ /**
+ * The operation id for the '<em>Assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int IF_STATEMENT___ASSIGNMENTS_BEFORE__SYNTAXELEMENT = STATEMENT___ASSIGNMENTS_BEFORE__SYNTAXELEMENT;
+
+ /**
+ * The operation id for the '<em>Update All</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int IF_STATEMENT___UPDATE_ALL__ELIST_ELIST = STATEMENT___UPDATE_ALL__ELIST_ELIST;
+
+ /**
+ * The operation id for the '<em>Common Ancestor</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int IF_STATEMENT___COMMON_ANCESTOR__ELIST = STATEMENT___COMMON_ANCESTOR__ELIST;
+
+ /**
+ * The operation id for the '<em>Common Ancestors</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int IF_STATEMENT___COMMON_ANCESTORS__ELIST = STATEMENT___COMMON_ANCESTORS__ELIST;
+
+ /**
+ * The operation id for the '<em>Remove Duplicate Elements</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int IF_STATEMENT___REMOVE_DUPLICATE_ELEMENTS__ELIST = STATEMENT___REMOVE_DUPLICATE_ELEMENTS__ELIST;
+
+ /**
+ * The operation id for the '<em>Resolve In Library</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int IF_STATEMENT___RESOLVE_IN_LIBRARY__STRING = STATEMENT___RESOLVE_IN_LIBRARY__STRING;
+
+ /**
+ * The operation id for the '<em>Primitive Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int IF_STATEMENT___PRIMITIVE_TYPE__STRING = STATEMENT___PRIMITIVE_TYPE__STRING;
+
+ /**
+ * The operation id for the '<em>Primitive Type </em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int IF_STATEMENT___PRIMITIVE_TYPE____STRING = STATEMENT___PRIMITIVE_TYPE____STRING;
+
+ /**
+ * The operation id for the '<em>Boolean Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int IF_STATEMENT___BOOLEAN_TYPE = STATEMENT___BOOLEAN_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Boolean Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int IF_STATEMENT___IS_BOOLEAN_TYPE__ELEMENTREFERENCE = STATEMENT___IS_BOOLEAN_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Integer Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int IF_STATEMENT___INTEGER_TYPE = STATEMENT___INTEGER_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Integer Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int IF_STATEMENT___IS_INTEGER_TYPE__ELEMENTREFERENCE = STATEMENT___IS_INTEGER_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int IF_STATEMENT___STRING_TYPE = STATEMENT___STRING_TYPE;
+
+ /**
+ * The operation id for the '<em>Is String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int IF_STATEMENT___IS_STRING_TYPE__ELEMENTREFERENCE = STATEMENT___IS_STRING_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Unlimited Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int IF_STATEMENT___UNLIMITED_NATURAL_TYPE = STATEMENT___UNLIMITED_NATURAL_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Unlimited Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int IF_STATEMENT___IS_UNLIMITED_NATURAL_TYPE__ELEMENTREFERENCE = STATEMENT___IS_UNLIMITED_NATURAL_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Bit String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int IF_STATEMENT___BIT_STRING_TYPE = STATEMENT___BIT_STRING_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Bit String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int IF_STATEMENT___IS_BIT_STRING_TYPE__ELEMENTREFERENCE = STATEMENT___IS_BIT_STRING_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int IF_STATEMENT___NATURAL_TYPE = STATEMENT___NATURAL_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int IF_STATEMENT___IS_NATURAL_TYPE__ELEMENTREFERENCE = STATEMENT___IS_NATURAL_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Numeric Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int IF_STATEMENT___IS_NUMERIC_TYPE__ELEMENTREFERENCE = STATEMENT___IS_NUMERIC_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Collection Function Add</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int IF_STATEMENT___COLLECTION_FUNCTION_ADD = STATEMENT___COLLECTION_FUNCTION_ADD;
+
+ /**
+ * The operation id for the '<em>Is Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int IF_STATEMENT___IS_COLLECTION_CLASS__ELEMENTREFERENCE = STATEMENT___IS_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Integer Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int IF_STATEMENT___IS_INTEGER_COLLECTION_CLASS__ELEMENTREFERENCE = STATEMENT___IS_INTEGER_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Bit String Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int IF_STATEMENT___IS_BIT_STRING_COLLECTION_CLASS__ELEMENTREFERENCE = STATEMENT___IS_BIT_STRING_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Enclosing Loop Statement</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int IF_STATEMENT___ENCLOSING_LOOP_STATEMENT = STATEMENT___ENCLOSING_LOOP_STATEMENT;
+
+ /**
+ * The operation id for the '<em>Statement annotation Allowed</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int IF_STATEMENT___STATEMENT_ANNOTATION_ALLOWED__ANNOTATION = STATEMENT___STATEMENT_ANNOTATION_ALLOWED__ANNOTATION;
+
+ /**
+ * The operation id for the '<em>Annotation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int IF_STATEMENT___ANNOTATION = STATEMENT___ANNOTATION;
+
+ /**
+ * The operation id for the '<em>Has Annotation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int IF_STATEMENT___HAS_ANNOTATION__STRING = STATEMENT___HAS_ANNOTATION__STRING;
+
+ /**
+ * The operation id for the '<em>New Assignments</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int IF_STATEMENT___NEW_ASSIGNMENTS = STATEMENT___NEW_ASSIGNMENTS;
+
+ /**
+ * The operation id for the '<em>Resolve</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int IF_STATEMENT___RESOLVE__STRING = STATEMENT___RESOLVE__STRING;
+
+ /**
+ * The operation id for the '<em>Statement assignments After</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int IF_STATEMENT___STATEMENT_ASSIGNMENTS_AFTER = STATEMENT___STATEMENT_ASSIGNMENTS_AFTER;
+
+ /**
+ * The operation id for the '<em>Assignments After Cached</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int IF_STATEMENT___ASSIGNMENTS_AFTER_CACHED = STATEMENT___ASSIGNMENTS_AFTER_CACHED;
+
+ /**
+ * The operation id for the '<em>Merge Assignments</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int IF_STATEMENT___MERGE_ASSIGNMENTS__ELIST = STATEMENT___MERGE_ASSIGNMENTS__ELIST;
+
+ /**
+ * The operation id for the '<em>Merge</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int IF_STATEMENT___MERGE__STRING_ELIST = STATEMENT___MERGE__STRING_ELIST;
+
+ /**
+ * The operation id for the '<em>Statement Annotations Allowed</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int IF_STATEMENT___STATEMENT_ANNOTATIONS_ALLOWED__DIAGNOSTICCHAIN_MAP = STATEMENT___STATEMENT_ANNOTATIONS_ALLOWED__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Statement Unique Assignments</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int IF_STATEMENT___STATEMENT_UNIQUE_ASSIGNMENTS__DIAGNOSTICCHAIN_MAP = STATEMENT___STATEMENT_UNIQUE_ASSIGNMENTS__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Statement Is Isolated Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int IF_STATEMENT___STATEMENT_IS_ISOLATED_DERIVATION__DIAGNOSTICCHAIN_MAP = STATEMENT___STATEMENT_IS_ISOLATED_DERIVATION__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Assignments After</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int IF_STATEMENT___ASSIGNMENTS_AFTER = STATEMENT_OPERATION_COUNT + 0;
+
+ /**
+ * The operation id for the '<em>If Statement Assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int IF_STATEMENT___IF_STATEMENT_ASSIGNMENTS_BEFORE__DIAGNOSTICCHAIN_MAP = STATEMENT_OPERATION_COUNT + 1;
+
+ /**
+ * The operation id for the '<em>If Statement Assignments After</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int IF_STATEMENT___IF_STATEMENT_ASSIGNMENTS_AFTER__DIAGNOSTICCHAIN_MAP = STATEMENT_OPERATION_COUNT + 2;
+
+ /**
+ * The operation id for the '<em>If Statement Enclosed Statements</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int IF_STATEMENT___IF_STATEMENT_ENCLOSED_STATEMENTS__DIAGNOSTICCHAIN_MAP = STATEMENT_OPERATION_COUNT + 3;
+
+ /**
+ * The operation id for the '<em>If Statement Is Assured Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int IF_STATEMENT___IF_STATEMENT_IS_ASSURED_DERIVATION__DIAGNOSTICCHAIN_MAP = STATEMENT_OPERATION_COUNT + 4;
+
+ /**
+ * The operation id for the '<em>If Statement Is Determinate Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int IF_STATEMENT___IF_STATEMENT_IS_DETERMINATE_DERIVATION__DIAGNOSTICCHAIN_MAP = STATEMENT_OPERATION_COUNT + 5;
+
+ /**
+ * The operation id for the '<em>Annotation Allowed</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int IF_STATEMENT___ANNOTATION_ALLOWED__ANNOTATION = STATEMENT_OPERATION_COUNT + 6;
+
+ /**
+ * The number of operations of the '<em>If Statement</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int IF_STATEMENT_OPERATION_COUNT = STATEMENT_OPERATION_COUNT + 7;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.uml.alf.impl.SwitchStatementImpl <em>Switch Statement</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.uml.alf.impl.SwitchStatementImpl
+ * @see org.eclipse.papyrus.uml.alf.impl.AlfPackageImpl#getSwitchStatement()
+ * @generated
+ */
+ int SWITCH_STATEMENT = 89;
+
+ /**
+ * The feature id for the '<em><b>Owner</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SWITCH_STATEMENT__OWNER = STATEMENT__OWNER;
+
+ /**
+ * The feature id for the '<em><b>Assignment Before</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SWITCH_STATEMENT__ASSIGNMENT_BEFORE = STATEMENT__ASSIGNMENT_BEFORE;
+
+ /**
+ * The feature id for the '<em><b>Assignment After</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SWITCH_STATEMENT__ASSIGNMENT_AFTER = STATEMENT__ASSIGNMENT_AFTER;
+
+ /**
+ * The feature id for the '<em><b>Enclosing Statement</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SWITCH_STATEMENT__ENCLOSING_STATEMENT = STATEMENT__ENCLOSING_STATEMENT;
+
+ /**
+ * The feature id for the '<em><b>Is Isolated</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SWITCH_STATEMENT__IS_ISOLATED = STATEMENT__IS_ISOLATED;
+
+ /**
+ * The feature id for the '<em><b>Non Default Clause</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SWITCH_STATEMENT__NON_DEFAULT_CLAUSE = STATEMENT_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Expression</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SWITCH_STATEMENT__EXPRESSION = STATEMENT_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Default Clause</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SWITCH_STATEMENT__DEFAULT_CLAUSE = STATEMENT_FEATURE_COUNT + 2;
+
+ /**
+ * The feature id for the '<em><b>Is Assured</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SWITCH_STATEMENT__IS_ASSURED = STATEMENT_FEATURE_COUNT + 3;
+
+ /**
+ * The feature id for the '<em><b>Is Determinate</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SWITCH_STATEMENT__IS_DETERMINATE = STATEMENT_FEATURE_COUNT + 4;
+
+ /**
+ * The number of structural features of the '<em>Switch Statement</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SWITCH_STATEMENT_FEATURE_COUNT = STATEMENT_FEATURE_COUNT + 5;
+
+ /**
+ * The operation id for the '<em>To Reference</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SWITCH_STATEMENT___TO_REFERENCE = STATEMENT___TO_REFERENCE;
+
+ /**
+ * The operation id for the '<em>Owner</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SWITCH_STATEMENT___OWNER = STATEMENT___OWNER;
+
+ /**
+ * The operation id for the '<em>Syntax Element owner</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SWITCH_STATEMENT___SYNTAX_ELEMENT_OWNER = STATEMENT___SYNTAX_ELEMENT_OWNER;
+
+ /**
+ * The operation id for the '<em>Current Scope</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SWITCH_STATEMENT___CURRENT_SCOPE = STATEMENT___CURRENT_SCOPE;
+
+ /**
+ * The operation id for the '<em>Syntax Element current Scope</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SWITCH_STATEMENT___SYNTAX_ELEMENT_CURRENT_SCOPE = STATEMENT___SYNTAX_ELEMENT_CURRENT_SCOPE;
+
+ /**
+ * The operation id for the '<em>Enclosing Statement</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SWITCH_STATEMENT___ENCLOSING_STATEMENT = STATEMENT___ENCLOSING_STATEMENT;
+
+ /**
+ * The operation id for the '<em>Enclosing Expression</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SWITCH_STATEMENT___ENCLOSING_EXPRESSION = STATEMENT___ENCLOSING_EXPRESSION;
+
+ /**
+ * The operation id for the '<em>Assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SWITCH_STATEMENT___ASSIGNMENTS_BEFORE = STATEMENT___ASSIGNMENTS_BEFORE;
+
+ /**
+ * The operation id for the '<em>Syntax Element assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SWITCH_STATEMENT___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE = STATEMENT___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE;
+
+ /**
+ * The operation id for the '<em>Syntax Element assignments Before base</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SWITCH_STATEMENT___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE_BASE = STATEMENT___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE_BASE;
+
+ /**
+ * The operation id for the '<em>Update All</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SWITCH_STATEMENT___UPDATE_ALL__ELIST_ELIST = STATEMENT___UPDATE_ALL__ELIST_ELIST;
+
+ /**
+ * The operation id for the '<em>Common Ancestor</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SWITCH_STATEMENT___COMMON_ANCESTOR__ELIST = STATEMENT___COMMON_ANCESTOR__ELIST;
+
+ /**
+ * The operation id for the '<em>Common Ancestors</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SWITCH_STATEMENT___COMMON_ANCESTORS__ELIST = STATEMENT___COMMON_ANCESTORS__ELIST;
+
+ /**
+ * The operation id for the '<em>Remove Duplicate Elements</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SWITCH_STATEMENT___REMOVE_DUPLICATE_ELEMENTS__ELIST = STATEMENT___REMOVE_DUPLICATE_ELEMENTS__ELIST;
+
+ /**
+ * The operation id for the '<em>Resolve In Library</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SWITCH_STATEMENT___RESOLVE_IN_LIBRARY__STRING = STATEMENT___RESOLVE_IN_LIBRARY__STRING;
+
+ /**
+ * The operation id for the '<em>Primitive Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SWITCH_STATEMENT___PRIMITIVE_TYPE__STRING = STATEMENT___PRIMITIVE_TYPE__STRING;
+
+ /**
+ * The operation id for the '<em>Primitive Type </em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SWITCH_STATEMENT___PRIMITIVE_TYPE____STRING = STATEMENT___PRIMITIVE_TYPE____STRING;
+
+ /**
+ * The operation id for the '<em>Boolean Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SWITCH_STATEMENT___BOOLEAN_TYPE = STATEMENT___BOOLEAN_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Boolean Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SWITCH_STATEMENT___IS_BOOLEAN_TYPE__ELEMENTREFERENCE = STATEMENT___IS_BOOLEAN_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Integer Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SWITCH_STATEMENT___INTEGER_TYPE = STATEMENT___INTEGER_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Integer Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SWITCH_STATEMENT___IS_INTEGER_TYPE__ELEMENTREFERENCE = STATEMENT___IS_INTEGER_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SWITCH_STATEMENT___STRING_TYPE = STATEMENT___STRING_TYPE;
+
+ /**
+ * The operation id for the '<em>Is String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SWITCH_STATEMENT___IS_STRING_TYPE__ELEMENTREFERENCE = STATEMENT___IS_STRING_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Unlimited Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SWITCH_STATEMENT___UNLIMITED_NATURAL_TYPE = STATEMENT___UNLIMITED_NATURAL_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Unlimited Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SWITCH_STATEMENT___IS_UNLIMITED_NATURAL_TYPE__ELEMENTREFERENCE = STATEMENT___IS_UNLIMITED_NATURAL_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Bit String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SWITCH_STATEMENT___BIT_STRING_TYPE = STATEMENT___BIT_STRING_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Bit String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SWITCH_STATEMENT___IS_BIT_STRING_TYPE__ELEMENTREFERENCE = STATEMENT___IS_BIT_STRING_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SWITCH_STATEMENT___NATURAL_TYPE = STATEMENT___NATURAL_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SWITCH_STATEMENT___IS_NATURAL_TYPE__ELEMENTREFERENCE = STATEMENT___IS_NATURAL_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Numeric Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SWITCH_STATEMENT___IS_NUMERIC_TYPE__ELEMENTREFERENCE = STATEMENT___IS_NUMERIC_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Collection Function Add</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SWITCH_STATEMENT___COLLECTION_FUNCTION_ADD = STATEMENT___COLLECTION_FUNCTION_ADD;
+
+ /**
+ * The operation id for the '<em>Is Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SWITCH_STATEMENT___IS_COLLECTION_CLASS__ELEMENTREFERENCE = STATEMENT___IS_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Integer Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SWITCH_STATEMENT___IS_INTEGER_COLLECTION_CLASS__ELEMENTREFERENCE = STATEMENT___IS_INTEGER_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Bit String Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SWITCH_STATEMENT___IS_BIT_STRING_COLLECTION_CLASS__ELEMENTREFERENCE = STATEMENT___IS_BIT_STRING_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Enclosing Loop Statement</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SWITCH_STATEMENT___ENCLOSING_LOOP_STATEMENT = STATEMENT___ENCLOSING_LOOP_STATEMENT;
+
+ /**
+ * The operation id for the '<em>Statement annotation Allowed</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SWITCH_STATEMENT___STATEMENT_ANNOTATION_ALLOWED__ANNOTATION = STATEMENT___STATEMENT_ANNOTATION_ALLOWED__ANNOTATION;
+
+ /**
+ * The operation id for the '<em>Annotation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SWITCH_STATEMENT___ANNOTATION = STATEMENT___ANNOTATION;
+
+ /**
+ * The operation id for the '<em>Has Annotation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SWITCH_STATEMENT___HAS_ANNOTATION__STRING = STATEMENT___HAS_ANNOTATION__STRING;
+
+ /**
+ * The operation id for the '<em>New Assignments</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SWITCH_STATEMENT___NEW_ASSIGNMENTS = STATEMENT___NEW_ASSIGNMENTS;
+
+ /**
+ * The operation id for the '<em>Resolve</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SWITCH_STATEMENT___RESOLVE__STRING = STATEMENT___RESOLVE__STRING;
+
+ /**
+ * The operation id for the '<em>Statement assignments After</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SWITCH_STATEMENT___STATEMENT_ASSIGNMENTS_AFTER = STATEMENT___STATEMENT_ASSIGNMENTS_AFTER;
+
+ /**
+ * The operation id for the '<em>Assignments After Cached</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SWITCH_STATEMENT___ASSIGNMENTS_AFTER_CACHED = STATEMENT___ASSIGNMENTS_AFTER_CACHED;
+
+ /**
+ * The operation id for the '<em>Merge Assignments</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SWITCH_STATEMENT___MERGE_ASSIGNMENTS__ELIST = STATEMENT___MERGE_ASSIGNMENTS__ELIST;
+
+ /**
+ * The operation id for the '<em>Merge</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SWITCH_STATEMENT___MERGE__STRING_ELIST = STATEMENT___MERGE__STRING_ELIST;
+
+ /**
+ * The operation id for the '<em>Statement Annotations Allowed</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SWITCH_STATEMENT___STATEMENT_ANNOTATIONS_ALLOWED__DIAGNOSTICCHAIN_MAP = STATEMENT___STATEMENT_ANNOTATIONS_ALLOWED__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Statement Unique Assignments</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SWITCH_STATEMENT___STATEMENT_UNIQUE_ASSIGNMENTS__DIAGNOSTICCHAIN_MAP = STATEMENT___STATEMENT_UNIQUE_ASSIGNMENTS__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Statement Is Isolated Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SWITCH_STATEMENT___STATEMENT_IS_ISOLATED_DERIVATION__DIAGNOSTICCHAIN_MAP = STATEMENT___STATEMENT_IS_ISOLATED_DERIVATION__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SWITCH_STATEMENT___ASSIGNMENTS_BEFORE__SYNTAXELEMENT = STATEMENT_OPERATION_COUNT + 0;
+
+ /**
+ * The operation id for the '<em>Assignments After</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SWITCH_STATEMENT___ASSIGNMENTS_AFTER = STATEMENT_OPERATION_COUNT + 1;
+
+ /**
+ * The operation id for the '<em>Switch Statement Assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SWITCH_STATEMENT___SWITCH_STATEMENT_ASSIGNMENTS_BEFORE__DIAGNOSTICCHAIN_MAP = STATEMENT_OPERATION_COUNT + 2;
+
+ /**
+ * The operation id for the '<em>Switch Statement Case Assignments</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SWITCH_STATEMENT___SWITCH_STATEMENT_CASE_ASSIGNMENTS__DIAGNOSTICCHAIN_MAP = STATEMENT_OPERATION_COUNT + 3;
+
+ /**
+ * The operation id for the '<em>Switch Statement Assignments After</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SWITCH_STATEMENT___SWITCH_STATEMENT_ASSIGNMENTS_AFTER__DIAGNOSTICCHAIN_MAP = STATEMENT_OPERATION_COUNT + 4;
+
+ /**
+ * The operation id for the '<em>Switch Statement Assignments</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SWITCH_STATEMENT___SWITCH_STATEMENT_ASSIGNMENTS__DIAGNOSTICCHAIN_MAP = STATEMENT_OPERATION_COUNT + 5;
+
+ /**
+ * The operation id for the '<em>Switch Statement Expression</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SWITCH_STATEMENT___SWITCH_STATEMENT_EXPRESSION__DIAGNOSTICCHAIN_MAP = STATEMENT_OPERATION_COUNT + 6;
+
+ /**
+ * The operation id for the '<em>Switch Statement Enclosed Statements</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SWITCH_STATEMENT___SWITCH_STATEMENT_ENCLOSED_STATEMENTS__DIAGNOSTICCHAIN_MAP = STATEMENT_OPERATION_COUNT + 7;
+
+ /**
+ * The operation id for the '<em>Switch Statement Is Determinate Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SWITCH_STATEMENT___SWITCH_STATEMENT_IS_DETERMINATE_DERIVATION__DIAGNOSTICCHAIN_MAP = STATEMENT_OPERATION_COUNT + 8;
+
+ /**
+ * The operation id for the '<em>Switch Statement Is Assured Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SWITCH_STATEMENT___SWITCH_STATEMENT_IS_ASSURED_DERIVATION__DIAGNOSTICCHAIN_MAP = STATEMENT_OPERATION_COUNT + 9;
+
+ /**
+ * The operation id for the '<em>Annotation Allowed</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SWITCH_STATEMENT___ANNOTATION_ALLOWED__ANNOTATION = STATEMENT_OPERATION_COUNT + 10;
+
+ /**
+ * The number of operations of the '<em>Switch Statement</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SWITCH_STATEMENT_OPERATION_COUNT = STATEMENT_OPERATION_COUNT + 11;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.uml.alf.impl.SwitchClauseImpl <em>Switch Clause</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.uml.alf.impl.SwitchClauseImpl
+ * @see org.eclipse.papyrus.uml.alf.impl.AlfPackageImpl#getSwitchClause()
+ * @generated
+ */
+ int SWITCH_CLAUSE = 90;
+
+ /**
+ * The feature id for the '<em><b>Owner</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SWITCH_CLAUSE__OWNER = SYNTAX_ELEMENT__OWNER;
+
+ /**
+ * The feature id for the '<em><b>Case</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SWITCH_CLAUSE__CASE = SYNTAX_ELEMENT_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Block</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SWITCH_CLAUSE__BLOCK = SYNTAX_ELEMENT_FEATURE_COUNT + 1;
+
+ /**
+ * The number of structural features of the '<em>Switch Clause</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SWITCH_CLAUSE_FEATURE_COUNT = SYNTAX_ELEMENT_FEATURE_COUNT + 2;
+
+ /**
+ * The operation id for the '<em>To Reference</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SWITCH_CLAUSE___TO_REFERENCE = SYNTAX_ELEMENT___TO_REFERENCE;
+
+ /**
+ * The operation id for the '<em>Owner</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SWITCH_CLAUSE___OWNER = SYNTAX_ELEMENT___OWNER;
+
+ /**
+ * The operation id for the '<em>Syntax Element owner</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SWITCH_CLAUSE___SYNTAX_ELEMENT_OWNER = SYNTAX_ELEMENT___SYNTAX_ELEMENT_OWNER;
+
+ /**
+ * The operation id for the '<em>Current Scope</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SWITCH_CLAUSE___CURRENT_SCOPE = SYNTAX_ELEMENT___CURRENT_SCOPE;
+
+ /**
+ * The operation id for the '<em>Syntax Element current Scope</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SWITCH_CLAUSE___SYNTAX_ELEMENT_CURRENT_SCOPE = SYNTAX_ELEMENT___SYNTAX_ELEMENT_CURRENT_SCOPE;
+
+ /**
+ * The operation id for the '<em>Enclosing Statement</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SWITCH_CLAUSE___ENCLOSING_STATEMENT = SYNTAX_ELEMENT___ENCLOSING_STATEMENT;
+
+ /**
+ * The operation id for the '<em>Enclosing Expression</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SWITCH_CLAUSE___ENCLOSING_EXPRESSION = SYNTAX_ELEMENT___ENCLOSING_EXPRESSION;
+
+ /**
+ * The operation id for the '<em>Syntax Element assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SWITCH_CLAUSE___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE = SYNTAX_ELEMENT___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE;
+
+ /**
+ * The operation id for the '<em>Syntax Element assignments Before base</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SWITCH_CLAUSE___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE_BASE = SYNTAX_ELEMENT___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE_BASE;
+
+ /**
+ * The operation id for the '<em>Update All</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SWITCH_CLAUSE___UPDATE_ALL__ELIST_ELIST = SYNTAX_ELEMENT___UPDATE_ALL__ELIST_ELIST;
+
+ /**
+ * The operation id for the '<em>Common Ancestor</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SWITCH_CLAUSE___COMMON_ANCESTOR__ELIST = SYNTAX_ELEMENT___COMMON_ANCESTOR__ELIST;
+
+ /**
+ * The operation id for the '<em>Common Ancestors</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SWITCH_CLAUSE___COMMON_ANCESTORS__ELIST = SYNTAX_ELEMENT___COMMON_ANCESTORS__ELIST;
+
+ /**
+ * The operation id for the '<em>Remove Duplicate Elements</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SWITCH_CLAUSE___REMOVE_DUPLICATE_ELEMENTS__ELIST = SYNTAX_ELEMENT___REMOVE_DUPLICATE_ELEMENTS__ELIST;
+
+ /**
+ * The operation id for the '<em>Resolve In Library</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SWITCH_CLAUSE___RESOLVE_IN_LIBRARY__STRING = SYNTAX_ELEMENT___RESOLVE_IN_LIBRARY__STRING;
+
+ /**
+ * The operation id for the '<em>Primitive Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SWITCH_CLAUSE___PRIMITIVE_TYPE__STRING = SYNTAX_ELEMENT___PRIMITIVE_TYPE__STRING;
+
+ /**
+ * The operation id for the '<em>Primitive Type </em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SWITCH_CLAUSE___PRIMITIVE_TYPE____STRING = SYNTAX_ELEMENT___PRIMITIVE_TYPE____STRING;
+
+ /**
+ * The operation id for the '<em>Boolean Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SWITCH_CLAUSE___BOOLEAN_TYPE = SYNTAX_ELEMENT___BOOLEAN_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Boolean Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SWITCH_CLAUSE___IS_BOOLEAN_TYPE__ELEMENTREFERENCE = SYNTAX_ELEMENT___IS_BOOLEAN_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Integer Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SWITCH_CLAUSE___INTEGER_TYPE = SYNTAX_ELEMENT___INTEGER_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Integer Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SWITCH_CLAUSE___IS_INTEGER_TYPE__ELEMENTREFERENCE = SYNTAX_ELEMENT___IS_INTEGER_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SWITCH_CLAUSE___STRING_TYPE = SYNTAX_ELEMENT___STRING_TYPE;
+
+ /**
+ * The operation id for the '<em>Is String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SWITCH_CLAUSE___IS_STRING_TYPE__ELEMENTREFERENCE = SYNTAX_ELEMENT___IS_STRING_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Unlimited Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SWITCH_CLAUSE___UNLIMITED_NATURAL_TYPE = SYNTAX_ELEMENT___UNLIMITED_NATURAL_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Unlimited Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SWITCH_CLAUSE___IS_UNLIMITED_NATURAL_TYPE__ELEMENTREFERENCE = SYNTAX_ELEMENT___IS_UNLIMITED_NATURAL_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Bit String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SWITCH_CLAUSE___BIT_STRING_TYPE = SYNTAX_ELEMENT___BIT_STRING_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Bit String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SWITCH_CLAUSE___IS_BIT_STRING_TYPE__ELEMENTREFERENCE = SYNTAX_ELEMENT___IS_BIT_STRING_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SWITCH_CLAUSE___NATURAL_TYPE = SYNTAX_ELEMENT___NATURAL_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SWITCH_CLAUSE___IS_NATURAL_TYPE__ELEMENTREFERENCE = SYNTAX_ELEMENT___IS_NATURAL_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Numeric Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SWITCH_CLAUSE___IS_NUMERIC_TYPE__ELEMENTREFERENCE = SYNTAX_ELEMENT___IS_NUMERIC_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Collection Function Add</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SWITCH_CLAUSE___COLLECTION_FUNCTION_ADD = SYNTAX_ELEMENT___COLLECTION_FUNCTION_ADD;
+
+ /**
+ * The operation id for the '<em>Is Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SWITCH_CLAUSE___IS_COLLECTION_CLASS__ELEMENTREFERENCE = SYNTAX_ELEMENT___IS_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Integer Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SWITCH_CLAUSE___IS_INTEGER_COLLECTION_CLASS__ELEMENTREFERENCE = SYNTAX_ELEMENT___IS_INTEGER_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Bit String Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SWITCH_CLAUSE___IS_BIT_STRING_COLLECTION_CLASS__ELEMENTREFERENCE = SYNTAX_ELEMENT___IS_BIT_STRING_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SWITCH_CLAUSE___ASSIGNMENTS_BEFORE__SYNTAXELEMENT = SYNTAX_ELEMENT_OPERATION_COUNT + 0;
+
+ /**
+ * The operation id for the '<em>Assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SWITCH_CLAUSE___ASSIGNMENTS_BEFORE = SYNTAX_ELEMENT_OPERATION_COUNT + 1;
+
+ /**
+ * The operation id for the '<em>Assignments After</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SWITCH_CLAUSE___ASSIGNMENTS_AFTER = SYNTAX_ELEMENT_OPERATION_COUNT + 2;
+
+ /**
+ * The operation id for the '<em>Switch Clause Assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SWITCH_CLAUSE___SWITCH_CLAUSE_ASSIGNMENTS_BEFORE__DIAGNOSTICCHAIN_MAP = SYNTAX_ELEMENT_OPERATION_COUNT + 3;
+
+ /**
+ * The operation id for the '<em>Switch Clause Case Local Names</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SWITCH_CLAUSE___SWITCH_CLAUSE_CASE_LOCAL_NAMES__DIAGNOSTICCHAIN_MAP = SYNTAX_ELEMENT_OPERATION_COUNT + 4;
+
+ /**
+ * The operation id for the '<em>Switch Clause Cases</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SWITCH_CLAUSE___SWITCH_CLAUSE_CASES__DIAGNOSTICCHAIN_MAP = SYNTAX_ELEMENT_OPERATION_COUNT + 5;
+
+ /**
+ * The number of operations of the '<em>Switch Clause</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SWITCH_CLAUSE_OPERATION_COUNT = SYNTAX_ELEMENT_OPERATION_COUNT + 6;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.uml.alf.impl.WhileStatementImpl <em>While Statement</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.uml.alf.impl.WhileStatementImpl
+ * @see org.eclipse.papyrus.uml.alf.impl.AlfPackageImpl#getWhileStatement()
+ * @generated
+ */
+ int WHILE_STATEMENT = 91;
+
+ /**
+ * The feature id for the '<em><b>Owner</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int WHILE_STATEMENT__OWNER = STATEMENT__OWNER;
+
+ /**
+ * The feature id for the '<em><b>Assignment Before</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int WHILE_STATEMENT__ASSIGNMENT_BEFORE = STATEMENT__ASSIGNMENT_BEFORE;
+
+ /**
+ * The feature id for the '<em><b>Assignment After</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int WHILE_STATEMENT__ASSIGNMENT_AFTER = STATEMENT__ASSIGNMENT_AFTER;
+
+ /**
+ * The feature id for the '<em><b>Enclosing Statement</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int WHILE_STATEMENT__ENCLOSING_STATEMENT = STATEMENT__ENCLOSING_STATEMENT;
+
+ /**
+ * The feature id for the '<em><b>Is Isolated</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int WHILE_STATEMENT__IS_ISOLATED = STATEMENT__IS_ISOLATED;
+
+ /**
+ * The feature id for the '<em><b>Body</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int WHILE_STATEMENT__BODY = STATEMENT_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Condition</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int WHILE_STATEMENT__CONDITION = STATEMENT_FEATURE_COUNT + 1;
+
+ /**
+ * The number of structural features of the '<em>While Statement</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int WHILE_STATEMENT_FEATURE_COUNT = STATEMENT_FEATURE_COUNT + 2;
+
+ /**
+ * The operation id for the '<em>To Reference</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int WHILE_STATEMENT___TO_REFERENCE = STATEMENT___TO_REFERENCE;
+
+ /**
+ * The operation id for the '<em>Owner</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int WHILE_STATEMENT___OWNER = STATEMENT___OWNER;
+
+ /**
+ * The operation id for the '<em>Syntax Element owner</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int WHILE_STATEMENT___SYNTAX_ELEMENT_OWNER = STATEMENT___SYNTAX_ELEMENT_OWNER;
+
+ /**
+ * The operation id for the '<em>Current Scope</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int WHILE_STATEMENT___CURRENT_SCOPE = STATEMENT___CURRENT_SCOPE;
+
+ /**
+ * The operation id for the '<em>Syntax Element current Scope</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int WHILE_STATEMENT___SYNTAX_ELEMENT_CURRENT_SCOPE = STATEMENT___SYNTAX_ELEMENT_CURRENT_SCOPE;
+
+ /**
+ * The operation id for the '<em>Enclosing Statement</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int WHILE_STATEMENT___ENCLOSING_STATEMENT = STATEMENT___ENCLOSING_STATEMENT;
+
+ /**
+ * The operation id for the '<em>Enclosing Expression</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int WHILE_STATEMENT___ENCLOSING_EXPRESSION = STATEMENT___ENCLOSING_EXPRESSION;
+
+ /**
+ * The operation id for the '<em>Assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int WHILE_STATEMENT___ASSIGNMENTS_BEFORE = STATEMENT___ASSIGNMENTS_BEFORE;
+
+ /**
+ * The operation id for the '<em>Syntax Element assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int WHILE_STATEMENT___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE = STATEMENT___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE;
+
+ /**
+ * The operation id for the '<em>Syntax Element assignments Before base</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int WHILE_STATEMENT___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE_BASE = STATEMENT___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE_BASE;
+
+ /**
+ * The operation id for the '<em>Update All</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int WHILE_STATEMENT___UPDATE_ALL__ELIST_ELIST = STATEMENT___UPDATE_ALL__ELIST_ELIST;
+
+ /**
+ * The operation id for the '<em>Common Ancestor</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int WHILE_STATEMENT___COMMON_ANCESTOR__ELIST = STATEMENT___COMMON_ANCESTOR__ELIST;
+
+ /**
+ * The operation id for the '<em>Common Ancestors</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int WHILE_STATEMENT___COMMON_ANCESTORS__ELIST = STATEMENT___COMMON_ANCESTORS__ELIST;
+
+ /**
+ * The operation id for the '<em>Remove Duplicate Elements</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int WHILE_STATEMENT___REMOVE_DUPLICATE_ELEMENTS__ELIST = STATEMENT___REMOVE_DUPLICATE_ELEMENTS__ELIST;
+
+ /**
+ * The operation id for the '<em>Resolve In Library</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int WHILE_STATEMENT___RESOLVE_IN_LIBRARY__STRING = STATEMENT___RESOLVE_IN_LIBRARY__STRING;
+
+ /**
+ * The operation id for the '<em>Primitive Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int WHILE_STATEMENT___PRIMITIVE_TYPE__STRING = STATEMENT___PRIMITIVE_TYPE__STRING;
+
+ /**
+ * The operation id for the '<em>Primitive Type </em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int WHILE_STATEMENT___PRIMITIVE_TYPE____STRING = STATEMENT___PRIMITIVE_TYPE____STRING;
+
+ /**
+ * The operation id for the '<em>Boolean Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int WHILE_STATEMENT___BOOLEAN_TYPE = STATEMENT___BOOLEAN_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Boolean Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int WHILE_STATEMENT___IS_BOOLEAN_TYPE__ELEMENTREFERENCE = STATEMENT___IS_BOOLEAN_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Integer Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int WHILE_STATEMENT___INTEGER_TYPE = STATEMENT___INTEGER_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Integer Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int WHILE_STATEMENT___IS_INTEGER_TYPE__ELEMENTREFERENCE = STATEMENT___IS_INTEGER_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int WHILE_STATEMENT___STRING_TYPE = STATEMENT___STRING_TYPE;
+
+ /**
+ * The operation id for the '<em>Is String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int WHILE_STATEMENT___IS_STRING_TYPE__ELEMENTREFERENCE = STATEMENT___IS_STRING_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Unlimited Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int WHILE_STATEMENT___UNLIMITED_NATURAL_TYPE = STATEMENT___UNLIMITED_NATURAL_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Unlimited Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int WHILE_STATEMENT___IS_UNLIMITED_NATURAL_TYPE__ELEMENTREFERENCE = STATEMENT___IS_UNLIMITED_NATURAL_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Bit String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int WHILE_STATEMENT___BIT_STRING_TYPE = STATEMENT___BIT_STRING_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Bit String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int WHILE_STATEMENT___IS_BIT_STRING_TYPE__ELEMENTREFERENCE = STATEMENT___IS_BIT_STRING_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int WHILE_STATEMENT___NATURAL_TYPE = STATEMENT___NATURAL_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int WHILE_STATEMENT___IS_NATURAL_TYPE__ELEMENTREFERENCE = STATEMENT___IS_NATURAL_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Numeric Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int WHILE_STATEMENT___IS_NUMERIC_TYPE__ELEMENTREFERENCE = STATEMENT___IS_NUMERIC_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Collection Function Add</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int WHILE_STATEMENT___COLLECTION_FUNCTION_ADD = STATEMENT___COLLECTION_FUNCTION_ADD;
+
+ /**
+ * The operation id for the '<em>Is Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int WHILE_STATEMENT___IS_COLLECTION_CLASS__ELEMENTREFERENCE = STATEMENT___IS_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Integer Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int WHILE_STATEMENT___IS_INTEGER_COLLECTION_CLASS__ELEMENTREFERENCE = STATEMENT___IS_INTEGER_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Bit String Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int WHILE_STATEMENT___IS_BIT_STRING_COLLECTION_CLASS__ELEMENTREFERENCE = STATEMENT___IS_BIT_STRING_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Annotation Allowed</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int WHILE_STATEMENT___ANNOTATION_ALLOWED__ANNOTATION = STATEMENT___ANNOTATION_ALLOWED__ANNOTATION;
+
+ /**
+ * The operation id for the '<em>Statement annotation Allowed</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int WHILE_STATEMENT___STATEMENT_ANNOTATION_ALLOWED__ANNOTATION = STATEMENT___STATEMENT_ANNOTATION_ALLOWED__ANNOTATION;
+
+ /**
+ * The operation id for the '<em>Annotation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int WHILE_STATEMENT___ANNOTATION = STATEMENT___ANNOTATION;
+
+ /**
+ * The operation id for the '<em>Has Annotation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int WHILE_STATEMENT___HAS_ANNOTATION__STRING = STATEMENT___HAS_ANNOTATION__STRING;
+
+ /**
+ * The operation id for the '<em>New Assignments</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int WHILE_STATEMENT___NEW_ASSIGNMENTS = STATEMENT___NEW_ASSIGNMENTS;
+
+ /**
+ * The operation id for the '<em>Resolve</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int WHILE_STATEMENT___RESOLVE__STRING = STATEMENT___RESOLVE__STRING;
+
+ /**
+ * The operation id for the '<em>Statement assignments After</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int WHILE_STATEMENT___STATEMENT_ASSIGNMENTS_AFTER = STATEMENT___STATEMENT_ASSIGNMENTS_AFTER;
+
+ /**
+ * The operation id for the '<em>Assignments After Cached</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int WHILE_STATEMENT___ASSIGNMENTS_AFTER_CACHED = STATEMENT___ASSIGNMENTS_AFTER_CACHED;
+
+ /**
+ * The operation id for the '<em>Merge Assignments</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int WHILE_STATEMENT___MERGE_ASSIGNMENTS__ELIST = STATEMENT___MERGE_ASSIGNMENTS__ELIST;
+
+ /**
+ * The operation id for the '<em>Merge</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int WHILE_STATEMENT___MERGE__STRING_ELIST = STATEMENT___MERGE__STRING_ELIST;
+
+ /**
+ * The operation id for the '<em>Statement Annotations Allowed</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int WHILE_STATEMENT___STATEMENT_ANNOTATIONS_ALLOWED__DIAGNOSTICCHAIN_MAP = STATEMENT___STATEMENT_ANNOTATIONS_ALLOWED__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Statement Unique Assignments</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int WHILE_STATEMENT___STATEMENT_UNIQUE_ASSIGNMENTS__DIAGNOSTICCHAIN_MAP = STATEMENT___STATEMENT_UNIQUE_ASSIGNMENTS__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Statement Is Isolated Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int WHILE_STATEMENT___STATEMENT_IS_ISOLATED_DERIVATION__DIAGNOSTICCHAIN_MAP = STATEMENT___STATEMENT_IS_ISOLATED_DERIVATION__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Enclosing Loop Statement</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int WHILE_STATEMENT___ENCLOSING_LOOP_STATEMENT = STATEMENT_OPERATION_COUNT + 0;
+
+ /**
+ * The operation id for the '<em>Assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int WHILE_STATEMENT___ASSIGNMENTS_BEFORE__SYNTAXELEMENT = STATEMENT_OPERATION_COUNT + 1;
+
+ /**
+ * The operation id for the '<em>Assignments After</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int WHILE_STATEMENT___ASSIGNMENTS_AFTER = STATEMENT_OPERATION_COUNT + 2;
+
+ /**
+ * The operation id for the '<em>While Statement Assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int WHILE_STATEMENT___WHILE_STATEMENT_ASSIGNMENTS_BEFORE__DIAGNOSTICCHAIN_MAP = STATEMENT_OPERATION_COUNT + 3;
+
+ /**
+ * The operation id for the '<em>While Statement Assignments After</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int WHILE_STATEMENT___WHILE_STATEMENT_ASSIGNMENTS_AFTER__DIAGNOSTICCHAIN_MAP = STATEMENT_OPERATION_COUNT + 4;
+
+ /**
+ * The operation id for the '<em>While Statement Condition</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int WHILE_STATEMENT___WHILE_STATEMENT_CONDITION__DIAGNOSTICCHAIN_MAP = STATEMENT_OPERATION_COUNT + 5;
+
+ /**
+ * The operation id for the '<em>While Statement Enclosed Statements</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int WHILE_STATEMENT___WHILE_STATEMENT_ENCLOSED_STATEMENTS__DIAGNOSTICCHAIN_MAP = STATEMENT_OPERATION_COUNT + 6;
+
+ /**
+ * The number of operations of the '<em>While Statement</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int WHILE_STATEMENT_OPERATION_COUNT = STATEMENT_OPERATION_COUNT + 7;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.uml.alf.impl.ReturnStatementImpl <em>Return Statement</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.uml.alf.impl.ReturnStatementImpl
+ * @see org.eclipse.papyrus.uml.alf.impl.AlfPackageImpl#getReturnStatement()
+ * @generated
+ */
+ int RETURN_STATEMENT = 92;
+
+ /**
+ * The feature id for the '<em><b>Owner</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int RETURN_STATEMENT__OWNER = STATEMENT__OWNER;
+
+ /**
+ * The feature id for the '<em><b>Assignment Before</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int RETURN_STATEMENT__ASSIGNMENT_BEFORE = STATEMENT__ASSIGNMENT_BEFORE;
+
+ /**
+ * The feature id for the '<em><b>Assignment After</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int RETURN_STATEMENT__ASSIGNMENT_AFTER = STATEMENT__ASSIGNMENT_AFTER;
+
+ /**
+ * The feature id for the '<em><b>Enclosing Statement</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int RETURN_STATEMENT__ENCLOSING_STATEMENT = STATEMENT__ENCLOSING_STATEMENT;
+
+ /**
+ * The feature id for the '<em><b>Is Isolated</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int RETURN_STATEMENT__IS_ISOLATED = STATEMENT__IS_ISOLATED;
+
+ /**
+ * The feature id for the '<em><b>Expression</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int RETURN_STATEMENT__EXPRESSION = STATEMENT_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Behavior</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int RETURN_STATEMENT__BEHAVIOR = STATEMENT_FEATURE_COUNT + 1;
+
+ /**
+ * The number of structural features of the '<em>Return Statement</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int RETURN_STATEMENT_FEATURE_COUNT = STATEMENT_FEATURE_COUNT + 2;
+
+ /**
+ * The operation id for the '<em>To Reference</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int RETURN_STATEMENT___TO_REFERENCE = STATEMENT___TO_REFERENCE;
+
+ /**
+ * The operation id for the '<em>Owner</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int RETURN_STATEMENT___OWNER = STATEMENT___OWNER;
+
+ /**
+ * The operation id for the '<em>Syntax Element owner</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int RETURN_STATEMENT___SYNTAX_ELEMENT_OWNER = STATEMENT___SYNTAX_ELEMENT_OWNER;
+
+ /**
+ * The operation id for the '<em>Current Scope</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int RETURN_STATEMENT___CURRENT_SCOPE = STATEMENT___CURRENT_SCOPE;
+
+ /**
+ * The operation id for the '<em>Syntax Element current Scope</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int RETURN_STATEMENT___SYNTAX_ELEMENT_CURRENT_SCOPE = STATEMENT___SYNTAX_ELEMENT_CURRENT_SCOPE;
+
+ /**
+ * The operation id for the '<em>Enclosing Statement</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int RETURN_STATEMENT___ENCLOSING_STATEMENT = STATEMENT___ENCLOSING_STATEMENT;
+
+ /**
+ * The operation id for the '<em>Enclosing Expression</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int RETURN_STATEMENT___ENCLOSING_EXPRESSION = STATEMENT___ENCLOSING_EXPRESSION;
+
+ /**
+ * The operation id for the '<em>Assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int RETURN_STATEMENT___ASSIGNMENTS_BEFORE = STATEMENT___ASSIGNMENTS_BEFORE;
+
+ /**
+ * The operation id for the '<em>Syntax Element assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int RETURN_STATEMENT___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE = STATEMENT___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE;
+
+ /**
+ * The operation id for the '<em>Syntax Element assignments Before base</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int RETURN_STATEMENT___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE_BASE = STATEMENT___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE_BASE;
+
+ /**
+ * The operation id for the '<em>Assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int RETURN_STATEMENT___ASSIGNMENTS_BEFORE__SYNTAXELEMENT = STATEMENT___ASSIGNMENTS_BEFORE__SYNTAXELEMENT;
+
+ /**
+ * The operation id for the '<em>Update All</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int RETURN_STATEMENT___UPDATE_ALL__ELIST_ELIST = STATEMENT___UPDATE_ALL__ELIST_ELIST;
+
+ /**
+ * The operation id for the '<em>Common Ancestor</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int RETURN_STATEMENT___COMMON_ANCESTOR__ELIST = STATEMENT___COMMON_ANCESTOR__ELIST;
+
+ /**
+ * The operation id for the '<em>Common Ancestors</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int RETURN_STATEMENT___COMMON_ANCESTORS__ELIST = STATEMENT___COMMON_ANCESTORS__ELIST;
+
+ /**
+ * The operation id for the '<em>Remove Duplicate Elements</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int RETURN_STATEMENT___REMOVE_DUPLICATE_ELEMENTS__ELIST = STATEMENT___REMOVE_DUPLICATE_ELEMENTS__ELIST;
+
+ /**
+ * The operation id for the '<em>Resolve In Library</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int RETURN_STATEMENT___RESOLVE_IN_LIBRARY__STRING = STATEMENT___RESOLVE_IN_LIBRARY__STRING;
+
+ /**
+ * The operation id for the '<em>Primitive Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int RETURN_STATEMENT___PRIMITIVE_TYPE__STRING = STATEMENT___PRIMITIVE_TYPE__STRING;
+
+ /**
+ * The operation id for the '<em>Primitive Type </em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int RETURN_STATEMENT___PRIMITIVE_TYPE____STRING = STATEMENT___PRIMITIVE_TYPE____STRING;
+
+ /**
+ * The operation id for the '<em>Boolean Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int RETURN_STATEMENT___BOOLEAN_TYPE = STATEMENT___BOOLEAN_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Boolean Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int RETURN_STATEMENT___IS_BOOLEAN_TYPE__ELEMENTREFERENCE = STATEMENT___IS_BOOLEAN_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Integer Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int RETURN_STATEMENT___INTEGER_TYPE = STATEMENT___INTEGER_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Integer Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int RETURN_STATEMENT___IS_INTEGER_TYPE__ELEMENTREFERENCE = STATEMENT___IS_INTEGER_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int RETURN_STATEMENT___STRING_TYPE = STATEMENT___STRING_TYPE;
+
+ /**
+ * The operation id for the '<em>Is String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int RETURN_STATEMENT___IS_STRING_TYPE__ELEMENTREFERENCE = STATEMENT___IS_STRING_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Unlimited Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int RETURN_STATEMENT___UNLIMITED_NATURAL_TYPE = STATEMENT___UNLIMITED_NATURAL_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Unlimited Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int RETURN_STATEMENT___IS_UNLIMITED_NATURAL_TYPE__ELEMENTREFERENCE = STATEMENT___IS_UNLIMITED_NATURAL_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Bit String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int RETURN_STATEMENT___BIT_STRING_TYPE = STATEMENT___BIT_STRING_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Bit String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int RETURN_STATEMENT___IS_BIT_STRING_TYPE__ELEMENTREFERENCE = STATEMENT___IS_BIT_STRING_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int RETURN_STATEMENT___NATURAL_TYPE = STATEMENT___NATURAL_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int RETURN_STATEMENT___IS_NATURAL_TYPE__ELEMENTREFERENCE = STATEMENT___IS_NATURAL_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Numeric Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int RETURN_STATEMENT___IS_NUMERIC_TYPE__ELEMENTREFERENCE = STATEMENT___IS_NUMERIC_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Collection Function Add</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int RETURN_STATEMENT___COLLECTION_FUNCTION_ADD = STATEMENT___COLLECTION_FUNCTION_ADD;
+
+ /**
+ * The operation id for the '<em>Is Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int RETURN_STATEMENT___IS_COLLECTION_CLASS__ELEMENTREFERENCE = STATEMENT___IS_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Integer Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int RETURN_STATEMENT___IS_INTEGER_COLLECTION_CLASS__ELEMENTREFERENCE = STATEMENT___IS_INTEGER_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Bit String Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int RETURN_STATEMENT___IS_BIT_STRING_COLLECTION_CLASS__ELEMENTREFERENCE = STATEMENT___IS_BIT_STRING_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Enclosing Loop Statement</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int RETURN_STATEMENT___ENCLOSING_LOOP_STATEMENT = STATEMENT___ENCLOSING_LOOP_STATEMENT;
+
+ /**
+ * The operation id for the '<em>Annotation Allowed</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int RETURN_STATEMENT___ANNOTATION_ALLOWED__ANNOTATION = STATEMENT___ANNOTATION_ALLOWED__ANNOTATION;
+
+ /**
+ * The operation id for the '<em>Statement annotation Allowed</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int RETURN_STATEMENT___STATEMENT_ANNOTATION_ALLOWED__ANNOTATION = STATEMENT___STATEMENT_ANNOTATION_ALLOWED__ANNOTATION;
+
+ /**
+ * The operation id for the '<em>Annotation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int RETURN_STATEMENT___ANNOTATION = STATEMENT___ANNOTATION;
+
+ /**
+ * The operation id for the '<em>Has Annotation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int RETURN_STATEMENT___HAS_ANNOTATION__STRING = STATEMENT___HAS_ANNOTATION__STRING;
+
+ /**
+ * The operation id for the '<em>New Assignments</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int RETURN_STATEMENT___NEW_ASSIGNMENTS = STATEMENT___NEW_ASSIGNMENTS;
+
+ /**
+ * The operation id for the '<em>Resolve</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int RETURN_STATEMENT___RESOLVE__STRING = STATEMENT___RESOLVE__STRING;
+
+ /**
+ * The operation id for the '<em>Statement assignments After</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int RETURN_STATEMENT___STATEMENT_ASSIGNMENTS_AFTER = STATEMENT___STATEMENT_ASSIGNMENTS_AFTER;
+
+ /**
+ * The operation id for the '<em>Assignments After Cached</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int RETURN_STATEMENT___ASSIGNMENTS_AFTER_CACHED = STATEMENT___ASSIGNMENTS_AFTER_CACHED;
+
+ /**
+ * The operation id for the '<em>Merge Assignments</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int RETURN_STATEMENT___MERGE_ASSIGNMENTS__ELIST = STATEMENT___MERGE_ASSIGNMENTS__ELIST;
+
+ /**
+ * The operation id for the '<em>Merge</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int RETURN_STATEMENT___MERGE__STRING_ELIST = STATEMENT___MERGE__STRING_ELIST;
+
+ /**
+ * The operation id for the '<em>Statement Annotations Allowed</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int RETURN_STATEMENT___STATEMENT_ANNOTATIONS_ALLOWED__DIAGNOSTICCHAIN_MAP = STATEMENT___STATEMENT_ANNOTATIONS_ALLOWED__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Statement Unique Assignments</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int RETURN_STATEMENT___STATEMENT_UNIQUE_ASSIGNMENTS__DIAGNOSTICCHAIN_MAP = STATEMENT___STATEMENT_UNIQUE_ASSIGNMENTS__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Statement Is Isolated Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int RETURN_STATEMENT___STATEMENT_IS_ISOLATED_DERIVATION__DIAGNOSTICCHAIN_MAP = STATEMENT___STATEMENT_IS_ISOLATED_DERIVATION__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Assignments After</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int RETURN_STATEMENT___ASSIGNMENTS_AFTER = STATEMENT_OPERATION_COUNT + 0;
+
+ /**
+ * The operation id for the '<em>Return Statement Context</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int RETURN_STATEMENT___RETURN_STATEMENT_CONTEXT__DIAGNOSTICCHAIN_MAP = STATEMENT_OPERATION_COUNT + 1;
+
+ /**
+ * The operation id for the '<em>Return Statement Assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int RETURN_STATEMENT___RETURN_STATEMENT_ASSIGNMENTS_BEFORE__DIAGNOSTICCHAIN_MAP = STATEMENT_OPERATION_COUNT + 2;
+
+ /**
+ * The operation id for the '<em>Return Statement Assignments After</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int RETURN_STATEMENT___RETURN_STATEMENT_ASSIGNMENTS_AFTER__DIAGNOSTICCHAIN_MAP = STATEMENT_OPERATION_COUNT + 3;
+
+ /**
+ * The number of operations of the '<em>Return Statement</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int RETURN_STATEMENT_OPERATION_COUNT = STATEMENT_OPERATION_COUNT + 4;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.uml.alf.impl.InLineStatementImpl <em>In Line Statement</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.uml.alf.impl.InLineStatementImpl
+ * @see org.eclipse.papyrus.uml.alf.impl.AlfPackageImpl#getInLineStatement()
+ * @generated
+ */
+ int IN_LINE_STATEMENT = 93;
+
+ /**
+ * The feature id for the '<em><b>Owner</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int IN_LINE_STATEMENT__OWNER = STATEMENT__OWNER;
+
+ /**
+ * The feature id for the '<em><b>Assignment Before</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int IN_LINE_STATEMENT__ASSIGNMENT_BEFORE = STATEMENT__ASSIGNMENT_BEFORE;
+
+ /**
+ * The feature id for the '<em><b>Assignment After</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int IN_LINE_STATEMENT__ASSIGNMENT_AFTER = STATEMENT__ASSIGNMENT_AFTER;
+
+ /**
+ * The feature id for the '<em><b>Enclosing Statement</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int IN_LINE_STATEMENT__ENCLOSING_STATEMENT = STATEMENT__ENCLOSING_STATEMENT;
+
+ /**
+ * The feature id for the '<em><b>Is Isolated</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int IN_LINE_STATEMENT__IS_ISOLATED = STATEMENT__IS_ISOLATED;
+
+ /**
+ * The feature id for the '<em><b>Language</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int IN_LINE_STATEMENT__LANGUAGE = STATEMENT_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Code</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int IN_LINE_STATEMENT__CODE = STATEMENT_FEATURE_COUNT + 1;
+
+ /**
+ * The number of structural features of the '<em>In Line Statement</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int IN_LINE_STATEMENT_FEATURE_COUNT = STATEMENT_FEATURE_COUNT + 2;
+
+ /**
+ * The operation id for the '<em>To Reference</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int IN_LINE_STATEMENT___TO_REFERENCE = STATEMENT___TO_REFERENCE;
+
+ /**
+ * The operation id for the '<em>Owner</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int IN_LINE_STATEMENT___OWNER = STATEMENT___OWNER;
+
+ /**
+ * The operation id for the '<em>Syntax Element owner</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int IN_LINE_STATEMENT___SYNTAX_ELEMENT_OWNER = STATEMENT___SYNTAX_ELEMENT_OWNER;
+
+ /**
+ * The operation id for the '<em>Current Scope</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int IN_LINE_STATEMENT___CURRENT_SCOPE = STATEMENT___CURRENT_SCOPE;
+
+ /**
+ * The operation id for the '<em>Syntax Element current Scope</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int IN_LINE_STATEMENT___SYNTAX_ELEMENT_CURRENT_SCOPE = STATEMENT___SYNTAX_ELEMENT_CURRENT_SCOPE;
+
+ /**
+ * The operation id for the '<em>Enclosing Statement</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int IN_LINE_STATEMENT___ENCLOSING_STATEMENT = STATEMENT___ENCLOSING_STATEMENT;
+
+ /**
+ * The operation id for the '<em>Enclosing Expression</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int IN_LINE_STATEMENT___ENCLOSING_EXPRESSION = STATEMENT___ENCLOSING_EXPRESSION;
+
+ /**
+ * The operation id for the '<em>Assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int IN_LINE_STATEMENT___ASSIGNMENTS_BEFORE = STATEMENT___ASSIGNMENTS_BEFORE;
+
+ /**
+ * The operation id for the '<em>Syntax Element assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int IN_LINE_STATEMENT___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE = STATEMENT___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE;
+
+ /**
+ * The operation id for the '<em>Syntax Element assignments Before base</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int IN_LINE_STATEMENT___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE_BASE = STATEMENT___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE_BASE;
+
+ /**
+ * The operation id for the '<em>Assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int IN_LINE_STATEMENT___ASSIGNMENTS_BEFORE__SYNTAXELEMENT = STATEMENT___ASSIGNMENTS_BEFORE__SYNTAXELEMENT;
+
+ /**
+ * The operation id for the '<em>Update All</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int IN_LINE_STATEMENT___UPDATE_ALL__ELIST_ELIST = STATEMENT___UPDATE_ALL__ELIST_ELIST;
+
+ /**
+ * The operation id for the '<em>Common Ancestor</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int IN_LINE_STATEMENT___COMMON_ANCESTOR__ELIST = STATEMENT___COMMON_ANCESTOR__ELIST;
+
+ /**
+ * The operation id for the '<em>Common Ancestors</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int IN_LINE_STATEMENT___COMMON_ANCESTORS__ELIST = STATEMENT___COMMON_ANCESTORS__ELIST;
+
+ /**
+ * The operation id for the '<em>Remove Duplicate Elements</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int IN_LINE_STATEMENT___REMOVE_DUPLICATE_ELEMENTS__ELIST = STATEMENT___REMOVE_DUPLICATE_ELEMENTS__ELIST;
+
+ /**
+ * The operation id for the '<em>Resolve In Library</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int IN_LINE_STATEMENT___RESOLVE_IN_LIBRARY__STRING = STATEMENT___RESOLVE_IN_LIBRARY__STRING;
+
+ /**
+ * The operation id for the '<em>Primitive Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int IN_LINE_STATEMENT___PRIMITIVE_TYPE__STRING = STATEMENT___PRIMITIVE_TYPE__STRING;
+
+ /**
+ * The operation id for the '<em>Primitive Type </em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int IN_LINE_STATEMENT___PRIMITIVE_TYPE____STRING = STATEMENT___PRIMITIVE_TYPE____STRING;
+
+ /**
+ * The operation id for the '<em>Boolean Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int IN_LINE_STATEMENT___BOOLEAN_TYPE = STATEMENT___BOOLEAN_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Boolean Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int IN_LINE_STATEMENT___IS_BOOLEAN_TYPE__ELEMENTREFERENCE = STATEMENT___IS_BOOLEAN_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Integer Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int IN_LINE_STATEMENT___INTEGER_TYPE = STATEMENT___INTEGER_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Integer Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int IN_LINE_STATEMENT___IS_INTEGER_TYPE__ELEMENTREFERENCE = STATEMENT___IS_INTEGER_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int IN_LINE_STATEMENT___STRING_TYPE = STATEMENT___STRING_TYPE;
+
+ /**
+ * The operation id for the '<em>Is String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int IN_LINE_STATEMENT___IS_STRING_TYPE__ELEMENTREFERENCE = STATEMENT___IS_STRING_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Unlimited Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int IN_LINE_STATEMENT___UNLIMITED_NATURAL_TYPE = STATEMENT___UNLIMITED_NATURAL_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Unlimited Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int IN_LINE_STATEMENT___IS_UNLIMITED_NATURAL_TYPE__ELEMENTREFERENCE = STATEMENT___IS_UNLIMITED_NATURAL_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Bit String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int IN_LINE_STATEMENT___BIT_STRING_TYPE = STATEMENT___BIT_STRING_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Bit String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int IN_LINE_STATEMENT___IS_BIT_STRING_TYPE__ELEMENTREFERENCE = STATEMENT___IS_BIT_STRING_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int IN_LINE_STATEMENT___NATURAL_TYPE = STATEMENT___NATURAL_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int IN_LINE_STATEMENT___IS_NATURAL_TYPE__ELEMENTREFERENCE = STATEMENT___IS_NATURAL_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Numeric Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int IN_LINE_STATEMENT___IS_NUMERIC_TYPE__ELEMENTREFERENCE = STATEMENT___IS_NUMERIC_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Collection Function Add</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int IN_LINE_STATEMENT___COLLECTION_FUNCTION_ADD = STATEMENT___COLLECTION_FUNCTION_ADD;
+
+ /**
+ * The operation id for the '<em>Is Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int IN_LINE_STATEMENT___IS_COLLECTION_CLASS__ELEMENTREFERENCE = STATEMENT___IS_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Integer Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int IN_LINE_STATEMENT___IS_INTEGER_COLLECTION_CLASS__ELEMENTREFERENCE = STATEMENT___IS_INTEGER_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Bit String Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int IN_LINE_STATEMENT___IS_BIT_STRING_COLLECTION_CLASS__ELEMENTREFERENCE = STATEMENT___IS_BIT_STRING_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Enclosing Loop Statement</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int IN_LINE_STATEMENT___ENCLOSING_LOOP_STATEMENT = STATEMENT___ENCLOSING_LOOP_STATEMENT;
+
+ /**
+ * The operation id for the '<em>Annotation Allowed</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int IN_LINE_STATEMENT___ANNOTATION_ALLOWED__ANNOTATION = STATEMENT___ANNOTATION_ALLOWED__ANNOTATION;
+
+ /**
+ * The operation id for the '<em>Statement annotation Allowed</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int IN_LINE_STATEMENT___STATEMENT_ANNOTATION_ALLOWED__ANNOTATION = STATEMENT___STATEMENT_ANNOTATION_ALLOWED__ANNOTATION;
+
+ /**
+ * The operation id for the '<em>Annotation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int IN_LINE_STATEMENT___ANNOTATION = STATEMENT___ANNOTATION;
+
+ /**
+ * The operation id for the '<em>Has Annotation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int IN_LINE_STATEMENT___HAS_ANNOTATION__STRING = STATEMENT___HAS_ANNOTATION__STRING;
+
+ /**
+ * The operation id for the '<em>New Assignments</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int IN_LINE_STATEMENT___NEW_ASSIGNMENTS = STATEMENT___NEW_ASSIGNMENTS;
+
+ /**
+ * The operation id for the '<em>Resolve</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int IN_LINE_STATEMENT___RESOLVE__STRING = STATEMENT___RESOLVE__STRING;
+
+ /**
+ * The operation id for the '<em>Assignments After</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int IN_LINE_STATEMENT___ASSIGNMENTS_AFTER = STATEMENT___ASSIGNMENTS_AFTER;
+
+ /**
+ * The operation id for the '<em>Statement assignments After</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int IN_LINE_STATEMENT___STATEMENT_ASSIGNMENTS_AFTER = STATEMENT___STATEMENT_ASSIGNMENTS_AFTER;
+
+ /**
+ * The operation id for the '<em>Assignments After Cached</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int IN_LINE_STATEMENT___ASSIGNMENTS_AFTER_CACHED = STATEMENT___ASSIGNMENTS_AFTER_CACHED;
+
+ /**
+ * The operation id for the '<em>Merge Assignments</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int IN_LINE_STATEMENT___MERGE_ASSIGNMENTS__ELIST = STATEMENT___MERGE_ASSIGNMENTS__ELIST;
+
+ /**
+ * The operation id for the '<em>Merge</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int IN_LINE_STATEMENT___MERGE__STRING_ELIST = STATEMENT___MERGE__STRING_ELIST;
+
+ /**
+ * The operation id for the '<em>Statement Annotations Allowed</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int IN_LINE_STATEMENT___STATEMENT_ANNOTATIONS_ALLOWED__DIAGNOSTICCHAIN_MAP = STATEMENT___STATEMENT_ANNOTATIONS_ALLOWED__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Statement Unique Assignments</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int IN_LINE_STATEMENT___STATEMENT_UNIQUE_ASSIGNMENTS__DIAGNOSTICCHAIN_MAP = STATEMENT___STATEMENT_UNIQUE_ASSIGNMENTS__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Statement Is Isolated Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int IN_LINE_STATEMENT___STATEMENT_IS_ISOLATED_DERIVATION__DIAGNOSTICCHAIN_MAP = STATEMENT___STATEMENT_IS_ISOLATED_DERIVATION__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>In Line Statement Assignments After</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int IN_LINE_STATEMENT___IN_LINE_STATEMENT_ASSIGNMENTS_AFTER__DIAGNOSTICCHAIN_MAP = STATEMENT_OPERATION_COUNT + 0;
+
+ /**
+ * The number of operations of the '<em>In Line Statement</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int IN_LINE_STATEMENT_OPERATION_COUNT = STATEMENT_OPERATION_COUNT + 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.uml.alf.impl.AcceptStatementImpl <em>Accept Statement</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.uml.alf.impl.AcceptStatementImpl
+ * @see org.eclipse.papyrus.uml.alf.impl.AlfPackageImpl#getAcceptStatement()
+ * @generated
+ */
+ int ACCEPT_STATEMENT = 94;
+
+ /**
+ * The feature id for the '<em><b>Owner</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ACCEPT_STATEMENT__OWNER = STATEMENT__OWNER;
+
+ /**
+ * The feature id for the '<em><b>Assignment Before</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ACCEPT_STATEMENT__ASSIGNMENT_BEFORE = STATEMENT__ASSIGNMENT_BEFORE;
+
+ /**
+ * The feature id for the '<em><b>Assignment After</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ACCEPT_STATEMENT__ASSIGNMENT_AFTER = STATEMENT__ASSIGNMENT_AFTER;
+
+ /**
+ * The feature id for the '<em><b>Enclosing Statement</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ACCEPT_STATEMENT__ENCLOSING_STATEMENT = STATEMENT__ENCLOSING_STATEMENT;
+
+ /**
+ * The feature id for the '<em><b>Is Isolated</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ACCEPT_STATEMENT__IS_ISOLATED = STATEMENT__IS_ISOLATED;
+
+ /**
+ * The feature id for the '<em><b>Accept Block</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ACCEPT_STATEMENT__ACCEPT_BLOCK = STATEMENT_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Behavior</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ACCEPT_STATEMENT__BEHAVIOR = STATEMENT_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Is Simple</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ACCEPT_STATEMENT__IS_SIMPLE = STATEMENT_FEATURE_COUNT + 2;
+
+ /**
+ * The number of structural features of the '<em>Accept Statement</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ACCEPT_STATEMENT_FEATURE_COUNT = STATEMENT_FEATURE_COUNT + 3;
+
+ /**
+ * The operation id for the '<em>To Reference</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ACCEPT_STATEMENT___TO_REFERENCE = STATEMENT___TO_REFERENCE;
+
+ /**
+ * The operation id for the '<em>Owner</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ACCEPT_STATEMENT___OWNER = STATEMENT___OWNER;
+
+ /**
+ * The operation id for the '<em>Syntax Element owner</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ACCEPT_STATEMENT___SYNTAX_ELEMENT_OWNER = STATEMENT___SYNTAX_ELEMENT_OWNER;
+
+ /**
+ * The operation id for the '<em>Current Scope</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ACCEPT_STATEMENT___CURRENT_SCOPE = STATEMENT___CURRENT_SCOPE;
+
+ /**
+ * The operation id for the '<em>Syntax Element current Scope</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ACCEPT_STATEMENT___SYNTAX_ELEMENT_CURRENT_SCOPE = STATEMENT___SYNTAX_ELEMENT_CURRENT_SCOPE;
+
+ /**
+ * The operation id for the '<em>Enclosing Statement</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ACCEPT_STATEMENT___ENCLOSING_STATEMENT = STATEMENT___ENCLOSING_STATEMENT;
+
+ /**
+ * The operation id for the '<em>Enclosing Expression</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ACCEPT_STATEMENT___ENCLOSING_EXPRESSION = STATEMENT___ENCLOSING_EXPRESSION;
+
+ /**
+ * The operation id for the '<em>Assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ACCEPT_STATEMENT___ASSIGNMENTS_BEFORE = STATEMENT___ASSIGNMENTS_BEFORE;
+
+ /**
+ * The operation id for the '<em>Syntax Element assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ACCEPT_STATEMENT___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE = STATEMENT___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE;
+
+ /**
+ * The operation id for the '<em>Syntax Element assignments Before base</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ACCEPT_STATEMENT___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE_BASE = STATEMENT___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE_BASE;
+
+ /**
+ * The operation id for the '<em>Assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ACCEPT_STATEMENT___ASSIGNMENTS_BEFORE__SYNTAXELEMENT = STATEMENT___ASSIGNMENTS_BEFORE__SYNTAXELEMENT;
+
+ /**
+ * The operation id for the '<em>Update All</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ACCEPT_STATEMENT___UPDATE_ALL__ELIST_ELIST = STATEMENT___UPDATE_ALL__ELIST_ELIST;
+
+ /**
+ * The operation id for the '<em>Common Ancestor</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ACCEPT_STATEMENT___COMMON_ANCESTOR__ELIST = STATEMENT___COMMON_ANCESTOR__ELIST;
+
+ /**
+ * The operation id for the '<em>Common Ancestors</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ACCEPT_STATEMENT___COMMON_ANCESTORS__ELIST = STATEMENT___COMMON_ANCESTORS__ELIST;
+
+ /**
+ * The operation id for the '<em>Remove Duplicate Elements</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ACCEPT_STATEMENT___REMOVE_DUPLICATE_ELEMENTS__ELIST = STATEMENT___REMOVE_DUPLICATE_ELEMENTS__ELIST;
+
+ /**
+ * The operation id for the '<em>Resolve In Library</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ACCEPT_STATEMENT___RESOLVE_IN_LIBRARY__STRING = STATEMENT___RESOLVE_IN_LIBRARY__STRING;
+
+ /**
+ * The operation id for the '<em>Primitive Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ACCEPT_STATEMENT___PRIMITIVE_TYPE__STRING = STATEMENT___PRIMITIVE_TYPE__STRING;
+
+ /**
+ * The operation id for the '<em>Primitive Type </em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ACCEPT_STATEMENT___PRIMITIVE_TYPE____STRING = STATEMENT___PRIMITIVE_TYPE____STRING;
+
+ /**
+ * The operation id for the '<em>Boolean Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ACCEPT_STATEMENT___BOOLEAN_TYPE = STATEMENT___BOOLEAN_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Boolean Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ACCEPT_STATEMENT___IS_BOOLEAN_TYPE__ELEMENTREFERENCE = STATEMENT___IS_BOOLEAN_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Integer Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ACCEPT_STATEMENT___INTEGER_TYPE = STATEMENT___INTEGER_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Integer Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ACCEPT_STATEMENT___IS_INTEGER_TYPE__ELEMENTREFERENCE = STATEMENT___IS_INTEGER_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ACCEPT_STATEMENT___STRING_TYPE = STATEMENT___STRING_TYPE;
+
+ /**
+ * The operation id for the '<em>Is String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ACCEPT_STATEMENT___IS_STRING_TYPE__ELEMENTREFERENCE = STATEMENT___IS_STRING_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Unlimited Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ACCEPT_STATEMENT___UNLIMITED_NATURAL_TYPE = STATEMENT___UNLIMITED_NATURAL_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Unlimited Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ACCEPT_STATEMENT___IS_UNLIMITED_NATURAL_TYPE__ELEMENTREFERENCE = STATEMENT___IS_UNLIMITED_NATURAL_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Bit String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ACCEPT_STATEMENT___BIT_STRING_TYPE = STATEMENT___BIT_STRING_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Bit String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ACCEPT_STATEMENT___IS_BIT_STRING_TYPE__ELEMENTREFERENCE = STATEMENT___IS_BIT_STRING_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ACCEPT_STATEMENT___NATURAL_TYPE = STATEMENT___NATURAL_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ACCEPT_STATEMENT___IS_NATURAL_TYPE__ELEMENTREFERENCE = STATEMENT___IS_NATURAL_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Numeric Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ACCEPT_STATEMENT___IS_NUMERIC_TYPE__ELEMENTREFERENCE = STATEMENT___IS_NUMERIC_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Collection Function Add</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ACCEPT_STATEMENT___COLLECTION_FUNCTION_ADD = STATEMENT___COLLECTION_FUNCTION_ADD;
+
+ /**
+ * The operation id for the '<em>Is Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ACCEPT_STATEMENT___IS_COLLECTION_CLASS__ELEMENTREFERENCE = STATEMENT___IS_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Integer Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ACCEPT_STATEMENT___IS_INTEGER_COLLECTION_CLASS__ELEMENTREFERENCE = STATEMENT___IS_INTEGER_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Bit String Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ACCEPT_STATEMENT___IS_BIT_STRING_COLLECTION_CLASS__ELEMENTREFERENCE = STATEMENT___IS_BIT_STRING_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Enclosing Loop Statement</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ACCEPT_STATEMENT___ENCLOSING_LOOP_STATEMENT = STATEMENT___ENCLOSING_LOOP_STATEMENT;
+
+ /**
+ * The operation id for the '<em>Annotation Allowed</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ACCEPT_STATEMENT___ANNOTATION_ALLOWED__ANNOTATION = STATEMENT___ANNOTATION_ALLOWED__ANNOTATION;
+
+ /**
+ * The operation id for the '<em>Statement annotation Allowed</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ACCEPT_STATEMENT___STATEMENT_ANNOTATION_ALLOWED__ANNOTATION = STATEMENT___STATEMENT_ANNOTATION_ALLOWED__ANNOTATION;
+
+ /**
+ * The operation id for the '<em>Annotation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ACCEPT_STATEMENT___ANNOTATION = STATEMENT___ANNOTATION;
+
+ /**
+ * The operation id for the '<em>Has Annotation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ACCEPT_STATEMENT___HAS_ANNOTATION__STRING = STATEMENT___HAS_ANNOTATION__STRING;
+
+ /**
+ * The operation id for the '<em>New Assignments</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ACCEPT_STATEMENT___NEW_ASSIGNMENTS = STATEMENT___NEW_ASSIGNMENTS;
+
+ /**
+ * The operation id for the '<em>Resolve</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ACCEPT_STATEMENT___RESOLVE__STRING = STATEMENT___RESOLVE__STRING;
+
+ /**
+ * The operation id for the '<em>Statement assignments After</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ACCEPT_STATEMENT___STATEMENT_ASSIGNMENTS_AFTER = STATEMENT___STATEMENT_ASSIGNMENTS_AFTER;
+
+ /**
+ * The operation id for the '<em>Assignments After Cached</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ACCEPT_STATEMENT___ASSIGNMENTS_AFTER_CACHED = STATEMENT___ASSIGNMENTS_AFTER_CACHED;
+
+ /**
+ * The operation id for the '<em>Merge Assignments</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ACCEPT_STATEMENT___MERGE_ASSIGNMENTS__ELIST = STATEMENT___MERGE_ASSIGNMENTS__ELIST;
+
+ /**
+ * The operation id for the '<em>Merge</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ACCEPT_STATEMENT___MERGE__STRING_ELIST = STATEMENT___MERGE__STRING_ELIST;
+
+ /**
+ * The operation id for the '<em>Statement Annotations Allowed</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ACCEPT_STATEMENT___STATEMENT_ANNOTATIONS_ALLOWED__DIAGNOSTICCHAIN_MAP = STATEMENT___STATEMENT_ANNOTATIONS_ALLOWED__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Statement Unique Assignments</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ACCEPT_STATEMENT___STATEMENT_UNIQUE_ASSIGNMENTS__DIAGNOSTICCHAIN_MAP = STATEMENT___STATEMENT_UNIQUE_ASSIGNMENTS__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Statement Is Isolated Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ACCEPT_STATEMENT___STATEMENT_IS_ISOLATED_DERIVATION__DIAGNOSTICCHAIN_MAP = STATEMENT___STATEMENT_IS_ISOLATED_DERIVATION__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Assignments After</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ACCEPT_STATEMENT___ASSIGNMENTS_AFTER = STATEMENT_OPERATION_COUNT + 0;
+
+ /**
+ * The operation id for the '<em>Effective Behavior</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ACCEPT_STATEMENT___EFFECTIVE_BEHAVIOR = STATEMENT_OPERATION_COUNT + 1;
+
+ /**
+ * The operation id for the '<em>Effective Behavior </em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ACCEPT_STATEMENT___EFFECTIVE_BEHAVIOR_ = STATEMENT_OPERATION_COUNT + 2;
+
+ /**
+ * The operation id for the '<em>Accept Statement Context</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ACCEPT_STATEMENT___ACCEPT_STATEMENT_CONTEXT__DIAGNOSTICCHAIN_MAP = STATEMENT_OPERATION_COUNT + 3;
+
+ /**
+ * The operation id for the '<em>Accept Statement Signals</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ACCEPT_STATEMENT___ACCEPT_STATEMENT_SIGNALS__DIAGNOSTICCHAIN_MAP = STATEMENT_OPERATION_COUNT + 4;
+
+ /**
+ * The operation id for the '<em>Received Signals</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ACCEPT_STATEMENT___RECEIVED_SIGNALS__ELEMENTREFERENCE = STATEMENT_OPERATION_COUNT + 5;
+
+ /**
+ * The operation id for the '<em>Received Signals </em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ACCEPT_STATEMENT___RECEIVED_SIGNALS____ELEMENTREFERENCE = STATEMENT_OPERATION_COUNT + 6;
+
+ /**
+ * The operation id for the '<em>Accept Statement Names</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ACCEPT_STATEMENT___ACCEPT_STATEMENT_NAMES__DIAGNOSTICCHAIN_MAP = STATEMENT_OPERATION_COUNT + 7;
+
+ /**
+ * The operation id for the '<em>Accept Statement Simple Accept Local Name</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ACCEPT_STATEMENT___ACCEPT_STATEMENT_SIMPLE_ACCEPT_LOCAL_NAME__DIAGNOSTICCHAIN_MAP = STATEMENT_OPERATION_COUNT + 8;
+
+ /**
+ * The operation id for the '<em>Accept Statement Compound Accept Local Name</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ACCEPT_STATEMENT___ACCEPT_STATEMENT_COMPOUND_ACCEPT_LOCAL_NAME__DIAGNOSTICCHAIN_MAP = STATEMENT_OPERATION_COUNT + 9;
+
+ /**
+ * The operation id for the '<em>Accept Statement Assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ACCEPT_STATEMENT___ACCEPT_STATEMENT_ASSIGNMENTS_BEFORE__DIAGNOSTICCHAIN_MAP = STATEMENT_OPERATION_COUNT + 10;
+
+ /**
+ * The operation id for the '<em>Accept Statement Assignments After</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ACCEPT_STATEMENT___ACCEPT_STATEMENT_ASSIGNMENTS_AFTER__DIAGNOSTICCHAIN_MAP = STATEMENT_OPERATION_COUNT + 11;
+
+ /**
+ * The operation id for the '<em>Accept Statement New Assignments</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ACCEPT_STATEMENT___ACCEPT_STATEMENT_NEW_ASSIGNMENTS__DIAGNOSTICCHAIN_MAP = STATEMENT_OPERATION_COUNT + 12;
+
+ /**
+ * The operation id for the '<em>Accept Statement Is Simple Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ACCEPT_STATEMENT___ACCEPT_STATEMENT_IS_SIMPLE_DERIVATION__DIAGNOSTICCHAIN_MAP = STATEMENT_OPERATION_COUNT + 13;
+
+ /**
+ * The operation id for the '<em>Accept Statement Enclosed Statements</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ACCEPT_STATEMENT___ACCEPT_STATEMENT_ENCLOSED_STATEMENTS__DIAGNOSTICCHAIN_MAP = STATEMENT_OPERATION_COUNT + 14;
+
+ /**
+ * The number of operations of the '<em>Accept Statement</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ACCEPT_STATEMENT_OPERATION_COUNT = STATEMENT_OPERATION_COUNT + 15;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.uml.alf.impl.AcceptBlockImpl <em>Accept Block</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.uml.alf.impl.AcceptBlockImpl
+ * @see org.eclipse.papyrus.uml.alf.impl.AlfPackageImpl#getAcceptBlock()
+ * @generated
+ */
+ int ACCEPT_BLOCK = 95;
+
+ /**
+ * The feature id for the '<em><b>Owner</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ACCEPT_BLOCK__OWNER = SYNTAX_ELEMENT__OWNER;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ACCEPT_BLOCK__NAME = SYNTAX_ELEMENT_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Block</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ACCEPT_BLOCK__BLOCK = SYNTAX_ELEMENT_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Signal Names</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ACCEPT_BLOCK__SIGNAL_NAMES = SYNTAX_ELEMENT_FEATURE_COUNT + 2;
+
+ /**
+ * The feature id for the '<em><b>Signal</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ACCEPT_BLOCK__SIGNAL = SYNTAX_ELEMENT_FEATURE_COUNT + 3;
+
+ /**
+ * The number of structural features of the '<em>Accept Block</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ACCEPT_BLOCK_FEATURE_COUNT = SYNTAX_ELEMENT_FEATURE_COUNT + 4;
+
+ /**
+ * The operation id for the '<em>To Reference</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ACCEPT_BLOCK___TO_REFERENCE = SYNTAX_ELEMENT___TO_REFERENCE;
+
+ /**
+ * The operation id for the '<em>Owner</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ACCEPT_BLOCK___OWNER = SYNTAX_ELEMENT___OWNER;
+
+ /**
+ * The operation id for the '<em>Syntax Element owner</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ACCEPT_BLOCK___SYNTAX_ELEMENT_OWNER = SYNTAX_ELEMENT___SYNTAX_ELEMENT_OWNER;
+
+ /**
+ * The operation id for the '<em>Current Scope</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ACCEPT_BLOCK___CURRENT_SCOPE = SYNTAX_ELEMENT___CURRENT_SCOPE;
+
+ /**
+ * The operation id for the '<em>Syntax Element current Scope</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ACCEPT_BLOCK___SYNTAX_ELEMENT_CURRENT_SCOPE = SYNTAX_ELEMENT___SYNTAX_ELEMENT_CURRENT_SCOPE;
+
+ /**
+ * The operation id for the '<em>Enclosing Statement</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ACCEPT_BLOCK___ENCLOSING_STATEMENT = SYNTAX_ELEMENT___ENCLOSING_STATEMENT;
+
+ /**
+ * The operation id for the '<em>Enclosing Expression</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ACCEPT_BLOCK___ENCLOSING_EXPRESSION = SYNTAX_ELEMENT___ENCLOSING_EXPRESSION;
+
+ /**
+ * The operation id for the '<em>Assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ACCEPT_BLOCK___ASSIGNMENTS_BEFORE = SYNTAX_ELEMENT___ASSIGNMENTS_BEFORE;
+
+ /**
+ * The operation id for the '<em>Syntax Element assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ACCEPT_BLOCK___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE = SYNTAX_ELEMENT___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE;
+
+ /**
+ * The operation id for the '<em>Syntax Element assignments Before base</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ACCEPT_BLOCK___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE_BASE = SYNTAX_ELEMENT___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE_BASE;
+
+ /**
+ * The operation id for the '<em>Update All</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ACCEPT_BLOCK___UPDATE_ALL__ELIST_ELIST = SYNTAX_ELEMENT___UPDATE_ALL__ELIST_ELIST;
+
+ /**
+ * The operation id for the '<em>Common Ancestor</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ACCEPT_BLOCK___COMMON_ANCESTOR__ELIST = SYNTAX_ELEMENT___COMMON_ANCESTOR__ELIST;
+
+ /**
+ * The operation id for the '<em>Common Ancestors</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ACCEPT_BLOCK___COMMON_ANCESTORS__ELIST = SYNTAX_ELEMENT___COMMON_ANCESTORS__ELIST;
+
+ /**
+ * The operation id for the '<em>Remove Duplicate Elements</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ACCEPT_BLOCK___REMOVE_DUPLICATE_ELEMENTS__ELIST = SYNTAX_ELEMENT___REMOVE_DUPLICATE_ELEMENTS__ELIST;
+
+ /**
+ * The operation id for the '<em>Resolve In Library</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ACCEPT_BLOCK___RESOLVE_IN_LIBRARY__STRING = SYNTAX_ELEMENT___RESOLVE_IN_LIBRARY__STRING;
+
+ /**
+ * The operation id for the '<em>Primitive Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ACCEPT_BLOCK___PRIMITIVE_TYPE__STRING = SYNTAX_ELEMENT___PRIMITIVE_TYPE__STRING;
+
+ /**
+ * The operation id for the '<em>Primitive Type </em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ACCEPT_BLOCK___PRIMITIVE_TYPE____STRING = SYNTAX_ELEMENT___PRIMITIVE_TYPE____STRING;
+
+ /**
+ * The operation id for the '<em>Boolean Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ACCEPT_BLOCK___BOOLEAN_TYPE = SYNTAX_ELEMENT___BOOLEAN_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Boolean Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ACCEPT_BLOCK___IS_BOOLEAN_TYPE__ELEMENTREFERENCE = SYNTAX_ELEMENT___IS_BOOLEAN_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Integer Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ACCEPT_BLOCK___INTEGER_TYPE = SYNTAX_ELEMENT___INTEGER_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Integer Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ACCEPT_BLOCK___IS_INTEGER_TYPE__ELEMENTREFERENCE = SYNTAX_ELEMENT___IS_INTEGER_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ACCEPT_BLOCK___STRING_TYPE = SYNTAX_ELEMENT___STRING_TYPE;
+
+ /**
+ * The operation id for the '<em>Is String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ACCEPT_BLOCK___IS_STRING_TYPE__ELEMENTREFERENCE = SYNTAX_ELEMENT___IS_STRING_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Unlimited Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ACCEPT_BLOCK___UNLIMITED_NATURAL_TYPE = SYNTAX_ELEMENT___UNLIMITED_NATURAL_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Unlimited Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ACCEPT_BLOCK___IS_UNLIMITED_NATURAL_TYPE__ELEMENTREFERENCE = SYNTAX_ELEMENT___IS_UNLIMITED_NATURAL_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Bit String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ACCEPT_BLOCK___BIT_STRING_TYPE = SYNTAX_ELEMENT___BIT_STRING_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Bit String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ACCEPT_BLOCK___IS_BIT_STRING_TYPE__ELEMENTREFERENCE = SYNTAX_ELEMENT___IS_BIT_STRING_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ACCEPT_BLOCK___NATURAL_TYPE = SYNTAX_ELEMENT___NATURAL_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ACCEPT_BLOCK___IS_NATURAL_TYPE__ELEMENTREFERENCE = SYNTAX_ELEMENT___IS_NATURAL_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Numeric Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ACCEPT_BLOCK___IS_NUMERIC_TYPE__ELEMENTREFERENCE = SYNTAX_ELEMENT___IS_NUMERIC_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Collection Function Add</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ACCEPT_BLOCK___COLLECTION_FUNCTION_ADD = SYNTAX_ELEMENT___COLLECTION_FUNCTION_ADD;
+
+ /**
+ * The operation id for the '<em>Is Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ACCEPT_BLOCK___IS_COLLECTION_CLASS__ELEMENTREFERENCE = SYNTAX_ELEMENT___IS_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Integer Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ACCEPT_BLOCK___IS_INTEGER_COLLECTION_CLASS__ELEMENTREFERENCE = SYNTAX_ELEMENT___IS_INTEGER_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Bit String Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ACCEPT_BLOCK___IS_BIT_STRING_COLLECTION_CLASS__ELEMENTREFERENCE = SYNTAX_ELEMENT___IS_BIT_STRING_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Actual Name</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ACCEPT_BLOCK___ACTUAL_NAME = SYNTAX_ELEMENT_OPERATION_COUNT + 0;
+
+ /**
+ * The operation id for the '<em>Assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ACCEPT_BLOCK___ASSIGNMENTS_BEFORE__SYNTAXELEMENT = SYNTAX_ELEMENT_OPERATION_COUNT + 1;
+
+ /**
+ * The operation id for the '<em>Accept Block Signal Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ACCEPT_BLOCK___ACCEPT_BLOCK_SIGNAL_DERIVATION__DIAGNOSTICCHAIN_MAP = SYNTAX_ELEMENT_OPERATION_COUNT + 2;
+
+ /**
+ * The operation id for the '<em>Accept Block Signal Names</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ACCEPT_BLOCK___ACCEPT_BLOCK_SIGNAL_NAMES__DIAGNOSTICCHAIN_MAP = SYNTAX_ELEMENT_OPERATION_COUNT + 3;
+
+ /**
+ * The number of operations of the '<em>Accept Block</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ACCEPT_BLOCK_OPERATION_COUNT = SYNTAX_ELEMENT_OPERATION_COUNT + 4;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.uml.alf.impl.EmptyStatementImpl <em>Empty Statement</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.uml.alf.impl.EmptyStatementImpl
+ * @see org.eclipse.papyrus.uml.alf.impl.AlfPackageImpl#getEmptyStatement()
+ * @generated
+ */
+ int EMPTY_STATEMENT = 96;
+
+ /**
+ * The feature id for the '<em><b>Owner</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EMPTY_STATEMENT__OWNER = STATEMENT__OWNER;
+
+ /**
+ * The feature id for the '<em><b>Assignment Before</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EMPTY_STATEMENT__ASSIGNMENT_BEFORE = STATEMENT__ASSIGNMENT_BEFORE;
+
+ /**
+ * The feature id for the '<em><b>Assignment After</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EMPTY_STATEMENT__ASSIGNMENT_AFTER = STATEMENT__ASSIGNMENT_AFTER;
+
+ /**
+ * The feature id for the '<em><b>Enclosing Statement</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EMPTY_STATEMENT__ENCLOSING_STATEMENT = STATEMENT__ENCLOSING_STATEMENT;
+
+ /**
+ * The feature id for the '<em><b>Is Isolated</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EMPTY_STATEMENT__IS_ISOLATED = STATEMENT__IS_ISOLATED;
+
+ /**
+ * The number of structural features of the '<em>Empty Statement</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EMPTY_STATEMENT_FEATURE_COUNT = STATEMENT_FEATURE_COUNT + 0;
+
+ /**
+ * The operation id for the '<em>To Reference</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EMPTY_STATEMENT___TO_REFERENCE = STATEMENT___TO_REFERENCE;
+
+ /**
+ * The operation id for the '<em>Owner</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EMPTY_STATEMENT___OWNER = STATEMENT___OWNER;
+
+ /**
+ * The operation id for the '<em>Syntax Element owner</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EMPTY_STATEMENT___SYNTAX_ELEMENT_OWNER = STATEMENT___SYNTAX_ELEMENT_OWNER;
+
+ /**
+ * The operation id for the '<em>Current Scope</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EMPTY_STATEMENT___CURRENT_SCOPE = STATEMENT___CURRENT_SCOPE;
+
+ /**
+ * The operation id for the '<em>Syntax Element current Scope</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EMPTY_STATEMENT___SYNTAX_ELEMENT_CURRENT_SCOPE = STATEMENT___SYNTAX_ELEMENT_CURRENT_SCOPE;
+
+ /**
+ * The operation id for the '<em>Enclosing Statement</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EMPTY_STATEMENT___ENCLOSING_STATEMENT = STATEMENT___ENCLOSING_STATEMENT;
+
+ /**
+ * The operation id for the '<em>Enclosing Expression</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EMPTY_STATEMENT___ENCLOSING_EXPRESSION = STATEMENT___ENCLOSING_EXPRESSION;
+
+ /**
+ * The operation id for the '<em>Assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EMPTY_STATEMENT___ASSIGNMENTS_BEFORE = STATEMENT___ASSIGNMENTS_BEFORE;
+
+ /**
+ * The operation id for the '<em>Syntax Element assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EMPTY_STATEMENT___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE = STATEMENT___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE;
+
+ /**
+ * The operation id for the '<em>Syntax Element assignments Before base</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EMPTY_STATEMENT___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE_BASE = STATEMENT___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE_BASE;
+
+ /**
+ * The operation id for the '<em>Assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EMPTY_STATEMENT___ASSIGNMENTS_BEFORE__SYNTAXELEMENT = STATEMENT___ASSIGNMENTS_BEFORE__SYNTAXELEMENT;
+
+ /**
+ * The operation id for the '<em>Update All</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EMPTY_STATEMENT___UPDATE_ALL__ELIST_ELIST = STATEMENT___UPDATE_ALL__ELIST_ELIST;
+
+ /**
+ * The operation id for the '<em>Common Ancestor</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EMPTY_STATEMENT___COMMON_ANCESTOR__ELIST = STATEMENT___COMMON_ANCESTOR__ELIST;
+
+ /**
+ * The operation id for the '<em>Common Ancestors</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EMPTY_STATEMENT___COMMON_ANCESTORS__ELIST = STATEMENT___COMMON_ANCESTORS__ELIST;
+
+ /**
+ * The operation id for the '<em>Remove Duplicate Elements</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EMPTY_STATEMENT___REMOVE_DUPLICATE_ELEMENTS__ELIST = STATEMENT___REMOVE_DUPLICATE_ELEMENTS__ELIST;
+
+ /**
+ * The operation id for the '<em>Resolve In Library</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EMPTY_STATEMENT___RESOLVE_IN_LIBRARY__STRING = STATEMENT___RESOLVE_IN_LIBRARY__STRING;
+
+ /**
+ * The operation id for the '<em>Primitive Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EMPTY_STATEMENT___PRIMITIVE_TYPE__STRING = STATEMENT___PRIMITIVE_TYPE__STRING;
+
+ /**
+ * The operation id for the '<em>Primitive Type </em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EMPTY_STATEMENT___PRIMITIVE_TYPE____STRING = STATEMENT___PRIMITIVE_TYPE____STRING;
+
+ /**
+ * The operation id for the '<em>Boolean Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EMPTY_STATEMENT___BOOLEAN_TYPE = STATEMENT___BOOLEAN_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Boolean Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EMPTY_STATEMENT___IS_BOOLEAN_TYPE__ELEMENTREFERENCE = STATEMENT___IS_BOOLEAN_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Integer Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EMPTY_STATEMENT___INTEGER_TYPE = STATEMENT___INTEGER_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Integer Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EMPTY_STATEMENT___IS_INTEGER_TYPE__ELEMENTREFERENCE = STATEMENT___IS_INTEGER_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EMPTY_STATEMENT___STRING_TYPE = STATEMENT___STRING_TYPE;
+
+ /**
+ * The operation id for the '<em>Is String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EMPTY_STATEMENT___IS_STRING_TYPE__ELEMENTREFERENCE = STATEMENT___IS_STRING_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Unlimited Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EMPTY_STATEMENT___UNLIMITED_NATURAL_TYPE = STATEMENT___UNLIMITED_NATURAL_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Unlimited Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EMPTY_STATEMENT___IS_UNLIMITED_NATURAL_TYPE__ELEMENTREFERENCE = STATEMENT___IS_UNLIMITED_NATURAL_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Bit String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EMPTY_STATEMENT___BIT_STRING_TYPE = STATEMENT___BIT_STRING_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Bit String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EMPTY_STATEMENT___IS_BIT_STRING_TYPE__ELEMENTREFERENCE = STATEMENT___IS_BIT_STRING_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EMPTY_STATEMENT___NATURAL_TYPE = STATEMENT___NATURAL_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EMPTY_STATEMENT___IS_NATURAL_TYPE__ELEMENTREFERENCE = STATEMENT___IS_NATURAL_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Numeric Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EMPTY_STATEMENT___IS_NUMERIC_TYPE__ELEMENTREFERENCE = STATEMENT___IS_NUMERIC_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Collection Function Add</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EMPTY_STATEMENT___COLLECTION_FUNCTION_ADD = STATEMENT___COLLECTION_FUNCTION_ADD;
+
+ /**
+ * The operation id for the '<em>Is Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EMPTY_STATEMENT___IS_COLLECTION_CLASS__ELEMENTREFERENCE = STATEMENT___IS_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Integer Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EMPTY_STATEMENT___IS_INTEGER_COLLECTION_CLASS__ELEMENTREFERENCE = STATEMENT___IS_INTEGER_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Bit String Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EMPTY_STATEMENT___IS_BIT_STRING_COLLECTION_CLASS__ELEMENTREFERENCE = STATEMENT___IS_BIT_STRING_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Enclosing Loop Statement</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EMPTY_STATEMENT___ENCLOSING_LOOP_STATEMENT = STATEMENT___ENCLOSING_LOOP_STATEMENT;
+
+ /**
+ * The operation id for the '<em>Annotation Allowed</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EMPTY_STATEMENT___ANNOTATION_ALLOWED__ANNOTATION = STATEMENT___ANNOTATION_ALLOWED__ANNOTATION;
+
+ /**
+ * The operation id for the '<em>Statement annotation Allowed</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EMPTY_STATEMENT___STATEMENT_ANNOTATION_ALLOWED__ANNOTATION = STATEMENT___STATEMENT_ANNOTATION_ALLOWED__ANNOTATION;
+
+ /**
+ * The operation id for the '<em>Annotation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EMPTY_STATEMENT___ANNOTATION = STATEMENT___ANNOTATION;
+
+ /**
+ * The operation id for the '<em>Has Annotation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EMPTY_STATEMENT___HAS_ANNOTATION__STRING = STATEMENT___HAS_ANNOTATION__STRING;
+
+ /**
+ * The operation id for the '<em>New Assignments</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EMPTY_STATEMENT___NEW_ASSIGNMENTS = STATEMENT___NEW_ASSIGNMENTS;
+
+ /**
+ * The operation id for the '<em>Resolve</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EMPTY_STATEMENT___RESOLVE__STRING = STATEMENT___RESOLVE__STRING;
+
+ /**
+ * The operation id for the '<em>Assignments After</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EMPTY_STATEMENT___ASSIGNMENTS_AFTER = STATEMENT___ASSIGNMENTS_AFTER;
+
+ /**
+ * The operation id for the '<em>Statement assignments After</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EMPTY_STATEMENT___STATEMENT_ASSIGNMENTS_AFTER = STATEMENT___STATEMENT_ASSIGNMENTS_AFTER;
+
+ /**
+ * The operation id for the '<em>Assignments After Cached</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EMPTY_STATEMENT___ASSIGNMENTS_AFTER_CACHED = STATEMENT___ASSIGNMENTS_AFTER_CACHED;
+
+ /**
+ * The operation id for the '<em>Merge Assignments</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EMPTY_STATEMENT___MERGE_ASSIGNMENTS__ELIST = STATEMENT___MERGE_ASSIGNMENTS__ELIST;
+
+ /**
+ * The operation id for the '<em>Merge</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EMPTY_STATEMENT___MERGE__STRING_ELIST = STATEMENT___MERGE__STRING_ELIST;
+
+ /**
+ * The operation id for the '<em>Statement Annotations Allowed</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EMPTY_STATEMENT___STATEMENT_ANNOTATIONS_ALLOWED__DIAGNOSTICCHAIN_MAP = STATEMENT___STATEMENT_ANNOTATIONS_ALLOWED__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Statement Unique Assignments</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EMPTY_STATEMENT___STATEMENT_UNIQUE_ASSIGNMENTS__DIAGNOSTICCHAIN_MAP = STATEMENT___STATEMENT_UNIQUE_ASSIGNMENTS__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Statement Is Isolated Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EMPTY_STATEMENT___STATEMENT_IS_ISOLATED_DERIVATION__DIAGNOSTICCHAIN_MAP = STATEMENT___STATEMENT_IS_ISOLATED_DERIVATION__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Empty Statement Assignments After</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EMPTY_STATEMENT___EMPTY_STATEMENT_ASSIGNMENTS_AFTER__DIAGNOSTICCHAIN_MAP = STATEMENT_OPERATION_COUNT + 0;
+
+ /**
+ * The number of operations of the '<em>Empty Statement</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EMPTY_STATEMENT_OPERATION_COUNT = STATEMENT_OPERATION_COUNT + 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.uml.alf.impl.MemberDefinitionImpl <em>Member Definition</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.uml.alf.impl.MemberDefinitionImpl
+ * @see org.eclipse.papyrus.uml.alf.impl.AlfPackageImpl#getMemberDefinition()
+ * @generated
+ */
+ int MEMBER_DEFINITION = 99;
+
+ /**
+ * The feature id for the '<em><b>Owner</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int MEMBER_DEFINITION__OWNER = SYNTAX_ELEMENT__OWNER;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int MEMBER_DEFINITION__NAME = SYNTAX_ELEMENT_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Is Stub</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int MEMBER_DEFINITION__IS_STUB = SYNTAX_ELEMENT_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Is Feature</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int MEMBER_DEFINITION__IS_FEATURE = SYNTAX_ELEMENT_FEATURE_COUNT + 2;
+
+ /**
+ * The feature id for the '<em><b>Is Primitive</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int MEMBER_DEFINITION__IS_PRIMITIVE = SYNTAX_ELEMENT_FEATURE_COUNT + 3;
+
+ /**
+ * The feature id for the '<em><b>Is External</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int MEMBER_DEFINITION__IS_EXTERNAL = SYNTAX_ELEMENT_FEATURE_COUNT + 4;
+
+ /**
+ * The feature id for the '<em><b>Subunit</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int MEMBER_DEFINITION__SUBUNIT = SYNTAX_ELEMENT_FEATURE_COUNT + 5;
+
+ /**
+ * The number of structural features of the '<em>Member Definition</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int MEMBER_DEFINITION_FEATURE_COUNT = SYNTAX_ELEMENT_FEATURE_COUNT + 6;
+
+ /**
+ * The operation id for the '<em>To Reference</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int MEMBER_DEFINITION___TO_REFERENCE = SYNTAX_ELEMENT___TO_REFERENCE;
+
+ /**
+ * The operation id for the '<em>Owner</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int MEMBER_DEFINITION___OWNER = SYNTAX_ELEMENT___OWNER;
+
+ /**
+ * The operation id for the '<em>Syntax Element owner</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int MEMBER_DEFINITION___SYNTAX_ELEMENT_OWNER = SYNTAX_ELEMENT___SYNTAX_ELEMENT_OWNER;
+
+ /**
+ * The operation id for the '<em>Current Scope</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int MEMBER_DEFINITION___CURRENT_SCOPE = SYNTAX_ELEMENT___CURRENT_SCOPE;
+
+ /**
+ * The operation id for the '<em>Syntax Element current Scope</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int MEMBER_DEFINITION___SYNTAX_ELEMENT_CURRENT_SCOPE = SYNTAX_ELEMENT___SYNTAX_ELEMENT_CURRENT_SCOPE;
+
+ /**
+ * The operation id for the '<em>Enclosing Statement</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int MEMBER_DEFINITION___ENCLOSING_STATEMENT = SYNTAX_ELEMENT___ENCLOSING_STATEMENT;
+
+ /**
+ * The operation id for the '<em>Enclosing Expression</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int MEMBER_DEFINITION___ENCLOSING_EXPRESSION = SYNTAX_ELEMENT___ENCLOSING_EXPRESSION;
+
+ /**
+ * The operation id for the '<em>Assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int MEMBER_DEFINITION___ASSIGNMENTS_BEFORE = SYNTAX_ELEMENT___ASSIGNMENTS_BEFORE;
+
+ /**
+ * The operation id for the '<em>Syntax Element assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int MEMBER_DEFINITION___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE = SYNTAX_ELEMENT___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE;
+
+ /**
+ * The operation id for the '<em>Syntax Element assignments Before base</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int MEMBER_DEFINITION___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE_BASE = SYNTAX_ELEMENT___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE_BASE;
+
+ /**
+ * The operation id for the '<em>Assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int MEMBER_DEFINITION___ASSIGNMENTS_BEFORE__SYNTAXELEMENT = SYNTAX_ELEMENT___ASSIGNMENTS_BEFORE__SYNTAXELEMENT;
+
+ /**
+ * The operation id for the '<em>Update All</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int MEMBER_DEFINITION___UPDATE_ALL__ELIST_ELIST = SYNTAX_ELEMENT___UPDATE_ALL__ELIST_ELIST;
+
+ /**
+ * The operation id for the '<em>Common Ancestor</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int MEMBER_DEFINITION___COMMON_ANCESTOR__ELIST = SYNTAX_ELEMENT___COMMON_ANCESTOR__ELIST;
+
+ /**
+ * The operation id for the '<em>Common Ancestors</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int MEMBER_DEFINITION___COMMON_ANCESTORS__ELIST = SYNTAX_ELEMENT___COMMON_ANCESTORS__ELIST;
+
+ /**
+ * The operation id for the '<em>Remove Duplicate Elements</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int MEMBER_DEFINITION___REMOVE_DUPLICATE_ELEMENTS__ELIST = SYNTAX_ELEMENT___REMOVE_DUPLICATE_ELEMENTS__ELIST;
+
+ /**
+ * The operation id for the '<em>Resolve In Library</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int MEMBER_DEFINITION___RESOLVE_IN_LIBRARY__STRING = SYNTAX_ELEMENT___RESOLVE_IN_LIBRARY__STRING;
+
+ /**
+ * The operation id for the '<em>Primitive Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int MEMBER_DEFINITION___PRIMITIVE_TYPE__STRING = SYNTAX_ELEMENT___PRIMITIVE_TYPE__STRING;
+
+ /**
+ * The operation id for the '<em>Primitive Type </em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int MEMBER_DEFINITION___PRIMITIVE_TYPE____STRING = SYNTAX_ELEMENT___PRIMITIVE_TYPE____STRING;
+
+ /**
+ * The operation id for the '<em>Boolean Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int MEMBER_DEFINITION___BOOLEAN_TYPE = SYNTAX_ELEMENT___BOOLEAN_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Boolean Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int MEMBER_DEFINITION___IS_BOOLEAN_TYPE__ELEMENTREFERENCE = SYNTAX_ELEMENT___IS_BOOLEAN_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Integer Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int MEMBER_DEFINITION___INTEGER_TYPE = SYNTAX_ELEMENT___INTEGER_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Integer Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int MEMBER_DEFINITION___IS_INTEGER_TYPE__ELEMENTREFERENCE = SYNTAX_ELEMENT___IS_INTEGER_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int MEMBER_DEFINITION___STRING_TYPE = SYNTAX_ELEMENT___STRING_TYPE;
+
+ /**
+ * The operation id for the '<em>Is String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int MEMBER_DEFINITION___IS_STRING_TYPE__ELEMENTREFERENCE = SYNTAX_ELEMENT___IS_STRING_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Unlimited Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int MEMBER_DEFINITION___UNLIMITED_NATURAL_TYPE = SYNTAX_ELEMENT___UNLIMITED_NATURAL_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Unlimited Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int MEMBER_DEFINITION___IS_UNLIMITED_NATURAL_TYPE__ELEMENTREFERENCE = SYNTAX_ELEMENT___IS_UNLIMITED_NATURAL_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Bit String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int MEMBER_DEFINITION___BIT_STRING_TYPE = SYNTAX_ELEMENT___BIT_STRING_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Bit String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int MEMBER_DEFINITION___IS_BIT_STRING_TYPE__ELEMENTREFERENCE = SYNTAX_ELEMENT___IS_BIT_STRING_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int MEMBER_DEFINITION___NATURAL_TYPE = SYNTAX_ELEMENT___NATURAL_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int MEMBER_DEFINITION___IS_NATURAL_TYPE__ELEMENTREFERENCE = SYNTAX_ELEMENT___IS_NATURAL_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Numeric Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int MEMBER_DEFINITION___IS_NUMERIC_TYPE__ELEMENTREFERENCE = SYNTAX_ELEMENT___IS_NUMERIC_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Collection Function Add</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int MEMBER_DEFINITION___COLLECTION_FUNCTION_ADD = SYNTAX_ELEMENT___COLLECTION_FUNCTION_ADD;
+
+ /**
+ * The operation id for the '<em>Is Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int MEMBER_DEFINITION___IS_COLLECTION_CLASS__ELEMENTREFERENCE = SYNTAX_ELEMENT___IS_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Integer Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int MEMBER_DEFINITION___IS_INTEGER_COLLECTION_CLASS__ELEMENTREFERENCE = SYNTAX_ELEMENT___IS_INTEGER_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Bit String Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int MEMBER_DEFINITION___IS_BIT_STRING_COLLECTION_CLASS__ELEMENTREFERENCE = SYNTAX_ELEMENT___IS_BIT_STRING_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Annotation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int MEMBER_DEFINITION___ANNOTATION = SYNTAX_ELEMENT_OPERATION_COUNT + 0;
+
+ /**
+ * The operation id for the '<em>Actual Name</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int MEMBER_DEFINITION___ACTUAL_NAME = SYNTAX_ELEMENT_OPERATION_COUNT + 1;
+
+ /**
+ * The operation id for the '<em>Outer Scope</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int MEMBER_DEFINITION___OUTER_SCOPE = SYNTAX_ELEMENT_OPERATION_COUNT + 2;
+
+ /**
+ * The operation id for the '<em>Member Definition outer Scope</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int MEMBER_DEFINITION___MEMBER_DEFINITION_OUTER_SCOPE = SYNTAX_ELEMENT_OPERATION_COUNT + 3;
+
+ /**
+ * The operation id for the '<em>Qualified Name</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int MEMBER_DEFINITION___QUALIFIED_NAME = SYNTAX_ELEMENT_OPERATION_COUNT + 4;
+
+ /**
+ * The operation id for the '<em>Namespace Reference</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int MEMBER_DEFINITION___NAMESPACE_REFERENCE = SYNTAX_ELEMENT_OPERATION_COUNT + 5;
+
+ /**
+ * The operation id for the '<em>Add To Model</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int MEMBER_DEFINITION___ADD_TO_MODEL = SYNTAX_ELEMENT_OPERATION_COUNT + 6;
+
+ /**
+ * The operation id for the '<em>Annotation Allowed</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int MEMBER_DEFINITION___ANNOTATION_ALLOWED__STEREOTYPEANNOTATION = SYNTAX_ELEMENT_OPERATION_COUNT + 7;
+
+ /**
+ * The operation id for the '<em>Match For Stub</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int MEMBER_DEFINITION___MATCH_FOR_STUB__UNITDEFINITION = SYNTAX_ELEMENT_OPERATION_COUNT + 8;
+
+ /**
+ * The operation id for the '<em>Is Distinguishable From</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int MEMBER_DEFINITION___IS_DISTINGUISHABLE_FROM__MEMBERDEFINITION = SYNTAX_ELEMENT_OPERATION_COUNT + 9;
+
+ /**
+ * The operation id for the '<em>Member Definition is Distinguishable From</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int MEMBER_DEFINITION___MEMBER_DEFINITION_IS_DISTINGUISHABLE_FROM__MEMBERDEFINITION = SYNTAX_ELEMENT_OPERATION_COUNT + 10;
+
+ /**
+ * The operation id for the '<em>Is Same Kind As</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int MEMBER_DEFINITION___IS_SAME_KIND_AS__ELEMENTREFERENCE = SYNTAX_ELEMENT_OPERATION_COUNT + 11;
+
+ /**
+ * The operation id for the '<em>Template Parameters</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int MEMBER_DEFINITION___TEMPLATE_PARAMETERS = SYNTAX_ELEMENT_OPERATION_COUNT + 12;
+
+ /**
+ * The operation id for the '<em>Is Template</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int MEMBER_DEFINITION___IS_TEMPLATE = SYNTAX_ELEMENT_OPERATION_COUNT + 13;
+
+ /**
+ * The operation id for the '<em>Is Feature</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int MEMBER_DEFINITION___IS_FEATURE = SYNTAX_ELEMENT_OPERATION_COUNT + 14;
+
+ /**
+ * The operation id for the '<em>Member Annotations</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int MEMBER_DEFINITION___MEMBER_ANNOTATIONS__DIAGNOSTICCHAIN_MAP = SYNTAX_ELEMENT_OPERATION_COUNT + 15;
+
+ /**
+ * The operation id for the '<em>Member Is Primitive Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int MEMBER_DEFINITION___MEMBER_IS_PRIMITIVE_DERIVATION__DIAGNOSTICCHAIN_MAP = SYNTAX_ELEMENT_OPERATION_COUNT + 16;
+
+ /**
+ * The operation id for the '<em>Member Is External Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int MEMBER_DEFINITION___MEMBER_IS_EXTERNAL_DERIVATION__DIAGNOSTICCHAIN_MAP = SYNTAX_ELEMENT_OPERATION_COUNT + 17;
+
+ /**
+ * The operation id for the '<em>Member External</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int MEMBER_DEFINITION___MEMBER_EXTERNAL__DIAGNOSTICCHAIN_MAP = SYNTAX_ELEMENT_OPERATION_COUNT + 18;
+
+ /**
+ * The operation id for the '<em>Member Stub</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int MEMBER_DEFINITION___MEMBER_STUB__DIAGNOSTICCHAIN_MAP = SYNTAX_ELEMENT_OPERATION_COUNT + 19;
+
+ /**
+ * The operation id for the '<em>Member Subunit Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int MEMBER_DEFINITION___MEMBER_SUBUNIT_DERIVATION__DIAGNOSTICCHAIN_MAP = SYNTAX_ELEMENT_OPERATION_COUNT + 20;
+
+ /**
+ * The operation id for the '<em>Member Stub Stereotypes</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int MEMBER_DEFINITION___MEMBER_STUB_STEREOTYPES__DIAGNOSTICCHAIN_MAP = SYNTAX_ELEMENT_OPERATION_COUNT + 21;
+
+ /**
+ * The operation id for the '<em>Member Primitive</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int MEMBER_DEFINITION___MEMBER_PRIMITIVE__DIAGNOSTICCHAIN_MAP = SYNTAX_ELEMENT_OPERATION_COUNT + 22;
+
+ /**
+ * The operation id for the '<em>Containing Member</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int MEMBER_DEFINITION___CONTAINING_MEMBER = SYNTAX_ELEMENT_OPERATION_COUNT + 23;
+
+ /**
+ * The number of operations of the '<em>Member Definition</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int MEMBER_DEFINITION_OPERATION_COUNT = SYNTAX_ELEMENT_OPERATION_COUNT + 24;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.uml.alf.impl.NamespaceDefinitionImpl <em>Namespace Definition</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.uml.alf.impl.NamespaceDefinitionImpl
+ * @see org.eclipse.papyrus.uml.alf.impl.AlfPackageImpl#getNamespaceDefinition()
+ * @generated
+ */
+ int NAMESPACE_DEFINITION = 98;
+
+ /**
+ * The feature id for the '<em><b>Owner</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAMESPACE_DEFINITION__OWNER = MEMBER_DEFINITION__OWNER;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAMESPACE_DEFINITION__NAME = MEMBER_DEFINITION__NAME;
+
+ /**
+ * The feature id for the '<em><b>Is Stub</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAMESPACE_DEFINITION__IS_STUB = MEMBER_DEFINITION__IS_STUB;
+
+ /**
+ * The feature id for the '<em><b>Is Feature</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAMESPACE_DEFINITION__IS_FEATURE = MEMBER_DEFINITION__IS_FEATURE;
+
+ /**
+ * The feature id for the '<em><b>Is Primitive</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAMESPACE_DEFINITION__IS_PRIMITIVE = MEMBER_DEFINITION__IS_PRIMITIVE;
+
+ /**
+ * The feature id for the '<em><b>Is External</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAMESPACE_DEFINITION__IS_EXTERNAL = MEMBER_DEFINITION__IS_EXTERNAL;
+
+ /**
+ * The feature id for the '<em><b>Subunit</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAMESPACE_DEFINITION__SUBUNIT = MEMBER_DEFINITION__SUBUNIT;
+
+ /**
+ * The feature id for the '<em><b>Owned Member</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAMESPACE_DEFINITION__OWNED_MEMBER = MEMBER_DEFINITION_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Unit</b></em>' container reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAMESPACE_DEFINITION__UNIT = MEMBER_DEFINITION_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Member</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAMESPACE_DEFINITION__MEMBER = MEMBER_DEFINITION_FEATURE_COUNT + 2;
+
+ /**
+ * The number of structural features of the '<em>Namespace Definition</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAMESPACE_DEFINITION_FEATURE_COUNT = MEMBER_DEFINITION_FEATURE_COUNT + 3;
+
+ /**
+ * The operation id for the '<em>To Reference</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAMESPACE_DEFINITION___TO_REFERENCE = MEMBER_DEFINITION___TO_REFERENCE;
+
+ /**
+ * The operation id for the '<em>Owner</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAMESPACE_DEFINITION___OWNER = MEMBER_DEFINITION___OWNER;
+
+ /**
+ * The operation id for the '<em>Syntax Element owner</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAMESPACE_DEFINITION___SYNTAX_ELEMENT_OWNER = MEMBER_DEFINITION___SYNTAX_ELEMENT_OWNER;
+
+ /**
+ * The operation id for the '<em>Syntax Element current Scope</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAMESPACE_DEFINITION___SYNTAX_ELEMENT_CURRENT_SCOPE = MEMBER_DEFINITION___SYNTAX_ELEMENT_CURRENT_SCOPE;
+
+ /**
+ * The operation id for the '<em>Enclosing Statement</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAMESPACE_DEFINITION___ENCLOSING_STATEMENT = MEMBER_DEFINITION___ENCLOSING_STATEMENT;
+
+ /**
+ * The operation id for the '<em>Enclosing Expression</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAMESPACE_DEFINITION___ENCLOSING_EXPRESSION = MEMBER_DEFINITION___ENCLOSING_EXPRESSION;
+
+ /**
+ * The operation id for the '<em>Assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAMESPACE_DEFINITION___ASSIGNMENTS_BEFORE = MEMBER_DEFINITION___ASSIGNMENTS_BEFORE;
+
+ /**
+ * The operation id for the '<em>Syntax Element assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAMESPACE_DEFINITION___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE = MEMBER_DEFINITION___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE;
+
+ /**
+ * The operation id for the '<em>Syntax Element assignments Before base</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAMESPACE_DEFINITION___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE_BASE = MEMBER_DEFINITION___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE_BASE;
+
+ /**
+ * The operation id for the '<em>Assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAMESPACE_DEFINITION___ASSIGNMENTS_BEFORE__SYNTAXELEMENT = MEMBER_DEFINITION___ASSIGNMENTS_BEFORE__SYNTAXELEMENT;
+
+ /**
+ * The operation id for the '<em>Update All</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAMESPACE_DEFINITION___UPDATE_ALL__ELIST_ELIST = MEMBER_DEFINITION___UPDATE_ALL__ELIST_ELIST;
+
+ /**
+ * The operation id for the '<em>Common Ancestor</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAMESPACE_DEFINITION___COMMON_ANCESTOR__ELIST = MEMBER_DEFINITION___COMMON_ANCESTOR__ELIST;
+
+ /**
+ * The operation id for the '<em>Common Ancestors</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAMESPACE_DEFINITION___COMMON_ANCESTORS__ELIST = MEMBER_DEFINITION___COMMON_ANCESTORS__ELIST;
+
+ /**
+ * The operation id for the '<em>Remove Duplicate Elements</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAMESPACE_DEFINITION___REMOVE_DUPLICATE_ELEMENTS__ELIST = MEMBER_DEFINITION___REMOVE_DUPLICATE_ELEMENTS__ELIST;
+
+ /**
+ * The operation id for the '<em>Resolve In Library</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAMESPACE_DEFINITION___RESOLVE_IN_LIBRARY__STRING = MEMBER_DEFINITION___RESOLVE_IN_LIBRARY__STRING;
+
+ /**
+ * The operation id for the '<em>Primitive Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAMESPACE_DEFINITION___PRIMITIVE_TYPE__STRING = MEMBER_DEFINITION___PRIMITIVE_TYPE__STRING;
+
+ /**
+ * The operation id for the '<em>Primitive Type </em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAMESPACE_DEFINITION___PRIMITIVE_TYPE____STRING = MEMBER_DEFINITION___PRIMITIVE_TYPE____STRING;
+
+ /**
+ * The operation id for the '<em>Boolean Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAMESPACE_DEFINITION___BOOLEAN_TYPE = MEMBER_DEFINITION___BOOLEAN_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Boolean Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAMESPACE_DEFINITION___IS_BOOLEAN_TYPE__ELEMENTREFERENCE = MEMBER_DEFINITION___IS_BOOLEAN_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Integer Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAMESPACE_DEFINITION___INTEGER_TYPE = MEMBER_DEFINITION___INTEGER_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Integer Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAMESPACE_DEFINITION___IS_INTEGER_TYPE__ELEMENTREFERENCE = MEMBER_DEFINITION___IS_INTEGER_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAMESPACE_DEFINITION___STRING_TYPE = MEMBER_DEFINITION___STRING_TYPE;
+
+ /**
+ * The operation id for the '<em>Is String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAMESPACE_DEFINITION___IS_STRING_TYPE__ELEMENTREFERENCE = MEMBER_DEFINITION___IS_STRING_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Unlimited Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAMESPACE_DEFINITION___UNLIMITED_NATURAL_TYPE = MEMBER_DEFINITION___UNLIMITED_NATURAL_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Unlimited Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAMESPACE_DEFINITION___IS_UNLIMITED_NATURAL_TYPE__ELEMENTREFERENCE = MEMBER_DEFINITION___IS_UNLIMITED_NATURAL_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Bit String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAMESPACE_DEFINITION___BIT_STRING_TYPE = MEMBER_DEFINITION___BIT_STRING_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Bit String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAMESPACE_DEFINITION___IS_BIT_STRING_TYPE__ELEMENTREFERENCE = MEMBER_DEFINITION___IS_BIT_STRING_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAMESPACE_DEFINITION___NATURAL_TYPE = MEMBER_DEFINITION___NATURAL_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAMESPACE_DEFINITION___IS_NATURAL_TYPE__ELEMENTREFERENCE = MEMBER_DEFINITION___IS_NATURAL_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Numeric Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAMESPACE_DEFINITION___IS_NUMERIC_TYPE__ELEMENTREFERENCE = MEMBER_DEFINITION___IS_NUMERIC_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Collection Function Add</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAMESPACE_DEFINITION___COLLECTION_FUNCTION_ADD = MEMBER_DEFINITION___COLLECTION_FUNCTION_ADD;
+
+ /**
+ * The operation id for the '<em>Is Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAMESPACE_DEFINITION___IS_COLLECTION_CLASS__ELEMENTREFERENCE = MEMBER_DEFINITION___IS_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Integer Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAMESPACE_DEFINITION___IS_INTEGER_COLLECTION_CLASS__ELEMENTREFERENCE = MEMBER_DEFINITION___IS_INTEGER_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Bit String Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAMESPACE_DEFINITION___IS_BIT_STRING_COLLECTION_CLASS__ELEMENTREFERENCE = MEMBER_DEFINITION___IS_BIT_STRING_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Annotation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAMESPACE_DEFINITION___ANNOTATION = MEMBER_DEFINITION___ANNOTATION;
+
+ /**
+ * The operation id for the '<em>Actual Name</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAMESPACE_DEFINITION___ACTUAL_NAME = MEMBER_DEFINITION___ACTUAL_NAME;
+
+ /**
+ * The operation id for the '<em>Member Definition outer Scope</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAMESPACE_DEFINITION___MEMBER_DEFINITION_OUTER_SCOPE = MEMBER_DEFINITION___MEMBER_DEFINITION_OUTER_SCOPE;
+
+ /**
+ * The operation id for the '<em>Qualified Name</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAMESPACE_DEFINITION___QUALIFIED_NAME = MEMBER_DEFINITION___QUALIFIED_NAME;
+
+ /**
+ * The operation id for the '<em>Namespace Reference</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAMESPACE_DEFINITION___NAMESPACE_REFERENCE = MEMBER_DEFINITION___NAMESPACE_REFERENCE;
+
+ /**
+ * The operation id for the '<em>Add To Model</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAMESPACE_DEFINITION___ADD_TO_MODEL = MEMBER_DEFINITION___ADD_TO_MODEL;
+
+ /**
+ * The operation id for the '<em>Match For Stub</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAMESPACE_DEFINITION___MATCH_FOR_STUB__UNITDEFINITION = MEMBER_DEFINITION___MATCH_FOR_STUB__UNITDEFINITION;
+
+ /**
+ * The operation id for the '<em>Is Distinguishable From</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAMESPACE_DEFINITION___IS_DISTINGUISHABLE_FROM__MEMBERDEFINITION = MEMBER_DEFINITION___IS_DISTINGUISHABLE_FROM__MEMBERDEFINITION;
+
+ /**
+ * The operation id for the '<em>Member Definition is Distinguishable From</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAMESPACE_DEFINITION___MEMBER_DEFINITION_IS_DISTINGUISHABLE_FROM__MEMBERDEFINITION = MEMBER_DEFINITION___MEMBER_DEFINITION_IS_DISTINGUISHABLE_FROM__MEMBERDEFINITION;
+
+ /**
+ * The operation id for the '<em>Is Same Kind As</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAMESPACE_DEFINITION___IS_SAME_KIND_AS__ELEMENTREFERENCE = MEMBER_DEFINITION___IS_SAME_KIND_AS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Template</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAMESPACE_DEFINITION___IS_TEMPLATE = MEMBER_DEFINITION___IS_TEMPLATE;
+
+ /**
+ * The operation id for the '<em>Is Feature</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAMESPACE_DEFINITION___IS_FEATURE = MEMBER_DEFINITION___IS_FEATURE;
+
+ /**
+ * The operation id for the '<em>Member Annotations</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAMESPACE_DEFINITION___MEMBER_ANNOTATIONS__DIAGNOSTICCHAIN_MAP = MEMBER_DEFINITION___MEMBER_ANNOTATIONS__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Member Is Primitive Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAMESPACE_DEFINITION___MEMBER_IS_PRIMITIVE_DERIVATION__DIAGNOSTICCHAIN_MAP = MEMBER_DEFINITION___MEMBER_IS_PRIMITIVE_DERIVATION__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Member Is External Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAMESPACE_DEFINITION___MEMBER_IS_EXTERNAL_DERIVATION__DIAGNOSTICCHAIN_MAP = MEMBER_DEFINITION___MEMBER_IS_EXTERNAL_DERIVATION__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Member External</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAMESPACE_DEFINITION___MEMBER_EXTERNAL__DIAGNOSTICCHAIN_MAP = MEMBER_DEFINITION___MEMBER_EXTERNAL__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Member Stub</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAMESPACE_DEFINITION___MEMBER_STUB__DIAGNOSTICCHAIN_MAP = MEMBER_DEFINITION___MEMBER_STUB__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Member Subunit Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAMESPACE_DEFINITION___MEMBER_SUBUNIT_DERIVATION__DIAGNOSTICCHAIN_MAP = MEMBER_DEFINITION___MEMBER_SUBUNIT_DERIVATION__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Member Stub Stereotypes</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAMESPACE_DEFINITION___MEMBER_STUB_STEREOTYPES__DIAGNOSTICCHAIN_MAP = MEMBER_DEFINITION___MEMBER_STUB_STEREOTYPES__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Member Primitive</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAMESPACE_DEFINITION___MEMBER_PRIMITIVE__DIAGNOSTICCHAIN_MAP = MEMBER_DEFINITION___MEMBER_PRIMITIVE__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Containing Member</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAMESPACE_DEFINITION___CONTAINING_MEMBER = MEMBER_DEFINITION___CONTAINING_MEMBER;
+
+ /**
+ * The operation id for the '<em>Current Scope</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAMESPACE_DEFINITION___CURRENT_SCOPE = MEMBER_DEFINITION_OPERATION_COUNT + 0;
+
+ /**
+ * The operation id for the '<em>Outer Scope</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAMESPACE_DEFINITION___OUTER_SCOPE = MEMBER_DEFINITION_OPERATION_COUNT + 1;
+
+ /**
+ * The operation id for the '<em>Namespace Definition outer Scope</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAMESPACE_DEFINITION___NAMESPACE_DEFINITION_OUTER_SCOPE = MEMBER_DEFINITION_OPERATION_COUNT + 2;
+
+ /**
+ * The operation id for the '<em>Model Namespace</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAMESPACE_DEFINITION___MODEL_NAMESPACE = MEMBER_DEFINITION_OPERATION_COUNT + 3;
+
+ /**
+ * The operation id for the '<em>Model Scope</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAMESPACE_DEFINITION___MODEL_SCOPE = MEMBER_DEFINITION_OPERATION_COUNT + 4;
+
+ /**
+ * The operation id for the '<em>Resolve In Scope</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAMESPACE_DEFINITION___RESOLVE_IN_SCOPE__STRING = MEMBER_DEFINITION_OPERATION_COUNT + 5;
+
+ /**
+ * The operation id for the '<em>Applied Profiles</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAMESPACE_DEFINITION___APPLIED_PROFILES = MEMBER_DEFINITION_OPERATION_COUNT + 6;
+
+ /**
+ * The operation id for the '<em>Namespace Definition applied Profiles</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAMESPACE_DEFINITION___NAMESPACE_DEFINITION_APPLIED_PROFILES = MEMBER_DEFINITION_OPERATION_COUNT + 7;
+
+ /**
+ * The operation id for the '<em>Parameters</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAMESPACE_DEFINITION___PARAMETERS = MEMBER_DEFINITION_OPERATION_COUNT + 8;
+
+ /**
+ * The operation id for the '<em>Return Parameter</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAMESPACE_DEFINITION___RETURN_PARAMETER = MEMBER_DEFINITION_OPERATION_COUNT + 9;
+
+ /**
+ * The operation id for the '<em>Namespace Definition return Parameter</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAMESPACE_DEFINITION___NAMESPACE_DEFINITION_RETURN_PARAMETER = MEMBER_DEFINITION_OPERATION_COUNT + 10;
+
+ /**
+ * The operation id for the '<em>Subunit Owned Members</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAMESPACE_DEFINITION___SUBUNIT_OWNED_MEMBERS = MEMBER_DEFINITION_OPERATION_COUNT + 11;
+
+ /**
+ * The operation id for the '<em>Annotation Allowed</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAMESPACE_DEFINITION___ANNOTATION_ALLOWED__STEREOTYPEANNOTATION = MEMBER_DEFINITION_OPERATION_COUNT + 12;
+
+ /**
+ * The operation id for the '<em>Namespace Definition annotation Allowed</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAMESPACE_DEFINITION___NAMESPACE_DEFINITION_ANNOTATION_ALLOWED__STEREOTYPEANNOTATION = MEMBER_DEFINITION_OPERATION_COUNT + 13;
+
+ /**
+ * The operation id for the '<em>Template Parameters</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAMESPACE_DEFINITION___TEMPLATE_PARAMETERS = MEMBER_DEFINITION_OPERATION_COUNT + 14;
+
+ /**
+ * The operation id for the '<em>Members Cached</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAMESPACE_DEFINITION___MEMBERS_CACHED = MEMBER_DEFINITION_OPERATION_COUNT + 15;
+
+ /**
+ * The operation id for the '<em>Members</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAMESPACE_DEFINITION___MEMBERS = MEMBER_DEFINITION_OPERATION_COUNT + 16;
+
+ /**
+ * The operation id for the '<em>Namespace Definition members</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAMESPACE_DEFINITION___NAMESPACE_DEFINITION_MEMBERS = MEMBER_DEFINITION_OPERATION_COUNT + 17;
+
+ /**
+ * The operation id for the '<em>Imported Members</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAMESPACE_DEFINITION___IMPORTED_MEMBERS = MEMBER_DEFINITION_OPERATION_COUNT + 18;
+
+ /**
+ * The operation id for the '<em>Import Members</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAMESPACE_DEFINITION___IMPORT_MEMBERS__ELIST = MEMBER_DEFINITION_OPERATION_COUNT + 19;
+
+ /**
+ * The operation id for the '<em>Exclude Collisions</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAMESPACE_DEFINITION___EXCLUDE_COLLISIONS__ELIST = MEMBER_DEFINITION_OPERATION_COUNT + 20;
+
+ /**
+ * The operation id for the '<em>Remove Duplicates</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAMESPACE_DEFINITION___REMOVE_DUPLICATES__ELIST = MEMBER_DEFINITION_OPERATION_COUNT + 21;
+
+ /**
+ * The operation id for the '<em>Include Distinguishable Caching</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAMESPACE_DEFINITION___INCLUDE_DISTINGUISHABLE_CACHING__ELIST = MEMBER_DEFINITION_OPERATION_COUNT + 22;
+
+ /**
+ * The operation id for the '<em>Include Distinguishable</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAMESPACE_DEFINITION___INCLUDE_DISTINGUISHABLE__ELIST = MEMBER_DEFINITION_OPERATION_COUNT + 23;
+
+ /**
+ * The operation id for the '<em>Stub</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAMESPACE_DEFINITION___STUB = MEMBER_DEFINITION_OPERATION_COUNT + 24;
+
+ /**
+ * The operation id for the '<em>Stub For</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAMESPACE_DEFINITION___STUB_FOR__UNITDEFINITION = MEMBER_DEFINITION_OPERATION_COUNT + 25;
+
+ /**
+ * The operation id for the '<em>Namespace Definition Member Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAMESPACE_DEFINITION___NAMESPACE_DEFINITION_MEMBER_DERIVATION__DIAGNOSTICCHAIN_MAP = MEMBER_DEFINITION_OPERATION_COUNT + 26;
+
+ /**
+ * The operation id for the '<em>Namespace Definition Member Distinguishability</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAMESPACE_DEFINITION___NAMESPACE_DEFINITION_MEMBER_DISTINGUISHABILITY__DIAGNOSTICCHAIN_MAP = MEMBER_DEFINITION_OPERATION_COUNT + 27;
+
+ /**
+ * The number of operations of the '<em>Namespace Definition</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NAMESPACE_DEFINITION_OPERATION_COUNT = MEMBER_DEFINITION_OPERATION_COUNT + 28;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.uml.alf.impl.PackageDefinitionImpl <em>Package Definition</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.uml.alf.impl.PackageDefinitionImpl
+ * @see org.eclipse.papyrus.uml.alf.impl.AlfPackageImpl#getPackageDefinition()
+ * @generated
+ */
+ int PACKAGE_DEFINITION = 113;
+
+ /**
+ * The feature id for the '<em><b>Owner</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PACKAGE_DEFINITION__OWNER = NAMESPACE_DEFINITION__OWNER;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PACKAGE_DEFINITION__NAME = NAMESPACE_DEFINITION__NAME;
+
+ /**
+ * The feature id for the '<em><b>Is Stub</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PACKAGE_DEFINITION__IS_STUB = NAMESPACE_DEFINITION__IS_STUB;
+
+ /**
+ * The feature id for the '<em><b>Is Feature</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PACKAGE_DEFINITION__IS_FEATURE = NAMESPACE_DEFINITION__IS_FEATURE;
+
+ /**
+ * The feature id for the '<em><b>Is Primitive</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PACKAGE_DEFINITION__IS_PRIMITIVE = NAMESPACE_DEFINITION__IS_PRIMITIVE;
+
+ /**
+ * The feature id for the '<em><b>Is External</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PACKAGE_DEFINITION__IS_EXTERNAL = NAMESPACE_DEFINITION__IS_EXTERNAL;
+
+ /**
+ * The feature id for the '<em><b>Subunit</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PACKAGE_DEFINITION__SUBUNIT = NAMESPACE_DEFINITION__SUBUNIT;
+
+ /**
+ * The feature id for the '<em><b>Owned Member</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PACKAGE_DEFINITION__OWNED_MEMBER = NAMESPACE_DEFINITION__OWNED_MEMBER;
+
+ /**
+ * The feature id for the '<em><b>Unit</b></em>' container reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PACKAGE_DEFINITION__UNIT = NAMESPACE_DEFINITION__UNIT;
+
+ /**
+ * The feature id for the '<em><b>Member</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PACKAGE_DEFINITION__MEMBER = NAMESPACE_DEFINITION__MEMBER;
+
+ /**
+ * The feature id for the '<em><b>Applied Profile</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PACKAGE_DEFINITION__APPLIED_PROFILE = NAMESPACE_DEFINITION_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the '<em>Package Definition</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PACKAGE_DEFINITION_FEATURE_COUNT = NAMESPACE_DEFINITION_FEATURE_COUNT + 1;
+
+ /**
+ * The operation id for the '<em>To Reference</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PACKAGE_DEFINITION___TO_REFERENCE = NAMESPACE_DEFINITION___TO_REFERENCE;
+
+ /**
+ * The operation id for the '<em>Owner</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PACKAGE_DEFINITION___OWNER = NAMESPACE_DEFINITION___OWNER;
+
+ /**
+ * The operation id for the '<em>Syntax Element owner</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PACKAGE_DEFINITION___SYNTAX_ELEMENT_OWNER = NAMESPACE_DEFINITION___SYNTAX_ELEMENT_OWNER;
+
+ /**
+ * The operation id for the '<em>Syntax Element current Scope</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PACKAGE_DEFINITION___SYNTAX_ELEMENT_CURRENT_SCOPE = NAMESPACE_DEFINITION___SYNTAX_ELEMENT_CURRENT_SCOPE;
+
+ /**
+ * The operation id for the '<em>Enclosing Statement</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PACKAGE_DEFINITION___ENCLOSING_STATEMENT = NAMESPACE_DEFINITION___ENCLOSING_STATEMENT;
+
+ /**
+ * The operation id for the '<em>Enclosing Expression</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PACKAGE_DEFINITION___ENCLOSING_EXPRESSION = NAMESPACE_DEFINITION___ENCLOSING_EXPRESSION;
+
+ /**
+ * The operation id for the '<em>Assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PACKAGE_DEFINITION___ASSIGNMENTS_BEFORE = NAMESPACE_DEFINITION___ASSIGNMENTS_BEFORE;
+
+ /**
+ * The operation id for the '<em>Syntax Element assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PACKAGE_DEFINITION___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE = NAMESPACE_DEFINITION___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE;
+
+ /**
+ * The operation id for the '<em>Syntax Element assignments Before base</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PACKAGE_DEFINITION___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE_BASE = NAMESPACE_DEFINITION___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE_BASE;
+
+ /**
+ * The operation id for the '<em>Assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PACKAGE_DEFINITION___ASSIGNMENTS_BEFORE__SYNTAXELEMENT = NAMESPACE_DEFINITION___ASSIGNMENTS_BEFORE__SYNTAXELEMENT;
+
+ /**
+ * The operation id for the '<em>Update All</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PACKAGE_DEFINITION___UPDATE_ALL__ELIST_ELIST = NAMESPACE_DEFINITION___UPDATE_ALL__ELIST_ELIST;
+
+ /**
+ * The operation id for the '<em>Common Ancestor</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PACKAGE_DEFINITION___COMMON_ANCESTOR__ELIST = NAMESPACE_DEFINITION___COMMON_ANCESTOR__ELIST;
+
+ /**
+ * The operation id for the '<em>Common Ancestors</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PACKAGE_DEFINITION___COMMON_ANCESTORS__ELIST = NAMESPACE_DEFINITION___COMMON_ANCESTORS__ELIST;
+
+ /**
+ * The operation id for the '<em>Remove Duplicate Elements</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PACKAGE_DEFINITION___REMOVE_DUPLICATE_ELEMENTS__ELIST = NAMESPACE_DEFINITION___REMOVE_DUPLICATE_ELEMENTS__ELIST;
+
+ /**
+ * The operation id for the '<em>Resolve In Library</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PACKAGE_DEFINITION___RESOLVE_IN_LIBRARY__STRING = NAMESPACE_DEFINITION___RESOLVE_IN_LIBRARY__STRING;
+
+ /**
+ * The operation id for the '<em>Primitive Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PACKAGE_DEFINITION___PRIMITIVE_TYPE__STRING = NAMESPACE_DEFINITION___PRIMITIVE_TYPE__STRING;
+
+ /**
+ * The operation id for the '<em>Primitive Type </em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PACKAGE_DEFINITION___PRIMITIVE_TYPE____STRING = NAMESPACE_DEFINITION___PRIMITIVE_TYPE____STRING;
+
+ /**
+ * The operation id for the '<em>Boolean Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PACKAGE_DEFINITION___BOOLEAN_TYPE = NAMESPACE_DEFINITION___BOOLEAN_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Boolean Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PACKAGE_DEFINITION___IS_BOOLEAN_TYPE__ELEMENTREFERENCE = NAMESPACE_DEFINITION___IS_BOOLEAN_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Integer Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PACKAGE_DEFINITION___INTEGER_TYPE = NAMESPACE_DEFINITION___INTEGER_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Integer Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PACKAGE_DEFINITION___IS_INTEGER_TYPE__ELEMENTREFERENCE = NAMESPACE_DEFINITION___IS_INTEGER_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PACKAGE_DEFINITION___STRING_TYPE = NAMESPACE_DEFINITION___STRING_TYPE;
+
+ /**
+ * The operation id for the '<em>Is String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PACKAGE_DEFINITION___IS_STRING_TYPE__ELEMENTREFERENCE = NAMESPACE_DEFINITION___IS_STRING_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Unlimited Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PACKAGE_DEFINITION___UNLIMITED_NATURAL_TYPE = NAMESPACE_DEFINITION___UNLIMITED_NATURAL_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Unlimited Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PACKAGE_DEFINITION___IS_UNLIMITED_NATURAL_TYPE__ELEMENTREFERENCE = NAMESPACE_DEFINITION___IS_UNLIMITED_NATURAL_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Bit String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PACKAGE_DEFINITION___BIT_STRING_TYPE = NAMESPACE_DEFINITION___BIT_STRING_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Bit String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PACKAGE_DEFINITION___IS_BIT_STRING_TYPE__ELEMENTREFERENCE = NAMESPACE_DEFINITION___IS_BIT_STRING_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PACKAGE_DEFINITION___NATURAL_TYPE = NAMESPACE_DEFINITION___NATURAL_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PACKAGE_DEFINITION___IS_NATURAL_TYPE__ELEMENTREFERENCE = NAMESPACE_DEFINITION___IS_NATURAL_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Numeric Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PACKAGE_DEFINITION___IS_NUMERIC_TYPE__ELEMENTREFERENCE = NAMESPACE_DEFINITION___IS_NUMERIC_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Collection Function Add</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PACKAGE_DEFINITION___COLLECTION_FUNCTION_ADD = NAMESPACE_DEFINITION___COLLECTION_FUNCTION_ADD;
+
+ /**
+ * The operation id for the '<em>Is Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PACKAGE_DEFINITION___IS_COLLECTION_CLASS__ELEMENTREFERENCE = NAMESPACE_DEFINITION___IS_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Integer Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PACKAGE_DEFINITION___IS_INTEGER_COLLECTION_CLASS__ELEMENTREFERENCE = NAMESPACE_DEFINITION___IS_INTEGER_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Bit String Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PACKAGE_DEFINITION___IS_BIT_STRING_COLLECTION_CLASS__ELEMENTREFERENCE = NAMESPACE_DEFINITION___IS_BIT_STRING_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Annotation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PACKAGE_DEFINITION___ANNOTATION = NAMESPACE_DEFINITION___ANNOTATION;
+
+ /**
+ * The operation id for the '<em>Actual Name</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PACKAGE_DEFINITION___ACTUAL_NAME = NAMESPACE_DEFINITION___ACTUAL_NAME;
+
+ /**
+ * The operation id for the '<em>Member Definition outer Scope</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PACKAGE_DEFINITION___MEMBER_DEFINITION_OUTER_SCOPE = NAMESPACE_DEFINITION___MEMBER_DEFINITION_OUTER_SCOPE;
+
+ /**
+ * The operation id for the '<em>Qualified Name</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PACKAGE_DEFINITION___QUALIFIED_NAME = NAMESPACE_DEFINITION___QUALIFIED_NAME;
+
+ /**
+ * The operation id for the '<em>Namespace Reference</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PACKAGE_DEFINITION___NAMESPACE_REFERENCE = NAMESPACE_DEFINITION___NAMESPACE_REFERENCE;
+
+ /**
+ * The operation id for the '<em>Add To Model</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PACKAGE_DEFINITION___ADD_TO_MODEL = NAMESPACE_DEFINITION___ADD_TO_MODEL;
+
+ /**
+ * The operation id for the '<em>Is Distinguishable From</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PACKAGE_DEFINITION___IS_DISTINGUISHABLE_FROM__MEMBERDEFINITION = NAMESPACE_DEFINITION___IS_DISTINGUISHABLE_FROM__MEMBERDEFINITION;
+
+ /**
+ * The operation id for the '<em>Member Definition is Distinguishable From</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PACKAGE_DEFINITION___MEMBER_DEFINITION_IS_DISTINGUISHABLE_FROM__MEMBERDEFINITION = NAMESPACE_DEFINITION___MEMBER_DEFINITION_IS_DISTINGUISHABLE_FROM__MEMBERDEFINITION;
+
+ /**
+ * The operation id for the '<em>Is Template</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PACKAGE_DEFINITION___IS_TEMPLATE = NAMESPACE_DEFINITION___IS_TEMPLATE;
+
+ /**
+ * The operation id for the '<em>Is Feature</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PACKAGE_DEFINITION___IS_FEATURE = NAMESPACE_DEFINITION___IS_FEATURE;
+
+ /**
+ * The operation id for the '<em>Member Annotations</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PACKAGE_DEFINITION___MEMBER_ANNOTATIONS__DIAGNOSTICCHAIN_MAP = NAMESPACE_DEFINITION___MEMBER_ANNOTATIONS__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Member Is Primitive Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PACKAGE_DEFINITION___MEMBER_IS_PRIMITIVE_DERIVATION__DIAGNOSTICCHAIN_MAP = NAMESPACE_DEFINITION___MEMBER_IS_PRIMITIVE_DERIVATION__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Member Is External Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PACKAGE_DEFINITION___MEMBER_IS_EXTERNAL_DERIVATION__DIAGNOSTICCHAIN_MAP = NAMESPACE_DEFINITION___MEMBER_IS_EXTERNAL_DERIVATION__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Member External</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PACKAGE_DEFINITION___MEMBER_EXTERNAL__DIAGNOSTICCHAIN_MAP = NAMESPACE_DEFINITION___MEMBER_EXTERNAL__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Member Stub</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PACKAGE_DEFINITION___MEMBER_STUB__DIAGNOSTICCHAIN_MAP = NAMESPACE_DEFINITION___MEMBER_STUB__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Member Subunit Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PACKAGE_DEFINITION___MEMBER_SUBUNIT_DERIVATION__DIAGNOSTICCHAIN_MAP = NAMESPACE_DEFINITION___MEMBER_SUBUNIT_DERIVATION__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Member Stub Stereotypes</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PACKAGE_DEFINITION___MEMBER_STUB_STEREOTYPES__DIAGNOSTICCHAIN_MAP = NAMESPACE_DEFINITION___MEMBER_STUB_STEREOTYPES__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Member Primitive</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PACKAGE_DEFINITION___MEMBER_PRIMITIVE__DIAGNOSTICCHAIN_MAP = NAMESPACE_DEFINITION___MEMBER_PRIMITIVE__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Containing Member</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PACKAGE_DEFINITION___CONTAINING_MEMBER = NAMESPACE_DEFINITION___CONTAINING_MEMBER;
+
+ /**
+ * The operation id for the '<em>Current Scope</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PACKAGE_DEFINITION___CURRENT_SCOPE = NAMESPACE_DEFINITION___CURRENT_SCOPE;
+
+ /**
+ * The operation id for the '<em>Outer Scope</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PACKAGE_DEFINITION___OUTER_SCOPE = NAMESPACE_DEFINITION___OUTER_SCOPE;
+
+ /**
+ * The operation id for the '<em>Namespace Definition outer Scope</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PACKAGE_DEFINITION___NAMESPACE_DEFINITION_OUTER_SCOPE = NAMESPACE_DEFINITION___NAMESPACE_DEFINITION_OUTER_SCOPE;
+
+ /**
+ * The operation id for the '<em>Model Namespace</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PACKAGE_DEFINITION___MODEL_NAMESPACE = NAMESPACE_DEFINITION___MODEL_NAMESPACE;
+
+ /**
+ * The operation id for the '<em>Model Scope</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PACKAGE_DEFINITION___MODEL_SCOPE = NAMESPACE_DEFINITION___MODEL_SCOPE;
+
+ /**
+ * The operation id for the '<em>Resolve In Scope</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PACKAGE_DEFINITION___RESOLVE_IN_SCOPE__STRING = NAMESPACE_DEFINITION___RESOLVE_IN_SCOPE__STRING;
+
+ /**
+ * The operation id for the '<em>Namespace Definition applied Profiles</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PACKAGE_DEFINITION___NAMESPACE_DEFINITION_APPLIED_PROFILES = NAMESPACE_DEFINITION___NAMESPACE_DEFINITION_APPLIED_PROFILES;
+
+ /**
+ * The operation id for the '<em>Parameters</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PACKAGE_DEFINITION___PARAMETERS = NAMESPACE_DEFINITION___PARAMETERS;
+
+ /**
+ * The operation id for the '<em>Return Parameter</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PACKAGE_DEFINITION___RETURN_PARAMETER = NAMESPACE_DEFINITION___RETURN_PARAMETER;
+
+ /**
+ * The operation id for the '<em>Namespace Definition return Parameter</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PACKAGE_DEFINITION___NAMESPACE_DEFINITION_RETURN_PARAMETER = NAMESPACE_DEFINITION___NAMESPACE_DEFINITION_RETURN_PARAMETER;
+
+ /**
+ * The operation id for the '<em>Subunit Owned Members</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PACKAGE_DEFINITION___SUBUNIT_OWNED_MEMBERS = NAMESPACE_DEFINITION___SUBUNIT_OWNED_MEMBERS;
+
+ /**
+ * The operation id for the '<em>Namespace Definition annotation Allowed</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PACKAGE_DEFINITION___NAMESPACE_DEFINITION_ANNOTATION_ALLOWED__STEREOTYPEANNOTATION = NAMESPACE_DEFINITION___NAMESPACE_DEFINITION_ANNOTATION_ALLOWED__STEREOTYPEANNOTATION;
+
+ /**
+ * The operation id for the '<em>Template Parameters</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PACKAGE_DEFINITION___TEMPLATE_PARAMETERS = NAMESPACE_DEFINITION___TEMPLATE_PARAMETERS;
+
+ /**
+ * The operation id for the '<em>Members Cached</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PACKAGE_DEFINITION___MEMBERS_CACHED = NAMESPACE_DEFINITION___MEMBERS_CACHED;
+
+ /**
+ * The operation id for the '<em>Members</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PACKAGE_DEFINITION___MEMBERS = NAMESPACE_DEFINITION___MEMBERS;
+
+ /**
+ * The operation id for the '<em>Namespace Definition members</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PACKAGE_DEFINITION___NAMESPACE_DEFINITION_MEMBERS = NAMESPACE_DEFINITION___NAMESPACE_DEFINITION_MEMBERS;
+
+ /**
+ * The operation id for the '<em>Imported Members</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PACKAGE_DEFINITION___IMPORTED_MEMBERS = NAMESPACE_DEFINITION___IMPORTED_MEMBERS;
+
+ /**
+ * The operation id for the '<em>Import Members</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PACKAGE_DEFINITION___IMPORT_MEMBERS__ELIST = NAMESPACE_DEFINITION___IMPORT_MEMBERS__ELIST;
+
+ /**
+ * The operation id for the '<em>Exclude Collisions</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PACKAGE_DEFINITION___EXCLUDE_COLLISIONS__ELIST = NAMESPACE_DEFINITION___EXCLUDE_COLLISIONS__ELIST;
+
+ /**
+ * The operation id for the '<em>Remove Duplicates</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PACKAGE_DEFINITION___REMOVE_DUPLICATES__ELIST = NAMESPACE_DEFINITION___REMOVE_DUPLICATES__ELIST;
+
+ /**
+ * The operation id for the '<em>Include Distinguishable Caching</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PACKAGE_DEFINITION___INCLUDE_DISTINGUISHABLE_CACHING__ELIST = NAMESPACE_DEFINITION___INCLUDE_DISTINGUISHABLE_CACHING__ELIST;
+
+ /**
+ * The operation id for the '<em>Include Distinguishable</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PACKAGE_DEFINITION___INCLUDE_DISTINGUISHABLE__ELIST = NAMESPACE_DEFINITION___INCLUDE_DISTINGUISHABLE__ELIST;
+
+ /**
+ * The operation id for the '<em>Stub</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PACKAGE_DEFINITION___STUB = NAMESPACE_DEFINITION___STUB;
+
+ /**
+ * The operation id for the '<em>Stub For</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PACKAGE_DEFINITION___STUB_FOR__UNITDEFINITION = NAMESPACE_DEFINITION___STUB_FOR__UNITDEFINITION;
+
+ /**
+ * The operation id for the '<em>Namespace Definition Member Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PACKAGE_DEFINITION___NAMESPACE_DEFINITION_MEMBER_DERIVATION__DIAGNOSTICCHAIN_MAP = NAMESPACE_DEFINITION___NAMESPACE_DEFINITION_MEMBER_DERIVATION__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Namespace Definition Member Distinguishability</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PACKAGE_DEFINITION___NAMESPACE_DEFINITION_MEMBER_DISTINGUISHABILITY__DIAGNOSTICCHAIN_MAP = NAMESPACE_DEFINITION___NAMESPACE_DEFINITION_MEMBER_DISTINGUISHABILITY__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Allow Package Only</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PACKAGE_DEFINITION___ALLOW_PACKAGE_ONLY = NAMESPACE_DEFINITION_OPERATION_COUNT + 0;
+
+ /**
+ * The operation id for the '<em>Annotation Allowed</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PACKAGE_DEFINITION___ANNOTATION_ALLOWED__STEREOTYPEANNOTATION = NAMESPACE_DEFINITION_OPERATION_COUNT + 1;
+
+ /**
+ * The operation id for the '<em>Match For Stub</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PACKAGE_DEFINITION___MATCH_FOR_STUB__UNITDEFINITION = NAMESPACE_DEFINITION_OPERATION_COUNT + 2;
+
+ /**
+ * The operation id for the '<em>Is Same Kind As</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PACKAGE_DEFINITION___IS_SAME_KIND_AS__ELEMENTREFERENCE = NAMESPACE_DEFINITION_OPERATION_COUNT + 3;
+
+ /**
+ * The operation id for the '<em>Package Definition Applied Profile Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PACKAGE_DEFINITION___PACKAGE_DEFINITION_APPLIED_PROFILE_DERIVATION__DIAGNOSTICCHAIN_MAP = NAMESPACE_DEFINITION_OPERATION_COUNT + 4;
+
+ /**
+ * The operation id for the '<em>Applied Profiles</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PACKAGE_DEFINITION___APPLIED_PROFILES = NAMESPACE_DEFINITION_OPERATION_COUNT + 5;
+
+ /**
+ * The number of operations of the '<em>Package Definition</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PACKAGE_DEFINITION_OPERATION_COUNT = NAMESPACE_DEFINITION_OPERATION_COUNT + 6;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.uml.alf.impl.ModelNamespaceImpl <em>Model Namespace</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.uml.alf.impl.ModelNamespaceImpl
+ * @see org.eclipse.papyrus.uml.alf.impl.AlfPackageImpl#getModelNamespace()
+ * @generated
+ */
+ int MODEL_NAMESPACE = 97;
+
+ /**
+ * The feature id for the '<em><b>Owner</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int MODEL_NAMESPACE__OWNER = PACKAGE_DEFINITION__OWNER;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int MODEL_NAMESPACE__NAME = PACKAGE_DEFINITION__NAME;
+
+ /**
+ * The feature id for the '<em><b>Is Stub</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int MODEL_NAMESPACE__IS_STUB = PACKAGE_DEFINITION__IS_STUB;
+
+ /**
+ * The feature id for the '<em><b>Is Feature</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int MODEL_NAMESPACE__IS_FEATURE = PACKAGE_DEFINITION__IS_FEATURE;
+
+ /**
+ * The feature id for the '<em><b>Is Primitive</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int MODEL_NAMESPACE__IS_PRIMITIVE = PACKAGE_DEFINITION__IS_PRIMITIVE;
+
+ /**
+ * The feature id for the '<em><b>Is External</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int MODEL_NAMESPACE__IS_EXTERNAL = PACKAGE_DEFINITION__IS_EXTERNAL;
+
+ /**
+ * The feature id for the '<em><b>Subunit</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int MODEL_NAMESPACE__SUBUNIT = PACKAGE_DEFINITION__SUBUNIT;
+
+ /**
+ * The feature id for the '<em><b>Owned Member</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int MODEL_NAMESPACE__OWNED_MEMBER = PACKAGE_DEFINITION__OWNED_MEMBER;
+
+ /**
+ * The feature id for the '<em><b>Unit</b></em>' container reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int MODEL_NAMESPACE__UNIT = PACKAGE_DEFINITION__UNIT;
+
+ /**
+ * The feature id for the '<em><b>Member</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int MODEL_NAMESPACE__MEMBER = PACKAGE_DEFINITION__MEMBER;
+
+ /**
+ * The feature id for the '<em><b>Applied Profile</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int MODEL_NAMESPACE__APPLIED_PROFILE = PACKAGE_DEFINITION__APPLIED_PROFILE;
+
+ /**
+ * The number of structural features of the '<em>Model Namespace</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int MODEL_NAMESPACE_FEATURE_COUNT = PACKAGE_DEFINITION_FEATURE_COUNT + 0;
+
+ /**
+ * The operation id for the '<em>To Reference</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int MODEL_NAMESPACE___TO_REFERENCE = PACKAGE_DEFINITION___TO_REFERENCE;
+
+ /**
+ * The operation id for the '<em>Owner</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int MODEL_NAMESPACE___OWNER = PACKAGE_DEFINITION___OWNER;
+
+ /**
+ * The operation id for the '<em>Syntax Element owner</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int MODEL_NAMESPACE___SYNTAX_ELEMENT_OWNER = PACKAGE_DEFINITION___SYNTAX_ELEMENT_OWNER;
+
+ /**
+ * The operation id for the '<em>Syntax Element current Scope</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int MODEL_NAMESPACE___SYNTAX_ELEMENT_CURRENT_SCOPE = PACKAGE_DEFINITION___SYNTAX_ELEMENT_CURRENT_SCOPE;
+
+ /**
+ * The operation id for the '<em>Enclosing Statement</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int MODEL_NAMESPACE___ENCLOSING_STATEMENT = PACKAGE_DEFINITION___ENCLOSING_STATEMENT;
+
+ /**
+ * The operation id for the '<em>Enclosing Expression</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int MODEL_NAMESPACE___ENCLOSING_EXPRESSION = PACKAGE_DEFINITION___ENCLOSING_EXPRESSION;
+
+ /**
+ * The operation id for the '<em>Assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int MODEL_NAMESPACE___ASSIGNMENTS_BEFORE = PACKAGE_DEFINITION___ASSIGNMENTS_BEFORE;
+
+ /**
+ * The operation id for the '<em>Syntax Element assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int MODEL_NAMESPACE___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE = PACKAGE_DEFINITION___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE;
+
+ /**
+ * The operation id for the '<em>Syntax Element assignments Before base</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int MODEL_NAMESPACE___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE_BASE = PACKAGE_DEFINITION___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE_BASE;
+
+ /**
+ * The operation id for the '<em>Assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int MODEL_NAMESPACE___ASSIGNMENTS_BEFORE__SYNTAXELEMENT = PACKAGE_DEFINITION___ASSIGNMENTS_BEFORE__SYNTAXELEMENT;
+
+ /**
+ * The operation id for the '<em>Update All</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int MODEL_NAMESPACE___UPDATE_ALL__ELIST_ELIST = PACKAGE_DEFINITION___UPDATE_ALL__ELIST_ELIST;
+
+ /**
+ * The operation id for the '<em>Common Ancestor</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int MODEL_NAMESPACE___COMMON_ANCESTOR__ELIST = PACKAGE_DEFINITION___COMMON_ANCESTOR__ELIST;
+
+ /**
+ * The operation id for the '<em>Common Ancestors</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int MODEL_NAMESPACE___COMMON_ANCESTORS__ELIST = PACKAGE_DEFINITION___COMMON_ANCESTORS__ELIST;
+
+ /**
+ * The operation id for the '<em>Remove Duplicate Elements</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int MODEL_NAMESPACE___REMOVE_DUPLICATE_ELEMENTS__ELIST = PACKAGE_DEFINITION___REMOVE_DUPLICATE_ELEMENTS__ELIST;
+
+ /**
+ * The operation id for the '<em>Resolve In Library</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int MODEL_NAMESPACE___RESOLVE_IN_LIBRARY__STRING = PACKAGE_DEFINITION___RESOLVE_IN_LIBRARY__STRING;
+
+ /**
+ * The operation id for the '<em>Primitive Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int MODEL_NAMESPACE___PRIMITIVE_TYPE__STRING = PACKAGE_DEFINITION___PRIMITIVE_TYPE__STRING;
+
+ /**
+ * The operation id for the '<em>Primitive Type </em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int MODEL_NAMESPACE___PRIMITIVE_TYPE____STRING = PACKAGE_DEFINITION___PRIMITIVE_TYPE____STRING;
+
+ /**
+ * The operation id for the '<em>Boolean Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int MODEL_NAMESPACE___BOOLEAN_TYPE = PACKAGE_DEFINITION___BOOLEAN_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Boolean Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int MODEL_NAMESPACE___IS_BOOLEAN_TYPE__ELEMENTREFERENCE = PACKAGE_DEFINITION___IS_BOOLEAN_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Integer Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int MODEL_NAMESPACE___INTEGER_TYPE = PACKAGE_DEFINITION___INTEGER_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Integer Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int MODEL_NAMESPACE___IS_INTEGER_TYPE__ELEMENTREFERENCE = PACKAGE_DEFINITION___IS_INTEGER_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int MODEL_NAMESPACE___STRING_TYPE = PACKAGE_DEFINITION___STRING_TYPE;
+
+ /**
+ * The operation id for the '<em>Is String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int MODEL_NAMESPACE___IS_STRING_TYPE__ELEMENTREFERENCE = PACKAGE_DEFINITION___IS_STRING_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Unlimited Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int MODEL_NAMESPACE___UNLIMITED_NATURAL_TYPE = PACKAGE_DEFINITION___UNLIMITED_NATURAL_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Unlimited Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int MODEL_NAMESPACE___IS_UNLIMITED_NATURAL_TYPE__ELEMENTREFERENCE = PACKAGE_DEFINITION___IS_UNLIMITED_NATURAL_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Bit String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int MODEL_NAMESPACE___BIT_STRING_TYPE = PACKAGE_DEFINITION___BIT_STRING_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Bit String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int MODEL_NAMESPACE___IS_BIT_STRING_TYPE__ELEMENTREFERENCE = PACKAGE_DEFINITION___IS_BIT_STRING_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int MODEL_NAMESPACE___NATURAL_TYPE = PACKAGE_DEFINITION___NATURAL_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int MODEL_NAMESPACE___IS_NATURAL_TYPE__ELEMENTREFERENCE = PACKAGE_DEFINITION___IS_NATURAL_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Numeric Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int MODEL_NAMESPACE___IS_NUMERIC_TYPE__ELEMENTREFERENCE = PACKAGE_DEFINITION___IS_NUMERIC_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Collection Function Add</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int MODEL_NAMESPACE___COLLECTION_FUNCTION_ADD = PACKAGE_DEFINITION___COLLECTION_FUNCTION_ADD;
+
+ /**
+ * The operation id for the '<em>Is Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int MODEL_NAMESPACE___IS_COLLECTION_CLASS__ELEMENTREFERENCE = PACKAGE_DEFINITION___IS_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Integer Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int MODEL_NAMESPACE___IS_INTEGER_COLLECTION_CLASS__ELEMENTREFERENCE = PACKAGE_DEFINITION___IS_INTEGER_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Bit String Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int MODEL_NAMESPACE___IS_BIT_STRING_COLLECTION_CLASS__ELEMENTREFERENCE = PACKAGE_DEFINITION___IS_BIT_STRING_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Annotation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int MODEL_NAMESPACE___ANNOTATION = PACKAGE_DEFINITION___ANNOTATION;
+
+ /**
+ * The operation id for the '<em>Actual Name</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int MODEL_NAMESPACE___ACTUAL_NAME = PACKAGE_DEFINITION___ACTUAL_NAME;
+
+ /**
+ * The operation id for the '<em>Member Definition outer Scope</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int MODEL_NAMESPACE___MEMBER_DEFINITION_OUTER_SCOPE = PACKAGE_DEFINITION___MEMBER_DEFINITION_OUTER_SCOPE;
+
+ /**
+ * The operation id for the '<em>Namespace Reference</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int MODEL_NAMESPACE___NAMESPACE_REFERENCE = PACKAGE_DEFINITION___NAMESPACE_REFERENCE;
+
+ /**
+ * The operation id for the '<em>Add To Model</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int MODEL_NAMESPACE___ADD_TO_MODEL = PACKAGE_DEFINITION___ADD_TO_MODEL;
+
+ /**
+ * The operation id for the '<em>Is Distinguishable From</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int MODEL_NAMESPACE___IS_DISTINGUISHABLE_FROM__MEMBERDEFINITION = PACKAGE_DEFINITION___IS_DISTINGUISHABLE_FROM__MEMBERDEFINITION;
+
+ /**
+ * The operation id for the '<em>Member Definition is Distinguishable From</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int MODEL_NAMESPACE___MEMBER_DEFINITION_IS_DISTINGUISHABLE_FROM__MEMBERDEFINITION = PACKAGE_DEFINITION___MEMBER_DEFINITION_IS_DISTINGUISHABLE_FROM__MEMBERDEFINITION;
+
+ /**
+ * The operation id for the '<em>Is Template</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int MODEL_NAMESPACE___IS_TEMPLATE = PACKAGE_DEFINITION___IS_TEMPLATE;
+
+ /**
+ * The operation id for the '<em>Is Feature</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int MODEL_NAMESPACE___IS_FEATURE = PACKAGE_DEFINITION___IS_FEATURE;
+
+ /**
+ * The operation id for the '<em>Member Annotations</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int MODEL_NAMESPACE___MEMBER_ANNOTATIONS__DIAGNOSTICCHAIN_MAP = PACKAGE_DEFINITION___MEMBER_ANNOTATIONS__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Member Is Primitive Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int MODEL_NAMESPACE___MEMBER_IS_PRIMITIVE_DERIVATION__DIAGNOSTICCHAIN_MAP = PACKAGE_DEFINITION___MEMBER_IS_PRIMITIVE_DERIVATION__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Member Is External Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int MODEL_NAMESPACE___MEMBER_IS_EXTERNAL_DERIVATION__DIAGNOSTICCHAIN_MAP = PACKAGE_DEFINITION___MEMBER_IS_EXTERNAL_DERIVATION__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Member External</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int MODEL_NAMESPACE___MEMBER_EXTERNAL__DIAGNOSTICCHAIN_MAP = PACKAGE_DEFINITION___MEMBER_EXTERNAL__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Member Stub</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int MODEL_NAMESPACE___MEMBER_STUB__DIAGNOSTICCHAIN_MAP = PACKAGE_DEFINITION___MEMBER_STUB__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Member Subunit Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int MODEL_NAMESPACE___MEMBER_SUBUNIT_DERIVATION__DIAGNOSTICCHAIN_MAP = PACKAGE_DEFINITION___MEMBER_SUBUNIT_DERIVATION__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Member Stub Stereotypes</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int MODEL_NAMESPACE___MEMBER_STUB_STEREOTYPES__DIAGNOSTICCHAIN_MAP = PACKAGE_DEFINITION___MEMBER_STUB_STEREOTYPES__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Member Primitive</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int MODEL_NAMESPACE___MEMBER_PRIMITIVE__DIAGNOSTICCHAIN_MAP = PACKAGE_DEFINITION___MEMBER_PRIMITIVE__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Containing Member</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int MODEL_NAMESPACE___CONTAINING_MEMBER = PACKAGE_DEFINITION___CONTAINING_MEMBER;
+
+ /**
+ * The operation id for the '<em>Current Scope</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int MODEL_NAMESPACE___CURRENT_SCOPE = PACKAGE_DEFINITION___CURRENT_SCOPE;
+
+ /**
+ * The operation id for the '<em>Namespace Definition outer Scope</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int MODEL_NAMESPACE___NAMESPACE_DEFINITION_OUTER_SCOPE = PACKAGE_DEFINITION___NAMESPACE_DEFINITION_OUTER_SCOPE;
+
+ /**
+ * The operation id for the '<em>Model Namespace</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int MODEL_NAMESPACE___MODEL_NAMESPACE = PACKAGE_DEFINITION___MODEL_NAMESPACE;
+
+ /**
+ * The operation id for the '<em>Namespace Definition applied Profiles</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int MODEL_NAMESPACE___NAMESPACE_DEFINITION_APPLIED_PROFILES = PACKAGE_DEFINITION___NAMESPACE_DEFINITION_APPLIED_PROFILES;
+
+ /**
+ * The operation id for the '<em>Parameters</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int MODEL_NAMESPACE___PARAMETERS = PACKAGE_DEFINITION___PARAMETERS;
+
+ /**
+ * The operation id for the '<em>Return Parameter</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int MODEL_NAMESPACE___RETURN_PARAMETER = PACKAGE_DEFINITION___RETURN_PARAMETER;
+
+ /**
+ * The operation id for the '<em>Namespace Definition return Parameter</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int MODEL_NAMESPACE___NAMESPACE_DEFINITION_RETURN_PARAMETER = PACKAGE_DEFINITION___NAMESPACE_DEFINITION_RETURN_PARAMETER;
+
+ /**
+ * The operation id for the '<em>Subunit Owned Members</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int MODEL_NAMESPACE___SUBUNIT_OWNED_MEMBERS = PACKAGE_DEFINITION___SUBUNIT_OWNED_MEMBERS;
+
+ /**
+ * The operation id for the '<em>Namespace Definition annotation Allowed</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int MODEL_NAMESPACE___NAMESPACE_DEFINITION_ANNOTATION_ALLOWED__STEREOTYPEANNOTATION = PACKAGE_DEFINITION___NAMESPACE_DEFINITION_ANNOTATION_ALLOWED__STEREOTYPEANNOTATION;
+
+ /**
+ * The operation id for the '<em>Template Parameters</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int MODEL_NAMESPACE___TEMPLATE_PARAMETERS = PACKAGE_DEFINITION___TEMPLATE_PARAMETERS;
+
+ /**
+ * The operation id for the '<em>Members Cached</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int MODEL_NAMESPACE___MEMBERS_CACHED = PACKAGE_DEFINITION___MEMBERS_CACHED;
+
+ /**
+ * The operation id for the '<em>Members</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int MODEL_NAMESPACE___MEMBERS = PACKAGE_DEFINITION___MEMBERS;
+
+ /**
+ * The operation id for the '<em>Namespace Definition members</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int MODEL_NAMESPACE___NAMESPACE_DEFINITION_MEMBERS = PACKAGE_DEFINITION___NAMESPACE_DEFINITION_MEMBERS;
+
+ /**
+ * The operation id for the '<em>Imported Members</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int MODEL_NAMESPACE___IMPORTED_MEMBERS = PACKAGE_DEFINITION___IMPORTED_MEMBERS;
+
+ /**
+ * The operation id for the '<em>Import Members</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int MODEL_NAMESPACE___IMPORT_MEMBERS__ELIST = PACKAGE_DEFINITION___IMPORT_MEMBERS__ELIST;
+
+ /**
+ * The operation id for the '<em>Exclude Collisions</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int MODEL_NAMESPACE___EXCLUDE_COLLISIONS__ELIST = PACKAGE_DEFINITION___EXCLUDE_COLLISIONS__ELIST;
+
+ /**
+ * The operation id for the '<em>Remove Duplicates</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int MODEL_NAMESPACE___REMOVE_DUPLICATES__ELIST = PACKAGE_DEFINITION___REMOVE_DUPLICATES__ELIST;
+
+ /**
+ * The operation id for the '<em>Include Distinguishable Caching</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int MODEL_NAMESPACE___INCLUDE_DISTINGUISHABLE_CACHING__ELIST = PACKAGE_DEFINITION___INCLUDE_DISTINGUISHABLE_CACHING__ELIST;
+
+ /**
+ * The operation id for the '<em>Include Distinguishable</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int MODEL_NAMESPACE___INCLUDE_DISTINGUISHABLE__ELIST = PACKAGE_DEFINITION___INCLUDE_DISTINGUISHABLE__ELIST;
+
+ /**
+ * The operation id for the '<em>Stub</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int MODEL_NAMESPACE___STUB = PACKAGE_DEFINITION___STUB;
+
+ /**
+ * The operation id for the '<em>Namespace Definition Member Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int MODEL_NAMESPACE___NAMESPACE_DEFINITION_MEMBER_DERIVATION__DIAGNOSTICCHAIN_MAP = PACKAGE_DEFINITION___NAMESPACE_DEFINITION_MEMBER_DERIVATION__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Namespace Definition Member Distinguishability</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int MODEL_NAMESPACE___NAMESPACE_DEFINITION_MEMBER_DISTINGUISHABILITY__DIAGNOSTICCHAIN_MAP = PACKAGE_DEFINITION___NAMESPACE_DEFINITION_MEMBER_DISTINGUISHABILITY__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Allow Package Only</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int MODEL_NAMESPACE___ALLOW_PACKAGE_ONLY = PACKAGE_DEFINITION___ALLOW_PACKAGE_ONLY;
+
+ /**
+ * The operation id for the '<em>Annotation Allowed</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int MODEL_NAMESPACE___ANNOTATION_ALLOWED__STEREOTYPEANNOTATION = PACKAGE_DEFINITION___ANNOTATION_ALLOWED__STEREOTYPEANNOTATION;
+
+ /**
+ * The operation id for the '<em>Match For Stub</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int MODEL_NAMESPACE___MATCH_FOR_STUB__UNITDEFINITION = PACKAGE_DEFINITION___MATCH_FOR_STUB__UNITDEFINITION;
+
+ /**
+ * The operation id for the '<em>Is Same Kind As</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int MODEL_NAMESPACE___IS_SAME_KIND_AS__ELEMENTREFERENCE = PACKAGE_DEFINITION___IS_SAME_KIND_AS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Package Definition Applied Profile Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int MODEL_NAMESPACE___PACKAGE_DEFINITION_APPLIED_PROFILE_DERIVATION__DIAGNOSTICCHAIN_MAP = PACKAGE_DEFINITION___PACKAGE_DEFINITION_APPLIED_PROFILE_DERIVATION__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Outer Scope</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int MODEL_NAMESPACE___OUTER_SCOPE = PACKAGE_DEFINITION_OPERATION_COUNT + 0;
+
+ /**
+ * The operation id for the '<em>Model Scope</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int MODEL_NAMESPACE___MODEL_SCOPE = PACKAGE_DEFINITION_OPERATION_COUNT + 1;
+
+ /**
+ * The operation id for the '<em>Qualified Name</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int MODEL_NAMESPACE___QUALIFIED_NAME = PACKAGE_DEFINITION_OPERATION_COUNT + 2;
+
+ /**
+ * The operation id for the '<em>Resolve In Scope</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int MODEL_NAMESPACE___RESOLVE_IN_SCOPE__STRING = PACKAGE_DEFINITION_OPERATION_COUNT + 3;
+
+ /**
+ * The operation id for the '<em>Resolve In Root</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int MODEL_NAMESPACE___RESOLVE_IN_ROOT__STRING = PACKAGE_DEFINITION_OPERATION_COUNT + 4;
+
+ /**
+ * The operation id for the '<em>Resolve Path Name</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int MODEL_NAMESPACE___RESOLVE_PATH_NAME__STRING = PACKAGE_DEFINITION_OPERATION_COUNT + 5;
+
+ /**
+ * The operation id for the '<em>Resolve Association End</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int MODEL_NAMESPACE___RESOLVE_ASSOCIATION_END__ELEMENTREFERENCE_STRING = PACKAGE_DEFINITION_OPERATION_COUNT + 6;
+
+ /**
+ * The operation id for the '<em>Applied Profiles</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int MODEL_NAMESPACE___APPLIED_PROFILES = PACKAGE_DEFINITION_OPERATION_COUNT + 7;
+
+ /**
+ * The operation id for the '<em>Stub For</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int MODEL_NAMESPACE___STUB_FOR__UNITDEFINITION = PACKAGE_DEFINITION_OPERATION_COUNT + 8;
+
+ /**
+ * The operation id for the '<em>Model Namespace stub For</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int MODEL_NAMESPACE___MODEL_NAMESPACE_STUB_FOR__UNITDEFINITION = PACKAGE_DEFINITION_OPERATION_COUNT + 9;
+
+ /**
+ * The operation id for the '<em>Model Namespace applied Profiles</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int MODEL_NAMESPACE___MODEL_NAMESPACE_APPLIED_PROFILES = PACKAGE_DEFINITION_OPERATION_COUNT + 10;
+
+ /**
+ * The number of operations of the '<em>Model Namespace</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int MODEL_NAMESPACE_OPERATION_COUNT = PACKAGE_DEFINITION_OPERATION_COUNT + 11;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.uml.alf.impl.StereotypeAnnotationImpl <em>Stereotype Annotation</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.uml.alf.impl.StereotypeAnnotationImpl
+ * @see org.eclipse.papyrus.uml.alf.impl.AlfPackageImpl#getStereotypeAnnotation()
+ * @generated
+ */
+ int STEREOTYPE_ANNOTATION = 100;
+
+ /**
+ * The feature id for the '<em><b>Owner</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int STEREOTYPE_ANNOTATION__OWNER = SYNTAX_ELEMENT__OWNER;
+
+ /**
+ * The feature id for the '<em><b>Tagged Values</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int STEREOTYPE_ANNOTATION__TAGGED_VALUES = SYNTAX_ELEMENT_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Names</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int STEREOTYPE_ANNOTATION__NAMES = SYNTAX_ELEMENT_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Stereotype Name</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int STEREOTYPE_ANNOTATION__STEREOTYPE_NAME = SYNTAX_ELEMENT_FEATURE_COUNT + 2;
+
+ /**
+ * The feature id for the '<em><b>Stereotype</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int STEREOTYPE_ANNOTATION__STEREOTYPE = SYNTAX_ELEMENT_FEATURE_COUNT + 3;
+
+ /**
+ * The number of structural features of the '<em>Stereotype Annotation</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int STEREOTYPE_ANNOTATION_FEATURE_COUNT = SYNTAX_ELEMENT_FEATURE_COUNT + 4;
+
+ /**
+ * The operation id for the '<em>To Reference</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int STEREOTYPE_ANNOTATION___TO_REFERENCE = SYNTAX_ELEMENT___TO_REFERENCE;
+
+ /**
+ * The operation id for the '<em>Owner</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int STEREOTYPE_ANNOTATION___OWNER = SYNTAX_ELEMENT___OWNER;
+
+ /**
+ * The operation id for the '<em>Syntax Element owner</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int STEREOTYPE_ANNOTATION___SYNTAX_ELEMENT_OWNER = SYNTAX_ELEMENT___SYNTAX_ELEMENT_OWNER;
+
+ /**
+ * The operation id for the '<em>Current Scope</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int STEREOTYPE_ANNOTATION___CURRENT_SCOPE = SYNTAX_ELEMENT___CURRENT_SCOPE;
+
+ /**
+ * The operation id for the '<em>Syntax Element current Scope</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int STEREOTYPE_ANNOTATION___SYNTAX_ELEMENT_CURRENT_SCOPE = SYNTAX_ELEMENT___SYNTAX_ELEMENT_CURRENT_SCOPE;
+
+ /**
+ * The operation id for the '<em>Enclosing Statement</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int STEREOTYPE_ANNOTATION___ENCLOSING_STATEMENT = SYNTAX_ELEMENT___ENCLOSING_STATEMENT;
+
+ /**
+ * The operation id for the '<em>Enclosing Expression</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int STEREOTYPE_ANNOTATION___ENCLOSING_EXPRESSION = SYNTAX_ELEMENT___ENCLOSING_EXPRESSION;
+
+ /**
+ * The operation id for the '<em>Assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int STEREOTYPE_ANNOTATION___ASSIGNMENTS_BEFORE = SYNTAX_ELEMENT___ASSIGNMENTS_BEFORE;
+
+ /**
+ * The operation id for the '<em>Syntax Element assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int STEREOTYPE_ANNOTATION___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE = SYNTAX_ELEMENT___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE;
+
+ /**
+ * The operation id for the '<em>Syntax Element assignments Before base</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int STEREOTYPE_ANNOTATION___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE_BASE = SYNTAX_ELEMENT___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE_BASE;
+
+ /**
+ * The operation id for the '<em>Assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int STEREOTYPE_ANNOTATION___ASSIGNMENTS_BEFORE__SYNTAXELEMENT = SYNTAX_ELEMENT___ASSIGNMENTS_BEFORE__SYNTAXELEMENT;
+
+ /**
+ * The operation id for the '<em>Update All</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int STEREOTYPE_ANNOTATION___UPDATE_ALL__ELIST_ELIST = SYNTAX_ELEMENT___UPDATE_ALL__ELIST_ELIST;
+
+ /**
+ * The operation id for the '<em>Common Ancestor</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int STEREOTYPE_ANNOTATION___COMMON_ANCESTOR__ELIST = SYNTAX_ELEMENT___COMMON_ANCESTOR__ELIST;
+
+ /**
+ * The operation id for the '<em>Common Ancestors</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int STEREOTYPE_ANNOTATION___COMMON_ANCESTORS__ELIST = SYNTAX_ELEMENT___COMMON_ANCESTORS__ELIST;
+
+ /**
+ * The operation id for the '<em>Remove Duplicate Elements</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int STEREOTYPE_ANNOTATION___REMOVE_DUPLICATE_ELEMENTS__ELIST = SYNTAX_ELEMENT___REMOVE_DUPLICATE_ELEMENTS__ELIST;
+
+ /**
+ * The operation id for the '<em>Resolve In Library</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int STEREOTYPE_ANNOTATION___RESOLVE_IN_LIBRARY__STRING = SYNTAX_ELEMENT___RESOLVE_IN_LIBRARY__STRING;
+
+ /**
+ * The operation id for the '<em>Primitive Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int STEREOTYPE_ANNOTATION___PRIMITIVE_TYPE__STRING = SYNTAX_ELEMENT___PRIMITIVE_TYPE__STRING;
+
+ /**
+ * The operation id for the '<em>Primitive Type </em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int STEREOTYPE_ANNOTATION___PRIMITIVE_TYPE____STRING = SYNTAX_ELEMENT___PRIMITIVE_TYPE____STRING;
+
+ /**
+ * The operation id for the '<em>Boolean Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int STEREOTYPE_ANNOTATION___BOOLEAN_TYPE = SYNTAX_ELEMENT___BOOLEAN_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Boolean Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int STEREOTYPE_ANNOTATION___IS_BOOLEAN_TYPE__ELEMENTREFERENCE = SYNTAX_ELEMENT___IS_BOOLEAN_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Integer Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int STEREOTYPE_ANNOTATION___INTEGER_TYPE = SYNTAX_ELEMENT___INTEGER_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Integer Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int STEREOTYPE_ANNOTATION___IS_INTEGER_TYPE__ELEMENTREFERENCE = SYNTAX_ELEMENT___IS_INTEGER_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int STEREOTYPE_ANNOTATION___STRING_TYPE = SYNTAX_ELEMENT___STRING_TYPE;
+
+ /**
+ * The operation id for the '<em>Is String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int STEREOTYPE_ANNOTATION___IS_STRING_TYPE__ELEMENTREFERENCE = SYNTAX_ELEMENT___IS_STRING_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Unlimited Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int STEREOTYPE_ANNOTATION___UNLIMITED_NATURAL_TYPE = SYNTAX_ELEMENT___UNLIMITED_NATURAL_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Unlimited Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int STEREOTYPE_ANNOTATION___IS_UNLIMITED_NATURAL_TYPE__ELEMENTREFERENCE = SYNTAX_ELEMENT___IS_UNLIMITED_NATURAL_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Bit String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int STEREOTYPE_ANNOTATION___BIT_STRING_TYPE = SYNTAX_ELEMENT___BIT_STRING_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Bit String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int STEREOTYPE_ANNOTATION___IS_BIT_STRING_TYPE__ELEMENTREFERENCE = SYNTAX_ELEMENT___IS_BIT_STRING_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int STEREOTYPE_ANNOTATION___NATURAL_TYPE = SYNTAX_ELEMENT___NATURAL_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int STEREOTYPE_ANNOTATION___IS_NATURAL_TYPE__ELEMENTREFERENCE = SYNTAX_ELEMENT___IS_NATURAL_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Numeric Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int STEREOTYPE_ANNOTATION___IS_NUMERIC_TYPE__ELEMENTREFERENCE = SYNTAX_ELEMENT___IS_NUMERIC_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Collection Function Add</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int STEREOTYPE_ANNOTATION___COLLECTION_FUNCTION_ADD = SYNTAX_ELEMENT___COLLECTION_FUNCTION_ADD;
+
+ /**
+ * The operation id for the '<em>Is Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int STEREOTYPE_ANNOTATION___IS_COLLECTION_CLASS__ELEMENTREFERENCE = SYNTAX_ELEMENT___IS_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Integer Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int STEREOTYPE_ANNOTATION___IS_INTEGER_COLLECTION_CLASS__ELEMENTREFERENCE = SYNTAX_ELEMENT___IS_INTEGER_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Bit String Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int STEREOTYPE_ANNOTATION___IS_BIT_STRING_COLLECTION_CLASS__ELEMENTREFERENCE = SYNTAX_ELEMENT___IS_BIT_STRING_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Stereotype Annotation Stereotype Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int STEREOTYPE_ANNOTATION___STEREOTYPE_ANNOTATION_STEREOTYPE_DERIVATION__DIAGNOSTICCHAIN_MAP = SYNTAX_ELEMENT_OPERATION_COUNT + 0;
+
+ /**
+ * The operation id for the '<em>Stereotype Annotation Stereotype Name</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int STEREOTYPE_ANNOTATION___STEREOTYPE_ANNOTATION_STEREOTYPE_NAME__DIAGNOSTICCHAIN_MAP = SYNTAX_ELEMENT_OPERATION_COUNT + 1;
+
+ /**
+ * The operation id for the '<em>Stereotype Annotation Apply</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int STEREOTYPE_ANNOTATION___STEREOTYPE_ANNOTATION_APPLY__DIAGNOSTICCHAIN_MAP = SYNTAX_ELEMENT_OPERATION_COUNT + 2;
+
+ /**
+ * The operation id for the '<em>Stereotype Annotation Primitive</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int STEREOTYPE_ANNOTATION___STEREOTYPE_ANNOTATION_PRIMITIVE__DIAGNOSTICCHAIN_MAP = SYNTAX_ELEMENT_OPERATION_COUNT + 3;
+
+ /**
+ * The operation id for the '<em>Stereotype Annotation External</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int STEREOTYPE_ANNOTATION___STEREOTYPE_ANNOTATION_EXTERNAL__DIAGNOSTICCHAIN_MAP = SYNTAX_ELEMENT_OPERATION_COUNT + 4;
+
+ /**
+ * The operation id for the '<em>Stereotype Annotation Tagged Values</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int STEREOTYPE_ANNOTATION___STEREOTYPE_ANNOTATION_TAGGED_VALUES__DIAGNOSTICCHAIN_MAP = SYNTAX_ELEMENT_OPERATION_COUNT + 5;
+
+ /**
+ * The operation id for the '<em>Stereotype Annotation Names</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int STEREOTYPE_ANNOTATION___STEREOTYPE_ANNOTATION_NAMES__DIAGNOSTICCHAIN_MAP = SYNTAX_ELEMENT_OPERATION_COUNT + 6;
+
+ /**
+ * The operation id for the '<em>Applied Profiles</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int STEREOTYPE_ANNOTATION___APPLIED_PROFILES = SYNTAX_ELEMENT_OPERATION_COUNT + 7;
+
+ /**
+ * The number of operations of the '<em>Stereotype Annotation</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int STEREOTYPE_ANNOTATION_OPERATION_COUNT = SYNTAX_ELEMENT_OPERATION_COUNT + 8;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.uml.alf.impl.TaggedValueListImpl <em>Tagged Value List</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.uml.alf.impl.TaggedValueListImpl
+ * @see org.eclipse.papyrus.uml.alf.impl.AlfPackageImpl#getTaggedValueList()
+ * @generated
+ */
+ int TAGGED_VALUE_LIST = 101;
+
+ /**
+ * The feature id for the '<em><b>Owner</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int TAGGED_VALUE_LIST__OWNER = SYNTAX_ELEMENT__OWNER;
+
+ /**
+ * The feature id for the '<em><b>Tagged Value</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int TAGGED_VALUE_LIST__TAGGED_VALUE = SYNTAX_ELEMENT_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the '<em>Tagged Value List</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int TAGGED_VALUE_LIST_FEATURE_COUNT = SYNTAX_ELEMENT_FEATURE_COUNT + 1;
+
+ /**
+ * The operation id for the '<em>To Reference</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int TAGGED_VALUE_LIST___TO_REFERENCE = SYNTAX_ELEMENT___TO_REFERENCE;
+
+ /**
+ * The operation id for the '<em>Owner</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int TAGGED_VALUE_LIST___OWNER = SYNTAX_ELEMENT___OWNER;
+
+ /**
+ * The operation id for the '<em>Syntax Element owner</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int TAGGED_VALUE_LIST___SYNTAX_ELEMENT_OWNER = SYNTAX_ELEMENT___SYNTAX_ELEMENT_OWNER;
+
+ /**
+ * The operation id for the '<em>Current Scope</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int TAGGED_VALUE_LIST___CURRENT_SCOPE = SYNTAX_ELEMENT___CURRENT_SCOPE;
+
+ /**
+ * The operation id for the '<em>Syntax Element current Scope</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int TAGGED_VALUE_LIST___SYNTAX_ELEMENT_CURRENT_SCOPE = SYNTAX_ELEMENT___SYNTAX_ELEMENT_CURRENT_SCOPE;
+
+ /**
+ * The operation id for the '<em>Enclosing Statement</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int TAGGED_VALUE_LIST___ENCLOSING_STATEMENT = SYNTAX_ELEMENT___ENCLOSING_STATEMENT;
+
+ /**
+ * The operation id for the '<em>Enclosing Expression</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int TAGGED_VALUE_LIST___ENCLOSING_EXPRESSION = SYNTAX_ELEMENT___ENCLOSING_EXPRESSION;
+
+ /**
+ * The operation id for the '<em>Assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int TAGGED_VALUE_LIST___ASSIGNMENTS_BEFORE = SYNTAX_ELEMENT___ASSIGNMENTS_BEFORE;
+
+ /**
+ * The operation id for the '<em>Syntax Element assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int TAGGED_VALUE_LIST___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE = SYNTAX_ELEMENT___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE;
+
+ /**
+ * The operation id for the '<em>Syntax Element assignments Before base</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int TAGGED_VALUE_LIST___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE_BASE = SYNTAX_ELEMENT___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE_BASE;
+
+ /**
+ * The operation id for the '<em>Assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int TAGGED_VALUE_LIST___ASSIGNMENTS_BEFORE__SYNTAXELEMENT = SYNTAX_ELEMENT___ASSIGNMENTS_BEFORE__SYNTAXELEMENT;
+
+ /**
+ * The operation id for the '<em>Update All</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int TAGGED_VALUE_LIST___UPDATE_ALL__ELIST_ELIST = SYNTAX_ELEMENT___UPDATE_ALL__ELIST_ELIST;
+
+ /**
+ * The operation id for the '<em>Common Ancestor</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int TAGGED_VALUE_LIST___COMMON_ANCESTOR__ELIST = SYNTAX_ELEMENT___COMMON_ANCESTOR__ELIST;
+
+ /**
+ * The operation id for the '<em>Common Ancestors</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int TAGGED_VALUE_LIST___COMMON_ANCESTORS__ELIST = SYNTAX_ELEMENT___COMMON_ANCESTORS__ELIST;
+
+ /**
+ * The operation id for the '<em>Remove Duplicate Elements</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int TAGGED_VALUE_LIST___REMOVE_DUPLICATE_ELEMENTS__ELIST = SYNTAX_ELEMENT___REMOVE_DUPLICATE_ELEMENTS__ELIST;
+
+ /**
+ * The operation id for the '<em>Resolve In Library</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int TAGGED_VALUE_LIST___RESOLVE_IN_LIBRARY__STRING = SYNTAX_ELEMENT___RESOLVE_IN_LIBRARY__STRING;
+
+ /**
+ * The operation id for the '<em>Primitive Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int TAGGED_VALUE_LIST___PRIMITIVE_TYPE__STRING = SYNTAX_ELEMENT___PRIMITIVE_TYPE__STRING;
+
+ /**
+ * The operation id for the '<em>Primitive Type </em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int TAGGED_VALUE_LIST___PRIMITIVE_TYPE____STRING = SYNTAX_ELEMENT___PRIMITIVE_TYPE____STRING;
+
+ /**
+ * The operation id for the '<em>Boolean Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int TAGGED_VALUE_LIST___BOOLEAN_TYPE = SYNTAX_ELEMENT___BOOLEAN_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Boolean Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int TAGGED_VALUE_LIST___IS_BOOLEAN_TYPE__ELEMENTREFERENCE = SYNTAX_ELEMENT___IS_BOOLEAN_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Integer Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int TAGGED_VALUE_LIST___INTEGER_TYPE = SYNTAX_ELEMENT___INTEGER_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Integer Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int TAGGED_VALUE_LIST___IS_INTEGER_TYPE__ELEMENTREFERENCE = SYNTAX_ELEMENT___IS_INTEGER_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int TAGGED_VALUE_LIST___STRING_TYPE = SYNTAX_ELEMENT___STRING_TYPE;
+
+ /**
+ * The operation id for the '<em>Is String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int TAGGED_VALUE_LIST___IS_STRING_TYPE__ELEMENTREFERENCE = SYNTAX_ELEMENT___IS_STRING_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Unlimited Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int TAGGED_VALUE_LIST___UNLIMITED_NATURAL_TYPE = SYNTAX_ELEMENT___UNLIMITED_NATURAL_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Unlimited Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int TAGGED_VALUE_LIST___IS_UNLIMITED_NATURAL_TYPE__ELEMENTREFERENCE = SYNTAX_ELEMENT___IS_UNLIMITED_NATURAL_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Bit String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int TAGGED_VALUE_LIST___BIT_STRING_TYPE = SYNTAX_ELEMENT___BIT_STRING_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Bit String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int TAGGED_VALUE_LIST___IS_BIT_STRING_TYPE__ELEMENTREFERENCE = SYNTAX_ELEMENT___IS_BIT_STRING_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int TAGGED_VALUE_LIST___NATURAL_TYPE = SYNTAX_ELEMENT___NATURAL_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int TAGGED_VALUE_LIST___IS_NATURAL_TYPE__ELEMENTREFERENCE = SYNTAX_ELEMENT___IS_NATURAL_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Numeric Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int TAGGED_VALUE_LIST___IS_NUMERIC_TYPE__ELEMENTREFERENCE = SYNTAX_ELEMENT___IS_NUMERIC_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Collection Function Add</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int TAGGED_VALUE_LIST___COLLECTION_FUNCTION_ADD = SYNTAX_ELEMENT___COLLECTION_FUNCTION_ADD;
+
+ /**
+ * The operation id for the '<em>Is Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int TAGGED_VALUE_LIST___IS_COLLECTION_CLASS__ELEMENTREFERENCE = SYNTAX_ELEMENT___IS_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Integer Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int TAGGED_VALUE_LIST___IS_INTEGER_COLLECTION_CLASS__ELEMENTREFERENCE = SYNTAX_ELEMENT___IS_INTEGER_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Bit String Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int TAGGED_VALUE_LIST___IS_BIT_STRING_COLLECTION_CLASS__ELEMENTREFERENCE = SYNTAX_ELEMENT___IS_BIT_STRING_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The number of operations of the '<em>Tagged Value List</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int TAGGED_VALUE_LIST_OPERATION_COUNT = SYNTAX_ELEMENT_OPERATION_COUNT + 0;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.uml.alf.impl.TaggedValueImpl <em>Tagged Value</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.uml.alf.impl.TaggedValueImpl
+ * @see org.eclipse.papyrus.uml.alf.impl.AlfPackageImpl#getTaggedValue()
+ * @generated
+ */
+ int TAGGED_VALUE = 102;
+
+ /**
+ * The feature id for the '<em><b>Owner</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int TAGGED_VALUE__OWNER = SYNTAX_ELEMENT__OWNER;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int TAGGED_VALUE__NAME = SYNTAX_ELEMENT_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Value</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int TAGGED_VALUE__VALUE = SYNTAX_ELEMENT_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Operator</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int TAGGED_VALUE__OPERATOR = SYNTAX_ELEMENT_FEATURE_COUNT + 2;
+
+ /**
+ * The number of structural features of the '<em>Tagged Value</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int TAGGED_VALUE_FEATURE_COUNT = SYNTAX_ELEMENT_FEATURE_COUNT + 3;
+
+ /**
+ * The operation id for the '<em>To Reference</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int TAGGED_VALUE___TO_REFERENCE = SYNTAX_ELEMENT___TO_REFERENCE;
+
+ /**
+ * The operation id for the '<em>Owner</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int TAGGED_VALUE___OWNER = SYNTAX_ELEMENT___OWNER;
+
+ /**
+ * The operation id for the '<em>Syntax Element owner</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int TAGGED_VALUE___SYNTAX_ELEMENT_OWNER = SYNTAX_ELEMENT___SYNTAX_ELEMENT_OWNER;
+
+ /**
+ * The operation id for the '<em>Current Scope</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int TAGGED_VALUE___CURRENT_SCOPE = SYNTAX_ELEMENT___CURRENT_SCOPE;
+
+ /**
+ * The operation id for the '<em>Syntax Element current Scope</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int TAGGED_VALUE___SYNTAX_ELEMENT_CURRENT_SCOPE = SYNTAX_ELEMENT___SYNTAX_ELEMENT_CURRENT_SCOPE;
+
+ /**
+ * The operation id for the '<em>Enclosing Statement</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int TAGGED_VALUE___ENCLOSING_STATEMENT = SYNTAX_ELEMENT___ENCLOSING_STATEMENT;
+
+ /**
+ * The operation id for the '<em>Enclosing Expression</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int TAGGED_VALUE___ENCLOSING_EXPRESSION = SYNTAX_ELEMENT___ENCLOSING_EXPRESSION;
+
+ /**
+ * The operation id for the '<em>Assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int TAGGED_VALUE___ASSIGNMENTS_BEFORE = SYNTAX_ELEMENT___ASSIGNMENTS_BEFORE;
+
+ /**
+ * The operation id for the '<em>Syntax Element assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int TAGGED_VALUE___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE = SYNTAX_ELEMENT___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE;
+
+ /**
+ * The operation id for the '<em>Syntax Element assignments Before base</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int TAGGED_VALUE___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE_BASE = SYNTAX_ELEMENT___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE_BASE;
+
+ /**
+ * The operation id for the '<em>Assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int TAGGED_VALUE___ASSIGNMENTS_BEFORE__SYNTAXELEMENT = SYNTAX_ELEMENT___ASSIGNMENTS_BEFORE__SYNTAXELEMENT;
+
+ /**
+ * The operation id for the '<em>Update All</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int TAGGED_VALUE___UPDATE_ALL__ELIST_ELIST = SYNTAX_ELEMENT___UPDATE_ALL__ELIST_ELIST;
+
+ /**
+ * The operation id for the '<em>Common Ancestor</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int TAGGED_VALUE___COMMON_ANCESTOR__ELIST = SYNTAX_ELEMENT___COMMON_ANCESTOR__ELIST;
+
+ /**
+ * The operation id for the '<em>Common Ancestors</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int TAGGED_VALUE___COMMON_ANCESTORS__ELIST = SYNTAX_ELEMENT___COMMON_ANCESTORS__ELIST;
+
+ /**
+ * The operation id for the '<em>Remove Duplicate Elements</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int TAGGED_VALUE___REMOVE_DUPLICATE_ELEMENTS__ELIST = SYNTAX_ELEMENT___REMOVE_DUPLICATE_ELEMENTS__ELIST;
+
+ /**
+ * The operation id for the '<em>Resolve In Library</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int TAGGED_VALUE___RESOLVE_IN_LIBRARY__STRING = SYNTAX_ELEMENT___RESOLVE_IN_LIBRARY__STRING;
+
+ /**
+ * The operation id for the '<em>Primitive Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int TAGGED_VALUE___PRIMITIVE_TYPE__STRING = SYNTAX_ELEMENT___PRIMITIVE_TYPE__STRING;
+
+ /**
+ * The operation id for the '<em>Primitive Type </em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int TAGGED_VALUE___PRIMITIVE_TYPE____STRING = SYNTAX_ELEMENT___PRIMITIVE_TYPE____STRING;
+
+ /**
+ * The operation id for the '<em>Boolean Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int TAGGED_VALUE___BOOLEAN_TYPE = SYNTAX_ELEMENT___BOOLEAN_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Boolean Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int TAGGED_VALUE___IS_BOOLEAN_TYPE__ELEMENTREFERENCE = SYNTAX_ELEMENT___IS_BOOLEAN_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Integer Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int TAGGED_VALUE___INTEGER_TYPE = SYNTAX_ELEMENT___INTEGER_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Integer Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int TAGGED_VALUE___IS_INTEGER_TYPE__ELEMENTREFERENCE = SYNTAX_ELEMENT___IS_INTEGER_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int TAGGED_VALUE___STRING_TYPE = SYNTAX_ELEMENT___STRING_TYPE;
+
+ /**
+ * The operation id for the '<em>Is String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int TAGGED_VALUE___IS_STRING_TYPE__ELEMENTREFERENCE = SYNTAX_ELEMENT___IS_STRING_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Unlimited Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int TAGGED_VALUE___UNLIMITED_NATURAL_TYPE = SYNTAX_ELEMENT___UNLIMITED_NATURAL_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Unlimited Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int TAGGED_VALUE___IS_UNLIMITED_NATURAL_TYPE__ELEMENTREFERENCE = SYNTAX_ELEMENT___IS_UNLIMITED_NATURAL_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Bit String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int TAGGED_VALUE___BIT_STRING_TYPE = SYNTAX_ELEMENT___BIT_STRING_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Bit String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int TAGGED_VALUE___IS_BIT_STRING_TYPE__ELEMENTREFERENCE = SYNTAX_ELEMENT___IS_BIT_STRING_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int TAGGED_VALUE___NATURAL_TYPE = SYNTAX_ELEMENT___NATURAL_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int TAGGED_VALUE___IS_NATURAL_TYPE__ELEMENTREFERENCE = SYNTAX_ELEMENT___IS_NATURAL_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Numeric Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int TAGGED_VALUE___IS_NUMERIC_TYPE__ELEMENTREFERENCE = SYNTAX_ELEMENT___IS_NUMERIC_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Collection Function Add</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int TAGGED_VALUE___COLLECTION_FUNCTION_ADD = SYNTAX_ELEMENT___COLLECTION_FUNCTION_ADD;
+
+ /**
+ * The operation id for the '<em>Is Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int TAGGED_VALUE___IS_COLLECTION_CLASS__ELEMENTREFERENCE = SYNTAX_ELEMENT___IS_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Integer Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int TAGGED_VALUE___IS_INTEGER_COLLECTION_CLASS__ELEMENTREFERENCE = SYNTAX_ELEMENT___IS_INTEGER_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Bit String Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int TAGGED_VALUE___IS_BIT_STRING_COLLECTION_CLASS__ELEMENTREFERENCE = SYNTAX_ELEMENT___IS_BIT_STRING_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The number of operations of the '<em>Tagged Value</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int TAGGED_VALUE_OPERATION_COUNT = SYNTAX_ELEMENT_OPERATION_COUNT + 0;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.uml.alf.impl.UnitDefinitionImpl <em>Unit Definition</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.uml.alf.impl.UnitDefinitionImpl
+ * @see org.eclipse.papyrus.uml.alf.impl.AlfPackageImpl#getUnitDefinition()
+ * @generated
+ */
+ int UNIT_DEFINITION = 103;
+
+ /**
+ * The feature id for the '<em><b>Owner</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UNIT_DEFINITION__OWNER = DOCUMENTED_ELEMENT__OWNER;
+
+ /**
+ * The feature id for the '<em><b>Documentation</b></em>' attribute list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UNIT_DEFINITION__DOCUMENTATION = DOCUMENTED_ELEMENT__DOCUMENTATION;
+
+ /**
+ * The feature id for the '<em><b>Namespace Name</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UNIT_DEFINITION__NAMESPACE_NAME = DOCUMENTED_ELEMENT_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Definition</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UNIT_DEFINITION__DEFINITION = DOCUMENTED_ELEMENT_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Import</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UNIT_DEFINITION__IMPORT = DOCUMENTED_ELEMENT_FEATURE_COUNT + 2;
+
+ /**
+ * The feature id for the '<em><b>Namespace</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UNIT_DEFINITION__NAMESPACE = DOCUMENTED_ELEMENT_FEATURE_COUNT + 3;
+
+ /**
+ * The feature id for the '<em><b>Is Model Library</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UNIT_DEFINITION__IS_MODEL_LIBRARY = DOCUMENTED_ELEMENT_FEATURE_COUNT + 4;
+
+ /**
+ * The feature id for the '<em><b>Applied Profile</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UNIT_DEFINITION__APPLIED_PROFILE = DOCUMENTED_ELEMENT_FEATURE_COUNT + 5;
+
+ /**
+ * The feature id for the '<em><b>Annotation</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UNIT_DEFINITION__ANNOTATION = DOCUMENTED_ELEMENT_FEATURE_COUNT + 6;
+
+ /**
+ * The number of structural features of the '<em>Unit Definition</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UNIT_DEFINITION_FEATURE_COUNT = DOCUMENTED_ELEMENT_FEATURE_COUNT + 7;
+
+ /**
+ * The operation id for the '<em>To Reference</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UNIT_DEFINITION___TO_REFERENCE = DOCUMENTED_ELEMENT___TO_REFERENCE;
+
+ /**
+ * The operation id for the '<em>Owner</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UNIT_DEFINITION___OWNER = DOCUMENTED_ELEMENT___OWNER;
+
+ /**
+ * The operation id for the '<em>Syntax Element owner</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UNIT_DEFINITION___SYNTAX_ELEMENT_OWNER = DOCUMENTED_ELEMENT___SYNTAX_ELEMENT_OWNER;
+
+ /**
+ * The operation id for the '<em>Current Scope</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UNIT_DEFINITION___CURRENT_SCOPE = DOCUMENTED_ELEMENT___CURRENT_SCOPE;
+
+ /**
+ * The operation id for the '<em>Syntax Element current Scope</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UNIT_DEFINITION___SYNTAX_ELEMENT_CURRENT_SCOPE = DOCUMENTED_ELEMENT___SYNTAX_ELEMENT_CURRENT_SCOPE;
+
+ /**
+ * The operation id for the '<em>Enclosing Statement</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UNIT_DEFINITION___ENCLOSING_STATEMENT = DOCUMENTED_ELEMENT___ENCLOSING_STATEMENT;
+
+ /**
+ * The operation id for the '<em>Enclosing Expression</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UNIT_DEFINITION___ENCLOSING_EXPRESSION = DOCUMENTED_ELEMENT___ENCLOSING_EXPRESSION;
+
+ /**
+ * The operation id for the '<em>Assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UNIT_DEFINITION___ASSIGNMENTS_BEFORE = DOCUMENTED_ELEMENT___ASSIGNMENTS_BEFORE;
+
+ /**
+ * The operation id for the '<em>Syntax Element assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UNIT_DEFINITION___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE = DOCUMENTED_ELEMENT___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE;
+
+ /**
+ * The operation id for the '<em>Syntax Element assignments Before base</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UNIT_DEFINITION___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE_BASE = DOCUMENTED_ELEMENT___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE_BASE;
+
+ /**
+ * The operation id for the '<em>Assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UNIT_DEFINITION___ASSIGNMENTS_BEFORE__SYNTAXELEMENT = DOCUMENTED_ELEMENT___ASSIGNMENTS_BEFORE__SYNTAXELEMENT;
+
+ /**
+ * The operation id for the '<em>Update All</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UNIT_DEFINITION___UPDATE_ALL__ELIST_ELIST = DOCUMENTED_ELEMENT___UPDATE_ALL__ELIST_ELIST;
+
+ /**
+ * The operation id for the '<em>Common Ancestor</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UNIT_DEFINITION___COMMON_ANCESTOR__ELIST = DOCUMENTED_ELEMENT___COMMON_ANCESTOR__ELIST;
+
+ /**
+ * The operation id for the '<em>Common Ancestors</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UNIT_DEFINITION___COMMON_ANCESTORS__ELIST = DOCUMENTED_ELEMENT___COMMON_ANCESTORS__ELIST;
+
+ /**
+ * The operation id for the '<em>Remove Duplicate Elements</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UNIT_DEFINITION___REMOVE_DUPLICATE_ELEMENTS__ELIST = DOCUMENTED_ELEMENT___REMOVE_DUPLICATE_ELEMENTS__ELIST;
+
+ /**
+ * The operation id for the '<em>Resolve In Library</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UNIT_DEFINITION___RESOLVE_IN_LIBRARY__STRING = DOCUMENTED_ELEMENT___RESOLVE_IN_LIBRARY__STRING;
+
+ /**
+ * The operation id for the '<em>Primitive Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UNIT_DEFINITION___PRIMITIVE_TYPE__STRING = DOCUMENTED_ELEMENT___PRIMITIVE_TYPE__STRING;
+
+ /**
+ * The operation id for the '<em>Primitive Type </em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UNIT_DEFINITION___PRIMITIVE_TYPE____STRING = DOCUMENTED_ELEMENT___PRIMITIVE_TYPE____STRING;
+
+ /**
+ * The operation id for the '<em>Boolean Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UNIT_DEFINITION___BOOLEAN_TYPE = DOCUMENTED_ELEMENT___BOOLEAN_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Boolean Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UNIT_DEFINITION___IS_BOOLEAN_TYPE__ELEMENTREFERENCE = DOCUMENTED_ELEMENT___IS_BOOLEAN_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Integer Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UNIT_DEFINITION___INTEGER_TYPE = DOCUMENTED_ELEMENT___INTEGER_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Integer Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UNIT_DEFINITION___IS_INTEGER_TYPE__ELEMENTREFERENCE = DOCUMENTED_ELEMENT___IS_INTEGER_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UNIT_DEFINITION___STRING_TYPE = DOCUMENTED_ELEMENT___STRING_TYPE;
+
+ /**
+ * The operation id for the '<em>Is String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UNIT_DEFINITION___IS_STRING_TYPE__ELEMENTREFERENCE = DOCUMENTED_ELEMENT___IS_STRING_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Unlimited Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UNIT_DEFINITION___UNLIMITED_NATURAL_TYPE = DOCUMENTED_ELEMENT___UNLIMITED_NATURAL_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Unlimited Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UNIT_DEFINITION___IS_UNLIMITED_NATURAL_TYPE__ELEMENTREFERENCE = DOCUMENTED_ELEMENT___IS_UNLIMITED_NATURAL_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Bit String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UNIT_DEFINITION___BIT_STRING_TYPE = DOCUMENTED_ELEMENT___BIT_STRING_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Bit String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UNIT_DEFINITION___IS_BIT_STRING_TYPE__ELEMENTREFERENCE = DOCUMENTED_ELEMENT___IS_BIT_STRING_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UNIT_DEFINITION___NATURAL_TYPE = DOCUMENTED_ELEMENT___NATURAL_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UNIT_DEFINITION___IS_NATURAL_TYPE__ELEMENTREFERENCE = DOCUMENTED_ELEMENT___IS_NATURAL_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Numeric Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UNIT_DEFINITION___IS_NUMERIC_TYPE__ELEMENTREFERENCE = DOCUMENTED_ELEMENT___IS_NUMERIC_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Collection Function Add</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UNIT_DEFINITION___COLLECTION_FUNCTION_ADD = DOCUMENTED_ELEMENT___COLLECTION_FUNCTION_ADD;
+
+ /**
+ * The operation id for the '<em>Is Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UNIT_DEFINITION___IS_COLLECTION_CLASS__ELEMENTREFERENCE = DOCUMENTED_ELEMENT___IS_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Integer Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UNIT_DEFINITION___IS_INTEGER_COLLECTION_CLASS__ELEMENTREFERENCE = DOCUMENTED_ELEMENT___IS_INTEGER_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Bit String Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UNIT_DEFINITION___IS_BIT_STRING_COLLECTION_CLASS__ELEMENTREFERENCE = DOCUMENTED_ELEMENT___IS_BIT_STRING_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Imports</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UNIT_DEFINITION___IMPORTS = DOCUMENTED_ELEMENT_OPERATION_COUNT + 0;
+
+ /**
+ * The operation id for the '<em>Implicit Imports</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UNIT_DEFINITION___IMPLICIT_IMPORTS = DOCUMENTED_ELEMENT_OPERATION_COUNT + 1;
+
+ /**
+ * The operation id for the '<em>Implicit Import For</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UNIT_DEFINITION___IMPLICIT_IMPORT_FOR__STRING = DOCUMENTED_ELEMENT_OPERATION_COUNT + 2;
+
+ /**
+ * The operation id for the '<em>Unit Definition Namespace Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UNIT_DEFINITION___UNIT_DEFINITION_NAMESPACE_DERIVATION__DIAGNOSTICCHAIN_MAP = DOCUMENTED_ELEMENT_OPERATION_COUNT + 3;
+
+ /**
+ * The operation id for the '<em>Unit Definition Namespace</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UNIT_DEFINITION___UNIT_DEFINITION_NAMESPACE__DIAGNOSTICCHAIN_MAP = DOCUMENTED_ELEMENT_OPERATION_COUNT + 4;
+
+ /**
+ * The operation id for the '<em>Unit Definition Is Model Library Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UNIT_DEFINITION___UNIT_DEFINITION_IS_MODEL_LIBRARY_DERIVATION__DIAGNOSTICCHAIN_MAP = DOCUMENTED_ELEMENT_OPERATION_COUNT + 5;
+
+ /**
+ * The operation id for the '<em>Unit Definition Implicit Imports</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UNIT_DEFINITION___UNIT_DEFINITION_IMPLICIT_IMPORTS__DIAGNOSTICCHAIN_MAP = DOCUMENTED_ELEMENT_OPERATION_COUNT + 6;
+
+ /**
+ * The operation id for the '<em>Unit Definition Applied Profile Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UNIT_DEFINITION___UNIT_DEFINITION_APPLIED_PROFILE_DERIVATION__DIAGNOSTICCHAIN_MAP = DOCUMENTED_ELEMENT_OPERATION_COUNT + 7;
+
+ /**
+ * The number of operations of the '<em>Unit Definition</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UNIT_DEFINITION_OPERATION_COUNT = DOCUMENTED_ELEMENT_OPERATION_COUNT + 8;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.uml.alf.impl.ImportReferenceImpl <em>Import Reference</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.uml.alf.impl.ImportReferenceImpl
+ * @see org.eclipse.papyrus.uml.alf.impl.AlfPackageImpl#getImportReference()
+ * @generated
+ */
+ int IMPORT_REFERENCE = 104;
+
+ /**
+ * The feature id for the '<em><b>Owner</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int IMPORT_REFERENCE__OWNER = SYNTAX_ELEMENT__OWNER;
+
+ /**
+ * The feature id for the '<em><b>Visibility</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int IMPORT_REFERENCE__VISIBILITY = SYNTAX_ELEMENT_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Referent Name</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int IMPORT_REFERENCE__REFERENT_NAME = SYNTAX_ELEMENT_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Referent</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int IMPORT_REFERENCE__REFERENT = SYNTAX_ELEMENT_FEATURE_COUNT + 2;
+
+ /**
+ * The feature id for the '<em><b>Unit</b></em>' container reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int IMPORT_REFERENCE__UNIT = SYNTAX_ELEMENT_FEATURE_COUNT + 3;
+
+ /**
+ * The number of structural features of the '<em>Import Reference</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int IMPORT_REFERENCE_FEATURE_COUNT = SYNTAX_ELEMENT_FEATURE_COUNT + 4;
+
+ /**
+ * The operation id for the '<em>To Reference</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int IMPORT_REFERENCE___TO_REFERENCE = SYNTAX_ELEMENT___TO_REFERENCE;
+
+ /**
+ * The operation id for the '<em>Owner</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int IMPORT_REFERENCE___OWNER = SYNTAX_ELEMENT___OWNER;
+
+ /**
+ * The operation id for the '<em>Syntax Element owner</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int IMPORT_REFERENCE___SYNTAX_ELEMENT_OWNER = SYNTAX_ELEMENT___SYNTAX_ELEMENT_OWNER;
+
+ /**
+ * The operation id for the '<em>Current Scope</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int IMPORT_REFERENCE___CURRENT_SCOPE = SYNTAX_ELEMENT___CURRENT_SCOPE;
+
+ /**
+ * The operation id for the '<em>Syntax Element current Scope</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int IMPORT_REFERENCE___SYNTAX_ELEMENT_CURRENT_SCOPE = SYNTAX_ELEMENT___SYNTAX_ELEMENT_CURRENT_SCOPE;
+
+ /**
+ * The operation id for the '<em>Enclosing Statement</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int IMPORT_REFERENCE___ENCLOSING_STATEMENT = SYNTAX_ELEMENT___ENCLOSING_STATEMENT;
+
+ /**
+ * The operation id for the '<em>Enclosing Expression</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int IMPORT_REFERENCE___ENCLOSING_EXPRESSION = SYNTAX_ELEMENT___ENCLOSING_EXPRESSION;
+
+ /**
+ * The operation id for the '<em>Assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int IMPORT_REFERENCE___ASSIGNMENTS_BEFORE = SYNTAX_ELEMENT___ASSIGNMENTS_BEFORE;
+
+ /**
+ * The operation id for the '<em>Syntax Element assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int IMPORT_REFERENCE___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE = SYNTAX_ELEMENT___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE;
+
+ /**
+ * The operation id for the '<em>Syntax Element assignments Before base</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int IMPORT_REFERENCE___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE_BASE = SYNTAX_ELEMENT___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE_BASE;
+
+ /**
+ * The operation id for the '<em>Assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int IMPORT_REFERENCE___ASSIGNMENTS_BEFORE__SYNTAXELEMENT = SYNTAX_ELEMENT___ASSIGNMENTS_BEFORE__SYNTAXELEMENT;
+
+ /**
+ * The operation id for the '<em>Update All</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int IMPORT_REFERENCE___UPDATE_ALL__ELIST_ELIST = SYNTAX_ELEMENT___UPDATE_ALL__ELIST_ELIST;
+
+ /**
+ * The operation id for the '<em>Common Ancestor</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int IMPORT_REFERENCE___COMMON_ANCESTOR__ELIST = SYNTAX_ELEMENT___COMMON_ANCESTOR__ELIST;
+
+ /**
+ * The operation id for the '<em>Common Ancestors</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int IMPORT_REFERENCE___COMMON_ANCESTORS__ELIST = SYNTAX_ELEMENT___COMMON_ANCESTORS__ELIST;
+
+ /**
+ * The operation id for the '<em>Remove Duplicate Elements</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int IMPORT_REFERENCE___REMOVE_DUPLICATE_ELEMENTS__ELIST = SYNTAX_ELEMENT___REMOVE_DUPLICATE_ELEMENTS__ELIST;
+
+ /**
+ * The operation id for the '<em>Resolve In Library</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int IMPORT_REFERENCE___RESOLVE_IN_LIBRARY__STRING = SYNTAX_ELEMENT___RESOLVE_IN_LIBRARY__STRING;
+
+ /**
+ * The operation id for the '<em>Primitive Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int IMPORT_REFERENCE___PRIMITIVE_TYPE__STRING = SYNTAX_ELEMENT___PRIMITIVE_TYPE__STRING;
+
+ /**
+ * The operation id for the '<em>Primitive Type </em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int IMPORT_REFERENCE___PRIMITIVE_TYPE____STRING = SYNTAX_ELEMENT___PRIMITIVE_TYPE____STRING;
+
+ /**
+ * The operation id for the '<em>Boolean Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int IMPORT_REFERENCE___BOOLEAN_TYPE = SYNTAX_ELEMENT___BOOLEAN_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Boolean Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int IMPORT_REFERENCE___IS_BOOLEAN_TYPE__ELEMENTREFERENCE = SYNTAX_ELEMENT___IS_BOOLEAN_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Integer Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int IMPORT_REFERENCE___INTEGER_TYPE = SYNTAX_ELEMENT___INTEGER_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Integer Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int IMPORT_REFERENCE___IS_INTEGER_TYPE__ELEMENTREFERENCE = SYNTAX_ELEMENT___IS_INTEGER_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int IMPORT_REFERENCE___STRING_TYPE = SYNTAX_ELEMENT___STRING_TYPE;
+
+ /**
+ * The operation id for the '<em>Is String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int IMPORT_REFERENCE___IS_STRING_TYPE__ELEMENTREFERENCE = SYNTAX_ELEMENT___IS_STRING_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Unlimited Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int IMPORT_REFERENCE___UNLIMITED_NATURAL_TYPE = SYNTAX_ELEMENT___UNLIMITED_NATURAL_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Unlimited Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int IMPORT_REFERENCE___IS_UNLIMITED_NATURAL_TYPE__ELEMENTREFERENCE = SYNTAX_ELEMENT___IS_UNLIMITED_NATURAL_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Bit String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int IMPORT_REFERENCE___BIT_STRING_TYPE = SYNTAX_ELEMENT___BIT_STRING_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Bit String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int IMPORT_REFERENCE___IS_BIT_STRING_TYPE__ELEMENTREFERENCE = SYNTAX_ELEMENT___IS_BIT_STRING_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int IMPORT_REFERENCE___NATURAL_TYPE = SYNTAX_ELEMENT___NATURAL_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int IMPORT_REFERENCE___IS_NATURAL_TYPE__ELEMENTREFERENCE = SYNTAX_ELEMENT___IS_NATURAL_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Numeric Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int IMPORT_REFERENCE___IS_NUMERIC_TYPE__ELEMENTREFERENCE = SYNTAX_ELEMENT___IS_NUMERIC_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Collection Function Add</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int IMPORT_REFERENCE___COLLECTION_FUNCTION_ADD = SYNTAX_ELEMENT___COLLECTION_FUNCTION_ADD;
+
+ /**
+ * The operation id for the '<em>Is Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int IMPORT_REFERENCE___IS_COLLECTION_CLASS__ELEMENTREFERENCE = SYNTAX_ELEMENT___IS_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Integer Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int IMPORT_REFERENCE___IS_INTEGER_COLLECTION_CLASS__ELEMENTREFERENCE = SYNTAX_ELEMENT___IS_INTEGER_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Bit String Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int IMPORT_REFERENCE___IS_BIT_STRING_COLLECTION_CLASS__ELEMENTREFERENCE = SYNTAX_ELEMENT___IS_BIT_STRING_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Imported Members</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int IMPORT_REFERENCE___IMPORTED_MEMBERS = SYNTAX_ELEMENT_OPERATION_COUNT + 0;
+
+ /**
+ * The operation id for the '<em>Import Reference Referent Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int IMPORT_REFERENCE___IMPORT_REFERENCE_REFERENT_DERIVATION__DIAGNOSTICCHAIN_MAP = SYNTAX_ELEMENT_OPERATION_COUNT + 1;
+
+ /**
+ * The operation id for the '<em>Import Reference Referent</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int IMPORT_REFERENCE___IMPORT_REFERENCE_REFERENT__DIAGNOSTICCHAIN_MAP = SYNTAX_ELEMENT_OPERATION_COUNT + 2;
+
+ /**
+ * The number of operations of the '<em>Import Reference</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int IMPORT_REFERENCE_OPERATION_COUNT = SYNTAX_ELEMENT_OPERATION_COUNT + 3;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.uml.alf.impl.ImportedMemberImpl <em>Imported Member</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.uml.alf.impl.ImportedMemberImpl
+ * @see org.eclipse.papyrus.uml.alf.impl.AlfPackageImpl#getImportedMember()
+ * @generated
+ */
+ int IMPORTED_MEMBER = 105;
+
+ /**
+ * The feature id for the '<em><b>Owner</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int IMPORTED_MEMBER__OWNER = MEMBER_DEFINITION__OWNER;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int IMPORTED_MEMBER__NAME = MEMBER_DEFINITION__NAME;
+
+ /**
+ * The feature id for the '<em><b>Is Stub</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int IMPORTED_MEMBER__IS_STUB = MEMBER_DEFINITION__IS_STUB;
+
+ /**
+ * The feature id for the '<em><b>Is Feature</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int IMPORTED_MEMBER__IS_FEATURE = MEMBER_DEFINITION__IS_FEATURE;
+
+ /**
+ * The feature id for the '<em><b>Is Primitive</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int IMPORTED_MEMBER__IS_PRIMITIVE = MEMBER_DEFINITION__IS_PRIMITIVE;
+
+ /**
+ * The feature id for the '<em><b>Is External</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int IMPORTED_MEMBER__IS_EXTERNAL = MEMBER_DEFINITION__IS_EXTERNAL;
+
+ /**
+ * The feature id for the '<em><b>Subunit</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int IMPORTED_MEMBER__SUBUNIT = MEMBER_DEFINITION__SUBUNIT;
+
+ /**
+ * The feature id for the '<em><b>Referent</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int IMPORTED_MEMBER__REFERENT = MEMBER_DEFINITION_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the '<em>Imported Member</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int IMPORTED_MEMBER_FEATURE_COUNT = MEMBER_DEFINITION_FEATURE_COUNT + 1;
+
+ /**
+ * The operation id for the '<em>Owner</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int IMPORTED_MEMBER___OWNER = MEMBER_DEFINITION___OWNER;
+
+ /**
+ * The operation id for the '<em>Syntax Element owner</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int IMPORTED_MEMBER___SYNTAX_ELEMENT_OWNER = MEMBER_DEFINITION___SYNTAX_ELEMENT_OWNER;
+
+ /**
+ * The operation id for the '<em>Current Scope</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int IMPORTED_MEMBER___CURRENT_SCOPE = MEMBER_DEFINITION___CURRENT_SCOPE;
+
+ /**
+ * The operation id for the '<em>Syntax Element current Scope</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int IMPORTED_MEMBER___SYNTAX_ELEMENT_CURRENT_SCOPE = MEMBER_DEFINITION___SYNTAX_ELEMENT_CURRENT_SCOPE;
+
+ /**
+ * The operation id for the '<em>Enclosing Statement</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int IMPORTED_MEMBER___ENCLOSING_STATEMENT = MEMBER_DEFINITION___ENCLOSING_STATEMENT;
+
+ /**
+ * The operation id for the '<em>Enclosing Expression</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int IMPORTED_MEMBER___ENCLOSING_EXPRESSION = MEMBER_DEFINITION___ENCLOSING_EXPRESSION;
+
+ /**
+ * The operation id for the '<em>Assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int IMPORTED_MEMBER___ASSIGNMENTS_BEFORE = MEMBER_DEFINITION___ASSIGNMENTS_BEFORE;
+
+ /**
+ * The operation id for the '<em>Syntax Element assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int IMPORTED_MEMBER___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE = MEMBER_DEFINITION___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE;
+
+ /**
+ * The operation id for the '<em>Syntax Element assignments Before base</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int IMPORTED_MEMBER___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE_BASE = MEMBER_DEFINITION___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE_BASE;
+
+ /**
+ * The operation id for the '<em>Assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int IMPORTED_MEMBER___ASSIGNMENTS_BEFORE__SYNTAXELEMENT = MEMBER_DEFINITION___ASSIGNMENTS_BEFORE__SYNTAXELEMENT;
+
+ /**
+ * The operation id for the '<em>Update All</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int IMPORTED_MEMBER___UPDATE_ALL__ELIST_ELIST = MEMBER_DEFINITION___UPDATE_ALL__ELIST_ELIST;
+
+ /**
+ * The operation id for the '<em>Common Ancestor</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int IMPORTED_MEMBER___COMMON_ANCESTOR__ELIST = MEMBER_DEFINITION___COMMON_ANCESTOR__ELIST;
+
+ /**
+ * The operation id for the '<em>Common Ancestors</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int IMPORTED_MEMBER___COMMON_ANCESTORS__ELIST = MEMBER_DEFINITION___COMMON_ANCESTORS__ELIST;
+
+ /**
+ * The operation id for the '<em>Remove Duplicate Elements</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int IMPORTED_MEMBER___REMOVE_DUPLICATE_ELEMENTS__ELIST = MEMBER_DEFINITION___REMOVE_DUPLICATE_ELEMENTS__ELIST;
+
+ /**
+ * The operation id for the '<em>Resolve In Library</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int IMPORTED_MEMBER___RESOLVE_IN_LIBRARY__STRING = MEMBER_DEFINITION___RESOLVE_IN_LIBRARY__STRING;
+
+ /**
+ * The operation id for the '<em>Primitive Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int IMPORTED_MEMBER___PRIMITIVE_TYPE__STRING = MEMBER_DEFINITION___PRIMITIVE_TYPE__STRING;
+
+ /**
+ * The operation id for the '<em>Primitive Type </em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int IMPORTED_MEMBER___PRIMITIVE_TYPE____STRING = MEMBER_DEFINITION___PRIMITIVE_TYPE____STRING;
+
+ /**
+ * The operation id for the '<em>Boolean Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int IMPORTED_MEMBER___BOOLEAN_TYPE = MEMBER_DEFINITION___BOOLEAN_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Boolean Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int IMPORTED_MEMBER___IS_BOOLEAN_TYPE__ELEMENTREFERENCE = MEMBER_DEFINITION___IS_BOOLEAN_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Integer Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int IMPORTED_MEMBER___INTEGER_TYPE = MEMBER_DEFINITION___INTEGER_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Integer Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int IMPORTED_MEMBER___IS_INTEGER_TYPE__ELEMENTREFERENCE = MEMBER_DEFINITION___IS_INTEGER_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int IMPORTED_MEMBER___STRING_TYPE = MEMBER_DEFINITION___STRING_TYPE;
+
+ /**
+ * The operation id for the '<em>Is String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int IMPORTED_MEMBER___IS_STRING_TYPE__ELEMENTREFERENCE = MEMBER_DEFINITION___IS_STRING_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Unlimited Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int IMPORTED_MEMBER___UNLIMITED_NATURAL_TYPE = MEMBER_DEFINITION___UNLIMITED_NATURAL_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Unlimited Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int IMPORTED_MEMBER___IS_UNLIMITED_NATURAL_TYPE__ELEMENTREFERENCE = MEMBER_DEFINITION___IS_UNLIMITED_NATURAL_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Bit String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int IMPORTED_MEMBER___BIT_STRING_TYPE = MEMBER_DEFINITION___BIT_STRING_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Bit String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int IMPORTED_MEMBER___IS_BIT_STRING_TYPE__ELEMENTREFERENCE = MEMBER_DEFINITION___IS_BIT_STRING_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int IMPORTED_MEMBER___NATURAL_TYPE = MEMBER_DEFINITION___NATURAL_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int IMPORTED_MEMBER___IS_NATURAL_TYPE__ELEMENTREFERENCE = MEMBER_DEFINITION___IS_NATURAL_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Numeric Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int IMPORTED_MEMBER___IS_NUMERIC_TYPE__ELEMENTREFERENCE = MEMBER_DEFINITION___IS_NUMERIC_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Collection Function Add</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int IMPORTED_MEMBER___COLLECTION_FUNCTION_ADD = MEMBER_DEFINITION___COLLECTION_FUNCTION_ADD;
+
+ /**
+ * The operation id for the '<em>Is Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int IMPORTED_MEMBER___IS_COLLECTION_CLASS__ELEMENTREFERENCE = MEMBER_DEFINITION___IS_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Integer Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int IMPORTED_MEMBER___IS_INTEGER_COLLECTION_CLASS__ELEMENTREFERENCE = MEMBER_DEFINITION___IS_INTEGER_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Bit String Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int IMPORTED_MEMBER___IS_BIT_STRING_COLLECTION_CLASS__ELEMENTREFERENCE = MEMBER_DEFINITION___IS_BIT_STRING_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Annotation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int IMPORTED_MEMBER___ANNOTATION = MEMBER_DEFINITION___ANNOTATION;
+
+ /**
+ * The operation id for the '<em>Outer Scope</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int IMPORTED_MEMBER___OUTER_SCOPE = MEMBER_DEFINITION___OUTER_SCOPE;
+
+ /**
+ * The operation id for the '<em>Member Definition outer Scope</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int IMPORTED_MEMBER___MEMBER_DEFINITION_OUTER_SCOPE = MEMBER_DEFINITION___MEMBER_DEFINITION_OUTER_SCOPE;
+
+ /**
+ * The operation id for the '<em>Qualified Name</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int IMPORTED_MEMBER___QUALIFIED_NAME = MEMBER_DEFINITION___QUALIFIED_NAME;
+
+ /**
+ * The operation id for the '<em>Namespace Reference</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int IMPORTED_MEMBER___NAMESPACE_REFERENCE = MEMBER_DEFINITION___NAMESPACE_REFERENCE;
+
+ /**
+ * The operation id for the '<em>Add To Model</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int IMPORTED_MEMBER___ADD_TO_MODEL = MEMBER_DEFINITION___ADD_TO_MODEL;
+
+ /**
+ * The operation id for the '<em>Match For Stub</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int IMPORTED_MEMBER___MATCH_FOR_STUB__UNITDEFINITION = MEMBER_DEFINITION___MATCH_FOR_STUB__UNITDEFINITION;
+
+ /**
+ * The operation id for the '<em>Is Distinguishable From</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int IMPORTED_MEMBER___IS_DISTINGUISHABLE_FROM__MEMBERDEFINITION = MEMBER_DEFINITION___IS_DISTINGUISHABLE_FROM__MEMBERDEFINITION;
+
+ /**
+ * The operation id for the '<em>Member Definition is Distinguishable From</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int IMPORTED_MEMBER___MEMBER_DEFINITION_IS_DISTINGUISHABLE_FROM__MEMBERDEFINITION = MEMBER_DEFINITION___MEMBER_DEFINITION_IS_DISTINGUISHABLE_FROM__MEMBERDEFINITION;
+
+ /**
+ * The operation id for the '<em>Template Parameters</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int IMPORTED_MEMBER___TEMPLATE_PARAMETERS = MEMBER_DEFINITION___TEMPLATE_PARAMETERS;
+
+ /**
+ * The operation id for the '<em>Is Template</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int IMPORTED_MEMBER___IS_TEMPLATE = MEMBER_DEFINITION___IS_TEMPLATE;
+
+ /**
+ * The operation id for the '<em>Member Annotations</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int IMPORTED_MEMBER___MEMBER_ANNOTATIONS__DIAGNOSTICCHAIN_MAP = MEMBER_DEFINITION___MEMBER_ANNOTATIONS__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Member Is Primitive Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int IMPORTED_MEMBER___MEMBER_IS_PRIMITIVE_DERIVATION__DIAGNOSTICCHAIN_MAP = MEMBER_DEFINITION___MEMBER_IS_PRIMITIVE_DERIVATION__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Member Is External Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int IMPORTED_MEMBER___MEMBER_IS_EXTERNAL_DERIVATION__DIAGNOSTICCHAIN_MAP = MEMBER_DEFINITION___MEMBER_IS_EXTERNAL_DERIVATION__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Member External</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int IMPORTED_MEMBER___MEMBER_EXTERNAL__DIAGNOSTICCHAIN_MAP = MEMBER_DEFINITION___MEMBER_EXTERNAL__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Member Stub</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int IMPORTED_MEMBER___MEMBER_STUB__DIAGNOSTICCHAIN_MAP = MEMBER_DEFINITION___MEMBER_STUB__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Member Subunit Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int IMPORTED_MEMBER___MEMBER_SUBUNIT_DERIVATION__DIAGNOSTICCHAIN_MAP = MEMBER_DEFINITION___MEMBER_SUBUNIT_DERIVATION__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Member Stub Stereotypes</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int IMPORTED_MEMBER___MEMBER_STUB_STEREOTYPES__DIAGNOSTICCHAIN_MAP = MEMBER_DEFINITION___MEMBER_STUB_STEREOTYPES__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Member Primitive</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int IMPORTED_MEMBER___MEMBER_PRIMITIVE__DIAGNOSTICCHAIN_MAP = MEMBER_DEFINITION___MEMBER_PRIMITIVE__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Containing Member</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int IMPORTED_MEMBER___CONTAINING_MEMBER = MEMBER_DEFINITION___CONTAINING_MEMBER;
+
+ /**
+ * The operation id for the '<em>Actual Name</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int IMPORTED_MEMBER___ACTUAL_NAME = MEMBER_DEFINITION_OPERATION_COUNT + 0;
+
+ /**
+ * The operation id for the '<em>To Reference</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int IMPORTED_MEMBER___TO_REFERENCE = MEMBER_DEFINITION_OPERATION_COUNT + 1;
+
+ /**
+ * The operation id for the '<em>Annotation Allowed</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int IMPORTED_MEMBER___ANNOTATION_ALLOWED__STEREOTYPEANNOTATION = MEMBER_DEFINITION_OPERATION_COUNT + 2;
+
+ /**
+ * The operation id for the '<em>Is Same Kind As</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int IMPORTED_MEMBER___IS_SAME_KIND_AS__ELEMENTREFERENCE = MEMBER_DEFINITION_OPERATION_COUNT + 3;
+
+ /**
+ * The operation id for the '<em>Is Feature</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int IMPORTED_MEMBER___IS_FEATURE = MEMBER_DEFINITION_OPERATION_COUNT + 4;
+
+ /**
+ * The operation id for the '<em>Imported Member Not Stub</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int IMPORTED_MEMBER___IMPORTED_MEMBER_NOT_STUB__DIAGNOSTICCHAIN_MAP = MEMBER_DEFINITION_OPERATION_COUNT + 5;
+
+ /**
+ * The operation id for the '<em>Imported Member Is Feature Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int IMPORTED_MEMBER___IMPORTED_MEMBER_IS_FEATURE_DERIVATION__DIAGNOSTICCHAIN_MAP = MEMBER_DEFINITION_OPERATION_COUNT + 6;
+
+ /**
+ * The number of operations of the '<em>Imported Member</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int IMPORTED_MEMBER_OPERATION_COUNT = MEMBER_DEFINITION_OPERATION_COUNT + 7;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.uml.alf.impl.EnumerationLiteralNameImpl <em>Enumeration Literal Name</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.uml.alf.impl.EnumerationLiteralNameImpl
+ * @see org.eclipse.papyrus.uml.alf.impl.AlfPackageImpl#getEnumerationLiteralName()
+ * @generated
+ */
+ int ENUMERATION_LITERAL_NAME = 106;
+
+ /**
+ * The feature id for the '<em><b>Owner</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ENUMERATION_LITERAL_NAME__OWNER = MEMBER_DEFINITION__OWNER;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ENUMERATION_LITERAL_NAME__NAME = MEMBER_DEFINITION__NAME;
+
+ /**
+ * The feature id for the '<em><b>Is Stub</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ENUMERATION_LITERAL_NAME__IS_STUB = MEMBER_DEFINITION__IS_STUB;
+
+ /**
+ * The feature id for the '<em><b>Is Feature</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ENUMERATION_LITERAL_NAME__IS_FEATURE = MEMBER_DEFINITION__IS_FEATURE;
+
+ /**
+ * The feature id for the '<em><b>Is Primitive</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ENUMERATION_LITERAL_NAME__IS_PRIMITIVE = MEMBER_DEFINITION__IS_PRIMITIVE;
+
+ /**
+ * The feature id for the '<em><b>Is External</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ENUMERATION_LITERAL_NAME__IS_EXTERNAL = MEMBER_DEFINITION__IS_EXTERNAL;
+
+ /**
+ * The feature id for the '<em><b>Subunit</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ENUMERATION_LITERAL_NAME__SUBUNIT = MEMBER_DEFINITION__SUBUNIT;
+
+ /**
+ * The number of structural features of the '<em>Enumeration Literal Name</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ENUMERATION_LITERAL_NAME_FEATURE_COUNT = MEMBER_DEFINITION_FEATURE_COUNT + 0;
+
+ /**
+ * The operation id for the '<em>To Reference</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ENUMERATION_LITERAL_NAME___TO_REFERENCE = MEMBER_DEFINITION___TO_REFERENCE;
+
+ /**
+ * The operation id for the '<em>Owner</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ENUMERATION_LITERAL_NAME___OWNER = MEMBER_DEFINITION___OWNER;
+
+ /**
+ * The operation id for the '<em>Syntax Element owner</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ENUMERATION_LITERAL_NAME___SYNTAX_ELEMENT_OWNER = MEMBER_DEFINITION___SYNTAX_ELEMENT_OWNER;
+
+ /**
+ * The operation id for the '<em>Current Scope</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ENUMERATION_LITERAL_NAME___CURRENT_SCOPE = MEMBER_DEFINITION___CURRENT_SCOPE;
+
+ /**
+ * The operation id for the '<em>Syntax Element current Scope</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ENUMERATION_LITERAL_NAME___SYNTAX_ELEMENT_CURRENT_SCOPE = MEMBER_DEFINITION___SYNTAX_ELEMENT_CURRENT_SCOPE;
+
+ /**
+ * The operation id for the '<em>Enclosing Statement</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ENUMERATION_LITERAL_NAME___ENCLOSING_STATEMENT = MEMBER_DEFINITION___ENCLOSING_STATEMENT;
+
+ /**
+ * The operation id for the '<em>Enclosing Expression</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ENUMERATION_LITERAL_NAME___ENCLOSING_EXPRESSION = MEMBER_DEFINITION___ENCLOSING_EXPRESSION;
+
+ /**
+ * The operation id for the '<em>Assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ENUMERATION_LITERAL_NAME___ASSIGNMENTS_BEFORE = MEMBER_DEFINITION___ASSIGNMENTS_BEFORE;
+
+ /**
+ * The operation id for the '<em>Syntax Element assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ENUMERATION_LITERAL_NAME___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE = MEMBER_DEFINITION___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE;
+
+ /**
+ * The operation id for the '<em>Syntax Element assignments Before base</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ENUMERATION_LITERAL_NAME___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE_BASE = MEMBER_DEFINITION___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE_BASE;
+
+ /**
+ * The operation id for the '<em>Assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ENUMERATION_LITERAL_NAME___ASSIGNMENTS_BEFORE__SYNTAXELEMENT = MEMBER_DEFINITION___ASSIGNMENTS_BEFORE__SYNTAXELEMENT;
+
+ /**
+ * The operation id for the '<em>Update All</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ENUMERATION_LITERAL_NAME___UPDATE_ALL__ELIST_ELIST = MEMBER_DEFINITION___UPDATE_ALL__ELIST_ELIST;
+
+ /**
+ * The operation id for the '<em>Common Ancestor</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ENUMERATION_LITERAL_NAME___COMMON_ANCESTOR__ELIST = MEMBER_DEFINITION___COMMON_ANCESTOR__ELIST;
+
+ /**
+ * The operation id for the '<em>Common Ancestors</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ENUMERATION_LITERAL_NAME___COMMON_ANCESTORS__ELIST = MEMBER_DEFINITION___COMMON_ANCESTORS__ELIST;
+
+ /**
+ * The operation id for the '<em>Remove Duplicate Elements</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ENUMERATION_LITERAL_NAME___REMOVE_DUPLICATE_ELEMENTS__ELIST = MEMBER_DEFINITION___REMOVE_DUPLICATE_ELEMENTS__ELIST;
+
+ /**
+ * The operation id for the '<em>Resolve In Library</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ENUMERATION_LITERAL_NAME___RESOLVE_IN_LIBRARY__STRING = MEMBER_DEFINITION___RESOLVE_IN_LIBRARY__STRING;
+
+ /**
+ * The operation id for the '<em>Primitive Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ENUMERATION_LITERAL_NAME___PRIMITIVE_TYPE__STRING = MEMBER_DEFINITION___PRIMITIVE_TYPE__STRING;
+
+ /**
+ * The operation id for the '<em>Primitive Type </em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ENUMERATION_LITERAL_NAME___PRIMITIVE_TYPE____STRING = MEMBER_DEFINITION___PRIMITIVE_TYPE____STRING;
+
+ /**
+ * The operation id for the '<em>Boolean Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ENUMERATION_LITERAL_NAME___BOOLEAN_TYPE = MEMBER_DEFINITION___BOOLEAN_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Boolean Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ENUMERATION_LITERAL_NAME___IS_BOOLEAN_TYPE__ELEMENTREFERENCE = MEMBER_DEFINITION___IS_BOOLEAN_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Integer Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ENUMERATION_LITERAL_NAME___INTEGER_TYPE = MEMBER_DEFINITION___INTEGER_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Integer Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ENUMERATION_LITERAL_NAME___IS_INTEGER_TYPE__ELEMENTREFERENCE = MEMBER_DEFINITION___IS_INTEGER_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ENUMERATION_LITERAL_NAME___STRING_TYPE = MEMBER_DEFINITION___STRING_TYPE;
+
+ /**
+ * The operation id for the '<em>Is String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ENUMERATION_LITERAL_NAME___IS_STRING_TYPE__ELEMENTREFERENCE = MEMBER_DEFINITION___IS_STRING_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Unlimited Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ENUMERATION_LITERAL_NAME___UNLIMITED_NATURAL_TYPE = MEMBER_DEFINITION___UNLIMITED_NATURAL_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Unlimited Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ENUMERATION_LITERAL_NAME___IS_UNLIMITED_NATURAL_TYPE__ELEMENTREFERENCE = MEMBER_DEFINITION___IS_UNLIMITED_NATURAL_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Bit String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ENUMERATION_LITERAL_NAME___BIT_STRING_TYPE = MEMBER_DEFINITION___BIT_STRING_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Bit String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ENUMERATION_LITERAL_NAME___IS_BIT_STRING_TYPE__ELEMENTREFERENCE = MEMBER_DEFINITION___IS_BIT_STRING_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ENUMERATION_LITERAL_NAME___NATURAL_TYPE = MEMBER_DEFINITION___NATURAL_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ENUMERATION_LITERAL_NAME___IS_NATURAL_TYPE__ELEMENTREFERENCE = MEMBER_DEFINITION___IS_NATURAL_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Numeric Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ENUMERATION_LITERAL_NAME___IS_NUMERIC_TYPE__ELEMENTREFERENCE = MEMBER_DEFINITION___IS_NUMERIC_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Collection Function Add</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ENUMERATION_LITERAL_NAME___COLLECTION_FUNCTION_ADD = MEMBER_DEFINITION___COLLECTION_FUNCTION_ADD;
+
+ /**
+ * The operation id for the '<em>Is Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ENUMERATION_LITERAL_NAME___IS_COLLECTION_CLASS__ELEMENTREFERENCE = MEMBER_DEFINITION___IS_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Integer Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ENUMERATION_LITERAL_NAME___IS_INTEGER_COLLECTION_CLASS__ELEMENTREFERENCE = MEMBER_DEFINITION___IS_INTEGER_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Bit String Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ENUMERATION_LITERAL_NAME___IS_BIT_STRING_COLLECTION_CLASS__ELEMENTREFERENCE = MEMBER_DEFINITION___IS_BIT_STRING_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Annotation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ENUMERATION_LITERAL_NAME___ANNOTATION = MEMBER_DEFINITION___ANNOTATION;
+
+ /**
+ * The operation id for the '<em>Actual Name</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ENUMERATION_LITERAL_NAME___ACTUAL_NAME = MEMBER_DEFINITION___ACTUAL_NAME;
+
+ /**
+ * The operation id for the '<em>Outer Scope</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ENUMERATION_LITERAL_NAME___OUTER_SCOPE = MEMBER_DEFINITION___OUTER_SCOPE;
+
+ /**
+ * The operation id for the '<em>Member Definition outer Scope</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ENUMERATION_LITERAL_NAME___MEMBER_DEFINITION_OUTER_SCOPE = MEMBER_DEFINITION___MEMBER_DEFINITION_OUTER_SCOPE;
+
+ /**
+ * The operation id for the '<em>Qualified Name</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ENUMERATION_LITERAL_NAME___QUALIFIED_NAME = MEMBER_DEFINITION___QUALIFIED_NAME;
+
+ /**
+ * The operation id for the '<em>Namespace Reference</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ENUMERATION_LITERAL_NAME___NAMESPACE_REFERENCE = MEMBER_DEFINITION___NAMESPACE_REFERENCE;
+
+ /**
+ * The operation id for the '<em>Add To Model</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ENUMERATION_LITERAL_NAME___ADD_TO_MODEL = MEMBER_DEFINITION___ADD_TO_MODEL;
+
+ /**
+ * The operation id for the '<em>Match For Stub</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ENUMERATION_LITERAL_NAME___MATCH_FOR_STUB__UNITDEFINITION = MEMBER_DEFINITION___MATCH_FOR_STUB__UNITDEFINITION;
+
+ /**
+ * The operation id for the '<em>Is Distinguishable From</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ENUMERATION_LITERAL_NAME___IS_DISTINGUISHABLE_FROM__MEMBERDEFINITION = MEMBER_DEFINITION___IS_DISTINGUISHABLE_FROM__MEMBERDEFINITION;
+
+ /**
+ * The operation id for the '<em>Member Definition is Distinguishable From</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ENUMERATION_LITERAL_NAME___MEMBER_DEFINITION_IS_DISTINGUISHABLE_FROM__MEMBERDEFINITION = MEMBER_DEFINITION___MEMBER_DEFINITION_IS_DISTINGUISHABLE_FROM__MEMBERDEFINITION;
+
+ /**
+ * The operation id for the '<em>Is Same Kind As</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ENUMERATION_LITERAL_NAME___IS_SAME_KIND_AS__ELEMENTREFERENCE = MEMBER_DEFINITION___IS_SAME_KIND_AS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Template Parameters</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ENUMERATION_LITERAL_NAME___TEMPLATE_PARAMETERS = MEMBER_DEFINITION___TEMPLATE_PARAMETERS;
+
+ /**
+ * The operation id for the '<em>Is Template</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ENUMERATION_LITERAL_NAME___IS_TEMPLATE = MEMBER_DEFINITION___IS_TEMPLATE;
+
+ /**
+ * The operation id for the '<em>Is Feature</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ENUMERATION_LITERAL_NAME___IS_FEATURE = MEMBER_DEFINITION___IS_FEATURE;
+
+ /**
+ * The operation id for the '<em>Member Annotations</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ENUMERATION_LITERAL_NAME___MEMBER_ANNOTATIONS__DIAGNOSTICCHAIN_MAP = MEMBER_DEFINITION___MEMBER_ANNOTATIONS__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Member Is Primitive Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ENUMERATION_LITERAL_NAME___MEMBER_IS_PRIMITIVE_DERIVATION__DIAGNOSTICCHAIN_MAP = MEMBER_DEFINITION___MEMBER_IS_PRIMITIVE_DERIVATION__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Member Is External Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ENUMERATION_LITERAL_NAME___MEMBER_IS_EXTERNAL_DERIVATION__DIAGNOSTICCHAIN_MAP = MEMBER_DEFINITION___MEMBER_IS_EXTERNAL_DERIVATION__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Member External</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ENUMERATION_LITERAL_NAME___MEMBER_EXTERNAL__DIAGNOSTICCHAIN_MAP = MEMBER_DEFINITION___MEMBER_EXTERNAL__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Member Stub</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ENUMERATION_LITERAL_NAME___MEMBER_STUB__DIAGNOSTICCHAIN_MAP = MEMBER_DEFINITION___MEMBER_STUB__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Member Subunit Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ENUMERATION_LITERAL_NAME___MEMBER_SUBUNIT_DERIVATION__DIAGNOSTICCHAIN_MAP = MEMBER_DEFINITION___MEMBER_SUBUNIT_DERIVATION__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Member Stub Stereotypes</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ENUMERATION_LITERAL_NAME___MEMBER_STUB_STEREOTYPES__DIAGNOSTICCHAIN_MAP = MEMBER_DEFINITION___MEMBER_STUB_STEREOTYPES__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Member Primitive</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ENUMERATION_LITERAL_NAME___MEMBER_PRIMITIVE__DIAGNOSTICCHAIN_MAP = MEMBER_DEFINITION___MEMBER_PRIMITIVE__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Containing Member</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ENUMERATION_LITERAL_NAME___CONTAINING_MEMBER = MEMBER_DEFINITION___CONTAINING_MEMBER;
+
+ /**
+ * The operation id for the '<em>Annotation Allowed</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ENUMERATION_LITERAL_NAME___ANNOTATION_ALLOWED__STEREOTYPEANNOTATION = MEMBER_DEFINITION_OPERATION_COUNT + 0;
+
+ /**
+ * The number of operations of the '<em>Enumeration Literal Name</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ENUMERATION_LITERAL_NAME_OPERATION_COUNT = MEMBER_DEFINITION_OPERATION_COUNT + 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.uml.alf.impl.OperationDefinitionImpl <em>Operation Definition</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.uml.alf.impl.OperationDefinitionImpl
+ * @see org.eclipse.papyrus.uml.alf.impl.AlfPackageImpl#getOperationDefinition()
+ * @generated
+ */
+ int OPERATION_DEFINITION = 107;
+
+ /**
+ * The feature id for the '<em><b>Owner</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int OPERATION_DEFINITION__OWNER = NAMESPACE_DEFINITION__OWNER;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int OPERATION_DEFINITION__NAME = NAMESPACE_DEFINITION__NAME;
+
+ /**
+ * The feature id for the '<em><b>Is Stub</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int OPERATION_DEFINITION__IS_STUB = NAMESPACE_DEFINITION__IS_STUB;
+
+ /**
+ * The feature id for the '<em><b>Is Feature</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int OPERATION_DEFINITION__IS_FEATURE = NAMESPACE_DEFINITION__IS_FEATURE;
+
+ /**
+ * The feature id for the '<em><b>Is Primitive</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int OPERATION_DEFINITION__IS_PRIMITIVE = NAMESPACE_DEFINITION__IS_PRIMITIVE;
+
+ /**
+ * The feature id for the '<em><b>Is External</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int OPERATION_DEFINITION__IS_EXTERNAL = NAMESPACE_DEFINITION__IS_EXTERNAL;
+
+ /**
+ * The feature id for the '<em><b>Subunit</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int OPERATION_DEFINITION__SUBUNIT = NAMESPACE_DEFINITION__SUBUNIT;
+
+ /**
+ * The feature id for the '<em><b>Owned Member</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int OPERATION_DEFINITION__OWNED_MEMBER = NAMESPACE_DEFINITION__OWNED_MEMBER;
+
+ /**
+ * The feature id for the '<em><b>Unit</b></em>' container reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int OPERATION_DEFINITION__UNIT = NAMESPACE_DEFINITION__UNIT;
+
+ /**
+ * The feature id for the '<em><b>Member</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int OPERATION_DEFINITION__MEMBER = NAMESPACE_DEFINITION__MEMBER;
+
+ /**
+ * The feature id for the '<em><b>Redefinition</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int OPERATION_DEFINITION__REDEFINITION = NAMESPACE_DEFINITION_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Is Abstract</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int OPERATION_DEFINITION__IS_ABSTRACT = NAMESPACE_DEFINITION_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Body</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int OPERATION_DEFINITION__BODY = NAMESPACE_DEFINITION_FEATURE_COUNT + 2;
+
+ /**
+ * The feature id for the '<em><b>Redefined Operation</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int OPERATION_DEFINITION__REDEFINED_OPERATION = NAMESPACE_DEFINITION_FEATURE_COUNT + 3;
+
+ /**
+ * The feature id for the '<em><b>Is Constructor</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int OPERATION_DEFINITION__IS_CONSTRUCTOR = NAMESPACE_DEFINITION_FEATURE_COUNT + 4;
+
+ /**
+ * The feature id for the '<em><b>Is Destructor</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int OPERATION_DEFINITION__IS_DESTRUCTOR = NAMESPACE_DEFINITION_FEATURE_COUNT + 5;
+
+ /**
+ * The number of structural features of the '<em>Operation Definition</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int OPERATION_DEFINITION_FEATURE_COUNT = NAMESPACE_DEFINITION_FEATURE_COUNT + 6;
+
+ /**
+ * The operation id for the '<em>To Reference</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int OPERATION_DEFINITION___TO_REFERENCE = NAMESPACE_DEFINITION___TO_REFERENCE;
+
+ /**
+ * The operation id for the '<em>Owner</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int OPERATION_DEFINITION___OWNER = NAMESPACE_DEFINITION___OWNER;
+
+ /**
+ * The operation id for the '<em>Syntax Element owner</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int OPERATION_DEFINITION___SYNTAX_ELEMENT_OWNER = NAMESPACE_DEFINITION___SYNTAX_ELEMENT_OWNER;
+
+ /**
+ * The operation id for the '<em>Syntax Element current Scope</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int OPERATION_DEFINITION___SYNTAX_ELEMENT_CURRENT_SCOPE = NAMESPACE_DEFINITION___SYNTAX_ELEMENT_CURRENT_SCOPE;
+
+ /**
+ * The operation id for the '<em>Enclosing Statement</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int OPERATION_DEFINITION___ENCLOSING_STATEMENT = NAMESPACE_DEFINITION___ENCLOSING_STATEMENT;
+
+ /**
+ * The operation id for the '<em>Enclosing Expression</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int OPERATION_DEFINITION___ENCLOSING_EXPRESSION = NAMESPACE_DEFINITION___ENCLOSING_EXPRESSION;
+
+ /**
+ * The operation id for the '<em>Assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int OPERATION_DEFINITION___ASSIGNMENTS_BEFORE = NAMESPACE_DEFINITION___ASSIGNMENTS_BEFORE;
+
+ /**
+ * The operation id for the '<em>Syntax Element assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int OPERATION_DEFINITION___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE = NAMESPACE_DEFINITION___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE;
+
+ /**
+ * The operation id for the '<em>Syntax Element assignments Before base</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int OPERATION_DEFINITION___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE_BASE = NAMESPACE_DEFINITION___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE_BASE;
+
+ /**
+ * The operation id for the '<em>Update All</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int OPERATION_DEFINITION___UPDATE_ALL__ELIST_ELIST = NAMESPACE_DEFINITION___UPDATE_ALL__ELIST_ELIST;
+
+ /**
+ * The operation id for the '<em>Common Ancestor</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int OPERATION_DEFINITION___COMMON_ANCESTOR__ELIST = NAMESPACE_DEFINITION___COMMON_ANCESTOR__ELIST;
+
+ /**
+ * The operation id for the '<em>Common Ancestors</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int OPERATION_DEFINITION___COMMON_ANCESTORS__ELIST = NAMESPACE_DEFINITION___COMMON_ANCESTORS__ELIST;
+
+ /**
+ * The operation id for the '<em>Remove Duplicate Elements</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int OPERATION_DEFINITION___REMOVE_DUPLICATE_ELEMENTS__ELIST = NAMESPACE_DEFINITION___REMOVE_DUPLICATE_ELEMENTS__ELIST;
+
+ /**
+ * The operation id for the '<em>Resolve In Library</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int OPERATION_DEFINITION___RESOLVE_IN_LIBRARY__STRING = NAMESPACE_DEFINITION___RESOLVE_IN_LIBRARY__STRING;
+
+ /**
+ * The operation id for the '<em>Primitive Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int OPERATION_DEFINITION___PRIMITIVE_TYPE__STRING = NAMESPACE_DEFINITION___PRIMITIVE_TYPE__STRING;
+
+ /**
+ * The operation id for the '<em>Primitive Type </em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int OPERATION_DEFINITION___PRIMITIVE_TYPE____STRING = NAMESPACE_DEFINITION___PRIMITIVE_TYPE____STRING;
+
+ /**
+ * The operation id for the '<em>Boolean Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int OPERATION_DEFINITION___BOOLEAN_TYPE = NAMESPACE_DEFINITION___BOOLEAN_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Boolean Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int OPERATION_DEFINITION___IS_BOOLEAN_TYPE__ELEMENTREFERENCE = NAMESPACE_DEFINITION___IS_BOOLEAN_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Integer Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int OPERATION_DEFINITION___INTEGER_TYPE = NAMESPACE_DEFINITION___INTEGER_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Integer Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int OPERATION_DEFINITION___IS_INTEGER_TYPE__ELEMENTREFERENCE = NAMESPACE_DEFINITION___IS_INTEGER_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int OPERATION_DEFINITION___STRING_TYPE = NAMESPACE_DEFINITION___STRING_TYPE;
+
+ /**
+ * The operation id for the '<em>Is String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int OPERATION_DEFINITION___IS_STRING_TYPE__ELEMENTREFERENCE = NAMESPACE_DEFINITION___IS_STRING_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Unlimited Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int OPERATION_DEFINITION___UNLIMITED_NATURAL_TYPE = NAMESPACE_DEFINITION___UNLIMITED_NATURAL_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Unlimited Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int OPERATION_DEFINITION___IS_UNLIMITED_NATURAL_TYPE__ELEMENTREFERENCE = NAMESPACE_DEFINITION___IS_UNLIMITED_NATURAL_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Bit String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int OPERATION_DEFINITION___BIT_STRING_TYPE = NAMESPACE_DEFINITION___BIT_STRING_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Bit String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int OPERATION_DEFINITION___IS_BIT_STRING_TYPE__ELEMENTREFERENCE = NAMESPACE_DEFINITION___IS_BIT_STRING_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int OPERATION_DEFINITION___NATURAL_TYPE = NAMESPACE_DEFINITION___NATURAL_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int OPERATION_DEFINITION___IS_NATURAL_TYPE__ELEMENTREFERENCE = NAMESPACE_DEFINITION___IS_NATURAL_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Numeric Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int OPERATION_DEFINITION___IS_NUMERIC_TYPE__ELEMENTREFERENCE = NAMESPACE_DEFINITION___IS_NUMERIC_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Collection Function Add</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int OPERATION_DEFINITION___COLLECTION_FUNCTION_ADD = NAMESPACE_DEFINITION___COLLECTION_FUNCTION_ADD;
+
+ /**
+ * The operation id for the '<em>Is Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int OPERATION_DEFINITION___IS_COLLECTION_CLASS__ELEMENTREFERENCE = NAMESPACE_DEFINITION___IS_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Integer Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int OPERATION_DEFINITION___IS_INTEGER_COLLECTION_CLASS__ELEMENTREFERENCE = NAMESPACE_DEFINITION___IS_INTEGER_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Bit String Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int OPERATION_DEFINITION___IS_BIT_STRING_COLLECTION_CLASS__ELEMENTREFERENCE = NAMESPACE_DEFINITION___IS_BIT_STRING_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Annotation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int OPERATION_DEFINITION___ANNOTATION = NAMESPACE_DEFINITION___ANNOTATION;
+
+ /**
+ * The operation id for the '<em>Actual Name</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int OPERATION_DEFINITION___ACTUAL_NAME = NAMESPACE_DEFINITION___ACTUAL_NAME;
+
+ /**
+ * The operation id for the '<em>Member Definition outer Scope</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int OPERATION_DEFINITION___MEMBER_DEFINITION_OUTER_SCOPE = NAMESPACE_DEFINITION___MEMBER_DEFINITION_OUTER_SCOPE;
+
+ /**
+ * The operation id for the '<em>Qualified Name</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int OPERATION_DEFINITION___QUALIFIED_NAME = NAMESPACE_DEFINITION___QUALIFIED_NAME;
+
+ /**
+ * The operation id for the '<em>Namespace Reference</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int OPERATION_DEFINITION___NAMESPACE_REFERENCE = NAMESPACE_DEFINITION___NAMESPACE_REFERENCE;
+
+ /**
+ * The operation id for the '<em>Add To Model</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int OPERATION_DEFINITION___ADD_TO_MODEL = NAMESPACE_DEFINITION___ADD_TO_MODEL;
+
+ /**
+ * The operation id for the '<em>Is Distinguishable From</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int OPERATION_DEFINITION___IS_DISTINGUISHABLE_FROM__MEMBERDEFINITION = NAMESPACE_DEFINITION___IS_DISTINGUISHABLE_FROM__MEMBERDEFINITION;
+
+ /**
+ * The operation id for the '<em>Member Definition is Distinguishable From</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int OPERATION_DEFINITION___MEMBER_DEFINITION_IS_DISTINGUISHABLE_FROM__MEMBERDEFINITION = NAMESPACE_DEFINITION___MEMBER_DEFINITION_IS_DISTINGUISHABLE_FROM__MEMBERDEFINITION;
+
+ /**
+ * The operation id for the '<em>Is Template</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int OPERATION_DEFINITION___IS_TEMPLATE = NAMESPACE_DEFINITION___IS_TEMPLATE;
+
+ /**
+ * The operation id for the '<em>Is Feature</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int OPERATION_DEFINITION___IS_FEATURE = NAMESPACE_DEFINITION___IS_FEATURE;
+
+ /**
+ * The operation id for the '<em>Member Annotations</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int OPERATION_DEFINITION___MEMBER_ANNOTATIONS__DIAGNOSTICCHAIN_MAP = NAMESPACE_DEFINITION___MEMBER_ANNOTATIONS__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Member Is Primitive Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int OPERATION_DEFINITION___MEMBER_IS_PRIMITIVE_DERIVATION__DIAGNOSTICCHAIN_MAP = NAMESPACE_DEFINITION___MEMBER_IS_PRIMITIVE_DERIVATION__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Member Is External Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int OPERATION_DEFINITION___MEMBER_IS_EXTERNAL_DERIVATION__DIAGNOSTICCHAIN_MAP = NAMESPACE_DEFINITION___MEMBER_IS_EXTERNAL_DERIVATION__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Member External</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int OPERATION_DEFINITION___MEMBER_EXTERNAL__DIAGNOSTICCHAIN_MAP = NAMESPACE_DEFINITION___MEMBER_EXTERNAL__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Member Stub</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int OPERATION_DEFINITION___MEMBER_STUB__DIAGNOSTICCHAIN_MAP = NAMESPACE_DEFINITION___MEMBER_STUB__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Member Subunit Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int OPERATION_DEFINITION___MEMBER_SUBUNIT_DERIVATION__DIAGNOSTICCHAIN_MAP = NAMESPACE_DEFINITION___MEMBER_SUBUNIT_DERIVATION__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Member Stub Stereotypes</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int OPERATION_DEFINITION___MEMBER_STUB_STEREOTYPES__DIAGNOSTICCHAIN_MAP = NAMESPACE_DEFINITION___MEMBER_STUB_STEREOTYPES__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Member Primitive</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int OPERATION_DEFINITION___MEMBER_PRIMITIVE__DIAGNOSTICCHAIN_MAP = NAMESPACE_DEFINITION___MEMBER_PRIMITIVE__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Containing Member</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int OPERATION_DEFINITION___CONTAINING_MEMBER = NAMESPACE_DEFINITION___CONTAINING_MEMBER;
+
+ /**
+ * The operation id for the '<em>Current Scope</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int OPERATION_DEFINITION___CURRENT_SCOPE = NAMESPACE_DEFINITION___CURRENT_SCOPE;
+
+ /**
+ * The operation id for the '<em>Outer Scope</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int OPERATION_DEFINITION___OUTER_SCOPE = NAMESPACE_DEFINITION___OUTER_SCOPE;
+
+ /**
+ * The operation id for the '<em>Namespace Definition outer Scope</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int OPERATION_DEFINITION___NAMESPACE_DEFINITION_OUTER_SCOPE = NAMESPACE_DEFINITION___NAMESPACE_DEFINITION_OUTER_SCOPE;
+
+ /**
+ * The operation id for the '<em>Model Namespace</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int OPERATION_DEFINITION___MODEL_NAMESPACE = NAMESPACE_DEFINITION___MODEL_NAMESPACE;
+
+ /**
+ * The operation id for the '<em>Model Scope</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int OPERATION_DEFINITION___MODEL_SCOPE = NAMESPACE_DEFINITION___MODEL_SCOPE;
+
+ /**
+ * The operation id for the '<em>Resolve In Scope</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int OPERATION_DEFINITION___RESOLVE_IN_SCOPE__STRING = NAMESPACE_DEFINITION___RESOLVE_IN_SCOPE__STRING;
+
+ /**
+ * The operation id for the '<em>Applied Profiles</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int OPERATION_DEFINITION___APPLIED_PROFILES = NAMESPACE_DEFINITION___APPLIED_PROFILES;
+
+ /**
+ * The operation id for the '<em>Namespace Definition applied Profiles</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int OPERATION_DEFINITION___NAMESPACE_DEFINITION_APPLIED_PROFILES = NAMESPACE_DEFINITION___NAMESPACE_DEFINITION_APPLIED_PROFILES;
+
+ /**
+ * The operation id for the '<em>Parameters</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int OPERATION_DEFINITION___PARAMETERS = NAMESPACE_DEFINITION___PARAMETERS;
+
+ /**
+ * The operation id for the '<em>Namespace Definition return Parameter</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int OPERATION_DEFINITION___NAMESPACE_DEFINITION_RETURN_PARAMETER = NAMESPACE_DEFINITION___NAMESPACE_DEFINITION_RETURN_PARAMETER;
+
+ /**
+ * The operation id for the '<em>Subunit Owned Members</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int OPERATION_DEFINITION___SUBUNIT_OWNED_MEMBERS = NAMESPACE_DEFINITION___SUBUNIT_OWNED_MEMBERS;
+
+ /**
+ * The operation id for the '<em>Namespace Definition annotation Allowed</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int OPERATION_DEFINITION___NAMESPACE_DEFINITION_ANNOTATION_ALLOWED__STEREOTYPEANNOTATION = NAMESPACE_DEFINITION___NAMESPACE_DEFINITION_ANNOTATION_ALLOWED__STEREOTYPEANNOTATION;
+
+ /**
+ * The operation id for the '<em>Template Parameters</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int OPERATION_DEFINITION___TEMPLATE_PARAMETERS = NAMESPACE_DEFINITION___TEMPLATE_PARAMETERS;
+
+ /**
+ * The operation id for the '<em>Members Cached</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int OPERATION_DEFINITION___MEMBERS_CACHED = NAMESPACE_DEFINITION___MEMBERS_CACHED;
+
+ /**
+ * The operation id for the '<em>Members</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int OPERATION_DEFINITION___MEMBERS = NAMESPACE_DEFINITION___MEMBERS;
+
+ /**
+ * The operation id for the '<em>Namespace Definition members</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int OPERATION_DEFINITION___NAMESPACE_DEFINITION_MEMBERS = NAMESPACE_DEFINITION___NAMESPACE_DEFINITION_MEMBERS;
+
+ /**
+ * The operation id for the '<em>Imported Members</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int OPERATION_DEFINITION___IMPORTED_MEMBERS = NAMESPACE_DEFINITION___IMPORTED_MEMBERS;
+
+ /**
+ * The operation id for the '<em>Import Members</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int OPERATION_DEFINITION___IMPORT_MEMBERS__ELIST = NAMESPACE_DEFINITION___IMPORT_MEMBERS__ELIST;
+
+ /**
+ * The operation id for the '<em>Exclude Collisions</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int OPERATION_DEFINITION___EXCLUDE_COLLISIONS__ELIST = NAMESPACE_DEFINITION___EXCLUDE_COLLISIONS__ELIST;
+
+ /**
+ * The operation id for the '<em>Remove Duplicates</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int OPERATION_DEFINITION___REMOVE_DUPLICATES__ELIST = NAMESPACE_DEFINITION___REMOVE_DUPLICATES__ELIST;
+
+ /**
+ * The operation id for the '<em>Include Distinguishable Caching</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int OPERATION_DEFINITION___INCLUDE_DISTINGUISHABLE_CACHING__ELIST = NAMESPACE_DEFINITION___INCLUDE_DISTINGUISHABLE_CACHING__ELIST;
+
+ /**
+ * The operation id for the '<em>Include Distinguishable</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int OPERATION_DEFINITION___INCLUDE_DISTINGUISHABLE__ELIST = NAMESPACE_DEFINITION___INCLUDE_DISTINGUISHABLE__ELIST;
+
+ /**
+ * The operation id for the '<em>Stub</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int OPERATION_DEFINITION___STUB = NAMESPACE_DEFINITION___STUB;
+
+ /**
+ * The operation id for the '<em>Stub For</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int OPERATION_DEFINITION___STUB_FOR__UNITDEFINITION = NAMESPACE_DEFINITION___STUB_FOR__UNITDEFINITION;
+
+ /**
+ * The operation id for the '<em>Namespace Definition Member Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int OPERATION_DEFINITION___NAMESPACE_DEFINITION_MEMBER_DERIVATION__DIAGNOSTICCHAIN_MAP = NAMESPACE_DEFINITION___NAMESPACE_DEFINITION_MEMBER_DERIVATION__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Namespace Definition Member Distinguishability</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int OPERATION_DEFINITION___NAMESPACE_DEFINITION_MEMBER_DISTINGUISHABILITY__DIAGNOSTICCHAIN_MAP = NAMESPACE_DEFINITION___NAMESPACE_DEFINITION_MEMBER_DISTINGUISHABILITY__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int OPERATION_DEFINITION___ASSIGNMENTS_BEFORE__SYNTAXELEMENT = NAMESPACE_DEFINITION_OPERATION_COUNT + 0;
+
+ /**
+ * The operation id for the '<em>Annotation Allowed</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int OPERATION_DEFINITION___ANNOTATION_ALLOWED__STEREOTYPEANNOTATION = NAMESPACE_DEFINITION_OPERATION_COUNT + 1;
+
+ /**
+ * The operation id for the '<em>Match For Stub</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int OPERATION_DEFINITION___MATCH_FOR_STUB__UNITDEFINITION = NAMESPACE_DEFINITION_OPERATION_COUNT + 2;
+
+ /**
+ * The operation id for the '<em>Is Same Kind As</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int OPERATION_DEFINITION___IS_SAME_KIND_AS__ELEMENTREFERENCE = NAMESPACE_DEFINITION_OPERATION_COUNT + 3;
+
+ /**
+ * The operation id for the '<em>Parameters Match</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int OPERATION_DEFINITION___PARAMETERS_MATCH__ELEMENTREFERENCE = NAMESPACE_DEFINITION_OPERATION_COUNT + 4;
+
+ /**
+ * The operation id for the '<em>Parameters Match Name Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int OPERATION_DEFINITION___PARAMETERS_MATCH_NAME_TYPE__ELEMENTREFERENCE = NAMESPACE_DEFINITION_OPERATION_COUNT + 5;
+
+ /**
+ * The operation id for the '<em>Return Parameter</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int OPERATION_DEFINITION___RETURN_PARAMETER = NAMESPACE_DEFINITION_OPERATION_COUNT + 6;
+
+ /**
+ * The operation id for the '<em>Specialization Referents</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int OPERATION_DEFINITION___SPECIALIZATION_REFERENTS = NAMESPACE_DEFINITION_OPERATION_COUNT + 7;
+
+ /**
+ * The operation id for the '<em>Operation Definition Namespace</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int OPERATION_DEFINITION___OPERATION_DEFINITION_NAMESPACE__DIAGNOSTICCHAIN_MAP = NAMESPACE_DEFINITION_OPERATION_COUNT + 8;
+
+ /**
+ * The operation id for the '<em>Operation Definition Redefined Operation Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int OPERATION_DEFINITION___OPERATION_DEFINITION_REDEFINED_OPERATION_DERIVATION__DIAGNOSTICCHAIN_MAP = NAMESPACE_DEFINITION_OPERATION_COUNT + 9;
+
+ /**
+ * The operation id for the '<em>Operation Definition Redefinition</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int OPERATION_DEFINITION___OPERATION_DEFINITION_REDEFINITION__DIAGNOSTICCHAIN_MAP = NAMESPACE_DEFINITION_OPERATION_COUNT + 10;
+
+ /**
+ * The operation id for the '<em>Operation Definition Redefined Operations</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int OPERATION_DEFINITION___OPERATION_DEFINITION_REDEFINED_OPERATIONS__DIAGNOSTICCHAIN_MAP = NAMESPACE_DEFINITION_OPERATION_COUNT + 11;
+
+ /**
+ * The operation id for the '<em>Operation Definition Is Feature Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int OPERATION_DEFINITION___OPERATION_DEFINITION_IS_FEATURE_DERIVATION__DIAGNOSTICCHAIN_MAP = NAMESPACE_DEFINITION_OPERATION_COUNT + 12;
+
+ /**
+ * The operation id for the '<em>Operation Definition Is Constructor Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int OPERATION_DEFINITION___OPERATION_DEFINITION_IS_CONSTRUCTOR_DERIVATION__DIAGNOSTICCHAIN_MAP = NAMESPACE_DEFINITION_OPERATION_COUNT + 13;
+
+ /**
+ * The operation id for the '<em>Operation Definition Is Destructor Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int OPERATION_DEFINITION___OPERATION_DEFINITION_IS_DESTRUCTOR_DERIVATION__DIAGNOSTICCHAIN_MAP = NAMESPACE_DEFINITION_OPERATION_COUNT + 14;
+
+ /**
+ * The operation id for the '<em>Operation Definition Constructor Destructor</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int OPERATION_DEFINITION___OPERATION_DEFINITION_CONSTRUCTOR_DESTRUCTOR__DIAGNOSTICCHAIN_MAP = NAMESPACE_DEFINITION_OPERATION_COUNT + 15;
+
+ /**
+ * The operation id for the '<em>Operation Definition Constructor</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int OPERATION_DEFINITION___OPERATION_DEFINITION_CONSTRUCTOR__DIAGNOSTICCHAIN_MAP = NAMESPACE_DEFINITION_OPERATION_COUNT + 16;
+
+ /**
+ * The operation id for the '<em>Operation Definition Destructor</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int OPERATION_DEFINITION___OPERATION_DEFINITION_DESTRUCTOR__DIAGNOSTICCHAIN_MAP = NAMESPACE_DEFINITION_OPERATION_COUNT + 17;
+
+ /**
+ * The number of operations of the '<em>Operation Definition</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int OPERATION_DEFINITION_OPERATION_COUNT = NAMESPACE_DEFINITION_OPERATION_COUNT + 18;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.uml.alf.impl.ClassifierDefinitionImpl <em>Classifier Definition</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.uml.alf.impl.ClassifierDefinitionImpl
+ * @see org.eclipse.papyrus.uml.alf.impl.AlfPackageImpl#getClassifierDefinition()
+ * @generated
+ */
+ int CLASSIFIER_DEFINITION = 109;
+
+ /**
+ * The feature id for the '<em><b>Owner</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASSIFIER_DEFINITION__OWNER = NAMESPACE_DEFINITION__OWNER;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASSIFIER_DEFINITION__NAME = NAMESPACE_DEFINITION__NAME;
+
+ /**
+ * The feature id for the '<em><b>Is Stub</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASSIFIER_DEFINITION__IS_STUB = NAMESPACE_DEFINITION__IS_STUB;
+
+ /**
+ * The feature id for the '<em><b>Is Feature</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASSIFIER_DEFINITION__IS_FEATURE = NAMESPACE_DEFINITION__IS_FEATURE;
+
+ /**
+ * The feature id for the '<em><b>Is Primitive</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASSIFIER_DEFINITION__IS_PRIMITIVE = NAMESPACE_DEFINITION__IS_PRIMITIVE;
+
+ /**
+ * The feature id for the '<em><b>Is External</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASSIFIER_DEFINITION__IS_EXTERNAL = NAMESPACE_DEFINITION__IS_EXTERNAL;
+
+ /**
+ * The feature id for the '<em><b>Subunit</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASSIFIER_DEFINITION__SUBUNIT = NAMESPACE_DEFINITION__SUBUNIT;
+
+ /**
+ * The feature id for the '<em><b>Owned Member</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASSIFIER_DEFINITION__OWNED_MEMBER = NAMESPACE_DEFINITION__OWNED_MEMBER;
+
+ /**
+ * The feature id for the '<em><b>Unit</b></em>' container reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASSIFIER_DEFINITION__UNIT = NAMESPACE_DEFINITION__UNIT;
+
+ /**
+ * The feature id for the '<em><b>Member</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASSIFIER_DEFINITION__MEMBER = NAMESPACE_DEFINITION__MEMBER;
+
+ /**
+ * The feature id for the '<em><b>Is Abstract</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASSIFIER_DEFINITION__IS_ABSTRACT = NAMESPACE_DEFINITION_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Specialization</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASSIFIER_DEFINITION__SPECIALIZATION = NAMESPACE_DEFINITION_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Specialization Referent</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASSIFIER_DEFINITION__SPECIALIZATION_REFERENT = NAMESPACE_DEFINITION_FEATURE_COUNT + 2;
+
+ /**
+ * The number of structural features of the '<em>Classifier Definition</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASSIFIER_DEFINITION_FEATURE_COUNT = NAMESPACE_DEFINITION_FEATURE_COUNT + 3;
+
+ /**
+ * The operation id for the '<em>To Reference</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASSIFIER_DEFINITION___TO_REFERENCE = NAMESPACE_DEFINITION___TO_REFERENCE;
+
+ /**
+ * The operation id for the '<em>Owner</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASSIFIER_DEFINITION___OWNER = NAMESPACE_DEFINITION___OWNER;
+
+ /**
+ * The operation id for the '<em>Syntax Element owner</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASSIFIER_DEFINITION___SYNTAX_ELEMENT_OWNER = NAMESPACE_DEFINITION___SYNTAX_ELEMENT_OWNER;
+
+ /**
+ * The operation id for the '<em>Syntax Element current Scope</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASSIFIER_DEFINITION___SYNTAX_ELEMENT_CURRENT_SCOPE = NAMESPACE_DEFINITION___SYNTAX_ELEMENT_CURRENT_SCOPE;
+
+ /**
+ * The operation id for the '<em>Enclosing Statement</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASSIFIER_DEFINITION___ENCLOSING_STATEMENT = NAMESPACE_DEFINITION___ENCLOSING_STATEMENT;
+
+ /**
+ * The operation id for the '<em>Enclosing Expression</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASSIFIER_DEFINITION___ENCLOSING_EXPRESSION = NAMESPACE_DEFINITION___ENCLOSING_EXPRESSION;
+
+ /**
+ * The operation id for the '<em>Assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASSIFIER_DEFINITION___ASSIGNMENTS_BEFORE = NAMESPACE_DEFINITION___ASSIGNMENTS_BEFORE;
+
+ /**
+ * The operation id for the '<em>Syntax Element assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASSIFIER_DEFINITION___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE = NAMESPACE_DEFINITION___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE;
+
+ /**
+ * The operation id for the '<em>Syntax Element assignments Before base</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASSIFIER_DEFINITION___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE_BASE = NAMESPACE_DEFINITION___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE_BASE;
+
+ /**
+ * The operation id for the '<em>Assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASSIFIER_DEFINITION___ASSIGNMENTS_BEFORE__SYNTAXELEMENT = NAMESPACE_DEFINITION___ASSIGNMENTS_BEFORE__SYNTAXELEMENT;
+
+ /**
+ * The operation id for the '<em>Update All</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASSIFIER_DEFINITION___UPDATE_ALL__ELIST_ELIST = NAMESPACE_DEFINITION___UPDATE_ALL__ELIST_ELIST;
+
+ /**
+ * The operation id for the '<em>Common Ancestor</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASSIFIER_DEFINITION___COMMON_ANCESTOR__ELIST = NAMESPACE_DEFINITION___COMMON_ANCESTOR__ELIST;
+
+ /**
+ * The operation id for the '<em>Common Ancestors</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASSIFIER_DEFINITION___COMMON_ANCESTORS__ELIST = NAMESPACE_DEFINITION___COMMON_ANCESTORS__ELIST;
+
+ /**
+ * The operation id for the '<em>Remove Duplicate Elements</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASSIFIER_DEFINITION___REMOVE_DUPLICATE_ELEMENTS__ELIST = NAMESPACE_DEFINITION___REMOVE_DUPLICATE_ELEMENTS__ELIST;
+
+ /**
+ * The operation id for the '<em>Resolve In Library</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASSIFIER_DEFINITION___RESOLVE_IN_LIBRARY__STRING = NAMESPACE_DEFINITION___RESOLVE_IN_LIBRARY__STRING;
+
+ /**
+ * The operation id for the '<em>Primitive Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASSIFIER_DEFINITION___PRIMITIVE_TYPE__STRING = NAMESPACE_DEFINITION___PRIMITIVE_TYPE__STRING;
+
+ /**
+ * The operation id for the '<em>Primitive Type </em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASSIFIER_DEFINITION___PRIMITIVE_TYPE____STRING = NAMESPACE_DEFINITION___PRIMITIVE_TYPE____STRING;
+
+ /**
+ * The operation id for the '<em>Boolean Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASSIFIER_DEFINITION___BOOLEAN_TYPE = NAMESPACE_DEFINITION___BOOLEAN_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Boolean Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASSIFIER_DEFINITION___IS_BOOLEAN_TYPE__ELEMENTREFERENCE = NAMESPACE_DEFINITION___IS_BOOLEAN_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Integer Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASSIFIER_DEFINITION___INTEGER_TYPE = NAMESPACE_DEFINITION___INTEGER_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Integer Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASSIFIER_DEFINITION___IS_INTEGER_TYPE__ELEMENTREFERENCE = NAMESPACE_DEFINITION___IS_INTEGER_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASSIFIER_DEFINITION___STRING_TYPE = NAMESPACE_DEFINITION___STRING_TYPE;
+
+ /**
+ * The operation id for the '<em>Is String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASSIFIER_DEFINITION___IS_STRING_TYPE__ELEMENTREFERENCE = NAMESPACE_DEFINITION___IS_STRING_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Unlimited Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASSIFIER_DEFINITION___UNLIMITED_NATURAL_TYPE = NAMESPACE_DEFINITION___UNLIMITED_NATURAL_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Unlimited Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASSIFIER_DEFINITION___IS_UNLIMITED_NATURAL_TYPE__ELEMENTREFERENCE = NAMESPACE_DEFINITION___IS_UNLIMITED_NATURAL_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Bit String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASSIFIER_DEFINITION___BIT_STRING_TYPE = NAMESPACE_DEFINITION___BIT_STRING_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Bit String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASSIFIER_DEFINITION___IS_BIT_STRING_TYPE__ELEMENTREFERENCE = NAMESPACE_DEFINITION___IS_BIT_STRING_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASSIFIER_DEFINITION___NATURAL_TYPE = NAMESPACE_DEFINITION___NATURAL_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASSIFIER_DEFINITION___IS_NATURAL_TYPE__ELEMENTREFERENCE = NAMESPACE_DEFINITION___IS_NATURAL_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Numeric Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASSIFIER_DEFINITION___IS_NUMERIC_TYPE__ELEMENTREFERENCE = NAMESPACE_DEFINITION___IS_NUMERIC_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Collection Function Add</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASSIFIER_DEFINITION___COLLECTION_FUNCTION_ADD = NAMESPACE_DEFINITION___COLLECTION_FUNCTION_ADD;
+
+ /**
+ * The operation id for the '<em>Is Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASSIFIER_DEFINITION___IS_COLLECTION_CLASS__ELEMENTREFERENCE = NAMESPACE_DEFINITION___IS_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Integer Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASSIFIER_DEFINITION___IS_INTEGER_COLLECTION_CLASS__ELEMENTREFERENCE = NAMESPACE_DEFINITION___IS_INTEGER_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Bit String Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASSIFIER_DEFINITION___IS_BIT_STRING_COLLECTION_CLASS__ELEMENTREFERENCE = NAMESPACE_DEFINITION___IS_BIT_STRING_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Annotation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASSIFIER_DEFINITION___ANNOTATION = NAMESPACE_DEFINITION___ANNOTATION;
+
+ /**
+ * The operation id for the '<em>Actual Name</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASSIFIER_DEFINITION___ACTUAL_NAME = NAMESPACE_DEFINITION___ACTUAL_NAME;
+
+ /**
+ * The operation id for the '<em>Member Definition outer Scope</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASSIFIER_DEFINITION___MEMBER_DEFINITION_OUTER_SCOPE = NAMESPACE_DEFINITION___MEMBER_DEFINITION_OUTER_SCOPE;
+
+ /**
+ * The operation id for the '<em>Qualified Name</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASSIFIER_DEFINITION___QUALIFIED_NAME = NAMESPACE_DEFINITION___QUALIFIED_NAME;
+
+ /**
+ * The operation id for the '<em>Namespace Reference</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASSIFIER_DEFINITION___NAMESPACE_REFERENCE = NAMESPACE_DEFINITION___NAMESPACE_REFERENCE;
+
+ /**
+ * The operation id for the '<em>Add To Model</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASSIFIER_DEFINITION___ADD_TO_MODEL = NAMESPACE_DEFINITION___ADD_TO_MODEL;
+
+ /**
+ * The operation id for the '<em>Is Distinguishable From</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASSIFIER_DEFINITION___IS_DISTINGUISHABLE_FROM__MEMBERDEFINITION = NAMESPACE_DEFINITION___IS_DISTINGUISHABLE_FROM__MEMBERDEFINITION;
+
+ /**
+ * The operation id for the '<em>Member Definition is Distinguishable From</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASSIFIER_DEFINITION___MEMBER_DEFINITION_IS_DISTINGUISHABLE_FROM__MEMBERDEFINITION = NAMESPACE_DEFINITION___MEMBER_DEFINITION_IS_DISTINGUISHABLE_FROM__MEMBERDEFINITION;
+
+ /**
+ * The operation id for the '<em>Is Same Kind As</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASSIFIER_DEFINITION___IS_SAME_KIND_AS__ELEMENTREFERENCE = NAMESPACE_DEFINITION___IS_SAME_KIND_AS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Template</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASSIFIER_DEFINITION___IS_TEMPLATE = NAMESPACE_DEFINITION___IS_TEMPLATE;
+
+ /**
+ * The operation id for the '<em>Is Feature</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASSIFIER_DEFINITION___IS_FEATURE = NAMESPACE_DEFINITION___IS_FEATURE;
+
+ /**
+ * The operation id for the '<em>Member Annotations</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASSIFIER_DEFINITION___MEMBER_ANNOTATIONS__DIAGNOSTICCHAIN_MAP = NAMESPACE_DEFINITION___MEMBER_ANNOTATIONS__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Member Is Primitive Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASSIFIER_DEFINITION___MEMBER_IS_PRIMITIVE_DERIVATION__DIAGNOSTICCHAIN_MAP = NAMESPACE_DEFINITION___MEMBER_IS_PRIMITIVE_DERIVATION__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Member Is External Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASSIFIER_DEFINITION___MEMBER_IS_EXTERNAL_DERIVATION__DIAGNOSTICCHAIN_MAP = NAMESPACE_DEFINITION___MEMBER_IS_EXTERNAL_DERIVATION__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Member External</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASSIFIER_DEFINITION___MEMBER_EXTERNAL__DIAGNOSTICCHAIN_MAP = NAMESPACE_DEFINITION___MEMBER_EXTERNAL__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Member Stub</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASSIFIER_DEFINITION___MEMBER_STUB__DIAGNOSTICCHAIN_MAP = NAMESPACE_DEFINITION___MEMBER_STUB__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Member Subunit Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASSIFIER_DEFINITION___MEMBER_SUBUNIT_DERIVATION__DIAGNOSTICCHAIN_MAP = NAMESPACE_DEFINITION___MEMBER_SUBUNIT_DERIVATION__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Member Stub Stereotypes</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASSIFIER_DEFINITION___MEMBER_STUB_STEREOTYPES__DIAGNOSTICCHAIN_MAP = NAMESPACE_DEFINITION___MEMBER_STUB_STEREOTYPES__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Member Primitive</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASSIFIER_DEFINITION___MEMBER_PRIMITIVE__DIAGNOSTICCHAIN_MAP = NAMESPACE_DEFINITION___MEMBER_PRIMITIVE__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Containing Member</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASSIFIER_DEFINITION___CONTAINING_MEMBER = NAMESPACE_DEFINITION___CONTAINING_MEMBER;
+
+ /**
+ * The operation id for the '<em>Current Scope</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASSIFIER_DEFINITION___CURRENT_SCOPE = NAMESPACE_DEFINITION___CURRENT_SCOPE;
+
+ /**
+ * The operation id for the '<em>Outer Scope</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASSIFIER_DEFINITION___OUTER_SCOPE = NAMESPACE_DEFINITION___OUTER_SCOPE;
+
+ /**
+ * The operation id for the '<em>Namespace Definition outer Scope</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASSIFIER_DEFINITION___NAMESPACE_DEFINITION_OUTER_SCOPE = NAMESPACE_DEFINITION___NAMESPACE_DEFINITION_OUTER_SCOPE;
+
+ /**
+ * The operation id for the '<em>Model Namespace</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASSIFIER_DEFINITION___MODEL_NAMESPACE = NAMESPACE_DEFINITION___MODEL_NAMESPACE;
+
+ /**
+ * The operation id for the '<em>Model Scope</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASSIFIER_DEFINITION___MODEL_SCOPE = NAMESPACE_DEFINITION___MODEL_SCOPE;
+
+ /**
+ * The operation id for the '<em>Resolve In Scope</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASSIFIER_DEFINITION___RESOLVE_IN_SCOPE__STRING = NAMESPACE_DEFINITION___RESOLVE_IN_SCOPE__STRING;
+
+ /**
+ * The operation id for the '<em>Applied Profiles</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASSIFIER_DEFINITION___APPLIED_PROFILES = NAMESPACE_DEFINITION___APPLIED_PROFILES;
+
+ /**
+ * The operation id for the '<em>Namespace Definition applied Profiles</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASSIFIER_DEFINITION___NAMESPACE_DEFINITION_APPLIED_PROFILES = NAMESPACE_DEFINITION___NAMESPACE_DEFINITION_APPLIED_PROFILES;
+
+ /**
+ * The operation id for the '<em>Parameters</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASSIFIER_DEFINITION___PARAMETERS = NAMESPACE_DEFINITION___PARAMETERS;
+
+ /**
+ * The operation id for the '<em>Return Parameter</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASSIFIER_DEFINITION___RETURN_PARAMETER = NAMESPACE_DEFINITION___RETURN_PARAMETER;
+
+ /**
+ * The operation id for the '<em>Namespace Definition return Parameter</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASSIFIER_DEFINITION___NAMESPACE_DEFINITION_RETURN_PARAMETER = NAMESPACE_DEFINITION___NAMESPACE_DEFINITION_RETURN_PARAMETER;
+
+ /**
+ * The operation id for the '<em>Subunit Owned Members</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASSIFIER_DEFINITION___SUBUNIT_OWNED_MEMBERS = NAMESPACE_DEFINITION___SUBUNIT_OWNED_MEMBERS;
+
+ /**
+ * The operation id for the '<em>Annotation Allowed</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASSIFIER_DEFINITION___ANNOTATION_ALLOWED__STEREOTYPEANNOTATION = NAMESPACE_DEFINITION___ANNOTATION_ALLOWED__STEREOTYPEANNOTATION;
+
+ /**
+ * The operation id for the '<em>Namespace Definition annotation Allowed</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASSIFIER_DEFINITION___NAMESPACE_DEFINITION_ANNOTATION_ALLOWED__STEREOTYPEANNOTATION = NAMESPACE_DEFINITION___NAMESPACE_DEFINITION_ANNOTATION_ALLOWED__STEREOTYPEANNOTATION;
+
+ /**
+ * The operation id for the '<em>Template Parameters</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASSIFIER_DEFINITION___TEMPLATE_PARAMETERS = NAMESPACE_DEFINITION___TEMPLATE_PARAMETERS;
+
+ /**
+ * The operation id for the '<em>Members Cached</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASSIFIER_DEFINITION___MEMBERS_CACHED = NAMESPACE_DEFINITION___MEMBERS_CACHED;
+
+ /**
+ * The operation id for the '<em>Namespace Definition members</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASSIFIER_DEFINITION___NAMESPACE_DEFINITION_MEMBERS = NAMESPACE_DEFINITION___NAMESPACE_DEFINITION_MEMBERS;
+
+ /**
+ * The operation id for the '<em>Imported Members</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASSIFIER_DEFINITION___IMPORTED_MEMBERS = NAMESPACE_DEFINITION___IMPORTED_MEMBERS;
+
+ /**
+ * The operation id for the '<em>Import Members</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASSIFIER_DEFINITION___IMPORT_MEMBERS__ELIST = NAMESPACE_DEFINITION___IMPORT_MEMBERS__ELIST;
+
+ /**
+ * The operation id for the '<em>Exclude Collisions</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASSIFIER_DEFINITION___EXCLUDE_COLLISIONS__ELIST = NAMESPACE_DEFINITION___EXCLUDE_COLLISIONS__ELIST;
+
+ /**
+ * The operation id for the '<em>Remove Duplicates</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASSIFIER_DEFINITION___REMOVE_DUPLICATES__ELIST = NAMESPACE_DEFINITION___REMOVE_DUPLICATES__ELIST;
+
+ /**
+ * The operation id for the '<em>Include Distinguishable Caching</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASSIFIER_DEFINITION___INCLUDE_DISTINGUISHABLE_CACHING__ELIST = NAMESPACE_DEFINITION___INCLUDE_DISTINGUISHABLE_CACHING__ELIST;
+
+ /**
+ * The operation id for the '<em>Include Distinguishable</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASSIFIER_DEFINITION___INCLUDE_DISTINGUISHABLE__ELIST = NAMESPACE_DEFINITION___INCLUDE_DISTINGUISHABLE__ELIST;
+
+ /**
+ * The operation id for the '<em>Stub</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASSIFIER_DEFINITION___STUB = NAMESPACE_DEFINITION___STUB;
+
+ /**
+ * The operation id for the '<em>Stub For</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASSIFIER_DEFINITION___STUB_FOR__UNITDEFINITION = NAMESPACE_DEFINITION___STUB_FOR__UNITDEFINITION;
+
+ /**
+ * The operation id for the '<em>Namespace Definition Member Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASSIFIER_DEFINITION___NAMESPACE_DEFINITION_MEMBER_DERIVATION__DIAGNOSTICCHAIN_MAP = NAMESPACE_DEFINITION___NAMESPACE_DEFINITION_MEMBER_DERIVATION__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Namespace Definition Member Distinguishability</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASSIFIER_DEFINITION___NAMESPACE_DEFINITION_MEMBER_DISTINGUISHABILITY__DIAGNOSTICCHAIN_MAP = NAMESPACE_DEFINITION___NAMESPACE_DEFINITION_MEMBER_DISTINGUISHABILITY__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Classifier Definition annotation Allowed</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASSIFIER_DEFINITION___CLASSIFIER_DEFINITION_ANNOTATION_ALLOWED__STEREOTYPEANNOTATION = NAMESPACE_DEFINITION_OPERATION_COUNT + 0;
+
+ /**
+ * The operation id for the '<em>Match For Stub</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASSIFIER_DEFINITION___MATCH_FOR_STUB__UNITDEFINITION = NAMESPACE_DEFINITION_OPERATION_COUNT + 1;
+
+ /**
+ * The operation id for the '<em>Classifier Definition match For Stub</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASSIFIER_DEFINITION___CLASSIFIER_DEFINITION_MATCH_FOR_STUB__UNITDEFINITION = NAMESPACE_DEFINITION_OPERATION_COUNT + 2;
+
+ /**
+ * The operation id for the '<em>Members</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASSIFIER_DEFINITION___MEMBERS = NAMESPACE_DEFINITION_OPERATION_COUNT + 3;
+
+ /**
+ * The operation id for the '<em>Inherited Members</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASSIFIER_DEFINITION___INHERITED_MEMBERS = NAMESPACE_DEFINITION_OPERATION_COUNT + 4;
+
+ /**
+ * The operation id for the '<em>Inherit</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASSIFIER_DEFINITION___INHERIT__ELIST = NAMESPACE_DEFINITION_OPERATION_COUNT + 5;
+
+ /**
+ * The operation id for the '<em>Classifier Definition Specialization</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASSIFIER_DEFINITION___CLASSIFIER_DEFINITION_SPECIALIZATION__DIAGNOSTICCHAIN_MAP = NAMESPACE_DEFINITION_OPERATION_COUNT + 6;
+
+ /**
+ * The operation id for the '<em>Classifier Definition Specialization Referent Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASSIFIER_DEFINITION___CLASSIFIER_DEFINITION_SPECIALIZATION_REFERENT_DERIVATION__DIAGNOSTICCHAIN_MAP = NAMESPACE_DEFINITION_OPERATION_COUNT + 7;
+
+ /**
+ * The operation id for the '<em>Classifier Definition Inherited Members</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASSIFIER_DEFINITION___CLASSIFIER_DEFINITION_INHERITED_MEMBERS__DIAGNOSTICCHAIN_MAP = NAMESPACE_DEFINITION_OPERATION_COUNT + 8;
+
+ /**
+ * The number of operations of the '<em>Classifier Definition</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASSIFIER_DEFINITION_OPERATION_COUNT = NAMESPACE_DEFINITION_OPERATION_COUNT + 9;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.uml.alf.impl.AssociationDefinitionImpl <em>Association Definition</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.uml.alf.impl.AssociationDefinitionImpl
+ * @see org.eclipse.papyrus.uml.alf.impl.AlfPackageImpl#getAssociationDefinition()
+ * @generated
+ */
+ int ASSOCIATION_DEFINITION = 108;
+
+ /**
+ * The feature id for the '<em><b>Owner</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSOCIATION_DEFINITION__OWNER = CLASSIFIER_DEFINITION__OWNER;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSOCIATION_DEFINITION__NAME = CLASSIFIER_DEFINITION__NAME;
+
+ /**
+ * The feature id for the '<em><b>Is Stub</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSOCIATION_DEFINITION__IS_STUB = CLASSIFIER_DEFINITION__IS_STUB;
+
+ /**
+ * The feature id for the '<em><b>Is Feature</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSOCIATION_DEFINITION__IS_FEATURE = CLASSIFIER_DEFINITION__IS_FEATURE;
+
+ /**
+ * The feature id for the '<em><b>Is Primitive</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSOCIATION_DEFINITION__IS_PRIMITIVE = CLASSIFIER_DEFINITION__IS_PRIMITIVE;
+
+ /**
+ * The feature id for the '<em><b>Is External</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSOCIATION_DEFINITION__IS_EXTERNAL = CLASSIFIER_DEFINITION__IS_EXTERNAL;
+
+ /**
+ * The feature id for the '<em><b>Subunit</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSOCIATION_DEFINITION__SUBUNIT = CLASSIFIER_DEFINITION__SUBUNIT;
+
+ /**
+ * The feature id for the '<em><b>Owned Member</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSOCIATION_DEFINITION__OWNED_MEMBER = CLASSIFIER_DEFINITION__OWNED_MEMBER;
+
+ /**
+ * The feature id for the '<em><b>Unit</b></em>' container reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSOCIATION_DEFINITION__UNIT = CLASSIFIER_DEFINITION__UNIT;
+
+ /**
+ * The feature id for the '<em><b>Member</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSOCIATION_DEFINITION__MEMBER = CLASSIFIER_DEFINITION__MEMBER;
+
+ /**
+ * The feature id for the '<em><b>Is Abstract</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSOCIATION_DEFINITION__IS_ABSTRACT = CLASSIFIER_DEFINITION__IS_ABSTRACT;
+
+ /**
+ * The feature id for the '<em><b>Specialization</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSOCIATION_DEFINITION__SPECIALIZATION = CLASSIFIER_DEFINITION__SPECIALIZATION;
+
+ /**
+ * The feature id for the '<em><b>Specialization Referent</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSOCIATION_DEFINITION__SPECIALIZATION_REFERENT = CLASSIFIER_DEFINITION__SPECIALIZATION_REFERENT;
+
+ /**
+ * The number of structural features of the '<em>Association Definition</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSOCIATION_DEFINITION_FEATURE_COUNT = CLASSIFIER_DEFINITION_FEATURE_COUNT + 0;
+
+ /**
+ * The operation id for the '<em>To Reference</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSOCIATION_DEFINITION___TO_REFERENCE = CLASSIFIER_DEFINITION___TO_REFERENCE;
+
+ /**
+ * The operation id for the '<em>Owner</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSOCIATION_DEFINITION___OWNER = CLASSIFIER_DEFINITION___OWNER;
+
+ /**
+ * The operation id for the '<em>Syntax Element owner</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSOCIATION_DEFINITION___SYNTAX_ELEMENT_OWNER = CLASSIFIER_DEFINITION___SYNTAX_ELEMENT_OWNER;
+
+ /**
+ * The operation id for the '<em>Syntax Element current Scope</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSOCIATION_DEFINITION___SYNTAX_ELEMENT_CURRENT_SCOPE = CLASSIFIER_DEFINITION___SYNTAX_ELEMENT_CURRENT_SCOPE;
+
+ /**
+ * The operation id for the '<em>Enclosing Statement</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSOCIATION_DEFINITION___ENCLOSING_STATEMENT = CLASSIFIER_DEFINITION___ENCLOSING_STATEMENT;
+
+ /**
+ * The operation id for the '<em>Enclosing Expression</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSOCIATION_DEFINITION___ENCLOSING_EXPRESSION = CLASSIFIER_DEFINITION___ENCLOSING_EXPRESSION;
+
+ /**
+ * The operation id for the '<em>Assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSOCIATION_DEFINITION___ASSIGNMENTS_BEFORE = CLASSIFIER_DEFINITION___ASSIGNMENTS_BEFORE;
+
+ /**
+ * The operation id for the '<em>Syntax Element assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSOCIATION_DEFINITION___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE = CLASSIFIER_DEFINITION___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE;
+
+ /**
+ * The operation id for the '<em>Syntax Element assignments Before base</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSOCIATION_DEFINITION___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE_BASE = CLASSIFIER_DEFINITION___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE_BASE;
+
+ /**
+ * The operation id for the '<em>Assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSOCIATION_DEFINITION___ASSIGNMENTS_BEFORE__SYNTAXELEMENT = CLASSIFIER_DEFINITION___ASSIGNMENTS_BEFORE__SYNTAXELEMENT;
+
+ /**
+ * The operation id for the '<em>Update All</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSOCIATION_DEFINITION___UPDATE_ALL__ELIST_ELIST = CLASSIFIER_DEFINITION___UPDATE_ALL__ELIST_ELIST;
+
+ /**
+ * The operation id for the '<em>Common Ancestor</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSOCIATION_DEFINITION___COMMON_ANCESTOR__ELIST = CLASSIFIER_DEFINITION___COMMON_ANCESTOR__ELIST;
+
+ /**
+ * The operation id for the '<em>Common Ancestors</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSOCIATION_DEFINITION___COMMON_ANCESTORS__ELIST = CLASSIFIER_DEFINITION___COMMON_ANCESTORS__ELIST;
+
+ /**
+ * The operation id for the '<em>Remove Duplicate Elements</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSOCIATION_DEFINITION___REMOVE_DUPLICATE_ELEMENTS__ELIST = CLASSIFIER_DEFINITION___REMOVE_DUPLICATE_ELEMENTS__ELIST;
+
+ /**
+ * The operation id for the '<em>Resolve In Library</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSOCIATION_DEFINITION___RESOLVE_IN_LIBRARY__STRING = CLASSIFIER_DEFINITION___RESOLVE_IN_LIBRARY__STRING;
+
+ /**
+ * The operation id for the '<em>Primitive Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSOCIATION_DEFINITION___PRIMITIVE_TYPE__STRING = CLASSIFIER_DEFINITION___PRIMITIVE_TYPE__STRING;
+
+ /**
+ * The operation id for the '<em>Primitive Type </em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSOCIATION_DEFINITION___PRIMITIVE_TYPE____STRING = CLASSIFIER_DEFINITION___PRIMITIVE_TYPE____STRING;
+
+ /**
+ * The operation id for the '<em>Boolean Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSOCIATION_DEFINITION___BOOLEAN_TYPE = CLASSIFIER_DEFINITION___BOOLEAN_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Boolean Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSOCIATION_DEFINITION___IS_BOOLEAN_TYPE__ELEMENTREFERENCE = CLASSIFIER_DEFINITION___IS_BOOLEAN_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Integer Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSOCIATION_DEFINITION___INTEGER_TYPE = CLASSIFIER_DEFINITION___INTEGER_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Integer Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSOCIATION_DEFINITION___IS_INTEGER_TYPE__ELEMENTREFERENCE = CLASSIFIER_DEFINITION___IS_INTEGER_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSOCIATION_DEFINITION___STRING_TYPE = CLASSIFIER_DEFINITION___STRING_TYPE;
+
+ /**
+ * The operation id for the '<em>Is String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSOCIATION_DEFINITION___IS_STRING_TYPE__ELEMENTREFERENCE = CLASSIFIER_DEFINITION___IS_STRING_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Unlimited Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSOCIATION_DEFINITION___UNLIMITED_NATURAL_TYPE = CLASSIFIER_DEFINITION___UNLIMITED_NATURAL_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Unlimited Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSOCIATION_DEFINITION___IS_UNLIMITED_NATURAL_TYPE__ELEMENTREFERENCE = CLASSIFIER_DEFINITION___IS_UNLIMITED_NATURAL_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Bit String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSOCIATION_DEFINITION___BIT_STRING_TYPE = CLASSIFIER_DEFINITION___BIT_STRING_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Bit String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSOCIATION_DEFINITION___IS_BIT_STRING_TYPE__ELEMENTREFERENCE = CLASSIFIER_DEFINITION___IS_BIT_STRING_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSOCIATION_DEFINITION___NATURAL_TYPE = CLASSIFIER_DEFINITION___NATURAL_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSOCIATION_DEFINITION___IS_NATURAL_TYPE__ELEMENTREFERENCE = CLASSIFIER_DEFINITION___IS_NATURAL_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Numeric Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSOCIATION_DEFINITION___IS_NUMERIC_TYPE__ELEMENTREFERENCE = CLASSIFIER_DEFINITION___IS_NUMERIC_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Collection Function Add</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSOCIATION_DEFINITION___COLLECTION_FUNCTION_ADD = CLASSIFIER_DEFINITION___COLLECTION_FUNCTION_ADD;
+
+ /**
+ * The operation id for the '<em>Is Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSOCIATION_DEFINITION___IS_COLLECTION_CLASS__ELEMENTREFERENCE = CLASSIFIER_DEFINITION___IS_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Integer Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSOCIATION_DEFINITION___IS_INTEGER_COLLECTION_CLASS__ELEMENTREFERENCE = CLASSIFIER_DEFINITION___IS_INTEGER_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Bit String Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSOCIATION_DEFINITION___IS_BIT_STRING_COLLECTION_CLASS__ELEMENTREFERENCE = CLASSIFIER_DEFINITION___IS_BIT_STRING_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Annotation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSOCIATION_DEFINITION___ANNOTATION = CLASSIFIER_DEFINITION___ANNOTATION;
+
+ /**
+ * The operation id for the '<em>Actual Name</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSOCIATION_DEFINITION___ACTUAL_NAME = CLASSIFIER_DEFINITION___ACTUAL_NAME;
+
+ /**
+ * The operation id for the '<em>Member Definition outer Scope</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSOCIATION_DEFINITION___MEMBER_DEFINITION_OUTER_SCOPE = CLASSIFIER_DEFINITION___MEMBER_DEFINITION_OUTER_SCOPE;
+
+ /**
+ * The operation id for the '<em>Qualified Name</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSOCIATION_DEFINITION___QUALIFIED_NAME = CLASSIFIER_DEFINITION___QUALIFIED_NAME;
+
+ /**
+ * The operation id for the '<em>Namespace Reference</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSOCIATION_DEFINITION___NAMESPACE_REFERENCE = CLASSIFIER_DEFINITION___NAMESPACE_REFERENCE;
+
+ /**
+ * The operation id for the '<em>Add To Model</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSOCIATION_DEFINITION___ADD_TO_MODEL = CLASSIFIER_DEFINITION___ADD_TO_MODEL;
+
+ /**
+ * The operation id for the '<em>Is Distinguishable From</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSOCIATION_DEFINITION___IS_DISTINGUISHABLE_FROM__MEMBERDEFINITION = CLASSIFIER_DEFINITION___IS_DISTINGUISHABLE_FROM__MEMBERDEFINITION;
+
+ /**
+ * The operation id for the '<em>Member Definition is Distinguishable From</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSOCIATION_DEFINITION___MEMBER_DEFINITION_IS_DISTINGUISHABLE_FROM__MEMBERDEFINITION = CLASSIFIER_DEFINITION___MEMBER_DEFINITION_IS_DISTINGUISHABLE_FROM__MEMBERDEFINITION;
+
+ /**
+ * The operation id for the '<em>Is Template</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSOCIATION_DEFINITION___IS_TEMPLATE = CLASSIFIER_DEFINITION___IS_TEMPLATE;
+
+ /**
+ * The operation id for the '<em>Is Feature</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSOCIATION_DEFINITION___IS_FEATURE = CLASSIFIER_DEFINITION___IS_FEATURE;
+
+ /**
+ * The operation id for the '<em>Member Annotations</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSOCIATION_DEFINITION___MEMBER_ANNOTATIONS__DIAGNOSTICCHAIN_MAP = CLASSIFIER_DEFINITION___MEMBER_ANNOTATIONS__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Member Is Primitive Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSOCIATION_DEFINITION___MEMBER_IS_PRIMITIVE_DERIVATION__DIAGNOSTICCHAIN_MAP = CLASSIFIER_DEFINITION___MEMBER_IS_PRIMITIVE_DERIVATION__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Member Is External Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSOCIATION_DEFINITION___MEMBER_IS_EXTERNAL_DERIVATION__DIAGNOSTICCHAIN_MAP = CLASSIFIER_DEFINITION___MEMBER_IS_EXTERNAL_DERIVATION__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Member External</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSOCIATION_DEFINITION___MEMBER_EXTERNAL__DIAGNOSTICCHAIN_MAP = CLASSIFIER_DEFINITION___MEMBER_EXTERNAL__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Member Stub</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSOCIATION_DEFINITION___MEMBER_STUB__DIAGNOSTICCHAIN_MAP = CLASSIFIER_DEFINITION___MEMBER_STUB__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Member Subunit Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSOCIATION_DEFINITION___MEMBER_SUBUNIT_DERIVATION__DIAGNOSTICCHAIN_MAP = CLASSIFIER_DEFINITION___MEMBER_SUBUNIT_DERIVATION__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Member Stub Stereotypes</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSOCIATION_DEFINITION___MEMBER_STUB_STEREOTYPES__DIAGNOSTICCHAIN_MAP = CLASSIFIER_DEFINITION___MEMBER_STUB_STEREOTYPES__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Member Primitive</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSOCIATION_DEFINITION___MEMBER_PRIMITIVE__DIAGNOSTICCHAIN_MAP = CLASSIFIER_DEFINITION___MEMBER_PRIMITIVE__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Containing Member</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSOCIATION_DEFINITION___CONTAINING_MEMBER = CLASSIFIER_DEFINITION___CONTAINING_MEMBER;
+
+ /**
+ * The operation id for the '<em>Current Scope</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSOCIATION_DEFINITION___CURRENT_SCOPE = CLASSIFIER_DEFINITION___CURRENT_SCOPE;
+
+ /**
+ * The operation id for the '<em>Outer Scope</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSOCIATION_DEFINITION___OUTER_SCOPE = CLASSIFIER_DEFINITION___OUTER_SCOPE;
+
+ /**
+ * The operation id for the '<em>Namespace Definition outer Scope</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSOCIATION_DEFINITION___NAMESPACE_DEFINITION_OUTER_SCOPE = CLASSIFIER_DEFINITION___NAMESPACE_DEFINITION_OUTER_SCOPE;
+
+ /**
+ * The operation id for the '<em>Model Namespace</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSOCIATION_DEFINITION___MODEL_NAMESPACE = CLASSIFIER_DEFINITION___MODEL_NAMESPACE;
+
+ /**
+ * The operation id for the '<em>Model Scope</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSOCIATION_DEFINITION___MODEL_SCOPE = CLASSIFIER_DEFINITION___MODEL_SCOPE;
+
+ /**
+ * The operation id for the '<em>Resolve In Scope</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSOCIATION_DEFINITION___RESOLVE_IN_SCOPE__STRING = CLASSIFIER_DEFINITION___RESOLVE_IN_SCOPE__STRING;
+
+ /**
+ * The operation id for the '<em>Applied Profiles</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSOCIATION_DEFINITION___APPLIED_PROFILES = CLASSIFIER_DEFINITION___APPLIED_PROFILES;
+
+ /**
+ * The operation id for the '<em>Namespace Definition applied Profiles</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSOCIATION_DEFINITION___NAMESPACE_DEFINITION_APPLIED_PROFILES = CLASSIFIER_DEFINITION___NAMESPACE_DEFINITION_APPLIED_PROFILES;
+
+ /**
+ * The operation id for the '<em>Parameters</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSOCIATION_DEFINITION___PARAMETERS = CLASSIFIER_DEFINITION___PARAMETERS;
+
+ /**
+ * The operation id for the '<em>Return Parameter</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSOCIATION_DEFINITION___RETURN_PARAMETER = CLASSIFIER_DEFINITION___RETURN_PARAMETER;
+
+ /**
+ * The operation id for the '<em>Namespace Definition return Parameter</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSOCIATION_DEFINITION___NAMESPACE_DEFINITION_RETURN_PARAMETER = CLASSIFIER_DEFINITION___NAMESPACE_DEFINITION_RETURN_PARAMETER;
+
+ /**
+ * The operation id for the '<em>Subunit Owned Members</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSOCIATION_DEFINITION___SUBUNIT_OWNED_MEMBERS = CLASSIFIER_DEFINITION___SUBUNIT_OWNED_MEMBERS;
+
+ /**
+ * The operation id for the '<em>Namespace Definition annotation Allowed</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSOCIATION_DEFINITION___NAMESPACE_DEFINITION_ANNOTATION_ALLOWED__STEREOTYPEANNOTATION = CLASSIFIER_DEFINITION___NAMESPACE_DEFINITION_ANNOTATION_ALLOWED__STEREOTYPEANNOTATION;
+
+ /**
+ * The operation id for the '<em>Template Parameters</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSOCIATION_DEFINITION___TEMPLATE_PARAMETERS = CLASSIFIER_DEFINITION___TEMPLATE_PARAMETERS;
+
+ /**
+ * The operation id for the '<em>Members Cached</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSOCIATION_DEFINITION___MEMBERS_CACHED = CLASSIFIER_DEFINITION___MEMBERS_CACHED;
+
+ /**
+ * The operation id for the '<em>Namespace Definition members</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSOCIATION_DEFINITION___NAMESPACE_DEFINITION_MEMBERS = CLASSIFIER_DEFINITION___NAMESPACE_DEFINITION_MEMBERS;
+
+ /**
+ * The operation id for the '<em>Imported Members</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSOCIATION_DEFINITION___IMPORTED_MEMBERS = CLASSIFIER_DEFINITION___IMPORTED_MEMBERS;
+
+ /**
+ * The operation id for the '<em>Import Members</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSOCIATION_DEFINITION___IMPORT_MEMBERS__ELIST = CLASSIFIER_DEFINITION___IMPORT_MEMBERS__ELIST;
+
+ /**
+ * The operation id for the '<em>Exclude Collisions</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSOCIATION_DEFINITION___EXCLUDE_COLLISIONS__ELIST = CLASSIFIER_DEFINITION___EXCLUDE_COLLISIONS__ELIST;
+
+ /**
+ * The operation id for the '<em>Remove Duplicates</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSOCIATION_DEFINITION___REMOVE_DUPLICATES__ELIST = CLASSIFIER_DEFINITION___REMOVE_DUPLICATES__ELIST;
+
+ /**
+ * The operation id for the '<em>Include Distinguishable Caching</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSOCIATION_DEFINITION___INCLUDE_DISTINGUISHABLE_CACHING__ELIST = CLASSIFIER_DEFINITION___INCLUDE_DISTINGUISHABLE_CACHING__ELIST;
+
+ /**
+ * The operation id for the '<em>Include Distinguishable</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSOCIATION_DEFINITION___INCLUDE_DISTINGUISHABLE__ELIST = CLASSIFIER_DEFINITION___INCLUDE_DISTINGUISHABLE__ELIST;
+
+ /**
+ * The operation id for the '<em>Stub</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSOCIATION_DEFINITION___STUB = CLASSIFIER_DEFINITION___STUB;
+
+ /**
+ * The operation id for the '<em>Stub For</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSOCIATION_DEFINITION___STUB_FOR__UNITDEFINITION = CLASSIFIER_DEFINITION___STUB_FOR__UNITDEFINITION;
+
+ /**
+ * The operation id for the '<em>Namespace Definition Member Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSOCIATION_DEFINITION___NAMESPACE_DEFINITION_MEMBER_DERIVATION__DIAGNOSTICCHAIN_MAP = CLASSIFIER_DEFINITION___NAMESPACE_DEFINITION_MEMBER_DERIVATION__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Namespace Definition Member Distinguishability</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSOCIATION_DEFINITION___NAMESPACE_DEFINITION_MEMBER_DISTINGUISHABILITY__DIAGNOSTICCHAIN_MAP = CLASSIFIER_DEFINITION___NAMESPACE_DEFINITION_MEMBER_DISTINGUISHABILITY__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Classifier Definition annotation Allowed</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSOCIATION_DEFINITION___CLASSIFIER_DEFINITION_ANNOTATION_ALLOWED__STEREOTYPEANNOTATION = CLASSIFIER_DEFINITION___CLASSIFIER_DEFINITION_ANNOTATION_ALLOWED__STEREOTYPEANNOTATION;
+
+ /**
+ * The operation id for the '<em>Classifier Definition match For Stub</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSOCIATION_DEFINITION___CLASSIFIER_DEFINITION_MATCH_FOR_STUB__UNITDEFINITION = CLASSIFIER_DEFINITION___CLASSIFIER_DEFINITION_MATCH_FOR_STUB__UNITDEFINITION;
+
+ /**
+ * The operation id for the '<em>Members</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSOCIATION_DEFINITION___MEMBERS = CLASSIFIER_DEFINITION___MEMBERS;
+
+ /**
+ * The operation id for the '<em>Inherited Members</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSOCIATION_DEFINITION___INHERITED_MEMBERS = CLASSIFIER_DEFINITION___INHERITED_MEMBERS;
+
+ /**
+ * The operation id for the '<em>Inherit</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSOCIATION_DEFINITION___INHERIT__ELIST = CLASSIFIER_DEFINITION___INHERIT__ELIST;
+
+ /**
+ * The operation id for the '<em>Classifier Definition Specialization</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSOCIATION_DEFINITION___CLASSIFIER_DEFINITION_SPECIALIZATION__DIAGNOSTICCHAIN_MAP = CLASSIFIER_DEFINITION___CLASSIFIER_DEFINITION_SPECIALIZATION__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Classifier Definition Specialization Referent Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSOCIATION_DEFINITION___CLASSIFIER_DEFINITION_SPECIALIZATION_REFERENT_DERIVATION__DIAGNOSTICCHAIN_MAP = CLASSIFIER_DEFINITION___CLASSIFIER_DEFINITION_SPECIALIZATION_REFERENT_DERIVATION__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Classifier Definition Inherited Members</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSOCIATION_DEFINITION___CLASSIFIER_DEFINITION_INHERITED_MEMBERS__DIAGNOSTICCHAIN_MAP = CLASSIFIER_DEFINITION___CLASSIFIER_DEFINITION_INHERITED_MEMBERS__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Match For Stub</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSOCIATION_DEFINITION___MATCH_FOR_STUB__UNITDEFINITION = CLASSIFIER_DEFINITION_OPERATION_COUNT + 0;
+
+ /**
+ * The operation id for the '<em>Annotation Allowed</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSOCIATION_DEFINITION___ANNOTATION_ALLOWED__STEREOTYPEANNOTATION = CLASSIFIER_DEFINITION_OPERATION_COUNT + 1;
+
+ /**
+ * The operation id for the '<em>Is Same Kind As</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSOCIATION_DEFINITION___IS_SAME_KIND_AS__ELEMENTREFERENCE = CLASSIFIER_DEFINITION_OPERATION_COUNT + 2;
+
+ /**
+ * The operation id for the '<em>Association Definition Specialization Referent</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSOCIATION_DEFINITION___ASSOCIATION_DEFINITION_SPECIALIZATION_REFERENT__DIAGNOSTICCHAIN_MAP = CLASSIFIER_DEFINITION_OPERATION_COUNT + 3;
+
+ /**
+ * The number of operations of the '<em>Association Definition</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSOCIATION_DEFINITION_OPERATION_COUNT = CLASSIFIER_DEFINITION_OPERATION_COUNT + 4;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.uml.alf.impl.ClassDefinitionImpl <em>Class Definition</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.uml.alf.impl.ClassDefinitionImpl
+ * @see org.eclipse.papyrus.uml.alf.impl.AlfPackageImpl#getClassDefinition()
+ * @generated
+ */
+ int CLASS_DEFINITION = 110;
+
+ /**
+ * The feature id for the '<em><b>Owner</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASS_DEFINITION__OWNER = CLASSIFIER_DEFINITION__OWNER;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASS_DEFINITION__NAME = CLASSIFIER_DEFINITION__NAME;
+
+ /**
+ * The feature id for the '<em><b>Is Stub</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASS_DEFINITION__IS_STUB = CLASSIFIER_DEFINITION__IS_STUB;
+
+ /**
+ * The feature id for the '<em><b>Is Feature</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASS_DEFINITION__IS_FEATURE = CLASSIFIER_DEFINITION__IS_FEATURE;
+
+ /**
+ * The feature id for the '<em><b>Is Primitive</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASS_DEFINITION__IS_PRIMITIVE = CLASSIFIER_DEFINITION__IS_PRIMITIVE;
+
+ /**
+ * The feature id for the '<em><b>Is External</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASS_DEFINITION__IS_EXTERNAL = CLASSIFIER_DEFINITION__IS_EXTERNAL;
+
+ /**
+ * The feature id for the '<em><b>Subunit</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASS_DEFINITION__SUBUNIT = CLASSIFIER_DEFINITION__SUBUNIT;
+
+ /**
+ * The feature id for the '<em><b>Owned Member</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASS_DEFINITION__OWNED_MEMBER = CLASSIFIER_DEFINITION__OWNED_MEMBER;
+
+ /**
+ * The feature id for the '<em><b>Unit</b></em>' container reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASS_DEFINITION__UNIT = CLASSIFIER_DEFINITION__UNIT;
+
+ /**
+ * The feature id for the '<em><b>Member</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASS_DEFINITION__MEMBER = CLASSIFIER_DEFINITION__MEMBER;
+
+ /**
+ * The feature id for the '<em><b>Is Abstract</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASS_DEFINITION__IS_ABSTRACT = CLASSIFIER_DEFINITION__IS_ABSTRACT;
+
+ /**
+ * The feature id for the '<em><b>Specialization</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASS_DEFINITION__SPECIALIZATION = CLASSIFIER_DEFINITION__SPECIALIZATION;
+
+ /**
+ * The feature id for the '<em><b>Specialization Referent</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASS_DEFINITION__SPECIALIZATION_REFERENT = CLASSIFIER_DEFINITION__SPECIALIZATION_REFERENT;
+
+ /**
+ * The number of structural features of the '<em>Class Definition</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASS_DEFINITION_FEATURE_COUNT = CLASSIFIER_DEFINITION_FEATURE_COUNT + 0;
+
+ /**
+ * The operation id for the '<em>To Reference</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASS_DEFINITION___TO_REFERENCE = CLASSIFIER_DEFINITION___TO_REFERENCE;
+
+ /**
+ * The operation id for the '<em>Owner</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASS_DEFINITION___OWNER = CLASSIFIER_DEFINITION___OWNER;
+
+ /**
+ * The operation id for the '<em>Syntax Element owner</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASS_DEFINITION___SYNTAX_ELEMENT_OWNER = CLASSIFIER_DEFINITION___SYNTAX_ELEMENT_OWNER;
+
+ /**
+ * The operation id for the '<em>Syntax Element current Scope</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASS_DEFINITION___SYNTAX_ELEMENT_CURRENT_SCOPE = CLASSIFIER_DEFINITION___SYNTAX_ELEMENT_CURRENT_SCOPE;
+
+ /**
+ * The operation id for the '<em>Enclosing Statement</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASS_DEFINITION___ENCLOSING_STATEMENT = CLASSIFIER_DEFINITION___ENCLOSING_STATEMENT;
+
+ /**
+ * The operation id for the '<em>Enclosing Expression</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASS_DEFINITION___ENCLOSING_EXPRESSION = CLASSIFIER_DEFINITION___ENCLOSING_EXPRESSION;
+
+ /**
+ * The operation id for the '<em>Assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASS_DEFINITION___ASSIGNMENTS_BEFORE = CLASSIFIER_DEFINITION___ASSIGNMENTS_BEFORE;
+
+ /**
+ * The operation id for the '<em>Syntax Element assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASS_DEFINITION___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE = CLASSIFIER_DEFINITION___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE;
+
+ /**
+ * The operation id for the '<em>Syntax Element assignments Before base</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASS_DEFINITION___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE_BASE = CLASSIFIER_DEFINITION___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE_BASE;
+
+ /**
+ * The operation id for the '<em>Assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASS_DEFINITION___ASSIGNMENTS_BEFORE__SYNTAXELEMENT = CLASSIFIER_DEFINITION___ASSIGNMENTS_BEFORE__SYNTAXELEMENT;
+
+ /**
+ * The operation id for the '<em>Update All</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASS_DEFINITION___UPDATE_ALL__ELIST_ELIST = CLASSIFIER_DEFINITION___UPDATE_ALL__ELIST_ELIST;
+
+ /**
+ * The operation id for the '<em>Common Ancestor</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASS_DEFINITION___COMMON_ANCESTOR__ELIST = CLASSIFIER_DEFINITION___COMMON_ANCESTOR__ELIST;
+
+ /**
+ * The operation id for the '<em>Common Ancestors</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASS_DEFINITION___COMMON_ANCESTORS__ELIST = CLASSIFIER_DEFINITION___COMMON_ANCESTORS__ELIST;
+
+ /**
+ * The operation id for the '<em>Remove Duplicate Elements</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASS_DEFINITION___REMOVE_DUPLICATE_ELEMENTS__ELIST = CLASSIFIER_DEFINITION___REMOVE_DUPLICATE_ELEMENTS__ELIST;
+
+ /**
+ * The operation id for the '<em>Resolve In Library</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASS_DEFINITION___RESOLVE_IN_LIBRARY__STRING = CLASSIFIER_DEFINITION___RESOLVE_IN_LIBRARY__STRING;
+
+ /**
+ * The operation id for the '<em>Primitive Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASS_DEFINITION___PRIMITIVE_TYPE__STRING = CLASSIFIER_DEFINITION___PRIMITIVE_TYPE__STRING;
+
+ /**
+ * The operation id for the '<em>Primitive Type </em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASS_DEFINITION___PRIMITIVE_TYPE____STRING = CLASSIFIER_DEFINITION___PRIMITIVE_TYPE____STRING;
+
+ /**
+ * The operation id for the '<em>Boolean Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASS_DEFINITION___BOOLEAN_TYPE = CLASSIFIER_DEFINITION___BOOLEAN_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Boolean Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASS_DEFINITION___IS_BOOLEAN_TYPE__ELEMENTREFERENCE = CLASSIFIER_DEFINITION___IS_BOOLEAN_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Integer Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASS_DEFINITION___INTEGER_TYPE = CLASSIFIER_DEFINITION___INTEGER_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Integer Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASS_DEFINITION___IS_INTEGER_TYPE__ELEMENTREFERENCE = CLASSIFIER_DEFINITION___IS_INTEGER_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASS_DEFINITION___STRING_TYPE = CLASSIFIER_DEFINITION___STRING_TYPE;
+
+ /**
+ * The operation id for the '<em>Is String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASS_DEFINITION___IS_STRING_TYPE__ELEMENTREFERENCE = CLASSIFIER_DEFINITION___IS_STRING_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Unlimited Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASS_DEFINITION___UNLIMITED_NATURAL_TYPE = CLASSIFIER_DEFINITION___UNLIMITED_NATURAL_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Unlimited Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASS_DEFINITION___IS_UNLIMITED_NATURAL_TYPE__ELEMENTREFERENCE = CLASSIFIER_DEFINITION___IS_UNLIMITED_NATURAL_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Bit String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASS_DEFINITION___BIT_STRING_TYPE = CLASSIFIER_DEFINITION___BIT_STRING_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Bit String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASS_DEFINITION___IS_BIT_STRING_TYPE__ELEMENTREFERENCE = CLASSIFIER_DEFINITION___IS_BIT_STRING_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASS_DEFINITION___NATURAL_TYPE = CLASSIFIER_DEFINITION___NATURAL_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASS_DEFINITION___IS_NATURAL_TYPE__ELEMENTREFERENCE = CLASSIFIER_DEFINITION___IS_NATURAL_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Numeric Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASS_DEFINITION___IS_NUMERIC_TYPE__ELEMENTREFERENCE = CLASSIFIER_DEFINITION___IS_NUMERIC_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Collection Function Add</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASS_DEFINITION___COLLECTION_FUNCTION_ADD = CLASSIFIER_DEFINITION___COLLECTION_FUNCTION_ADD;
+
+ /**
+ * The operation id for the '<em>Is Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASS_DEFINITION___IS_COLLECTION_CLASS__ELEMENTREFERENCE = CLASSIFIER_DEFINITION___IS_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Integer Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASS_DEFINITION___IS_INTEGER_COLLECTION_CLASS__ELEMENTREFERENCE = CLASSIFIER_DEFINITION___IS_INTEGER_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Bit String Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASS_DEFINITION___IS_BIT_STRING_COLLECTION_CLASS__ELEMENTREFERENCE = CLASSIFIER_DEFINITION___IS_BIT_STRING_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Annotation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASS_DEFINITION___ANNOTATION = CLASSIFIER_DEFINITION___ANNOTATION;
+
+ /**
+ * The operation id for the '<em>Actual Name</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASS_DEFINITION___ACTUAL_NAME = CLASSIFIER_DEFINITION___ACTUAL_NAME;
+
+ /**
+ * The operation id for the '<em>Member Definition outer Scope</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASS_DEFINITION___MEMBER_DEFINITION_OUTER_SCOPE = CLASSIFIER_DEFINITION___MEMBER_DEFINITION_OUTER_SCOPE;
+
+ /**
+ * The operation id for the '<em>Qualified Name</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASS_DEFINITION___QUALIFIED_NAME = CLASSIFIER_DEFINITION___QUALIFIED_NAME;
+
+ /**
+ * The operation id for the '<em>Namespace Reference</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASS_DEFINITION___NAMESPACE_REFERENCE = CLASSIFIER_DEFINITION___NAMESPACE_REFERENCE;
+
+ /**
+ * The operation id for the '<em>Add To Model</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASS_DEFINITION___ADD_TO_MODEL = CLASSIFIER_DEFINITION___ADD_TO_MODEL;
+
+ /**
+ * The operation id for the '<em>Is Distinguishable From</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASS_DEFINITION___IS_DISTINGUISHABLE_FROM__MEMBERDEFINITION = CLASSIFIER_DEFINITION___IS_DISTINGUISHABLE_FROM__MEMBERDEFINITION;
+
+ /**
+ * The operation id for the '<em>Member Definition is Distinguishable From</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASS_DEFINITION___MEMBER_DEFINITION_IS_DISTINGUISHABLE_FROM__MEMBERDEFINITION = CLASSIFIER_DEFINITION___MEMBER_DEFINITION_IS_DISTINGUISHABLE_FROM__MEMBERDEFINITION;
+
+ /**
+ * The operation id for the '<em>Is Template</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASS_DEFINITION___IS_TEMPLATE = CLASSIFIER_DEFINITION___IS_TEMPLATE;
+
+ /**
+ * The operation id for the '<em>Is Feature</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASS_DEFINITION___IS_FEATURE = CLASSIFIER_DEFINITION___IS_FEATURE;
+
+ /**
+ * The operation id for the '<em>Member Annotations</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASS_DEFINITION___MEMBER_ANNOTATIONS__DIAGNOSTICCHAIN_MAP = CLASSIFIER_DEFINITION___MEMBER_ANNOTATIONS__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Member Is Primitive Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASS_DEFINITION___MEMBER_IS_PRIMITIVE_DERIVATION__DIAGNOSTICCHAIN_MAP = CLASSIFIER_DEFINITION___MEMBER_IS_PRIMITIVE_DERIVATION__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Member Is External Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASS_DEFINITION___MEMBER_IS_EXTERNAL_DERIVATION__DIAGNOSTICCHAIN_MAP = CLASSIFIER_DEFINITION___MEMBER_IS_EXTERNAL_DERIVATION__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Member External</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASS_DEFINITION___MEMBER_EXTERNAL__DIAGNOSTICCHAIN_MAP = CLASSIFIER_DEFINITION___MEMBER_EXTERNAL__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Member Stub</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASS_DEFINITION___MEMBER_STUB__DIAGNOSTICCHAIN_MAP = CLASSIFIER_DEFINITION___MEMBER_STUB__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Member Subunit Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASS_DEFINITION___MEMBER_SUBUNIT_DERIVATION__DIAGNOSTICCHAIN_MAP = CLASSIFIER_DEFINITION___MEMBER_SUBUNIT_DERIVATION__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Member Stub Stereotypes</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASS_DEFINITION___MEMBER_STUB_STEREOTYPES__DIAGNOSTICCHAIN_MAP = CLASSIFIER_DEFINITION___MEMBER_STUB_STEREOTYPES__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Member Primitive</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASS_DEFINITION___MEMBER_PRIMITIVE__DIAGNOSTICCHAIN_MAP = CLASSIFIER_DEFINITION___MEMBER_PRIMITIVE__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Containing Member</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASS_DEFINITION___CONTAINING_MEMBER = CLASSIFIER_DEFINITION___CONTAINING_MEMBER;
+
+ /**
+ * The operation id for the '<em>Current Scope</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASS_DEFINITION___CURRENT_SCOPE = CLASSIFIER_DEFINITION___CURRENT_SCOPE;
+
+ /**
+ * The operation id for the '<em>Outer Scope</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASS_DEFINITION___OUTER_SCOPE = CLASSIFIER_DEFINITION___OUTER_SCOPE;
+
+ /**
+ * The operation id for the '<em>Namespace Definition outer Scope</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASS_DEFINITION___NAMESPACE_DEFINITION_OUTER_SCOPE = CLASSIFIER_DEFINITION___NAMESPACE_DEFINITION_OUTER_SCOPE;
+
+ /**
+ * The operation id for the '<em>Model Namespace</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASS_DEFINITION___MODEL_NAMESPACE = CLASSIFIER_DEFINITION___MODEL_NAMESPACE;
+
+ /**
+ * The operation id for the '<em>Model Scope</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASS_DEFINITION___MODEL_SCOPE = CLASSIFIER_DEFINITION___MODEL_SCOPE;
+
+ /**
+ * The operation id for the '<em>Resolve In Scope</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASS_DEFINITION___RESOLVE_IN_SCOPE__STRING = CLASSIFIER_DEFINITION___RESOLVE_IN_SCOPE__STRING;
+
+ /**
+ * The operation id for the '<em>Applied Profiles</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASS_DEFINITION___APPLIED_PROFILES = CLASSIFIER_DEFINITION___APPLIED_PROFILES;
+
+ /**
+ * The operation id for the '<em>Namespace Definition applied Profiles</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASS_DEFINITION___NAMESPACE_DEFINITION_APPLIED_PROFILES = CLASSIFIER_DEFINITION___NAMESPACE_DEFINITION_APPLIED_PROFILES;
+
+ /**
+ * The operation id for the '<em>Parameters</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASS_DEFINITION___PARAMETERS = CLASSIFIER_DEFINITION___PARAMETERS;
+
+ /**
+ * The operation id for the '<em>Return Parameter</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASS_DEFINITION___RETURN_PARAMETER = CLASSIFIER_DEFINITION___RETURN_PARAMETER;
+
+ /**
+ * The operation id for the '<em>Namespace Definition return Parameter</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASS_DEFINITION___NAMESPACE_DEFINITION_RETURN_PARAMETER = CLASSIFIER_DEFINITION___NAMESPACE_DEFINITION_RETURN_PARAMETER;
+
+ /**
+ * The operation id for the '<em>Subunit Owned Members</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASS_DEFINITION___SUBUNIT_OWNED_MEMBERS = CLASSIFIER_DEFINITION___SUBUNIT_OWNED_MEMBERS;
+
+ /**
+ * The operation id for the '<em>Namespace Definition annotation Allowed</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASS_DEFINITION___NAMESPACE_DEFINITION_ANNOTATION_ALLOWED__STEREOTYPEANNOTATION = CLASSIFIER_DEFINITION___NAMESPACE_DEFINITION_ANNOTATION_ALLOWED__STEREOTYPEANNOTATION;
+
+ /**
+ * The operation id for the '<em>Template Parameters</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASS_DEFINITION___TEMPLATE_PARAMETERS = CLASSIFIER_DEFINITION___TEMPLATE_PARAMETERS;
+
+ /**
+ * The operation id for the '<em>Members Cached</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASS_DEFINITION___MEMBERS_CACHED = CLASSIFIER_DEFINITION___MEMBERS_CACHED;
+
+ /**
+ * The operation id for the '<em>Namespace Definition members</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASS_DEFINITION___NAMESPACE_DEFINITION_MEMBERS = CLASSIFIER_DEFINITION___NAMESPACE_DEFINITION_MEMBERS;
+
+ /**
+ * The operation id for the '<em>Imported Members</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASS_DEFINITION___IMPORTED_MEMBERS = CLASSIFIER_DEFINITION___IMPORTED_MEMBERS;
+
+ /**
+ * The operation id for the '<em>Import Members</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASS_DEFINITION___IMPORT_MEMBERS__ELIST = CLASSIFIER_DEFINITION___IMPORT_MEMBERS__ELIST;
+
+ /**
+ * The operation id for the '<em>Exclude Collisions</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASS_DEFINITION___EXCLUDE_COLLISIONS__ELIST = CLASSIFIER_DEFINITION___EXCLUDE_COLLISIONS__ELIST;
+
+ /**
+ * The operation id for the '<em>Remove Duplicates</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASS_DEFINITION___REMOVE_DUPLICATES__ELIST = CLASSIFIER_DEFINITION___REMOVE_DUPLICATES__ELIST;
+
+ /**
+ * The operation id for the '<em>Include Distinguishable Caching</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASS_DEFINITION___INCLUDE_DISTINGUISHABLE_CACHING__ELIST = CLASSIFIER_DEFINITION___INCLUDE_DISTINGUISHABLE_CACHING__ELIST;
+
+ /**
+ * The operation id for the '<em>Include Distinguishable</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASS_DEFINITION___INCLUDE_DISTINGUISHABLE__ELIST = CLASSIFIER_DEFINITION___INCLUDE_DISTINGUISHABLE__ELIST;
+
+ /**
+ * The operation id for the '<em>Stub</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASS_DEFINITION___STUB = CLASSIFIER_DEFINITION___STUB;
+
+ /**
+ * The operation id for the '<em>Stub For</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASS_DEFINITION___STUB_FOR__UNITDEFINITION = CLASSIFIER_DEFINITION___STUB_FOR__UNITDEFINITION;
+
+ /**
+ * The operation id for the '<em>Namespace Definition Member Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASS_DEFINITION___NAMESPACE_DEFINITION_MEMBER_DERIVATION__DIAGNOSTICCHAIN_MAP = CLASSIFIER_DEFINITION___NAMESPACE_DEFINITION_MEMBER_DERIVATION__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Namespace Definition Member Distinguishability</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASS_DEFINITION___NAMESPACE_DEFINITION_MEMBER_DISTINGUISHABILITY__DIAGNOSTICCHAIN_MAP = CLASSIFIER_DEFINITION___NAMESPACE_DEFINITION_MEMBER_DISTINGUISHABILITY__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Classifier Definition annotation Allowed</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASS_DEFINITION___CLASSIFIER_DEFINITION_ANNOTATION_ALLOWED__STEREOTYPEANNOTATION = CLASSIFIER_DEFINITION___CLASSIFIER_DEFINITION_ANNOTATION_ALLOWED__STEREOTYPEANNOTATION;
+
+ /**
+ * The operation id for the '<em>Classifier Definition match For Stub</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASS_DEFINITION___CLASSIFIER_DEFINITION_MATCH_FOR_STUB__UNITDEFINITION = CLASSIFIER_DEFINITION___CLASSIFIER_DEFINITION_MATCH_FOR_STUB__UNITDEFINITION;
+
+ /**
+ * The operation id for the '<em>Members</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASS_DEFINITION___MEMBERS = CLASSIFIER_DEFINITION___MEMBERS;
+
+ /**
+ * The operation id for the '<em>Inherited Members</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASS_DEFINITION___INHERITED_MEMBERS = CLASSIFIER_DEFINITION___INHERITED_MEMBERS;
+
+ /**
+ * The operation id for the '<em>Classifier Definition Specialization</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASS_DEFINITION___CLASSIFIER_DEFINITION_SPECIALIZATION__DIAGNOSTICCHAIN_MAP = CLASSIFIER_DEFINITION___CLASSIFIER_DEFINITION_SPECIALIZATION__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Classifier Definition Specialization Referent Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASS_DEFINITION___CLASSIFIER_DEFINITION_SPECIALIZATION_REFERENT_DERIVATION__DIAGNOSTICCHAIN_MAP = CLASSIFIER_DEFINITION___CLASSIFIER_DEFINITION_SPECIALIZATION_REFERENT_DERIVATION__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Classifier Definition Inherited Members</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASS_DEFINITION___CLASSIFIER_DEFINITION_INHERITED_MEMBERS__DIAGNOSTICCHAIN_MAP = CLASSIFIER_DEFINITION___CLASSIFIER_DEFINITION_INHERITED_MEMBERS__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Annotation Allowed</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASS_DEFINITION___ANNOTATION_ALLOWED__STEREOTYPEANNOTATION = CLASSIFIER_DEFINITION_OPERATION_COUNT + 0;
+
+ /**
+ * The operation id for the '<em>Match For Stub</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASS_DEFINITION___MATCH_FOR_STUB__UNITDEFINITION = CLASSIFIER_DEFINITION_OPERATION_COUNT + 1;
+
+ /**
+ * The operation id for the '<em>Is Same Kind As</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASS_DEFINITION___IS_SAME_KIND_AS__ELEMENTREFERENCE = CLASSIFIER_DEFINITION_OPERATION_COUNT + 2;
+
+ /**
+ * The operation id for the '<em>Needs Default Constructor</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASS_DEFINITION___NEEDS_DEFAULT_CONSTRUCTOR = CLASSIFIER_DEFINITION_OPERATION_COUNT + 3;
+
+ /**
+ * The operation id for the '<em>Needs Default Destructor</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASS_DEFINITION___NEEDS_DEFAULT_DESTRUCTOR = CLASSIFIER_DEFINITION_OPERATION_COUNT + 4;
+
+ /**
+ * The operation id for the '<em>Inherit</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASS_DEFINITION___INHERIT__ELIST = CLASSIFIER_DEFINITION_OPERATION_COUNT + 5;
+
+ /**
+ * The operation id for the '<em>Inherit Cached</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASS_DEFINITION___INHERIT_CACHED__ELIST = CLASSIFIER_DEFINITION_OPERATION_COUNT + 6;
+
+ /**
+ * The operation id for the '<em>Class Definition inherit</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASS_DEFINITION___CLASS_DEFINITION_INHERIT__ELIST = CLASSIFIER_DEFINITION_OPERATION_COUNT + 7;
+
+ /**
+ * The operation id for the '<em>Class Definition Specialization Referent</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASS_DEFINITION___CLASS_DEFINITION_SPECIALIZATION_REFERENT__DIAGNOSTICCHAIN_MAP = CLASSIFIER_DEFINITION_OPERATION_COUNT + 8;
+
+ /**
+ * The operation id for the '<em>Class Definition Abstract Member</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASS_DEFINITION___CLASS_DEFINITION_ABSTRACT_MEMBER__DIAGNOSTICCHAIN_MAP = CLASSIFIER_DEFINITION_OPERATION_COUNT + 9;
+
+ /**
+ * The number of operations of the '<em>Class Definition</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASS_DEFINITION_OPERATION_COUNT = CLASSIFIER_DEFINITION_OPERATION_COUNT + 10;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.uml.alf.impl.TypedElementDefinitionImpl <em>Typed Element Definition</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.uml.alf.impl.TypedElementDefinitionImpl
+ * @see org.eclipse.papyrus.uml.alf.impl.AlfPackageImpl#getTypedElementDefinition()
+ * @generated
+ */
+ int TYPED_ELEMENT_DEFINITION = 111;
+
+ /**
+ * The feature id for the '<em><b>Owner</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int TYPED_ELEMENT_DEFINITION__OWNER = ASSIGNABLE_ELEMENT__OWNER;
+
+ /**
+ * The feature id for the '<em><b>Upper</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int TYPED_ELEMENT_DEFINITION__UPPER = ASSIGNABLE_ELEMENT__UPPER;
+
+ /**
+ * The feature id for the '<em><b>Lower</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int TYPED_ELEMENT_DEFINITION__LOWER = ASSIGNABLE_ELEMENT__LOWER;
+
+ /**
+ * The feature id for the '<em><b>Type</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int TYPED_ELEMENT_DEFINITION__TYPE = ASSIGNABLE_ELEMENT__TYPE;
+
+ /**
+ * The feature id for the '<em><b>Lower Bound</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int TYPED_ELEMENT_DEFINITION__LOWER_BOUND = ASSIGNABLE_ELEMENT_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Upper Bound</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int TYPED_ELEMENT_DEFINITION__UPPER_BOUND = ASSIGNABLE_ELEMENT_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Is Ordered</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int TYPED_ELEMENT_DEFINITION__IS_ORDERED = ASSIGNABLE_ELEMENT_FEATURE_COUNT + 2;
+
+ /**
+ * The feature id for the '<em><b>Is Nonunique</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int TYPED_ELEMENT_DEFINITION__IS_NONUNIQUE = ASSIGNABLE_ELEMENT_FEATURE_COUNT + 3;
+
+ /**
+ * The feature id for the '<em><b>Is Sequence</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int TYPED_ELEMENT_DEFINITION__IS_SEQUENCE = ASSIGNABLE_ELEMENT_FEATURE_COUNT + 4;
+
+ /**
+ * The feature id for the '<em><b>Type Name</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int TYPED_ELEMENT_DEFINITION__TYPE_NAME = ASSIGNABLE_ELEMENT_FEATURE_COUNT + 5;
+
+ /**
+ * The feature id for the '<em><b>Actual Type</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int TYPED_ELEMENT_DEFINITION__ACTUAL_TYPE = ASSIGNABLE_ELEMENT_FEATURE_COUNT + 6;
+
+ /**
+ * The feature id for the '<em><b>Is Any</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int TYPED_ELEMENT_DEFINITION__IS_ANY = ASSIGNABLE_ELEMENT_FEATURE_COUNT + 7;
+
+ /**
+ * The feature id for the '<em><b>Is Multiplicity</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int TYPED_ELEMENT_DEFINITION__IS_MULTIPLICITY = ASSIGNABLE_ELEMENT_FEATURE_COUNT + 8;
+
+ /**
+ * The number of structural features of the '<em>Typed Element Definition</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int TYPED_ELEMENT_DEFINITION_FEATURE_COUNT = ASSIGNABLE_ELEMENT_FEATURE_COUNT + 9;
+
+ /**
+ * The operation id for the '<em>To Reference</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int TYPED_ELEMENT_DEFINITION___TO_REFERENCE = ASSIGNABLE_ELEMENT___TO_REFERENCE;
+
+ /**
+ * The operation id for the '<em>Owner</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int TYPED_ELEMENT_DEFINITION___OWNER = ASSIGNABLE_ELEMENT___OWNER;
+
+ /**
+ * The operation id for the '<em>Syntax Element owner</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int TYPED_ELEMENT_DEFINITION___SYNTAX_ELEMENT_OWNER = ASSIGNABLE_ELEMENT___SYNTAX_ELEMENT_OWNER;
+
+ /**
+ * The operation id for the '<em>Current Scope</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int TYPED_ELEMENT_DEFINITION___CURRENT_SCOPE = ASSIGNABLE_ELEMENT___CURRENT_SCOPE;
+
+ /**
+ * The operation id for the '<em>Syntax Element current Scope</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int TYPED_ELEMENT_DEFINITION___SYNTAX_ELEMENT_CURRENT_SCOPE = ASSIGNABLE_ELEMENT___SYNTAX_ELEMENT_CURRENT_SCOPE;
+
+ /**
+ * The operation id for the '<em>Enclosing Statement</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int TYPED_ELEMENT_DEFINITION___ENCLOSING_STATEMENT = ASSIGNABLE_ELEMENT___ENCLOSING_STATEMENT;
+
+ /**
+ * The operation id for the '<em>Enclosing Expression</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int TYPED_ELEMENT_DEFINITION___ENCLOSING_EXPRESSION = ASSIGNABLE_ELEMENT___ENCLOSING_EXPRESSION;
+
+ /**
+ * The operation id for the '<em>Assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int TYPED_ELEMENT_DEFINITION___ASSIGNMENTS_BEFORE = ASSIGNABLE_ELEMENT___ASSIGNMENTS_BEFORE;
+
+ /**
+ * The operation id for the '<em>Syntax Element assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int TYPED_ELEMENT_DEFINITION___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE = ASSIGNABLE_ELEMENT___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE;
+
+ /**
+ * The operation id for the '<em>Syntax Element assignments Before base</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int TYPED_ELEMENT_DEFINITION___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE_BASE = ASSIGNABLE_ELEMENT___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE_BASE;
+
+ /**
+ * The operation id for the '<em>Assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int TYPED_ELEMENT_DEFINITION___ASSIGNMENTS_BEFORE__SYNTAXELEMENT = ASSIGNABLE_ELEMENT___ASSIGNMENTS_BEFORE__SYNTAXELEMENT;
+
+ /**
+ * The operation id for the '<em>Update All</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int TYPED_ELEMENT_DEFINITION___UPDATE_ALL__ELIST_ELIST = ASSIGNABLE_ELEMENT___UPDATE_ALL__ELIST_ELIST;
+
+ /**
+ * The operation id for the '<em>Common Ancestor</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int TYPED_ELEMENT_DEFINITION___COMMON_ANCESTOR__ELIST = ASSIGNABLE_ELEMENT___COMMON_ANCESTOR__ELIST;
+
+ /**
+ * The operation id for the '<em>Common Ancestors</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int TYPED_ELEMENT_DEFINITION___COMMON_ANCESTORS__ELIST = ASSIGNABLE_ELEMENT___COMMON_ANCESTORS__ELIST;
+
+ /**
+ * The operation id for the '<em>Remove Duplicate Elements</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int TYPED_ELEMENT_DEFINITION___REMOVE_DUPLICATE_ELEMENTS__ELIST = ASSIGNABLE_ELEMENT___REMOVE_DUPLICATE_ELEMENTS__ELIST;
+
+ /**
+ * The operation id for the '<em>Resolve In Library</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int TYPED_ELEMENT_DEFINITION___RESOLVE_IN_LIBRARY__STRING = ASSIGNABLE_ELEMENT___RESOLVE_IN_LIBRARY__STRING;
+
+ /**
+ * The operation id for the '<em>Primitive Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int TYPED_ELEMENT_DEFINITION___PRIMITIVE_TYPE__STRING = ASSIGNABLE_ELEMENT___PRIMITIVE_TYPE__STRING;
+
+ /**
+ * The operation id for the '<em>Primitive Type </em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int TYPED_ELEMENT_DEFINITION___PRIMITIVE_TYPE____STRING = ASSIGNABLE_ELEMENT___PRIMITIVE_TYPE____STRING;
+
+ /**
+ * The operation id for the '<em>Boolean Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int TYPED_ELEMENT_DEFINITION___BOOLEAN_TYPE = ASSIGNABLE_ELEMENT___BOOLEAN_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Boolean Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int TYPED_ELEMENT_DEFINITION___IS_BOOLEAN_TYPE__ELEMENTREFERENCE = ASSIGNABLE_ELEMENT___IS_BOOLEAN_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Integer Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int TYPED_ELEMENT_DEFINITION___INTEGER_TYPE = ASSIGNABLE_ELEMENT___INTEGER_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Integer Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int TYPED_ELEMENT_DEFINITION___IS_INTEGER_TYPE__ELEMENTREFERENCE = ASSIGNABLE_ELEMENT___IS_INTEGER_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int TYPED_ELEMENT_DEFINITION___STRING_TYPE = ASSIGNABLE_ELEMENT___STRING_TYPE;
+
+ /**
+ * The operation id for the '<em>Is String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int TYPED_ELEMENT_DEFINITION___IS_STRING_TYPE__ELEMENTREFERENCE = ASSIGNABLE_ELEMENT___IS_STRING_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Unlimited Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int TYPED_ELEMENT_DEFINITION___UNLIMITED_NATURAL_TYPE = ASSIGNABLE_ELEMENT___UNLIMITED_NATURAL_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Unlimited Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int TYPED_ELEMENT_DEFINITION___IS_UNLIMITED_NATURAL_TYPE__ELEMENTREFERENCE = ASSIGNABLE_ELEMENT___IS_UNLIMITED_NATURAL_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Bit String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int TYPED_ELEMENT_DEFINITION___BIT_STRING_TYPE = ASSIGNABLE_ELEMENT___BIT_STRING_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Bit String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int TYPED_ELEMENT_DEFINITION___IS_BIT_STRING_TYPE__ELEMENTREFERENCE = ASSIGNABLE_ELEMENT___IS_BIT_STRING_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int TYPED_ELEMENT_DEFINITION___NATURAL_TYPE = ASSIGNABLE_ELEMENT___NATURAL_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int TYPED_ELEMENT_DEFINITION___IS_NATURAL_TYPE__ELEMENTREFERENCE = ASSIGNABLE_ELEMENT___IS_NATURAL_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Numeric Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int TYPED_ELEMENT_DEFINITION___IS_NUMERIC_TYPE__ELEMENTREFERENCE = ASSIGNABLE_ELEMENT___IS_NUMERIC_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Collection Function Add</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int TYPED_ELEMENT_DEFINITION___COLLECTION_FUNCTION_ADD = ASSIGNABLE_ELEMENT___COLLECTION_FUNCTION_ADD;
+
+ /**
+ * The operation id for the '<em>Is Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int TYPED_ELEMENT_DEFINITION___IS_COLLECTION_CLASS__ELEMENTREFERENCE = ASSIGNABLE_ELEMENT___IS_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Integer Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int TYPED_ELEMENT_DEFINITION___IS_INTEGER_COLLECTION_CLASS__ELEMENTREFERENCE = ASSIGNABLE_ELEMENT___IS_INTEGER_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Bit String Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int TYPED_ELEMENT_DEFINITION___IS_BIT_STRING_COLLECTION_CLASS__ELEMENTREFERENCE = ASSIGNABLE_ELEMENT___IS_BIT_STRING_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Type Cached</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int TYPED_ELEMENT_DEFINITION___TYPE_CACHED = ASSIGNABLE_ELEMENT___TYPE_CACHED;
+
+ /**
+ * The operation id for the '<em>Is Null</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int TYPED_ELEMENT_DEFINITION___IS_NULL = ASSIGNABLE_ELEMENT___IS_NULL;
+
+ /**
+ * The operation id for the '<em>Is Assignable From Element</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int TYPED_ELEMENT_DEFINITION___IS_ASSIGNABLE_FROM_ELEMENT__ELEMENTREFERENCE = ASSIGNABLE_ELEMENT___IS_ASSIGNABLE_FROM_ELEMENT__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Assignable From</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int TYPED_ELEMENT_DEFINITION___IS_ASSIGNABLE_FROM__ASSIGNABLEELEMENT = ASSIGNABLE_ELEMENT___IS_ASSIGNABLE_FROM__ASSIGNABLEELEMENT;
+
+ /**
+ * The operation id for the '<em>Is Type Conformant With</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int TYPED_ELEMENT_DEFINITION___IS_TYPE_CONFORMANT_WITH__ASSIGNABLEELEMENT = ASSIGNABLE_ELEMENT___IS_TYPE_CONFORMANT_WITH__ASSIGNABLEELEMENT;
+
+ /**
+ * The operation id for the '<em>Is Conformant With Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int TYPED_ELEMENT_DEFINITION___IS_CONFORMANT_WITH_TYPE__ELEMENTREFERENCE = ASSIGNABLE_ELEMENT___IS_CONFORMANT_WITH_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Multiplicity Conformant With</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int TYPED_ELEMENT_DEFINITION___IS_MULTIPLICITY_CONFORMANT_WITH__ASSIGNABLEELEMENT = ASSIGNABLE_ELEMENT___IS_MULTIPLICITY_CONFORMANT_WITH__ASSIGNABLEELEMENT;
+
+ /**
+ * The operation id for the '<em>Is Ordered</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int TYPED_ELEMENT_DEFINITION___IS_ORDERED = ASSIGNABLE_ELEMENT_OPERATION_COUNT + 0;
+
+ /**
+ * The operation id for the '<em>Is Nonunique</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int TYPED_ELEMENT_DEFINITION___IS_NONUNIQUE = ASSIGNABLE_ELEMENT_OPERATION_COUNT + 1;
+
+ /**
+ * The operation id for the '<em>Typed Element Definition Lower Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int TYPED_ELEMENT_DEFINITION___TYPED_ELEMENT_DEFINITION_LOWER_DERIVATION__DIAGNOSTICCHAIN_MAP = ASSIGNABLE_ELEMENT_OPERATION_COUNT + 2;
+
+ /**
+ * The operation id for the '<em>Typed Element Definition Upper Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int TYPED_ELEMENT_DEFINITION___TYPED_ELEMENT_DEFINITION_UPPER_DERIVATION__DIAGNOSTICCHAIN_MAP = ASSIGNABLE_ELEMENT_OPERATION_COUNT + 3;
+
+ /**
+ * The operation id for the '<em>Typed Element Definition Type Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int TYPED_ELEMENT_DEFINITION___TYPED_ELEMENT_DEFINITION_TYPE_DERIVATION__DIAGNOSTICCHAIN_MAP = ASSIGNABLE_ELEMENT_OPERATION_COUNT + 4;
+
+ /**
+ * The operation id for the '<em>Typed Element Definition Type Name</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int TYPED_ELEMENT_DEFINITION___TYPED_ELEMENT_DEFINITION_TYPE_NAME__DIAGNOSTICCHAIN_MAP = ASSIGNABLE_ELEMENT_OPERATION_COUNT + 5;
+
+ /**
+ * The operation id for the '<em>Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int TYPED_ELEMENT_DEFINITION___TYPE = ASSIGNABLE_ELEMENT_OPERATION_COUNT + 6;
+
+ /**
+ * The operation id for the '<em>Lower</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int TYPED_ELEMENT_DEFINITION___LOWER = ASSIGNABLE_ELEMENT_OPERATION_COUNT + 7;
+
+ /**
+ * The operation id for the '<em>Upper</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int TYPED_ELEMENT_DEFINITION___UPPER = ASSIGNABLE_ELEMENT_OPERATION_COUNT + 8;
+
+ /**
+ * The number of operations of the '<em>Typed Element Definition</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int TYPED_ELEMENT_DEFINITION_OPERATION_COUNT = ASSIGNABLE_ELEMENT_OPERATION_COUNT + 9;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.uml.alf.impl.DataTypeDefinitionImpl <em>Data Type Definition</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.uml.alf.impl.DataTypeDefinitionImpl
+ * @see org.eclipse.papyrus.uml.alf.impl.AlfPackageImpl#getDataTypeDefinition()
+ * @generated
+ */
+ int DATA_TYPE_DEFINITION = 112;
+
+ /**
+ * The feature id for the '<em><b>Owner</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DATA_TYPE_DEFINITION__OWNER = CLASSIFIER_DEFINITION__OWNER;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DATA_TYPE_DEFINITION__NAME = CLASSIFIER_DEFINITION__NAME;
+
+ /**
+ * The feature id for the '<em><b>Is Stub</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DATA_TYPE_DEFINITION__IS_STUB = CLASSIFIER_DEFINITION__IS_STUB;
+
+ /**
+ * The feature id for the '<em><b>Is Feature</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DATA_TYPE_DEFINITION__IS_FEATURE = CLASSIFIER_DEFINITION__IS_FEATURE;
+
+ /**
+ * The feature id for the '<em><b>Is Primitive</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DATA_TYPE_DEFINITION__IS_PRIMITIVE = CLASSIFIER_DEFINITION__IS_PRIMITIVE;
+
+ /**
+ * The feature id for the '<em><b>Is External</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DATA_TYPE_DEFINITION__IS_EXTERNAL = CLASSIFIER_DEFINITION__IS_EXTERNAL;
+
+ /**
+ * The feature id for the '<em><b>Subunit</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DATA_TYPE_DEFINITION__SUBUNIT = CLASSIFIER_DEFINITION__SUBUNIT;
+
+ /**
+ * The feature id for the '<em><b>Owned Member</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DATA_TYPE_DEFINITION__OWNED_MEMBER = CLASSIFIER_DEFINITION__OWNED_MEMBER;
+
+ /**
+ * The feature id for the '<em><b>Unit</b></em>' container reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DATA_TYPE_DEFINITION__UNIT = CLASSIFIER_DEFINITION__UNIT;
+
+ /**
+ * The feature id for the '<em><b>Member</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DATA_TYPE_DEFINITION__MEMBER = CLASSIFIER_DEFINITION__MEMBER;
+
+ /**
+ * The feature id for the '<em><b>Is Abstract</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DATA_TYPE_DEFINITION__IS_ABSTRACT = CLASSIFIER_DEFINITION__IS_ABSTRACT;
+
+ /**
+ * The feature id for the '<em><b>Specialization</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DATA_TYPE_DEFINITION__SPECIALIZATION = CLASSIFIER_DEFINITION__SPECIALIZATION;
+
+ /**
+ * The feature id for the '<em><b>Specialization Referent</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DATA_TYPE_DEFINITION__SPECIALIZATION_REFERENT = CLASSIFIER_DEFINITION__SPECIALIZATION_REFERENT;
+
+ /**
+ * The number of structural features of the '<em>Data Type Definition</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DATA_TYPE_DEFINITION_FEATURE_COUNT = CLASSIFIER_DEFINITION_FEATURE_COUNT + 0;
+
+ /**
+ * The operation id for the '<em>To Reference</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DATA_TYPE_DEFINITION___TO_REFERENCE = CLASSIFIER_DEFINITION___TO_REFERENCE;
+
+ /**
+ * The operation id for the '<em>Owner</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DATA_TYPE_DEFINITION___OWNER = CLASSIFIER_DEFINITION___OWNER;
+
+ /**
+ * The operation id for the '<em>Syntax Element owner</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DATA_TYPE_DEFINITION___SYNTAX_ELEMENT_OWNER = CLASSIFIER_DEFINITION___SYNTAX_ELEMENT_OWNER;
+
+ /**
+ * The operation id for the '<em>Syntax Element current Scope</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DATA_TYPE_DEFINITION___SYNTAX_ELEMENT_CURRENT_SCOPE = CLASSIFIER_DEFINITION___SYNTAX_ELEMENT_CURRENT_SCOPE;
+
+ /**
+ * The operation id for the '<em>Enclosing Statement</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DATA_TYPE_DEFINITION___ENCLOSING_STATEMENT = CLASSIFIER_DEFINITION___ENCLOSING_STATEMENT;
+
+ /**
+ * The operation id for the '<em>Enclosing Expression</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DATA_TYPE_DEFINITION___ENCLOSING_EXPRESSION = CLASSIFIER_DEFINITION___ENCLOSING_EXPRESSION;
+
+ /**
+ * The operation id for the '<em>Assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DATA_TYPE_DEFINITION___ASSIGNMENTS_BEFORE = CLASSIFIER_DEFINITION___ASSIGNMENTS_BEFORE;
+
+ /**
+ * The operation id for the '<em>Syntax Element assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DATA_TYPE_DEFINITION___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE = CLASSIFIER_DEFINITION___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE;
+
+ /**
+ * The operation id for the '<em>Syntax Element assignments Before base</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DATA_TYPE_DEFINITION___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE_BASE = CLASSIFIER_DEFINITION___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE_BASE;
+
+ /**
+ * The operation id for the '<em>Assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DATA_TYPE_DEFINITION___ASSIGNMENTS_BEFORE__SYNTAXELEMENT = CLASSIFIER_DEFINITION___ASSIGNMENTS_BEFORE__SYNTAXELEMENT;
+
+ /**
+ * The operation id for the '<em>Update All</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DATA_TYPE_DEFINITION___UPDATE_ALL__ELIST_ELIST = CLASSIFIER_DEFINITION___UPDATE_ALL__ELIST_ELIST;
+
+ /**
+ * The operation id for the '<em>Common Ancestor</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DATA_TYPE_DEFINITION___COMMON_ANCESTOR__ELIST = CLASSIFIER_DEFINITION___COMMON_ANCESTOR__ELIST;
+
+ /**
+ * The operation id for the '<em>Common Ancestors</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DATA_TYPE_DEFINITION___COMMON_ANCESTORS__ELIST = CLASSIFIER_DEFINITION___COMMON_ANCESTORS__ELIST;
+
+ /**
+ * The operation id for the '<em>Remove Duplicate Elements</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DATA_TYPE_DEFINITION___REMOVE_DUPLICATE_ELEMENTS__ELIST = CLASSIFIER_DEFINITION___REMOVE_DUPLICATE_ELEMENTS__ELIST;
+
+ /**
+ * The operation id for the '<em>Resolve In Library</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DATA_TYPE_DEFINITION___RESOLVE_IN_LIBRARY__STRING = CLASSIFIER_DEFINITION___RESOLVE_IN_LIBRARY__STRING;
+
+ /**
+ * The operation id for the '<em>Primitive Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DATA_TYPE_DEFINITION___PRIMITIVE_TYPE__STRING = CLASSIFIER_DEFINITION___PRIMITIVE_TYPE__STRING;
+
+ /**
+ * The operation id for the '<em>Primitive Type </em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DATA_TYPE_DEFINITION___PRIMITIVE_TYPE____STRING = CLASSIFIER_DEFINITION___PRIMITIVE_TYPE____STRING;
+
+ /**
+ * The operation id for the '<em>Boolean Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DATA_TYPE_DEFINITION___BOOLEAN_TYPE = CLASSIFIER_DEFINITION___BOOLEAN_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Boolean Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DATA_TYPE_DEFINITION___IS_BOOLEAN_TYPE__ELEMENTREFERENCE = CLASSIFIER_DEFINITION___IS_BOOLEAN_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Integer Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DATA_TYPE_DEFINITION___INTEGER_TYPE = CLASSIFIER_DEFINITION___INTEGER_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Integer Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DATA_TYPE_DEFINITION___IS_INTEGER_TYPE__ELEMENTREFERENCE = CLASSIFIER_DEFINITION___IS_INTEGER_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DATA_TYPE_DEFINITION___STRING_TYPE = CLASSIFIER_DEFINITION___STRING_TYPE;
+
+ /**
+ * The operation id for the '<em>Is String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DATA_TYPE_DEFINITION___IS_STRING_TYPE__ELEMENTREFERENCE = CLASSIFIER_DEFINITION___IS_STRING_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Unlimited Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DATA_TYPE_DEFINITION___UNLIMITED_NATURAL_TYPE = CLASSIFIER_DEFINITION___UNLIMITED_NATURAL_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Unlimited Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DATA_TYPE_DEFINITION___IS_UNLIMITED_NATURAL_TYPE__ELEMENTREFERENCE = CLASSIFIER_DEFINITION___IS_UNLIMITED_NATURAL_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Bit String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DATA_TYPE_DEFINITION___BIT_STRING_TYPE = CLASSIFIER_DEFINITION___BIT_STRING_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Bit String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DATA_TYPE_DEFINITION___IS_BIT_STRING_TYPE__ELEMENTREFERENCE = CLASSIFIER_DEFINITION___IS_BIT_STRING_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DATA_TYPE_DEFINITION___NATURAL_TYPE = CLASSIFIER_DEFINITION___NATURAL_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DATA_TYPE_DEFINITION___IS_NATURAL_TYPE__ELEMENTREFERENCE = CLASSIFIER_DEFINITION___IS_NATURAL_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Numeric Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DATA_TYPE_DEFINITION___IS_NUMERIC_TYPE__ELEMENTREFERENCE = CLASSIFIER_DEFINITION___IS_NUMERIC_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Collection Function Add</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DATA_TYPE_DEFINITION___COLLECTION_FUNCTION_ADD = CLASSIFIER_DEFINITION___COLLECTION_FUNCTION_ADD;
+
+ /**
+ * The operation id for the '<em>Is Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DATA_TYPE_DEFINITION___IS_COLLECTION_CLASS__ELEMENTREFERENCE = CLASSIFIER_DEFINITION___IS_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Integer Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DATA_TYPE_DEFINITION___IS_INTEGER_COLLECTION_CLASS__ELEMENTREFERENCE = CLASSIFIER_DEFINITION___IS_INTEGER_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Bit String Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DATA_TYPE_DEFINITION___IS_BIT_STRING_COLLECTION_CLASS__ELEMENTREFERENCE = CLASSIFIER_DEFINITION___IS_BIT_STRING_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Annotation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DATA_TYPE_DEFINITION___ANNOTATION = CLASSIFIER_DEFINITION___ANNOTATION;
+
+ /**
+ * The operation id for the '<em>Actual Name</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DATA_TYPE_DEFINITION___ACTUAL_NAME = CLASSIFIER_DEFINITION___ACTUAL_NAME;
+
+ /**
+ * The operation id for the '<em>Member Definition outer Scope</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DATA_TYPE_DEFINITION___MEMBER_DEFINITION_OUTER_SCOPE = CLASSIFIER_DEFINITION___MEMBER_DEFINITION_OUTER_SCOPE;
+
+ /**
+ * The operation id for the '<em>Qualified Name</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DATA_TYPE_DEFINITION___QUALIFIED_NAME = CLASSIFIER_DEFINITION___QUALIFIED_NAME;
+
+ /**
+ * The operation id for the '<em>Namespace Reference</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DATA_TYPE_DEFINITION___NAMESPACE_REFERENCE = CLASSIFIER_DEFINITION___NAMESPACE_REFERENCE;
+
+ /**
+ * The operation id for the '<em>Add To Model</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DATA_TYPE_DEFINITION___ADD_TO_MODEL = CLASSIFIER_DEFINITION___ADD_TO_MODEL;
+
+ /**
+ * The operation id for the '<em>Is Distinguishable From</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DATA_TYPE_DEFINITION___IS_DISTINGUISHABLE_FROM__MEMBERDEFINITION = CLASSIFIER_DEFINITION___IS_DISTINGUISHABLE_FROM__MEMBERDEFINITION;
+
+ /**
+ * The operation id for the '<em>Member Definition is Distinguishable From</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DATA_TYPE_DEFINITION___MEMBER_DEFINITION_IS_DISTINGUISHABLE_FROM__MEMBERDEFINITION = CLASSIFIER_DEFINITION___MEMBER_DEFINITION_IS_DISTINGUISHABLE_FROM__MEMBERDEFINITION;
+
+ /**
+ * The operation id for the '<em>Is Template</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DATA_TYPE_DEFINITION___IS_TEMPLATE = CLASSIFIER_DEFINITION___IS_TEMPLATE;
+
+ /**
+ * The operation id for the '<em>Is Feature</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DATA_TYPE_DEFINITION___IS_FEATURE = CLASSIFIER_DEFINITION___IS_FEATURE;
+
+ /**
+ * The operation id for the '<em>Member Annotations</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DATA_TYPE_DEFINITION___MEMBER_ANNOTATIONS__DIAGNOSTICCHAIN_MAP = CLASSIFIER_DEFINITION___MEMBER_ANNOTATIONS__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Member Is Primitive Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DATA_TYPE_DEFINITION___MEMBER_IS_PRIMITIVE_DERIVATION__DIAGNOSTICCHAIN_MAP = CLASSIFIER_DEFINITION___MEMBER_IS_PRIMITIVE_DERIVATION__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Member Is External Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DATA_TYPE_DEFINITION___MEMBER_IS_EXTERNAL_DERIVATION__DIAGNOSTICCHAIN_MAP = CLASSIFIER_DEFINITION___MEMBER_IS_EXTERNAL_DERIVATION__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Member External</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DATA_TYPE_DEFINITION___MEMBER_EXTERNAL__DIAGNOSTICCHAIN_MAP = CLASSIFIER_DEFINITION___MEMBER_EXTERNAL__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Member Stub</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DATA_TYPE_DEFINITION___MEMBER_STUB__DIAGNOSTICCHAIN_MAP = CLASSIFIER_DEFINITION___MEMBER_STUB__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Member Subunit Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DATA_TYPE_DEFINITION___MEMBER_SUBUNIT_DERIVATION__DIAGNOSTICCHAIN_MAP = CLASSIFIER_DEFINITION___MEMBER_SUBUNIT_DERIVATION__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Member Stub Stereotypes</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DATA_TYPE_DEFINITION___MEMBER_STUB_STEREOTYPES__DIAGNOSTICCHAIN_MAP = CLASSIFIER_DEFINITION___MEMBER_STUB_STEREOTYPES__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Member Primitive</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DATA_TYPE_DEFINITION___MEMBER_PRIMITIVE__DIAGNOSTICCHAIN_MAP = CLASSIFIER_DEFINITION___MEMBER_PRIMITIVE__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Containing Member</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DATA_TYPE_DEFINITION___CONTAINING_MEMBER = CLASSIFIER_DEFINITION___CONTAINING_MEMBER;
+
+ /**
+ * The operation id for the '<em>Current Scope</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DATA_TYPE_DEFINITION___CURRENT_SCOPE = CLASSIFIER_DEFINITION___CURRENT_SCOPE;
+
+ /**
+ * The operation id for the '<em>Outer Scope</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DATA_TYPE_DEFINITION___OUTER_SCOPE = CLASSIFIER_DEFINITION___OUTER_SCOPE;
+
+ /**
+ * The operation id for the '<em>Namespace Definition outer Scope</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DATA_TYPE_DEFINITION___NAMESPACE_DEFINITION_OUTER_SCOPE = CLASSIFIER_DEFINITION___NAMESPACE_DEFINITION_OUTER_SCOPE;
+
+ /**
+ * The operation id for the '<em>Model Namespace</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DATA_TYPE_DEFINITION___MODEL_NAMESPACE = CLASSIFIER_DEFINITION___MODEL_NAMESPACE;
+
+ /**
+ * The operation id for the '<em>Model Scope</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DATA_TYPE_DEFINITION___MODEL_SCOPE = CLASSIFIER_DEFINITION___MODEL_SCOPE;
+
+ /**
+ * The operation id for the '<em>Resolve In Scope</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DATA_TYPE_DEFINITION___RESOLVE_IN_SCOPE__STRING = CLASSIFIER_DEFINITION___RESOLVE_IN_SCOPE__STRING;
+
+ /**
+ * The operation id for the '<em>Applied Profiles</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DATA_TYPE_DEFINITION___APPLIED_PROFILES = CLASSIFIER_DEFINITION___APPLIED_PROFILES;
+
+ /**
+ * The operation id for the '<em>Namespace Definition applied Profiles</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DATA_TYPE_DEFINITION___NAMESPACE_DEFINITION_APPLIED_PROFILES = CLASSIFIER_DEFINITION___NAMESPACE_DEFINITION_APPLIED_PROFILES;
+
+ /**
+ * The operation id for the '<em>Parameters</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DATA_TYPE_DEFINITION___PARAMETERS = CLASSIFIER_DEFINITION___PARAMETERS;
+
+ /**
+ * The operation id for the '<em>Return Parameter</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DATA_TYPE_DEFINITION___RETURN_PARAMETER = CLASSIFIER_DEFINITION___RETURN_PARAMETER;
+
+ /**
+ * The operation id for the '<em>Namespace Definition return Parameter</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DATA_TYPE_DEFINITION___NAMESPACE_DEFINITION_RETURN_PARAMETER = CLASSIFIER_DEFINITION___NAMESPACE_DEFINITION_RETURN_PARAMETER;
+
+ /**
+ * The operation id for the '<em>Subunit Owned Members</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DATA_TYPE_DEFINITION___SUBUNIT_OWNED_MEMBERS = CLASSIFIER_DEFINITION___SUBUNIT_OWNED_MEMBERS;
+
+ /**
+ * The operation id for the '<em>Namespace Definition annotation Allowed</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DATA_TYPE_DEFINITION___NAMESPACE_DEFINITION_ANNOTATION_ALLOWED__STEREOTYPEANNOTATION = CLASSIFIER_DEFINITION___NAMESPACE_DEFINITION_ANNOTATION_ALLOWED__STEREOTYPEANNOTATION;
+
+ /**
+ * The operation id for the '<em>Template Parameters</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DATA_TYPE_DEFINITION___TEMPLATE_PARAMETERS = CLASSIFIER_DEFINITION___TEMPLATE_PARAMETERS;
+
+ /**
+ * The operation id for the '<em>Members Cached</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DATA_TYPE_DEFINITION___MEMBERS_CACHED = CLASSIFIER_DEFINITION___MEMBERS_CACHED;
+
+ /**
+ * The operation id for the '<em>Namespace Definition members</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DATA_TYPE_DEFINITION___NAMESPACE_DEFINITION_MEMBERS = CLASSIFIER_DEFINITION___NAMESPACE_DEFINITION_MEMBERS;
+
+ /**
+ * The operation id for the '<em>Imported Members</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DATA_TYPE_DEFINITION___IMPORTED_MEMBERS = CLASSIFIER_DEFINITION___IMPORTED_MEMBERS;
+
+ /**
+ * The operation id for the '<em>Import Members</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DATA_TYPE_DEFINITION___IMPORT_MEMBERS__ELIST = CLASSIFIER_DEFINITION___IMPORT_MEMBERS__ELIST;
+
+ /**
+ * The operation id for the '<em>Exclude Collisions</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DATA_TYPE_DEFINITION___EXCLUDE_COLLISIONS__ELIST = CLASSIFIER_DEFINITION___EXCLUDE_COLLISIONS__ELIST;
+
+ /**
+ * The operation id for the '<em>Remove Duplicates</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DATA_TYPE_DEFINITION___REMOVE_DUPLICATES__ELIST = CLASSIFIER_DEFINITION___REMOVE_DUPLICATES__ELIST;
+
+ /**
+ * The operation id for the '<em>Include Distinguishable Caching</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DATA_TYPE_DEFINITION___INCLUDE_DISTINGUISHABLE_CACHING__ELIST = CLASSIFIER_DEFINITION___INCLUDE_DISTINGUISHABLE_CACHING__ELIST;
+
+ /**
+ * The operation id for the '<em>Include Distinguishable</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DATA_TYPE_DEFINITION___INCLUDE_DISTINGUISHABLE__ELIST = CLASSIFIER_DEFINITION___INCLUDE_DISTINGUISHABLE__ELIST;
+
+ /**
+ * The operation id for the '<em>Stub</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DATA_TYPE_DEFINITION___STUB = CLASSIFIER_DEFINITION___STUB;
+
+ /**
+ * The operation id for the '<em>Stub For</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DATA_TYPE_DEFINITION___STUB_FOR__UNITDEFINITION = CLASSIFIER_DEFINITION___STUB_FOR__UNITDEFINITION;
+
+ /**
+ * The operation id for the '<em>Namespace Definition Member Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DATA_TYPE_DEFINITION___NAMESPACE_DEFINITION_MEMBER_DERIVATION__DIAGNOSTICCHAIN_MAP = CLASSIFIER_DEFINITION___NAMESPACE_DEFINITION_MEMBER_DERIVATION__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Namespace Definition Member Distinguishability</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DATA_TYPE_DEFINITION___NAMESPACE_DEFINITION_MEMBER_DISTINGUISHABILITY__DIAGNOSTICCHAIN_MAP = CLASSIFIER_DEFINITION___NAMESPACE_DEFINITION_MEMBER_DISTINGUISHABILITY__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Classifier Definition annotation Allowed</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DATA_TYPE_DEFINITION___CLASSIFIER_DEFINITION_ANNOTATION_ALLOWED__STEREOTYPEANNOTATION = CLASSIFIER_DEFINITION___CLASSIFIER_DEFINITION_ANNOTATION_ALLOWED__STEREOTYPEANNOTATION;
+
+ /**
+ * The operation id for the '<em>Classifier Definition match For Stub</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DATA_TYPE_DEFINITION___CLASSIFIER_DEFINITION_MATCH_FOR_STUB__UNITDEFINITION = CLASSIFIER_DEFINITION___CLASSIFIER_DEFINITION_MATCH_FOR_STUB__UNITDEFINITION;
+
+ /**
+ * The operation id for the '<em>Members</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DATA_TYPE_DEFINITION___MEMBERS = CLASSIFIER_DEFINITION___MEMBERS;
+
+ /**
+ * The operation id for the '<em>Inherited Members</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DATA_TYPE_DEFINITION___INHERITED_MEMBERS = CLASSIFIER_DEFINITION___INHERITED_MEMBERS;
+
+ /**
+ * The operation id for the '<em>Inherit</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DATA_TYPE_DEFINITION___INHERIT__ELIST = CLASSIFIER_DEFINITION___INHERIT__ELIST;
+
+ /**
+ * The operation id for the '<em>Classifier Definition Specialization</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DATA_TYPE_DEFINITION___CLASSIFIER_DEFINITION_SPECIALIZATION__DIAGNOSTICCHAIN_MAP = CLASSIFIER_DEFINITION___CLASSIFIER_DEFINITION_SPECIALIZATION__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Classifier Definition Specialization Referent Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DATA_TYPE_DEFINITION___CLASSIFIER_DEFINITION_SPECIALIZATION_REFERENT_DERIVATION__DIAGNOSTICCHAIN_MAP = CLASSIFIER_DEFINITION___CLASSIFIER_DEFINITION_SPECIALIZATION_REFERENT_DERIVATION__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Classifier Definition Inherited Members</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DATA_TYPE_DEFINITION___CLASSIFIER_DEFINITION_INHERITED_MEMBERS__DIAGNOSTICCHAIN_MAP = CLASSIFIER_DEFINITION___CLASSIFIER_DEFINITION_INHERITED_MEMBERS__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Match For Stub</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DATA_TYPE_DEFINITION___MATCH_FOR_STUB__UNITDEFINITION = CLASSIFIER_DEFINITION_OPERATION_COUNT + 0;
+
+ /**
+ * The operation id for the '<em>Annotation Allowed</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DATA_TYPE_DEFINITION___ANNOTATION_ALLOWED__STEREOTYPEANNOTATION = CLASSIFIER_DEFINITION_OPERATION_COUNT + 1;
+
+ /**
+ * The operation id for the '<em>Is Same Kind As</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DATA_TYPE_DEFINITION___IS_SAME_KIND_AS__ELEMENTREFERENCE = CLASSIFIER_DEFINITION_OPERATION_COUNT + 2;
+
+ /**
+ * The operation id for the '<em>Data Type Definition Primitive</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DATA_TYPE_DEFINITION___DATA_TYPE_DEFINITION_PRIMITIVE__DIAGNOSTICCHAIN_MAP = CLASSIFIER_DEFINITION_OPERATION_COUNT + 3;
+
+ /**
+ * The operation id for the '<em>Data Type Definition Specialization Referent</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DATA_TYPE_DEFINITION___DATA_TYPE_DEFINITION_SPECIALIZATION_REFERENT__DIAGNOSTICCHAIN_MAP = CLASSIFIER_DEFINITION_OPERATION_COUNT + 4;
+
+ /**
+ * The number of operations of the '<em>Data Type Definition</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DATA_TYPE_DEFINITION_OPERATION_COUNT = CLASSIFIER_DEFINITION_OPERATION_COUNT + 5;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.uml.alf.impl.PropertyDefinitionImpl <em>Property Definition</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.uml.alf.impl.PropertyDefinitionImpl
+ * @see org.eclipse.papyrus.uml.alf.impl.AlfPackageImpl#getPropertyDefinition()
+ * @generated
+ */
+ int PROPERTY_DEFINITION = 114;
+
+ /**
+ * The feature id for the '<em><b>Owner</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PROPERTY_DEFINITION__OWNER = MEMBER_DEFINITION__OWNER;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PROPERTY_DEFINITION__NAME = MEMBER_DEFINITION__NAME;
+
+ /**
+ * The feature id for the '<em><b>Is Stub</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PROPERTY_DEFINITION__IS_STUB = MEMBER_DEFINITION__IS_STUB;
+
+ /**
+ * The feature id for the '<em><b>Is Feature</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PROPERTY_DEFINITION__IS_FEATURE = MEMBER_DEFINITION__IS_FEATURE;
+
+ /**
+ * The feature id for the '<em><b>Is Primitive</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PROPERTY_DEFINITION__IS_PRIMITIVE = MEMBER_DEFINITION__IS_PRIMITIVE;
+
+ /**
+ * The feature id for the '<em><b>Is External</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PROPERTY_DEFINITION__IS_EXTERNAL = MEMBER_DEFINITION__IS_EXTERNAL;
+
+ /**
+ * The feature id for the '<em><b>Subunit</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PROPERTY_DEFINITION__SUBUNIT = MEMBER_DEFINITION__SUBUNIT;
+
+ /**
+ * The feature id for the '<em><b>Is Composite</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PROPERTY_DEFINITION__IS_COMPOSITE = MEMBER_DEFINITION_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Initializer</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PROPERTY_DEFINITION__INITIALIZER = MEMBER_DEFINITION_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Is Collection Conversion</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PROPERTY_DEFINITION__IS_COLLECTION_CONVERSION = MEMBER_DEFINITION_FEATURE_COUNT + 2;
+
+ /**
+ * The feature id for the '<em><b>Is Bit String Conversion</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PROPERTY_DEFINITION__IS_BIT_STRING_CONVERSION = MEMBER_DEFINITION_FEATURE_COUNT + 3;
+
+ /**
+ * The feature id for the '<em><b>Type Part</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PROPERTY_DEFINITION__TYPE_PART = MEMBER_DEFINITION_FEATURE_COUNT + 4;
+
+ /**
+ * The number of structural features of the '<em>Property Definition</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PROPERTY_DEFINITION_FEATURE_COUNT = MEMBER_DEFINITION_FEATURE_COUNT + 5;
+
+ /**
+ * The operation id for the '<em>To Reference</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PROPERTY_DEFINITION___TO_REFERENCE = MEMBER_DEFINITION___TO_REFERENCE;
+
+ /**
+ * The operation id for the '<em>Owner</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PROPERTY_DEFINITION___OWNER = MEMBER_DEFINITION___OWNER;
+
+ /**
+ * The operation id for the '<em>Syntax Element owner</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PROPERTY_DEFINITION___SYNTAX_ELEMENT_OWNER = MEMBER_DEFINITION___SYNTAX_ELEMENT_OWNER;
+
+ /**
+ * The operation id for the '<em>Current Scope</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PROPERTY_DEFINITION___CURRENT_SCOPE = MEMBER_DEFINITION___CURRENT_SCOPE;
+
+ /**
+ * The operation id for the '<em>Syntax Element current Scope</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PROPERTY_DEFINITION___SYNTAX_ELEMENT_CURRENT_SCOPE = MEMBER_DEFINITION___SYNTAX_ELEMENT_CURRENT_SCOPE;
+
+ /**
+ * The operation id for the '<em>Enclosing Statement</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PROPERTY_DEFINITION___ENCLOSING_STATEMENT = MEMBER_DEFINITION___ENCLOSING_STATEMENT;
+
+ /**
+ * The operation id for the '<em>Enclosing Expression</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PROPERTY_DEFINITION___ENCLOSING_EXPRESSION = MEMBER_DEFINITION___ENCLOSING_EXPRESSION;
+
+ /**
+ * The operation id for the '<em>Assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PROPERTY_DEFINITION___ASSIGNMENTS_BEFORE = MEMBER_DEFINITION___ASSIGNMENTS_BEFORE;
+
+ /**
+ * The operation id for the '<em>Syntax Element assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PROPERTY_DEFINITION___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE = MEMBER_DEFINITION___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE;
+
+ /**
+ * The operation id for the '<em>Syntax Element assignments Before base</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PROPERTY_DEFINITION___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE_BASE = MEMBER_DEFINITION___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE_BASE;
+
+ /**
+ * The operation id for the '<em>Update All</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PROPERTY_DEFINITION___UPDATE_ALL__ELIST_ELIST = MEMBER_DEFINITION___UPDATE_ALL__ELIST_ELIST;
+
+ /**
+ * The operation id for the '<em>Common Ancestor</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PROPERTY_DEFINITION___COMMON_ANCESTOR__ELIST = MEMBER_DEFINITION___COMMON_ANCESTOR__ELIST;
+
+ /**
+ * The operation id for the '<em>Common Ancestors</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PROPERTY_DEFINITION___COMMON_ANCESTORS__ELIST = MEMBER_DEFINITION___COMMON_ANCESTORS__ELIST;
+
+ /**
+ * The operation id for the '<em>Remove Duplicate Elements</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PROPERTY_DEFINITION___REMOVE_DUPLICATE_ELEMENTS__ELIST = MEMBER_DEFINITION___REMOVE_DUPLICATE_ELEMENTS__ELIST;
+
+ /**
+ * The operation id for the '<em>Resolve In Library</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PROPERTY_DEFINITION___RESOLVE_IN_LIBRARY__STRING = MEMBER_DEFINITION___RESOLVE_IN_LIBRARY__STRING;
+
+ /**
+ * The operation id for the '<em>Primitive Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PROPERTY_DEFINITION___PRIMITIVE_TYPE__STRING = MEMBER_DEFINITION___PRIMITIVE_TYPE__STRING;
+
+ /**
+ * The operation id for the '<em>Primitive Type </em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PROPERTY_DEFINITION___PRIMITIVE_TYPE____STRING = MEMBER_DEFINITION___PRIMITIVE_TYPE____STRING;
+
+ /**
+ * The operation id for the '<em>Boolean Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PROPERTY_DEFINITION___BOOLEAN_TYPE = MEMBER_DEFINITION___BOOLEAN_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Boolean Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PROPERTY_DEFINITION___IS_BOOLEAN_TYPE__ELEMENTREFERENCE = MEMBER_DEFINITION___IS_BOOLEAN_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Integer Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PROPERTY_DEFINITION___INTEGER_TYPE = MEMBER_DEFINITION___INTEGER_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Integer Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PROPERTY_DEFINITION___IS_INTEGER_TYPE__ELEMENTREFERENCE = MEMBER_DEFINITION___IS_INTEGER_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PROPERTY_DEFINITION___STRING_TYPE = MEMBER_DEFINITION___STRING_TYPE;
+
+ /**
+ * The operation id for the '<em>Is String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PROPERTY_DEFINITION___IS_STRING_TYPE__ELEMENTREFERENCE = MEMBER_DEFINITION___IS_STRING_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Unlimited Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PROPERTY_DEFINITION___UNLIMITED_NATURAL_TYPE = MEMBER_DEFINITION___UNLIMITED_NATURAL_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Unlimited Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PROPERTY_DEFINITION___IS_UNLIMITED_NATURAL_TYPE__ELEMENTREFERENCE = MEMBER_DEFINITION___IS_UNLIMITED_NATURAL_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Bit String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PROPERTY_DEFINITION___BIT_STRING_TYPE = MEMBER_DEFINITION___BIT_STRING_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Bit String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PROPERTY_DEFINITION___IS_BIT_STRING_TYPE__ELEMENTREFERENCE = MEMBER_DEFINITION___IS_BIT_STRING_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PROPERTY_DEFINITION___NATURAL_TYPE = MEMBER_DEFINITION___NATURAL_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PROPERTY_DEFINITION___IS_NATURAL_TYPE__ELEMENTREFERENCE = MEMBER_DEFINITION___IS_NATURAL_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Numeric Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PROPERTY_DEFINITION___IS_NUMERIC_TYPE__ELEMENTREFERENCE = MEMBER_DEFINITION___IS_NUMERIC_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Collection Function Add</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PROPERTY_DEFINITION___COLLECTION_FUNCTION_ADD = MEMBER_DEFINITION___COLLECTION_FUNCTION_ADD;
+
+ /**
+ * The operation id for the '<em>Is Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PROPERTY_DEFINITION___IS_COLLECTION_CLASS__ELEMENTREFERENCE = MEMBER_DEFINITION___IS_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Integer Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PROPERTY_DEFINITION___IS_INTEGER_COLLECTION_CLASS__ELEMENTREFERENCE = MEMBER_DEFINITION___IS_INTEGER_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Bit String Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PROPERTY_DEFINITION___IS_BIT_STRING_COLLECTION_CLASS__ELEMENTREFERENCE = MEMBER_DEFINITION___IS_BIT_STRING_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Annotation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PROPERTY_DEFINITION___ANNOTATION = MEMBER_DEFINITION___ANNOTATION;
+
+ /**
+ * The operation id for the '<em>Actual Name</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PROPERTY_DEFINITION___ACTUAL_NAME = MEMBER_DEFINITION___ACTUAL_NAME;
+
+ /**
+ * The operation id for the '<em>Outer Scope</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PROPERTY_DEFINITION___OUTER_SCOPE = MEMBER_DEFINITION___OUTER_SCOPE;
+
+ /**
+ * The operation id for the '<em>Member Definition outer Scope</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PROPERTY_DEFINITION___MEMBER_DEFINITION_OUTER_SCOPE = MEMBER_DEFINITION___MEMBER_DEFINITION_OUTER_SCOPE;
+
+ /**
+ * The operation id for the '<em>Qualified Name</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PROPERTY_DEFINITION___QUALIFIED_NAME = MEMBER_DEFINITION___QUALIFIED_NAME;
+
+ /**
+ * The operation id for the '<em>Namespace Reference</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PROPERTY_DEFINITION___NAMESPACE_REFERENCE = MEMBER_DEFINITION___NAMESPACE_REFERENCE;
+
+ /**
+ * The operation id for the '<em>Add To Model</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PROPERTY_DEFINITION___ADD_TO_MODEL = MEMBER_DEFINITION___ADD_TO_MODEL;
+
+ /**
+ * The operation id for the '<em>Match For Stub</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PROPERTY_DEFINITION___MATCH_FOR_STUB__UNITDEFINITION = MEMBER_DEFINITION___MATCH_FOR_STUB__UNITDEFINITION;
+
+ /**
+ * The operation id for the '<em>Is Distinguishable From</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PROPERTY_DEFINITION___IS_DISTINGUISHABLE_FROM__MEMBERDEFINITION = MEMBER_DEFINITION___IS_DISTINGUISHABLE_FROM__MEMBERDEFINITION;
+
+ /**
+ * The operation id for the '<em>Member Definition is Distinguishable From</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PROPERTY_DEFINITION___MEMBER_DEFINITION_IS_DISTINGUISHABLE_FROM__MEMBERDEFINITION = MEMBER_DEFINITION___MEMBER_DEFINITION_IS_DISTINGUISHABLE_FROM__MEMBERDEFINITION;
+
+ /**
+ * The operation id for the '<em>Template Parameters</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PROPERTY_DEFINITION___TEMPLATE_PARAMETERS = MEMBER_DEFINITION___TEMPLATE_PARAMETERS;
+
+ /**
+ * The operation id for the '<em>Is Template</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PROPERTY_DEFINITION___IS_TEMPLATE = MEMBER_DEFINITION___IS_TEMPLATE;
+
+ /**
+ * The operation id for the '<em>Member Annotations</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PROPERTY_DEFINITION___MEMBER_ANNOTATIONS__DIAGNOSTICCHAIN_MAP = MEMBER_DEFINITION___MEMBER_ANNOTATIONS__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Member Is Primitive Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PROPERTY_DEFINITION___MEMBER_IS_PRIMITIVE_DERIVATION__DIAGNOSTICCHAIN_MAP = MEMBER_DEFINITION___MEMBER_IS_PRIMITIVE_DERIVATION__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Member Is External Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PROPERTY_DEFINITION___MEMBER_IS_EXTERNAL_DERIVATION__DIAGNOSTICCHAIN_MAP = MEMBER_DEFINITION___MEMBER_IS_EXTERNAL_DERIVATION__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Member External</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PROPERTY_DEFINITION___MEMBER_EXTERNAL__DIAGNOSTICCHAIN_MAP = MEMBER_DEFINITION___MEMBER_EXTERNAL__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Member Stub</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PROPERTY_DEFINITION___MEMBER_STUB__DIAGNOSTICCHAIN_MAP = MEMBER_DEFINITION___MEMBER_STUB__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Member Subunit Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PROPERTY_DEFINITION___MEMBER_SUBUNIT_DERIVATION__DIAGNOSTICCHAIN_MAP = MEMBER_DEFINITION___MEMBER_SUBUNIT_DERIVATION__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Member Stub Stereotypes</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PROPERTY_DEFINITION___MEMBER_STUB_STEREOTYPES__DIAGNOSTICCHAIN_MAP = MEMBER_DEFINITION___MEMBER_STUB_STEREOTYPES__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Member Primitive</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PROPERTY_DEFINITION___MEMBER_PRIMITIVE__DIAGNOSTICCHAIN_MAP = MEMBER_DEFINITION___MEMBER_PRIMITIVE__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Containing Member</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PROPERTY_DEFINITION___CONTAINING_MEMBER = MEMBER_DEFINITION___CONTAINING_MEMBER;
+
+ /**
+ * The operation id for the '<em>Assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PROPERTY_DEFINITION___ASSIGNMENTS_BEFORE__SYNTAXELEMENT = MEMBER_DEFINITION_OPERATION_COUNT + 0;
+
+ /**
+ * The operation id for the '<em>Annotation Allowed</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PROPERTY_DEFINITION___ANNOTATION_ALLOWED__STEREOTYPEANNOTATION = MEMBER_DEFINITION_OPERATION_COUNT + 1;
+
+ /**
+ * The operation id for the '<em>Is Same Kind As</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PROPERTY_DEFINITION___IS_SAME_KIND_AS__ELEMENTREFERENCE = MEMBER_DEFINITION_OPERATION_COUNT + 2;
+
+ /**
+ * The operation id for the '<em>Is Feature</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PROPERTY_DEFINITION___IS_FEATURE = MEMBER_DEFINITION_OPERATION_COUNT + 3;
+
+ /**
+ * The operation id for the '<em>Property Definition Initializer</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PROPERTY_DEFINITION___PROPERTY_DEFINITION_INITIALIZER__DIAGNOSTICCHAIN_MAP = MEMBER_DEFINITION_OPERATION_COUNT + 4;
+
+ /**
+ * The operation id for the '<em>Property Definition Is Collection Conversion Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PROPERTY_DEFINITION___PROPERTY_DEFINITION_IS_COLLECTION_CONVERSION_DERIVATION__DIAGNOSTICCHAIN_MAP = MEMBER_DEFINITION_OPERATION_COUNT + 5;
+
+ /**
+ * The operation id for the '<em>Property Definition Is Bit String Conversion Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PROPERTY_DEFINITION___PROPERTY_DEFINITION_IS_BIT_STRING_CONVERSION_DERIVATION__DIAGNOSTICCHAIN_MAP = MEMBER_DEFINITION_OPERATION_COUNT + 6;
+
+ /**
+ * The operation id for the '<em>Property Definition Is Feature Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PROPERTY_DEFINITION___PROPERTY_DEFINITION_IS_FEATURE_DERIVATION__DIAGNOSTICCHAIN_MAP = MEMBER_DEFINITION_OPERATION_COUNT + 7;
+
+ /**
+ * The number of operations of the '<em>Property Definition</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PROPERTY_DEFINITION_OPERATION_COUNT = MEMBER_DEFINITION_OPERATION_COUNT + 8;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.uml.alf.impl.SignalDefinitionImpl <em>Signal Definition</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.uml.alf.impl.SignalDefinitionImpl
+ * @see org.eclipse.papyrus.uml.alf.impl.AlfPackageImpl#getSignalDefinition()
+ * @generated
+ */
+ int SIGNAL_DEFINITION = 115;
+
+ /**
+ * The feature id for the '<em><b>Owner</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SIGNAL_DEFINITION__OWNER = CLASSIFIER_DEFINITION__OWNER;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SIGNAL_DEFINITION__NAME = CLASSIFIER_DEFINITION__NAME;
+
+ /**
+ * The feature id for the '<em><b>Is Stub</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SIGNAL_DEFINITION__IS_STUB = CLASSIFIER_DEFINITION__IS_STUB;
+
+ /**
+ * The feature id for the '<em><b>Is Feature</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SIGNAL_DEFINITION__IS_FEATURE = CLASSIFIER_DEFINITION__IS_FEATURE;
+
+ /**
+ * The feature id for the '<em><b>Is Primitive</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SIGNAL_DEFINITION__IS_PRIMITIVE = CLASSIFIER_DEFINITION__IS_PRIMITIVE;
+
+ /**
+ * The feature id for the '<em><b>Is External</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SIGNAL_DEFINITION__IS_EXTERNAL = CLASSIFIER_DEFINITION__IS_EXTERNAL;
+
+ /**
+ * The feature id for the '<em><b>Subunit</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SIGNAL_DEFINITION__SUBUNIT = CLASSIFIER_DEFINITION__SUBUNIT;
+
+ /**
+ * The feature id for the '<em><b>Owned Member</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SIGNAL_DEFINITION__OWNED_MEMBER = CLASSIFIER_DEFINITION__OWNED_MEMBER;
+
+ /**
+ * The feature id for the '<em><b>Unit</b></em>' container reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SIGNAL_DEFINITION__UNIT = CLASSIFIER_DEFINITION__UNIT;
+
+ /**
+ * The feature id for the '<em><b>Member</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SIGNAL_DEFINITION__MEMBER = CLASSIFIER_DEFINITION__MEMBER;
+
+ /**
+ * The feature id for the '<em><b>Is Abstract</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SIGNAL_DEFINITION__IS_ABSTRACT = CLASSIFIER_DEFINITION__IS_ABSTRACT;
+
+ /**
+ * The feature id for the '<em><b>Specialization</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SIGNAL_DEFINITION__SPECIALIZATION = CLASSIFIER_DEFINITION__SPECIALIZATION;
+
+ /**
+ * The feature id for the '<em><b>Specialization Referent</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SIGNAL_DEFINITION__SPECIALIZATION_REFERENT = CLASSIFIER_DEFINITION__SPECIALIZATION_REFERENT;
+
+ /**
+ * The number of structural features of the '<em>Signal Definition</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SIGNAL_DEFINITION_FEATURE_COUNT = CLASSIFIER_DEFINITION_FEATURE_COUNT + 0;
+
+ /**
+ * The operation id for the '<em>To Reference</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SIGNAL_DEFINITION___TO_REFERENCE = CLASSIFIER_DEFINITION___TO_REFERENCE;
+
+ /**
+ * The operation id for the '<em>Owner</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SIGNAL_DEFINITION___OWNER = CLASSIFIER_DEFINITION___OWNER;
+
+ /**
+ * The operation id for the '<em>Syntax Element owner</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SIGNAL_DEFINITION___SYNTAX_ELEMENT_OWNER = CLASSIFIER_DEFINITION___SYNTAX_ELEMENT_OWNER;
+
+ /**
+ * The operation id for the '<em>Syntax Element current Scope</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SIGNAL_DEFINITION___SYNTAX_ELEMENT_CURRENT_SCOPE = CLASSIFIER_DEFINITION___SYNTAX_ELEMENT_CURRENT_SCOPE;
+
+ /**
+ * The operation id for the '<em>Enclosing Statement</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SIGNAL_DEFINITION___ENCLOSING_STATEMENT = CLASSIFIER_DEFINITION___ENCLOSING_STATEMENT;
+
+ /**
+ * The operation id for the '<em>Enclosing Expression</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SIGNAL_DEFINITION___ENCLOSING_EXPRESSION = CLASSIFIER_DEFINITION___ENCLOSING_EXPRESSION;
+
+ /**
+ * The operation id for the '<em>Assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SIGNAL_DEFINITION___ASSIGNMENTS_BEFORE = CLASSIFIER_DEFINITION___ASSIGNMENTS_BEFORE;
+
+ /**
+ * The operation id for the '<em>Syntax Element assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SIGNAL_DEFINITION___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE = CLASSIFIER_DEFINITION___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE;
+
+ /**
+ * The operation id for the '<em>Syntax Element assignments Before base</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SIGNAL_DEFINITION___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE_BASE = CLASSIFIER_DEFINITION___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE_BASE;
+
+ /**
+ * The operation id for the '<em>Assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SIGNAL_DEFINITION___ASSIGNMENTS_BEFORE__SYNTAXELEMENT = CLASSIFIER_DEFINITION___ASSIGNMENTS_BEFORE__SYNTAXELEMENT;
+
+ /**
+ * The operation id for the '<em>Update All</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SIGNAL_DEFINITION___UPDATE_ALL__ELIST_ELIST = CLASSIFIER_DEFINITION___UPDATE_ALL__ELIST_ELIST;
+
+ /**
+ * The operation id for the '<em>Common Ancestor</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SIGNAL_DEFINITION___COMMON_ANCESTOR__ELIST = CLASSIFIER_DEFINITION___COMMON_ANCESTOR__ELIST;
+
+ /**
+ * The operation id for the '<em>Common Ancestors</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SIGNAL_DEFINITION___COMMON_ANCESTORS__ELIST = CLASSIFIER_DEFINITION___COMMON_ANCESTORS__ELIST;
+
+ /**
+ * The operation id for the '<em>Remove Duplicate Elements</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SIGNAL_DEFINITION___REMOVE_DUPLICATE_ELEMENTS__ELIST = CLASSIFIER_DEFINITION___REMOVE_DUPLICATE_ELEMENTS__ELIST;
+
+ /**
+ * The operation id for the '<em>Resolve In Library</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SIGNAL_DEFINITION___RESOLVE_IN_LIBRARY__STRING = CLASSIFIER_DEFINITION___RESOLVE_IN_LIBRARY__STRING;
+
+ /**
+ * The operation id for the '<em>Primitive Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SIGNAL_DEFINITION___PRIMITIVE_TYPE__STRING = CLASSIFIER_DEFINITION___PRIMITIVE_TYPE__STRING;
+
+ /**
+ * The operation id for the '<em>Primitive Type </em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SIGNAL_DEFINITION___PRIMITIVE_TYPE____STRING = CLASSIFIER_DEFINITION___PRIMITIVE_TYPE____STRING;
+
+ /**
+ * The operation id for the '<em>Boolean Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SIGNAL_DEFINITION___BOOLEAN_TYPE = CLASSIFIER_DEFINITION___BOOLEAN_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Boolean Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SIGNAL_DEFINITION___IS_BOOLEAN_TYPE__ELEMENTREFERENCE = CLASSIFIER_DEFINITION___IS_BOOLEAN_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Integer Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SIGNAL_DEFINITION___INTEGER_TYPE = CLASSIFIER_DEFINITION___INTEGER_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Integer Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SIGNAL_DEFINITION___IS_INTEGER_TYPE__ELEMENTREFERENCE = CLASSIFIER_DEFINITION___IS_INTEGER_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SIGNAL_DEFINITION___STRING_TYPE = CLASSIFIER_DEFINITION___STRING_TYPE;
+
+ /**
+ * The operation id for the '<em>Is String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SIGNAL_DEFINITION___IS_STRING_TYPE__ELEMENTREFERENCE = CLASSIFIER_DEFINITION___IS_STRING_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Unlimited Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SIGNAL_DEFINITION___UNLIMITED_NATURAL_TYPE = CLASSIFIER_DEFINITION___UNLIMITED_NATURAL_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Unlimited Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SIGNAL_DEFINITION___IS_UNLIMITED_NATURAL_TYPE__ELEMENTREFERENCE = CLASSIFIER_DEFINITION___IS_UNLIMITED_NATURAL_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Bit String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SIGNAL_DEFINITION___BIT_STRING_TYPE = CLASSIFIER_DEFINITION___BIT_STRING_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Bit String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SIGNAL_DEFINITION___IS_BIT_STRING_TYPE__ELEMENTREFERENCE = CLASSIFIER_DEFINITION___IS_BIT_STRING_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SIGNAL_DEFINITION___NATURAL_TYPE = CLASSIFIER_DEFINITION___NATURAL_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SIGNAL_DEFINITION___IS_NATURAL_TYPE__ELEMENTREFERENCE = CLASSIFIER_DEFINITION___IS_NATURAL_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Numeric Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SIGNAL_DEFINITION___IS_NUMERIC_TYPE__ELEMENTREFERENCE = CLASSIFIER_DEFINITION___IS_NUMERIC_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Collection Function Add</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SIGNAL_DEFINITION___COLLECTION_FUNCTION_ADD = CLASSIFIER_DEFINITION___COLLECTION_FUNCTION_ADD;
+
+ /**
+ * The operation id for the '<em>Is Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SIGNAL_DEFINITION___IS_COLLECTION_CLASS__ELEMENTREFERENCE = CLASSIFIER_DEFINITION___IS_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Integer Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SIGNAL_DEFINITION___IS_INTEGER_COLLECTION_CLASS__ELEMENTREFERENCE = CLASSIFIER_DEFINITION___IS_INTEGER_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Bit String Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SIGNAL_DEFINITION___IS_BIT_STRING_COLLECTION_CLASS__ELEMENTREFERENCE = CLASSIFIER_DEFINITION___IS_BIT_STRING_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Annotation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SIGNAL_DEFINITION___ANNOTATION = CLASSIFIER_DEFINITION___ANNOTATION;
+
+ /**
+ * The operation id for the '<em>Actual Name</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SIGNAL_DEFINITION___ACTUAL_NAME = CLASSIFIER_DEFINITION___ACTUAL_NAME;
+
+ /**
+ * The operation id for the '<em>Member Definition outer Scope</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SIGNAL_DEFINITION___MEMBER_DEFINITION_OUTER_SCOPE = CLASSIFIER_DEFINITION___MEMBER_DEFINITION_OUTER_SCOPE;
+
+ /**
+ * The operation id for the '<em>Qualified Name</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SIGNAL_DEFINITION___QUALIFIED_NAME = CLASSIFIER_DEFINITION___QUALIFIED_NAME;
+
+ /**
+ * The operation id for the '<em>Namespace Reference</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SIGNAL_DEFINITION___NAMESPACE_REFERENCE = CLASSIFIER_DEFINITION___NAMESPACE_REFERENCE;
+
+ /**
+ * The operation id for the '<em>Add To Model</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SIGNAL_DEFINITION___ADD_TO_MODEL = CLASSIFIER_DEFINITION___ADD_TO_MODEL;
+
+ /**
+ * The operation id for the '<em>Is Distinguishable From</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SIGNAL_DEFINITION___IS_DISTINGUISHABLE_FROM__MEMBERDEFINITION = CLASSIFIER_DEFINITION___IS_DISTINGUISHABLE_FROM__MEMBERDEFINITION;
+
+ /**
+ * The operation id for the '<em>Member Definition is Distinguishable From</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SIGNAL_DEFINITION___MEMBER_DEFINITION_IS_DISTINGUISHABLE_FROM__MEMBERDEFINITION = CLASSIFIER_DEFINITION___MEMBER_DEFINITION_IS_DISTINGUISHABLE_FROM__MEMBERDEFINITION;
+
+ /**
+ * The operation id for the '<em>Is Template</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SIGNAL_DEFINITION___IS_TEMPLATE = CLASSIFIER_DEFINITION___IS_TEMPLATE;
+
+ /**
+ * The operation id for the '<em>Is Feature</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SIGNAL_DEFINITION___IS_FEATURE = CLASSIFIER_DEFINITION___IS_FEATURE;
+
+ /**
+ * The operation id for the '<em>Member Annotations</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SIGNAL_DEFINITION___MEMBER_ANNOTATIONS__DIAGNOSTICCHAIN_MAP = CLASSIFIER_DEFINITION___MEMBER_ANNOTATIONS__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Member Is Primitive Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SIGNAL_DEFINITION___MEMBER_IS_PRIMITIVE_DERIVATION__DIAGNOSTICCHAIN_MAP = CLASSIFIER_DEFINITION___MEMBER_IS_PRIMITIVE_DERIVATION__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Member Is External Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SIGNAL_DEFINITION___MEMBER_IS_EXTERNAL_DERIVATION__DIAGNOSTICCHAIN_MAP = CLASSIFIER_DEFINITION___MEMBER_IS_EXTERNAL_DERIVATION__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Member External</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SIGNAL_DEFINITION___MEMBER_EXTERNAL__DIAGNOSTICCHAIN_MAP = CLASSIFIER_DEFINITION___MEMBER_EXTERNAL__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Member Stub</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SIGNAL_DEFINITION___MEMBER_STUB__DIAGNOSTICCHAIN_MAP = CLASSIFIER_DEFINITION___MEMBER_STUB__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Member Subunit Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SIGNAL_DEFINITION___MEMBER_SUBUNIT_DERIVATION__DIAGNOSTICCHAIN_MAP = CLASSIFIER_DEFINITION___MEMBER_SUBUNIT_DERIVATION__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Member Stub Stereotypes</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SIGNAL_DEFINITION___MEMBER_STUB_STEREOTYPES__DIAGNOSTICCHAIN_MAP = CLASSIFIER_DEFINITION___MEMBER_STUB_STEREOTYPES__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Member Primitive</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SIGNAL_DEFINITION___MEMBER_PRIMITIVE__DIAGNOSTICCHAIN_MAP = CLASSIFIER_DEFINITION___MEMBER_PRIMITIVE__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Containing Member</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SIGNAL_DEFINITION___CONTAINING_MEMBER = CLASSIFIER_DEFINITION___CONTAINING_MEMBER;
+
+ /**
+ * The operation id for the '<em>Current Scope</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SIGNAL_DEFINITION___CURRENT_SCOPE = CLASSIFIER_DEFINITION___CURRENT_SCOPE;
+
+ /**
+ * The operation id for the '<em>Outer Scope</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SIGNAL_DEFINITION___OUTER_SCOPE = CLASSIFIER_DEFINITION___OUTER_SCOPE;
+
+ /**
+ * The operation id for the '<em>Namespace Definition outer Scope</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SIGNAL_DEFINITION___NAMESPACE_DEFINITION_OUTER_SCOPE = CLASSIFIER_DEFINITION___NAMESPACE_DEFINITION_OUTER_SCOPE;
+
+ /**
+ * The operation id for the '<em>Model Namespace</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SIGNAL_DEFINITION___MODEL_NAMESPACE = CLASSIFIER_DEFINITION___MODEL_NAMESPACE;
+
+ /**
+ * The operation id for the '<em>Model Scope</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SIGNAL_DEFINITION___MODEL_SCOPE = CLASSIFIER_DEFINITION___MODEL_SCOPE;
+
+ /**
+ * The operation id for the '<em>Resolve In Scope</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SIGNAL_DEFINITION___RESOLVE_IN_SCOPE__STRING = CLASSIFIER_DEFINITION___RESOLVE_IN_SCOPE__STRING;
+
+ /**
+ * The operation id for the '<em>Applied Profiles</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SIGNAL_DEFINITION___APPLIED_PROFILES = CLASSIFIER_DEFINITION___APPLIED_PROFILES;
+
+ /**
+ * The operation id for the '<em>Namespace Definition applied Profiles</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SIGNAL_DEFINITION___NAMESPACE_DEFINITION_APPLIED_PROFILES = CLASSIFIER_DEFINITION___NAMESPACE_DEFINITION_APPLIED_PROFILES;
+
+ /**
+ * The operation id for the '<em>Parameters</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SIGNAL_DEFINITION___PARAMETERS = CLASSIFIER_DEFINITION___PARAMETERS;
+
+ /**
+ * The operation id for the '<em>Return Parameter</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SIGNAL_DEFINITION___RETURN_PARAMETER = CLASSIFIER_DEFINITION___RETURN_PARAMETER;
+
+ /**
+ * The operation id for the '<em>Namespace Definition return Parameter</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SIGNAL_DEFINITION___NAMESPACE_DEFINITION_RETURN_PARAMETER = CLASSIFIER_DEFINITION___NAMESPACE_DEFINITION_RETURN_PARAMETER;
+
+ /**
+ * The operation id for the '<em>Subunit Owned Members</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SIGNAL_DEFINITION___SUBUNIT_OWNED_MEMBERS = CLASSIFIER_DEFINITION___SUBUNIT_OWNED_MEMBERS;
+
+ /**
+ * The operation id for the '<em>Namespace Definition annotation Allowed</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SIGNAL_DEFINITION___NAMESPACE_DEFINITION_ANNOTATION_ALLOWED__STEREOTYPEANNOTATION = CLASSIFIER_DEFINITION___NAMESPACE_DEFINITION_ANNOTATION_ALLOWED__STEREOTYPEANNOTATION;
+
+ /**
+ * The operation id for the '<em>Template Parameters</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SIGNAL_DEFINITION___TEMPLATE_PARAMETERS = CLASSIFIER_DEFINITION___TEMPLATE_PARAMETERS;
+
+ /**
+ * The operation id for the '<em>Members Cached</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SIGNAL_DEFINITION___MEMBERS_CACHED = CLASSIFIER_DEFINITION___MEMBERS_CACHED;
+
+ /**
+ * The operation id for the '<em>Namespace Definition members</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SIGNAL_DEFINITION___NAMESPACE_DEFINITION_MEMBERS = CLASSIFIER_DEFINITION___NAMESPACE_DEFINITION_MEMBERS;
+
+ /**
+ * The operation id for the '<em>Imported Members</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SIGNAL_DEFINITION___IMPORTED_MEMBERS = CLASSIFIER_DEFINITION___IMPORTED_MEMBERS;
+
+ /**
+ * The operation id for the '<em>Import Members</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SIGNAL_DEFINITION___IMPORT_MEMBERS__ELIST = CLASSIFIER_DEFINITION___IMPORT_MEMBERS__ELIST;
+
+ /**
+ * The operation id for the '<em>Exclude Collisions</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SIGNAL_DEFINITION___EXCLUDE_COLLISIONS__ELIST = CLASSIFIER_DEFINITION___EXCLUDE_COLLISIONS__ELIST;
+
+ /**
+ * The operation id for the '<em>Remove Duplicates</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SIGNAL_DEFINITION___REMOVE_DUPLICATES__ELIST = CLASSIFIER_DEFINITION___REMOVE_DUPLICATES__ELIST;
+
+ /**
+ * The operation id for the '<em>Include Distinguishable Caching</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SIGNAL_DEFINITION___INCLUDE_DISTINGUISHABLE_CACHING__ELIST = CLASSIFIER_DEFINITION___INCLUDE_DISTINGUISHABLE_CACHING__ELIST;
+
+ /**
+ * The operation id for the '<em>Include Distinguishable</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SIGNAL_DEFINITION___INCLUDE_DISTINGUISHABLE__ELIST = CLASSIFIER_DEFINITION___INCLUDE_DISTINGUISHABLE__ELIST;
+
+ /**
+ * The operation id for the '<em>Stub</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SIGNAL_DEFINITION___STUB = CLASSIFIER_DEFINITION___STUB;
+
+ /**
+ * The operation id for the '<em>Stub For</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SIGNAL_DEFINITION___STUB_FOR__UNITDEFINITION = CLASSIFIER_DEFINITION___STUB_FOR__UNITDEFINITION;
+
+ /**
+ * The operation id for the '<em>Namespace Definition Member Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SIGNAL_DEFINITION___NAMESPACE_DEFINITION_MEMBER_DERIVATION__DIAGNOSTICCHAIN_MAP = CLASSIFIER_DEFINITION___NAMESPACE_DEFINITION_MEMBER_DERIVATION__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Namespace Definition Member Distinguishability</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SIGNAL_DEFINITION___NAMESPACE_DEFINITION_MEMBER_DISTINGUISHABILITY__DIAGNOSTICCHAIN_MAP = CLASSIFIER_DEFINITION___NAMESPACE_DEFINITION_MEMBER_DISTINGUISHABILITY__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Classifier Definition annotation Allowed</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SIGNAL_DEFINITION___CLASSIFIER_DEFINITION_ANNOTATION_ALLOWED__STEREOTYPEANNOTATION = CLASSIFIER_DEFINITION___CLASSIFIER_DEFINITION_ANNOTATION_ALLOWED__STEREOTYPEANNOTATION;
+
+ /**
+ * The operation id for the '<em>Classifier Definition match For Stub</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SIGNAL_DEFINITION___CLASSIFIER_DEFINITION_MATCH_FOR_STUB__UNITDEFINITION = CLASSIFIER_DEFINITION___CLASSIFIER_DEFINITION_MATCH_FOR_STUB__UNITDEFINITION;
+
+ /**
+ * The operation id for the '<em>Members</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SIGNAL_DEFINITION___MEMBERS = CLASSIFIER_DEFINITION___MEMBERS;
+
+ /**
+ * The operation id for the '<em>Inherited Members</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SIGNAL_DEFINITION___INHERITED_MEMBERS = CLASSIFIER_DEFINITION___INHERITED_MEMBERS;
+
+ /**
+ * The operation id for the '<em>Inherit</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SIGNAL_DEFINITION___INHERIT__ELIST = CLASSIFIER_DEFINITION___INHERIT__ELIST;
+
+ /**
+ * The operation id for the '<em>Classifier Definition Specialization</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SIGNAL_DEFINITION___CLASSIFIER_DEFINITION_SPECIALIZATION__DIAGNOSTICCHAIN_MAP = CLASSIFIER_DEFINITION___CLASSIFIER_DEFINITION_SPECIALIZATION__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Classifier Definition Specialization Referent Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SIGNAL_DEFINITION___CLASSIFIER_DEFINITION_SPECIALIZATION_REFERENT_DERIVATION__DIAGNOSTICCHAIN_MAP = CLASSIFIER_DEFINITION___CLASSIFIER_DEFINITION_SPECIALIZATION_REFERENT_DERIVATION__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Classifier Definition Inherited Members</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SIGNAL_DEFINITION___CLASSIFIER_DEFINITION_INHERITED_MEMBERS__DIAGNOSTICCHAIN_MAP = CLASSIFIER_DEFINITION___CLASSIFIER_DEFINITION_INHERITED_MEMBERS__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Match For Stub</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SIGNAL_DEFINITION___MATCH_FOR_STUB__UNITDEFINITION = CLASSIFIER_DEFINITION_OPERATION_COUNT + 0;
+
+ /**
+ * The operation id for the '<em>Annotation Allowed</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SIGNAL_DEFINITION___ANNOTATION_ALLOWED__STEREOTYPEANNOTATION = CLASSIFIER_DEFINITION_OPERATION_COUNT + 1;
+
+ /**
+ * The operation id for the '<em>Is Same Kind As</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SIGNAL_DEFINITION___IS_SAME_KIND_AS__ELEMENTREFERENCE = CLASSIFIER_DEFINITION_OPERATION_COUNT + 2;
+
+ /**
+ * The operation id for the '<em>Signal Definition Specialization Referent</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SIGNAL_DEFINITION___SIGNAL_DEFINITION_SPECIALIZATION_REFERENT__DIAGNOSTICCHAIN_MAP = CLASSIFIER_DEFINITION_OPERATION_COUNT + 3;
+
+ /**
+ * The number of operations of the '<em>Signal Definition</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SIGNAL_DEFINITION_OPERATION_COUNT = CLASSIFIER_DEFINITION_OPERATION_COUNT + 4;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.uml.alf.impl.ActiveClassDefinitionImpl <em>Active Class Definition</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.uml.alf.impl.ActiveClassDefinitionImpl
+ * @see org.eclipse.papyrus.uml.alf.impl.AlfPackageImpl#getActiveClassDefinition()
+ * @generated
+ */
+ int ACTIVE_CLASS_DEFINITION = 116;
+
+ /**
+ * The feature id for the '<em><b>Owner</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ACTIVE_CLASS_DEFINITION__OWNER = CLASS_DEFINITION__OWNER;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ACTIVE_CLASS_DEFINITION__NAME = CLASS_DEFINITION__NAME;
+
+ /**
+ * The feature id for the '<em><b>Is Stub</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ACTIVE_CLASS_DEFINITION__IS_STUB = CLASS_DEFINITION__IS_STUB;
+
+ /**
+ * The feature id for the '<em><b>Is Feature</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ACTIVE_CLASS_DEFINITION__IS_FEATURE = CLASS_DEFINITION__IS_FEATURE;
+
+ /**
+ * The feature id for the '<em><b>Is Primitive</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ACTIVE_CLASS_DEFINITION__IS_PRIMITIVE = CLASS_DEFINITION__IS_PRIMITIVE;
+
+ /**
+ * The feature id for the '<em><b>Is External</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ACTIVE_CLASS_DEFINITION__IS_EXTERNAL = CLASS_DEFINITION__IS_EXTERNAL;
+
+ /**
+ * The feature id for the '<em><b>Subunit</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ACTIVE_CLASS_DEFINITION__SUBUNIT = CLASS_DEFINITION__SUBUNIT;
+
+ /**
+ * The feature id for the '<em><b>Owned Member</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ACTIVE_CLASS_DEFINITION__OWNED_MEMBER = CLASS_DEFINITION__OWNED_MEMBER;
+
+ /**
+ * The feature id for the '<em><b>Unit</b></em>' container reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ACTIVE_CLASS_DEFINITION__UNIT = CLASS_DEFINITION__UNIT;
+
+ /**
+ * The feature id for the '<em><b>Member</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ACTIVE_CLASS_DEFINITION__MEMBER = CLASS_DEFINITION__MEMBER;
+
+ /**
+ * The feature id for the '<em><b>Is Abstract</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ACTIVE_CLASS_DEFINITION__IS_ABSTRACT = CLASS_DEFINITION__IS_ABSTRACT;
+
+ /**
+ * The feature id for the '<em><b>Specialization</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ACTIVE_CLASS_DEFINITION__SPECIALIZATION = CLASS_DEFINITION__SPECIALIZATION;
+
+ /**
+ * The feature id for the '<em><b>Specialization Referent</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ACTIVE_CLASS_DEFINITION__SPECIALIZATION_REFERENT = CLASS_DEFINITION__SPECIALIZATION_REFERENT;
+
+ /**
+ * The feature id for the '<em><b>Classifier Behavior</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ACTIVE_CLASS_DEFINITION__CLASSIFIER_BEHAVIOR = CLASS_DEFINITION_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the '<em>Active Class Definition</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ACTIVE_CLASS_DEFINITION_FEATURE_COUNT = CLASS_DEFINITION_FEATURE_COUNT + 1;
+
+ /**
+ * The operation id for the '<em>To Reference</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ACTIVE_CLASS_DEFINITION___TO_REFERENCE = CLASS_DEFINITION___TO_REFERENCE;
+
+ /**
+ * The operation id for the '<em>Owner</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ACTIVE_CLASS_DEFINITION___OWNER = CLASS_DEFINITION___OWNER;
+
+ /**
+ * The operation id for the '<em>Syntax Element owner</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ACTIVE_CLASS_DEFINITION___SYNTAX_ELEMENT_OWNER = CLASS_DEFINITION___SYNTAX_ELEMENT_OWNER;
+
+ /**
+ * The operation id for the '<em>Syntax Element current Scope</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ACTIVE_CLASS_DEFINITION___SYNTAX_ELEMENT_CURRENT_SCOPE = CLASS_DEFINITION___SYNTAX_ELEMENT_CURRENT_SCOPE;
+
+ /**
+ * The operation id for the '<em>Enclosing Statement</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ACTIVE_CLASS_DEFINITION___ENCLOSING_STATEMENT = CLASS_DEFINITION___ENCLOSING_STATEMENT;
+
+ /**
+ * The operation id for the '<em>Enclosing Expression</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ACTIVE_CLASS_DEFINITION___ENCLOSING_EXPRESSION = CLASS_DEFINITION___ENCLOSING_EXPRESSION;
+
+ /**
+ * The operation id for the '<em>Assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ACTIVE_CLASS_DEFINITION___ASSIGNMENTS_BEFORE = CLASS_DEFINITION___ASSIGNMENTS_BEFORE;
+
+ /**
+ * The operation id for the '<em>Syntax Element assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ACTIVE_CLASS_DEFINITION___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE = CLASS_DEFINITION___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE;
+
+ /**
+ * The operation id for the '<em>Syntax Element assignments Before base</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ACTIVE_CLASS_DEFINITION___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE_BASE = CLASS_DEFINITION___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE_BASE;
+
+ /**
+ * The operation id for the '<em>Assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ACTIVE_CLASS_DEFINITION___ASSIGNMENTS_BEFORE__SYNTAXELEMENT = CLASS_DEFINITION___ASSIGNMENTS_BEFORE__SYNTAXELEMENT;
+
+ /**
+ * The operation id for the '<em>Update All</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ACTIVE_CLASS_DEFINITION___UPDATE_ALL__ELIST_ELIST = CLASS_DEFINITION___UPDATE_ALL__ELIST_ELIST;
+
+ /**
+ * The operation id for the '<em>Common Ancestor</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ACTIVE_CLASS_DEFINITION___COMMON_ANCESTOR__ELIST = CLASS_DEFINITION___COMMON_ANCESTOR__ELIST;
+
+ /**
+ * The operation id for the '<em>Common Ancestors</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ACTIVE_CLASS_DEFINITION___COMMON_ANCESTORS__ELIST = CLASS_DEFINITION___COMMON_ANCESTORS__ELIST;
+
+ /**
+ * The operation id for the '<em>Remove Duplicate Elements</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ACTIVE_CLASS_DEFINITION___REMOVE_DUPLICATE_ELEMENTS__ELIST = CLASS_DEFINITION___REMOVE_DUPLICATE_ELEMENTS__ELIST;
+
+ /**
+ * The operation id for the '<em>Resolve In Library</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ACTIVE_CLASS_DEFINITION___RESOLVE_IN_LIBRARY__STRING = CLASS_DEFINITION___RESOLVE_IN_LIBRARY__STRING;
+
+ /**
+ * The operation id for the '<em>Primitive Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ACTIVE_CLASS_DEFINITION___PRIMITIVE_TYPE__STRING = CLASS_DEFINITION___PRIMITIVE_TYPE__STRING;
+
+ /**
+ * The operation id for the '<em>Primitive Type </em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ACTIVE_CLASS_DEFINITION___PRIMITIVE_TYPE____STRING = CLASS_DEFINITION___PRIMITIVE_TYPE____STRING;
+
+ /**
+ * The operation id for the '<em>Boolean Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ACTIVE_CLASS_DEFINITION___BOOLEAN_TYPE = CLASS_DEFINITION___BOOLEAN_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Boolean Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ACTIVE_CLASS_DEFINITION___IS_BOOLEAN_TYPE__ELEMENTREFERENCE = CLASS_DEFINITION___IS_BOOLEAN_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Integer Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ACTIVE_CLASS_DEFINITION___INTEGER_TYPE = CLASS_DEFINITION___INTEGER_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Integer Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ACTIVE_CLASS_DEFINITION___IS_INTEGER_TYPE__ELEMENTREFERENCE = CLASS_DEFINITION___IS_INTEGER_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ACTIVE_CLASS_DEFINITION___STRING_TYPE = CLASS_DEFINITION___STRING_TYPE;
+
+ /**
+ * The operation id for the '<em>Is String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ACTIVE_CLASS_DEFINITION___IS_STRING_TYPE__ELEMENTREFERENCE = CLASS_DEFINITION___IS_STRING_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Unlimited Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ACTIVE_CLASS_DEFINITION___UNLIMITED_NATURAL_TYPE = CLASS_DEFINITION___UNLIMITED_NATURAL_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Unlimited Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ACTIVE_CLASS_DEFINITION___IS_UNLIMITED_NATURAL_TYPE__ELEMENTREFERENCE = CLASS_DEFINITION___IS_UNLIMITED_NATURAL_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Bit String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ACTIVE_CLASS_DEFINITION___BIT_STRING_TYPE = CLASS_DEFINITION___BIT_STRING_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Bit String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ACTIVE_CLASS_DEFINITION___IS_BIT_STRING_TYPE__ELEMENTREFERENCE = CLASS_DEFINITION___IS_BIT_STRING_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ACTIVE_CLASS_DEFINITION___NATURAL_TYPE = CLASS_DEFINITION___NATURAL_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ACTIVE_CLASS_DEFINITION___IS_NATURAL_TYPE__ELEMENTREFERENCE = CLASS_DEFINITION___IS_NATURAL_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Numeric Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ACTIVE_CLASS_DEFINITION___IS_NUMERIC_TYPE__ELEMENTREFERENCE = CLASS_DEFINITION___IS_NUMERIC_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Collection Function Add</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ACTIVE_CLASS_DEFINITION___COLLECTION_FUNCTION_ADD = CLASS_DEFINITION___COLLECTION_FUNCTION_ADD;
+
+ /**
+ * The operation id for the '<em>Is Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ACTIVE_CLASS_DEFINITION___IS_COLLECTION_CLASS__ELEMENTREFERENCE = CLASS_DEFINITION___IS_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Integer Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ACTIVE_CLASS_DEFINITION___IS_INTEGER_COLLECTION_CLASS__ELEMENTREFERENCE = CLASS_DEFINITION___IS_INTEGER_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Bit String Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ACTIVE_CLASS_DEFINITION___IS_BIT_STRING_COLLECTION_CLASS__ELEMENTREFERENCE = CLASS_DEFINITION___IS_BIT_STRING_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Annotation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ACTIVE_CLASS_DEFINITION___ANNOTATION = CLASS_DEFINITION___ANNOTATION;
+
+ /**
+ * The operation id for the '<em>Actual Name</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ACTIVE_CLASS_DEFINITION___ACTUAL_NAME = CLASS_DEFINITION___ACTUAL_NAME;
+
+ /**
+ * The operation id for the '<em>Member Definition outer Scope</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ACTIVE_CLASS_DEFINITION___MEMBER_DEFINITION_OUTER_SCOPE = CLASS_DEFINITION___MEMBER_DEFINITION_OUTER_SCOPE;
+
+ /**
+ * The operation id for the '<em>Qualified Name</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ACTIVE_CLASS_DEFINITION___QUALIFIED_NAME = CLASS_DEFINITION___QUALIFIED_NAME;
+
+ /**
+ * The operation id for the '<em>Namespace Reference</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ACTIVE_CLASS_DEFINITION___NAMESPACE_REFERENCE = CLASS_DEFINITION___NAMESPACE_REFERENCE;
+
+ /**
+ * The operation id for the '<em>Add To Model</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ACTIVE_CLASS_DEFINITION___ADD_TO_MODEL = CLASS_DEFINITION___ADD_TO_MODEL;
+
+ /**
+ * The operation id for the '<em>Is Distinguishable From</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ACTIVE_CLASS_DEFINITION___IS_DISTINGUISHABLE_FROM__MEMBERDEFINITION = CLASS_DEFINITION___IS_DISTINGUISHABLE_FROM__MEMBERDEFINITION;
+
+ /**
+ * The operation id for the '<em>Member Definition is Distinguishable From</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ACTIVE_CLASS_DEFINITION___MEMBER_DEFINITION_IS_DISTINGUISHABLE_FROM__MEMBERDEFINITION = CLASS_DEFINITION___MEMBER_DEFINITION_IS_DISTINGUISHABLE_FROM__MEMBERDEFINITION;
+
+ /**
+ * The operation id for the '<em>Is Template</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ACTIVE_CLASS_DEFINITION___IS_TEMPLATE = CLASS_DEFINITION___IS_TEMPLATE;
+
+ /**
+ * The operation id for the '<em>Is Feature</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ACTIVE_CLASS_DEFINITION___IS_FEATURE = CLASS_DEFINITION___IS_FEATURE;
+
+ /**
+ * The operation id for the '<em>Member Annotations</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ACTIVE_CLASS_DEFINITION___MEMBER_ANNOTATIONS__DIAGNOSTICCHAIN_MAP = CLASS_DEFINITION___MEMBER_ANNOTATIONS__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Member Is Primitive Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ACTIVE_CLASS_DEFINITION___MEMBER_IS_PRIMITIVE_DERIVATION__DIAGNOSTICCHAIN_MAP = CLASS_DEFINITION___MEMBER_IS_PRIMITIVE_DERIVATION__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Member Is External Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ACTIVE_CLASS_DEFINITION___MEMBER_IS_EXTERNAL_DERIVATION__DIAGNOSTICCHAIN_MAP = CLASS_DEFINITION___MEMBER_IS_EXTERNAL_DERIVATION__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Member External</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ACTIVE_CLASS_DEFINITION___MEMBER_EXTERNAL__DIAGNOSTICCHAIN_MAP = CLASS_DEFINITION___MEMBER_EXTERNAL__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Member Stub</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ACTIVE_CLASS_DEFINITION___MEMBER_STUB__DIAGNOSTICCHAIN_MAP = CLASS_DEFINITION___MEMBER_STUB__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Member Subunit Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ACTIVE_CLASS_DEFINITION___MEMBER_SUBUNIT_DERIVATION__DIAGNOSTICCHAIN_MAP = CLASS_DEFINITION___MEMBER_SUBUNIT_DERIVATION__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Member Stub Stereotypes</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ACTIVE_CLASS_DEFINITION___MEMBER_STUB_STEREOTYPES__DIAGNOSTICCHAIN_MAP = CLASS_DEFINITION___MEMBER_STUB_STEREOTYPES__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Member Primitive</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ACTIVE_CLASS_DEFINITION___MEMBER_PRIMITIVE__DIAGNOSTICCHAIN_MAP = CLASS_DEFINITION___MEMBER_PRIMITIVE__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Containing Member</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ACTIVE_CLASS_DEFINITION___CONTAINING_MEMBER = CLASS_DEFINITION___CONTAINING_MEMBER;
+
+ /**
+ * The operation id for the '<em>Current Scope</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ACTIVE_CLASS_DEFINITION___CURRENT_SCOPE = CLASS_DEFINITION___CURRENT_SCOPE;
+
+ /**
+ * The operation id for the '<em>Outer Scope</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ACTIVE_CLASS_DEFINITION___OUTER_SCOPE = CLASS_DEFINITION___OUTER_SCOPE;
+
+ /**
+ * The operation id for the '<em>Namespace Definition outer Scope</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ACTIVE_CLASS_DEFINITION___NAMESPACE_DEFINITION_OUTER_SCOPE = CLASS_DEFINITION___NAMESPACE_DEFINITION_OUTER_SCOPE;
+
+ /**
+ * The operation id for the '<em>Model Namespace</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ACTIVE_CLASS_DEFINITION___MODEL_NAMESPACE = CLASS_DEFINITION___MODEL_NAMESPACE;
+
+ /**
+ * The operation id for the '<em>Model Scope</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ACTIVE_CLASS_DEFINITION___MODEL_SCOPE = CLASS_DEFINITION___MODEL_SCOPE;
+
+ /**
+ * The operation id for the '<em>Resolve In Scope</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ACTIVE_CLASS_DEFINITION___RESOLVE_IN_SCOPE__STRING = CLASS_DEFINITION___RESOLVE_IN_SCOPE__STRING;
+
+ /**
+ * The operation id for the '<em>Applied Profiles</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ACTIVE_CLASS_DEFINITION___APPLIED_PROFILES = CLASS_DEFINITION___APPLIED_PROFILES;
+
+ /**
+ * The operation id for the '<em>Namespace Definition applied Profiles</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ACTIVE_CLASS_DEFINITION___NAMESPACE_DEFINITION_APPLIED_PROFILES = CLASS_DEFINITION___NAMESPACE_DEFINITION_APPLIED_PROFILES;
+
+ /**
+ * The operation id for the '<em>Parameters</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ACTIVE_CLASS_DEFINITION___PARAMETERS = CLASS_DEFINITION___PARAMETERS;
+
+ /**
+ * The operation id for the '<em>Return Parameter</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ACTIVE_CLASS_DEFINITION___RETURN_PARAMETER = CLASS_DEFINITION___RETURN_PARAMETER;
+
+ /**
+ * The operation id for the '<em>Namespace Definition return Parameter</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ACTIVE_CLASS_DEFINITION___NAMESPACE_DEFINITION_RETURN_PARAMETER = CLASS_DEFINITION___NAMESPACE_DEFINITION_RETURN_PARAMETER;
+
+ /**
+ * The operation id for the '<em>Subunit Owned Members</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ACTIVE_CLASS_DEFINITION___SUBUNIT_OWNED_MEMBERS = CLASS_DEFINITION___SUBUNIT_OWNED_MEMBERS;
+
+ /**
+ * The operation id for the '<em>Namespace Definition annotation Allowed</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ACTIVE_CLASS_DEFINITION___NAMESPACE_DEFINITION_ANNOTATION_ALLOWED__STEREOTYPEANNOTATION = CLASS_DEFINITION___NAMESPACE_DEFINITION_ANNOTATION_ALLOWED__STEREOTYPEANNOTATION;
+
+ /**
+ * The operation id for the '<em>Template Parameters</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ACTIVE_CLASS_DEFINITION___TEMPLATE_PARAMETERS = CLASS_DEFINITION___TEMPLATE_PARAMETERS;
+
+ /**
+ * The operation id for the '<em>Members Cached</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ACTIVE_CLASS_DEFINITION___MEMBERS_CACHED = CLASS_DEFINITION___MEMBERS_CACHED;
+
+ /**
+ * The operation id for the '<em>Namespace Definition members</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ACTIVE_CLASS_DEFINITION___NAMESPACE_DEFINITION_MEMBERS = CLASS_DEFINITION___NAMESPACE_DEFINITION_MEMBERS;
+
+ /**
+ * The operation id for the '<em>Imported Members</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ACTIVE_CLASS_DEFINITION___IMPORTED_MEMBERS = CLASS_DEFINITION___IMPORTED_MEMBERS;
+
+ /**
+ * The operation id for the '<em>Import Members</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ACTIVE_CLASS_DEFINITION___IMPORT_MEMBERS__ELIST = CLASS_DEFINITION___IMPORT_MEMBERS__ELIST;
+
+ /**
+ * The operation id for the '<em>Exclude Collisions</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ACTIVE_CLASS_DEFINITION___EXCLUDE_COLLISIONS__ELIST = CLASS_DEFINITION___EXCLUDE_COLLISIONS__ELIST;
+
+ /**
+ * The operation id for the '<em>Remove Duplicates</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ACTIVE_CLASS_DEFINITION___REMOVE_DUPLICATES__ELIST = CLASS_DEFINITION___REMOVE_DUPLICATES__ELIST;
+
+ /**
+ * The operation id for the '<em>Include Distinguishable Caching</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ACTIVE_CLASS_DEFINITION___INCLUDE_DISTINGUISHABLE_CACHING__ELIST = CLASS_DEFINITION___INCLUDE_DISTINGUISHABLE_CACHING__ELIST;
+
+ /**
+ * The operation id for the '<em>Include Distinguishable</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ACTIVE_CLASS_DEFINITION___INCLUDE_DISTINGUISHABLE__ELIST = CLASS_DEFINITION___INCLUDE_DISTINGUISHABLE__ELIST;
+
+ /**
+ * The operation id for the '<em>Stub</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ACTIVE_CLASS_DEFINITION___STUB = CLASS_DEFINITION___STUB;
+
+ /**
+ * The operation id for the '<em>Stub For</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ACTIVE_CLASS_DEFINITION___STUB_FOR__UNITDEFINITION = CLASS_DEFINITION___STUB_FOR__UNITDEFINITION;
+
+ /**
+ * The operation id for the '<em>Namespace Definition Member Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ACTIVE_CLASS_DEFINITION___NAMESPACE_DEFINITION_MEMBER_DERIVATION__DIAGNOSTICCHAIN_MAP = CLASS_DEFINITION___NAMESPACE_DEFINITION_MEMBER_DERIVATION__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Namespace Definition Member Distinguishability</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ACTIVE_CLASS_DEFINITION___NAMESPACE_DEFINITION_MEMBER_DISTINGUISHABILITY__DIAGNOSTICCHAIN_MAP = CLASS_DEFINITION___NAMESPACE_DEFINITION_MEMBER_DISTINGUISHABILITY__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Classifier Definition annotation Allowed</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ACTIVE_CLASS_DEFINITION___CLASSIFIER_DEFINITION_ANNOTATION_ALLOWED__STEREOTYPEANNOTATION = CLASS_DEFINITION___CLASSIFIER_DEFINITION_ANNOTATION_ALLOWED__STEREOTYPEANNOTATION;
+
+ /**
+ * The operation id for the '<em>Classifier Definition match For Stub</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ACTIVE_CLASS_DEFINITION___CLASSIFIER_DEFINITION_MATCH_FOR_STUB__UNITDEFINITION = CLASS_DEFINITION___CLASSIFIER_DEFINITION_MATCH_FOR_STUB__UNITDEFINITION;
+
+ /**
+ * The operation id for the '<em>Members</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ACTIVE_CLASS_DEFINITION___MEMBERS = CLASS_DEFINITION___MEMBERS;
+
+ /**
+ * The operation id for the '<em>Inherited Members</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ACTIVE_CLASS_DEFINITION___INHERITED_MEMBERS = CLASS_DEFINITION___INHERITED_MEMBERS;
+
+ /**
+ * The operation id for the '<em>Classifier Definition Specialization</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ACTIVE_CLASS_DEFINITION___CLASSIFIER_DEFINITION_SPECIALIZATION__DIAGNOSTICCHAIN_MAP = CLASS_DEFINITION___CLASSIFIER_DEFINITION_SPECIALIZATION__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Classifier Definition Specialization Referent Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ACTIVE_CLASS_DEFINITION___CLASSIFIER_DEFINITION_SPECIALIZATION_REFERENT_DERIVATION__DIAGNOSTICCHAIN_MAP = CLASS_DEFINITION___CLASSIFIER_DEFINITION_SPECIALIZATION_REFERENT_DERIVATION__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Classifier Definition Inherited Members</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ACTIVE_CLASS_DEFINITION___CLASSIFIER_DEFINITION_INHERITED_MEMBERS__DIAGNOSTICCHAIN_MAP = CLASS_DEFINITION___CLASSIFIER_DEFINITION_INHERITED_MEMBERS__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Annotation Allowed</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ACTIVE_CLASS_DEFINITION___ANNOTATION_ALLOWED__STEREOTYPEANNOTATION = CLASS_DEFINITION___ANNOTATION_ALLOWED__STEREOTYPEANNOTATION;
+
+ /**
+ * The operation id for the '<em>Is Same Kind As</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ACTIVE_CLASS_DEFINITION___IS_SAME_KIND_AS__ELEMENTREFERENCE = CLASS_DEFINITION___IS_SAME_KIND_AS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Needs Default Constructor</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ACTIVE_CLASS_DEFINITION___NEEDS_DEFAULT_CONSTRUCTOR = CLASS_DEFINITION___NEEDS_DEFAULT_CONSTRUCTOR;
+
+ /**
+ * The operation id for the '<em>Needs Default Destructor</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ACTIVE_CLASS_DEFINITION___NEEDS_DEFAULT_DESTRUCTOR = CLASS_DEFINITION___NEEDS_DEFAULT_DESTRUCTOR;
+
+ /**
+ * The operation id for the '<em>Inherit</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ACTIVE_CLASS_DEFINITION___INHERIT__ELIST = CLASS_DEFINITION___INHERIT__ELIST;
+
+ /**
+ * The operation id for the '<em>Inherit Cached</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ACTIVE_CLASS_DEFINITION___INHERIT_CACHED__ELIST = CLASS_DEFINITION___INHERIT_CACHED__ELIST;
+
+ /**
+ * The operation id for the '<em>Class Definition inherit</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ACTIVE_CLASS_DEFINITION___CLASS_DEFINITION_INHERIT__ELIST = CLASS_DEFINITION___CLASS_DEFINITION_INHERIT__ELIST;
+
+ /**
+ * The operation id for the '<em>Class Definition Specialization Referent</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ACTIVE_CLASS_DEFINITION___CLASS_DEFINITION_SPECIALIZATION_REFERENT__DIAGNOSTICCHAIN_MAP = CLASS_DEFINITION___CLASS_DEFINITION_SPECIALIZATION_REFERENT__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Class Definition Abstract Member</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ACTIVE_CLASS_DEFINITION___CLASS_DEFINITION_ABSTRACT_MEMBER__DIAGNOSTICCHAIN_MAP = CLASS_DEFINITION___CLASS_DEFINITION_ABSTRACT_MEMBER__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Match For Stub</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ACTIVE_CLASS_DEFINITION___MATCH_FOR_STUB__UNITDEFINITION = CLASS_DEFINITION_OPERATION_COUNT + 0;
+
+ /**
+ * The operation id for the '<em>Active Class Definition Classifier Behavior</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ACTIVE_CLASS_DEFINITION___ACTIVE_CLASS_DEFINITION_CLASSIFIER_BEHAVIOR__DIAGNOSTICCHAIN_MAP = CLASS_DEFINITION_OPERATION_COUNT + 1;
+
+ /**
+ * The number of operations of the '<em>Active Class Definition</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ACTIVE_CLASS_DEFINITION_OPERATION_COUNT = CLASS_DEFINITION_OPERATION_COUNT + 2;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.uml.alf.impl.ActivityDefinitionImpl <em>Activity Definition</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.uml.alf.impl.ActivityDefinitionImpl
+ * @see org.eclipse.papyrus.uml.alf.impl.AlfPackageImpl#getActivityDefinition()
+ * @generated
+ */
+ int ACTIVITY_DEFINITION = 117;
+
+ /**
+ * The feature id for the '<em><b>Owner</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ACTIVITY_DEFINITION__OWNER = CLASSIFIER_DEFINITION__OWNER;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ACTIVITY_DEFINITION__NAME = CLASSIFIER_DEFINITION__NAME;
+
+ /**
+ * The feature id for the '<em><b>Is Stub</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ACTIVITY_DEFINITION__IS_STUB = CLASSIFIER_DEFINITION__IS_STUB;
+
+ /**
+ * The feature id for the '<em><b>Is Feature</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ACTIVITY_DEFINITION__IS_FEATURE = CLASSIFIER_DEFINITION__IS_FEATURE;
+
+ /**
+ * The feature id for the '<em><b>Is Primitive</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ACTIVITY_DEFINITION__IS_PRIMITIVE = CLASSIFIER_DEFINITION__IS_PRIMITIVE;
+
+ /**
+ * The feature id for the '<em><b>Is External</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ACTIVITY_DEFINITION__IS_EXTERNAL = CLASSIFIER_DEFINITION__IS_EXTERNAL;
+
+ /**
+ * The feature id for the '<em><b>Subunit</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ACTIVITY_DEFINITION__SUBUNIT = CLASSIFIER_DEFINITION__SUBUNIT;
+
+ /**
+ * The feature id for the '<em><b>Owned Member</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ACTIVITY_DEFINITION__OWNED_MEMBER = CLASSIFIER_DEFINITION__OWNED_MEMBER;
+
+ /**
+ * The feature id for the '<em><b>Unit</b></em>' container reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ACTIVITY_DEFINITION__UNIT = CLASSIFIER_DEFINITION__UNIT;
+
+ /**
+ * The feature id for the '<em><b>Member</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ACTIVITY_DEFINITION__MEMBER = CLASSIFIER_DEFINITION__MEMBER;
+
+ /**
+ * The feature id for the '<em><b>Is Abstract</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ACTIVITY_DEFINITION__IS_ABSTRACT = CLASSIFIER_DEFINITION__IS_ABSTRACT;
+
+ /**
+ * The feature id for the '<em><b>Specialization</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ACTIVITY_DEFINITION__SPECIALIZATION = CLASSIFIER_DEFINITION__SPECIALIZATION;
+
+ /**
+ * The feature id for the '<em><b>Specialization Referent</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ACTIVITY_DEFINITION__SPECIALIZATION_REFERENT = CLASSIFIER_DEFINITION__SPECIALIZATION_REFERENT;
+
+ /**
+ * The feature id for the '<em><b>Body</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ACTIVITY_DEFINITION__BODY = CLASSIFIER_DEFINITION_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the '<em>Activity Definition</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ACTIVITY_DEFINITION_FEATURE_COUNT = CLASSIFIER_DEFINITION_FEATURE_COUNT + 1;
+
+ /**
+ * The operation id for the '<em>To Reference</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ACTIVITY_DEFINITION___TO_REFERENCE = CLASSIFIER_DEFINITION___TO_REFERENCE;
+
+ /**
+ * The operation id for the '<em>Owner</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ACTIVITY_DEFINITION___OWNER = CLASSIFIER_DEFINITION___OWNER;
+
+ /**
+ * The operation id for the '<em>Syntax Element owner</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ACTIVITY_DEFINITION___SYNTAX_ELEMENT_OWNER = CLASSIFIER_DEFINITION___SYNTAX_ELEMENT_OWNER;
+
+ /**
+ * The operation id for the '<em>Syntax Element current Scope</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ACTIVITY_DEFINITION___SYNTAX_ELEMENT_CURRENT_SCOPE = CLASSIFIER_DEFINITION___SYNTAX_ELEMENT_CURRENT_SCOPE;
+
+ /**
+ * The operation id for the '<em>Enclosing Statement</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ACTIVITY_DEFINITION___ENCLOSING_STATEMENT = CLASSIFIER_DEFINITION___ENCLOSING_STATEMENT;
+
+ /**
+ * The operation id for the '<em>Enclosing Expression</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ACTIVITY_DEFINITION___ENCLOSING_EXPRESSION = CLASSIFIER_DEFINITION___ENCLOSING_EXPRESSION;
+
+ /**
+ * The operation id for the '<em>Assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ACTIVITY_DEFINITION___ASSIGNMENTS_BEFORE = CLASSIFIER_DEFINITION___ASSIGNMENTS_BEFORE;
+
+ /**
+ * The operation id for the '<em>Syntax Element assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ACTIVITY_DEFINITION___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE = CLASSIFIER_DEFINITION___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE;
+
+ /**
+ * The operation id for the '<em>Syntax Element assignments Before base</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ACTIVITY_DEFINITION___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE_BASE = CLASSIFIER_DEFINITION___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE_BASE;
+
+ /**
+ * The operation id for the '<em>Update All</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ACTIVITY_DEFINITION___UPDATE_ALL__ELIST_ELIST = CLASSIFIER_DEFINITION___UPDATE_ALL__ELIST_ELIST;
+
+ /**
+ * The operation id for the '<em>Common Ancestor</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ACTIVITY_DEFINITION___COMMON_ANCESTOR__ELIST = CLASSIFIER_DEFINITION___COMMON_ANCESTOR__ELIST;
+
+ /**
+ * The operation id for the '<em>Common Ancestors</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ACTIVITY_DEFINITION___COMMON_ANCESTORS__ELIST = CLASSIFIER_DEFINITION___COMMON_ANCESTORS__ELIST;
+
+ /**
+ * The operation id for the '<em>Remove Duplicate Elements</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ACTIVITY_DEFINITION___REMOVE_DUPLICATE_ELEMENTS__ELIST = CLASSIFIER_DEFINITION___REMOVE_DUPLICATE_ELEMENTS__ELIST;
+
+ /**
+ * The operation id for the '<em>Resolve In Library</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ACTIVITY_DEFINITION___RESOLVE_IN_LIBRARY__STRING = CLASSIFIER_DEFINITION___RESOLVE_IN_LIBRARY__STRING;
+
+ /**
+ * The operation id for the '<em>Primitive Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ACTIVITY_DEFINITION___PRIMITIVE_TYPE__STRING = CLASSIFIER_DEFINITION___PRIMITIVE_TYPE__STRING;
+
+ /**
+ * The operation id for the '<em>Primitive Type </em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ACTIVITY_DEFINITION___PRIMITIVE_TYPE____STRING = CLASSIFIER_DEFINITION___PRIMITIVE_TYPE____STRING;
+
+ /**
+ * The operation id for the '<em>Boolean Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ACTIVITY_DEFINITION___BOOLEAN_TYPE = CLASSIFIER_DEFINITION___BOOLEAN_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Boolean Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ACTIVITY_DEFINITION___IS_BOOLEAN_TYPE__ELEMENTREFERENCE = CLASSIFIER_DEFINITION___IS_BOOLEAN_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Integer Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ACTIVITY_DEFINITION___INTEGER_TYPE = CLASSIFIER_DEFINITION___INTEGER_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Integer Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ACTIVITY_DEFINITION___IS_INTEGER_TYPE__ELEMENTREFERENCE = CLASSIFIER_DEFINITION___IS_INTEGER_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ACTIVITY_DEFINITION___STRING_TYPE = CLASSIFIER_DEFINITION___STRING_TYPE;
+
+ /**
+ * The operation id for the '<em>Is String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ACTIVITY_DEFINITION___IS_STRING_TYPE__ELEMENTREFERENCE = CLASSIFIER_DEFINITION___IS_STRING_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Unlimited Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ACTIVITY_DEFINITION___UNLIMITED_NATURAL_TYPE = CLASSIFIER_DEFINITION___UNLIMITED_NATURAL_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Unlimited Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ACTIVITY_DEFINITION___IS_UNLIMITED_NATURAL_TYPE__ELEMENTREFERENCE = CLASSIFIER_DEFINITION___IS_UNLIMITED_NATURAL_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Bit String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ACTIVITY_DEFINITION___BIT_STRING_TYPE = CLASSIFIER_DEFINITION___BIT_STRING_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Bit String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ACTIVITY_DEFINITION___IS_BIT_STRING_TYPE__ELEMENTREFERENCE = CLASSIFIER_DEFINITION___IS_BIT_STRING_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ACTIVITY_DEFINITION___NATURAL_TYPE = CLASSIFIER_DEFINITION___NATURAL_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ACTIVITY_DEFINITION___IS_NATURAL_TYPE__ELEMENTREFERENCE = CLASSIFIER_DEFINITION___IS_NATURAL_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Numeric Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ACTIVITY_DEFINITION___IS_NUMERIC_TYPE__ELEMENTREFERENCE = CLASSIFIER_DEFINITION___IS_NUMERIC_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Collection Function Add</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ACTIVITY_DEFINITION___COLLECTION_FUNCTION_ADD = CLASSIFIER_DEFINITION___COLLECTION_FUNCTION_ADD;
+
+ /**
+ * The operation id for the '<em>Is Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ACTIVITY_DEFINITION___IS_COLLECTION_CLASS__ELEMENTREFERENCE = CLASSIFIER_DEFINITION___IS_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Integer Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ACTIVITY_DEFINITION___IS_INTEGER_COLLECTION_CLASS__ELEMENTREFERENCE = CLASSIFIER_DEFINITION___IS_INTEGER_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Bit String Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ACTIVITY_DEFINITION___IS_BIT_STRING_COLLECTION_CLASS__ELEMENTREFERENCE = CLASSIFIER_DEFINITION___IS_BIT_STRING_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Annotation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ACTIVITY_DEFINITION___ANNOTATION = CLASSIFIER_DEFINITION___ANNOTATION;
+
+ /**
+ * The operation id for the '<em>Actual Name</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ACTIVITY_DEFINITION___ACTUAL_NAME = CLASSIFIER_DEFINITION___ACTUAL_NAME;
+
+ /**
+ * The operation id for the '<em>Member Definition outer Scope</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ACTIVITY_DEFINITION___MEMBER_DEFINITION_OUTER_SCOPE = CLASSIFIER_DEFINITION___MEMBER_DEFINITION_OUTER_SCOPE;
+
+ /**
+ * The operation id for the '<em>Qualified Name</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ACTIVITY_DEFINITION___QUALIFIED_NAME = CLASSIFIER_DEFINITION___QUALIFIED_NAME;
+
+ /**
+ * The operation id for the '<em>Namespace Reference</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ACTIVITY_DEFINITION___NAMESPACE_REFERENCE = CLASSIFIER_DEFINITION___NAMESPACE_REFERENCE;
+
+ /**
+ * The operation id for the '<em>Add To Model</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ACTIVITY_DEFINITION___ADD_TO_MODEL = CLASSIFIER_DEFINITION___ADD_TO_MODEL;
+
+ /**
+ * The operation id for the '<em>Is Distinguishable From</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ACTIVITY_DEFINITION___IS_DISTINGUISHABLE_FROM__MEMBERDEFINITION = CLASSIFIER_DEFINITION___IS_DISTINGUISHABLE_FROM__MEMBERDEFINITION;
+
+ /**
+ * The operation id for the '<em>Member Definition is Distinguishable From</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ACTIVITY_DEFINITION___MEMBER_DEFINITION_IS_DISTINGUISHABLE_FROM__MEMBERDEFINITION = CLASSIFIER_DEFINITION___MEMBER_DEFINITION_IS_DISTINGUISHABLE_FROM__MEMBERDEFINITION;
+
+ /**
+ * The operation id for the '<em>Is Template</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ACTIVITY_DEFINITION___IS_TEMPLATE = CLASSIFIER_DEFINITION___IS_TEMPLATE;
+
+ /**
+ * The operation id for the '<em>Is Feature</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ACTIVITY_DEFINITION___IS_FEATURE = CLASSIFIER_DEFINITION___IS_FEATURE;
+
+ /**
+ * The operation id for the '<em>Member Annotations</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ACTIVITY_DEFINITION___MEMBER_ANNOTATIONS__DIAGNOSTICCHAIN_MAP = CLASSIFIER_DEFINITION___MEMBER_ANNOTATIONS__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Member Is Primitive Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ACTIVITY_DEFINITION___MEMBER_IS_PRIMITIVE_DERIVATION__DIAGNOSTICCHAIN_MAP = CLASSIFIER_DEFINITION___MEMBER_IS_PRIMITIVE_DERIVATION__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Member Is External Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ACTIVITY_DEFINITION___MEMBER_IS_EXTERNAL_DERIVATION__DIAGNOSTICCHAIN_MAP = CLASSIFIER_DEFINITION___MEMBER_IS_EXTERNAL_DERIVATION__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Member External</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ACTIVITY_DEFINITION___MEMBER_EXTERNAL__DIAGNOSTICCHAIN_MAP = CLASSIFIER_DEFINITION___MEMBER_EXTERNAL__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Member Stub</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ACTIVITY_DEFINITION___MEMBER_STUB__DIAGNOSTICCHAIN_MAP = CLASSIFIER_DEFINITION___MEMBER_STUB__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Member Subunit Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ACTIVITY_DEFINITION___MEMBER_SUBUNIT_DERIVATION__DIAGNOSTICCHAIN_MAP = CLASSIFIER_DEFINITION___MEMBER_SUBUNIT_DERIVATION__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Member Stub Stereotypes</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ACTIVITY_DEFINITION___MEMBER_STUB_STEREOTYPES__DIAGNOSTICCHAIN_MAP = CLASSIFIER_DEFINITION___MEMBER_STUB_STEREOTYPES__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Member Primitive</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ACTIVITY_DEFINITION___MEMBER_PRIMITIVE__DIAGNOSTICCHAIN_MAP = CLASSIFIER_DEFINITION___MEMBER_PRIMITIVE__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Containing Member</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ACTIVITY_DEFINITION___CONTAINING_MEMBER = CLASSIFIER_DEFINITION___CONTAINING_MEMBER;
+
+ /**
+ * The operation id for the '<em>Current Scope</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ACTIVITY_DEFINITION___CURRENT_SCOPE = CLASSIFIER_DEFINITION___CURRENT_SCOPE;
+
+ /**
+ * The operation id for the '<em>Namespace Definition outer Scope</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ACTIVITY_DEFINITION___NAMESPACE_DEFINITION_OUTER_SCOPE = CLASSIFIER_DEFINITION___NAMESPACE_DEFINITION_OUTER_SCOPE;
+
+ /**
+ * The operation id for the '<em>Model Namespace</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ACTIVITY_DEFINITION___MODEL_NAMESPACE = CLASSIFIER_DEFINITION___MODEL_NAMESPACE;
+
+ /**
+ * The operation id for the '<em>Model Scope</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ACTIVITY_DEFINITION___MODEL_SCOPE = CLASSIFIER_DEFINITION___MODEL_SCOPE;
+
+ /**
+ * The operation id for the '<em>Resolve In Scope</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ACTIVITY_DEFINITION___RESOLVE_IN_SCOPE__STRING = CLASSIFIER_DEFINITION___RESOLVE_IN_SCOPE__STRING;
+
+ /**
+ * The operation id for the '<em>Applied Profiles</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ACTIVITY_DEFINITION___APPLIED_PROFILES = CLASSIFIER_DEFINITION___APPLIED_PROFILES;
+
+ /**
+ * The operation id for the '<em>Namespace Definition applied Profiles</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ACTIVITY_DEFINITION___NAMESPACE_DEFINITION_APPLIED_PROFILES = CLASSIFIER_DEFINITION___NAMESPACE_DEFINITION_APPLIED_PROFILES;
+
+ /**
+ * The operation id for the '<em>Parameters</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ACTIVITY_DEFINITION___PARAMETERS = CLASSIFIER_DEFINITION___PARAMETERS;
+
+ /**
+ * The operation id for the '<em>Return Parameter</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ACTIVITY_DEFINITION___RETURN_PARAMETER = CLASSIFIER_DEFINITION___RETURN_PARAMETER;
+
+ /**
+ * The operation id for the '<em>Namespace Definition return Parameter</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ACTIVITY_DEFINITION___NAMESPACE_DEFINITION_RETURN_PARAMETER = CLASSIFIER_DEFINITION___NAMESPACE_DEFINITION_RETURN_PARAMETER;
+
+ /**
+ * The operation id for the '<em>Subunit Owned Members</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ACTIVITY_DEFINITION___SUBUNIT_OWNED_MEMBERS = CLASSIFIER_DEFINITION___SUBUNIT_OWNED_MEMBERS;
+
+ /**
+ * The operation id for the '<em>Namespace Definition annotation Allowed</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ACTIVITY_DEFINITION___NAMESPACE_DEFINITION_ANNOTATION_ALLOWED__STEREOTYPEANNOTATION = CLASSIFIER_DEFINITION___NAMESPACE_DEFINITION_ANNOTATION_ALLOWED__STEREOTYPEANNOTATION;
+
+ /**
+ * The operation id for the '<em>Template Parameters</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ACTIVITY_DEFINITION___TEMPLATE_PARAMETERS = CLASSIFIER_DEFINITION___TEMPLATE_PARAMETERS;
+
+ /**
+ * The operation id for the '<em>Members Cached</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ACTIVITY_DEFINITION___MEMBERS_CACHED = CLASSIFIER_DEFINITION___MEMBERS_CACHED;
+
+ /**
+ * The operation id for the '<em>Namespace Definition members</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ACTIVITY_DEFINITION___NAMESPACE_DEFINITION_MEMBERS = CLASSIFIER_DEFINITION___NAMESPACE_DEFINITION_MEMBERS;
+
+ /**
+ * The operation id for the '<em>Imported Members</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ACTIVITY_DEFINITION___IMPORTED_MEMBERS = CLASSIFIER_DEFINITION___IMPORTED_MEMBERS;
+
+ /**
+ * The operation id for the '<em>Import Members</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ACTIVITY_DEFINITION___IMPORT_MEMBERS__ELIST = CLASSIFIER_DEFINITION___IMPORT_MEMBERS__ELIST;
+
+ /**
+ * The operation id for the '<em>Exclude Collisions</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ACTIVITY_DEFINITION___EXCLUDE_COLLISIONS__ELIST = CLASSIFIER_DEFINITION___EXCLUDE_COLLISIONS__ELIST;
+
+ /**
+ * The operation id for the '<em>Remove Duplicates</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ACTIVITY_DEFINITION___REMOVE_DUPLICATES__ELIST = CLASSIFIER_DEFINITION___REMOVE_DUPLICATES__ELIST;
+
+ /**
+ * The operation id for the '<em>Include Distinguishable Caching</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ACTIVITY_DEFINITION___INCLUDE_DISTINGUISHABLE_CACHING__ELIST = CLASSIFIER_DEFINITION___INCLUDE_DISTINGUISHABLE_CACHING__ELIST;
+
+ /**
+ * The operation id for the '<em>Include Distinguishable</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ACTIVITY_DEFINITION___INCLUDE_DISTINGUISHABLE__ELIST = CLASSIFIER_DEFINITION___INCLUDE_DISTINGUISHABLE__ELIST;
+
+ /**
+ * The operation id for the '<em>Stub</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ACTIVITY_DEFINITION___STUB = CLASSIFIER_DEFINITION___STUB;
+
+ /**
+ * The operation id for the '<em>Stub For</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ACTIVITY_DEFINITION___STUB_FOR__UNITDEFINITION = CLASSIFIER_DEFINITION___STUB_FOR__UNITDEFINITION;
+
+ /**
+ * The operation id for the '<em>Namespace Definition Member Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ACTIVITY_DEFINITION___NAMESPACE_DEFINITION_MEMBER_DERIVATION__DIAGNOSTICCHAIN_MAP = CLASSIFIER_DEFINITION___NAMESPACE_DEFINITION_MEMBER_DERIVATION__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Namespace Definition Member Distinguishability</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ACTIVITY_DEFINITION___NAMESPACE_DEFINITION_MEMBER_DISTINGUISHABILITY__DIAGNOSTICCHAIN_MAP = CLASSIFIER_DEFINITION___NAMESPACE_DEFINITION_MEMBER_DISTINGUISHABILITY__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Classifier Definition annotation Allowed</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ACTIVITY_DEFINITION___CLASSIFIER_DEFINITION_ANNOTATION_ALLOWED__STEREOTYPEANNOTATION = CLASSIFIER_DEFINITION___CLASSIFIER_DEFINITION_ANNOTATION_ALLOWED__STEREOTYPEANNOTATION;
+
+ /**
+ * The operation id for the '<em>Classifier Definition match For Stub</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ACTIVITY_DEFINITION___CLASSIFIER_DEFINITION_MATCH_FOR_STUB__UNITDEFINITION = CLASSIFIER_DEFINITION___CLASSIFIER_DEFINITION_MATCH_FOR_STUB__UNITDEFINITION;
+
+ /**
+ * The operation id for the '<em>Members</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ACTIVITY_DEFINITION___MEMBERS = CLASSIFIER_DEFINITION___MEMBERS;
+
+ /**
+ * The operation id for the '<em>Inherited Members</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ACTIVITY_DEFINITION___INHERITED_MEMBERS = CLASSIFIER_DEFINITION___INHERITED_MEMBERS;
+
+ /**
+ * The operation id for the '<em>Inherit</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ACTIVITY_DEFINITION___INHERIT__ELIST = CLASSIFIER_DEFINITION___INHERIT__ELIST;
+
+ /**
+ * The operation id for the '<em>Classifier Definition Specialization</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ACTIVITY_DEFINITION___CLASSIFIER_DEFINITION_SPECIALIZATION__DIAGNOSTICCHAIN_MAP = CLASSIFIER_DEFINITION___CLASSIFIER_DEFINITION_SPECIALIZATION__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Classifier Definition Specialization Referent Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ACTIVITY_DEFINITION___CLASSIFIER_DEFINITION_SPECIALIZATION_REFERENT_DERIVATION__DIAGNOSTICCHAIN_MAP = CLASSIFIER_DEFINITION___CLASSIFIER_DEFINITION_SPECIALIZATION_REFERENT_DERIVATION__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Classifier Definition Inherited Members</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ACTIVITY_DEFINITION___CLASSIFIER_DEFINITION_INHERITED_MEMBERS__DIAGNOSTICCHAIN_MAP = CLASSIFIER_DEFINITION___CLASSIFIER_DEFINITION_INHERITED_MEMBERS__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ACTIVITY_DEFINITION___ASSIGNMENTS_BEFORE__SYNTAXELEMENT = CLASSIFIER_DEFINITION_OPERATION_COUNT + 0;
+
+ /**
+ * The operation id for the '<em>Outer Scope</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ACTIVITY_DEFINITION___OUTER_SCOPE = CLASSIFIER_DEFINITION_OPERATION_COUNT + 1;
+
+ /**
+ * The operation id for the '<em>Annotation Allowed</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ACTIVITY_DEFINITION___ANNOTATION_ALLOWED__STEREOTYPEANNOTATION = CLASSIFIER_DEFINITION_OPERATION_COUNT + 2;
+
+ /**
+ * The operation id for the '<em>Match For Stub</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ACTIVITY_DEFINITION___MATCH_FOR_STUB__UNITDEFINITION = CLASSIFIER_DEFINITION_OPERATION_COUNT + 3;
+
+ /**
+ * The operation id for the '<em>Is Same Kind As</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ACTIVITY_DEFINITION___IS_SAME_KIND_AS__ELEMENTREFERENCE = CLASSIFIER_DEFINITION_OPERATION_COUNT + 4;
+
+ /**
+ * The operation id for the '<em>Activity Definition Specialization</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ACTIVITY_DEFINITION___ACTIVITY_DEFINITION_SPECIALIZATION__DIAGNOSTICCHAIN_MAP = CLASSIFIER_DEFINITION_OPERATION_COUNT + 5;
+
+ /**
+ * The operation id for the '<em>Activity Definition Primitive</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ACTIVITY_DEFINITION___ACTIVITY_DEFINITION_PRIMITIVE__DIAGNOSTICCHAIN_MAP = CLASSIFIER_DEFINITION_OPERATION_COUNT + 6;
+
+ /**
+ * The number of operations of the '<em>Activity Definition</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ACTIVITY_DEFINITION_OPERATION_COUNT = CLASSIFIER_DEFINITION_OPERATION_COUNT + 7;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.uml.alf.impl.ElementImportReferenceImpl <em>Element Import Reference</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.uml.alf.impl.ElementImportReferenceImpl
+ * @see org.eclipse.papyrus.uml.alf.impl.AlfPackageImpl#getElementImportReference()
+ * @generated
+ */
+ int ELEMENT_IMPORT_REFERENCE = 118;
+
+ /**
+ * The feature id for the '<em><b>Owner</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ELEMENT_IMPORT_REFERENCE__OWNER = IMPORT_REFERENCE__OWNER;
+
+ /**
+ * The feature id for the '<em><b>Visibility</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ELEMENT_IMPORT_REFERENCE__VISIBILITY = IMPORT_REFERENCE__VISIBILITY;
+
+ /**
+ * The feature id for the '<em><b>Referent Name</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ELEMENT_IMPORT_REFERENCE__REFERENT_NAME = IMPORT_REFERENCE__REFERENT_NAME;
+
+ /**
+ * The feature id for the '<em><b>Referent</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ELEMENT_IMPORT_REFERENCE__REFERENT = IMPORT_REFERENCE__REFERENT;
+
+ /**
+ * The feature id for the '<em><b>Unit</b></em>' container reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ELEMENT_IMPORT_REFERENCE__UNIT = IMPORT_REFERENCE__UNIT;
+
+ /**
+ * The feature id for the '<em><b>Alias</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ELEMENT_IMPORT_REFERENCE__ALIAS = IMPORT_REFERENCE_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the '<em>Element Import Reference</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ELEMENT_IMPORT_REFERENCE_FEATURE_COUNT = IMPORT_REFERENCE_FEATURE_COUNT + 1;
+
+ /**
+ * The operation id for the '<em>To Reference</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ELEMENT_IMPORT_REFERENCE___TO_REFERENCE = IMPORT_REFERENCE___TO_REFERENCE;
+
+ /**
+ * The operation id for the '<em>Owner</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ELEMENT_IMPORT_REFERENCE___OWNER = IMPORT_REFERENCE___OWNER;
+
+ /**
+ * The operation id for the '<em>Syntax Element owner</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ELEMENT_IMPORT_REFERENCE___SYNTAX_ELEMENT_OWNER = IMPORT_REFERENCE___SYNTAX_ELEMENT_OWNER;
+
+ /**
+ * The operation id for the '<em>Current Scope</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ELEMENT_IMPORT_REFERENCE___CURRENT_SCOPE = IMPORT_REFERENCE___CURRENT_SCOPE;
+
+ /**
+ * The operation id for the '<em>Syntax Element current Scope</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ELEMENT_IMPORT_REFERENCE___SYNTAX_ELEMENT_CURRENT_SCOPE = IMPORT_REFERENCE___SYNTAX_ELEMENT_CURRENT_SCOPE;
+
+ /**
+ * The operation id for the '<em>Enclosing Statement</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ELEMENT_IMPORT_REFERENCE___ENCLOSING_STATEMENT = IMPORT_REFERENCE___ENCLOSING_STATEMENT;
+
+ /**
+ * The operation id for the '<em>Enclosing Expression</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ELEMENT_IMPORT_REFERENCE___ENCLOSING_EXPRESSION = IMPORT_REFERENCE___ENCLOSING_EXPRESSION;
+
+ /**
+ * The operation id for the '<em>Assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ELEMENT_IMPORT_REFERENCE___ASSIGNMENTS_BEFORE = IMPORT_REFERENCE___ASSIGNMENTS_BEFORE;
+
+ /**
+ * The operation id for the '<em>Syntax Element assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ELEMENT_IMPORT_REFERENCE___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE = IMPORT_REFERENCE___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE;
+
+ /**
+ * The operation id for the '<em>Syntax Element assignments Before base</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ELEMENT_IMPORT_REFERENCE___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE_BASE = IMPORT_REFERENCE___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE_BASE;
+
+ /**
+ * The operation id for the '<em>Assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ELEMENT_IMPORT_REFERENCE___ASSIGNMENTS_BEFORE__SYNTAXELEMENT = IMPORT_REFERENCE___ASSIGNMENTS_BEFORE__SYNTAXELEMENT;
+
+ /**
+ * The operation id for the '<em>Update All</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ELEMENT_IMPORT_REFERENCE___UPDATE_ALL__ELIST_ELIST = IMPORT_REFERENCE___UPDATE_ALL__ELIST_ELIST;
+
+ /**
+ * The operation id for the '<em>Common Ancestor</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ELEMENT_IMPORT_REFERENCE___COMMON_ANCESTOR__ELIST = IMPORT_REFERENCE___COMMON_ANCESTOR__ELIST;
+
+ /**
+ * The operation id for the '<em>Common Ancestors</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ELEMENT_IMPORT_REFERENCE___COMMON_ANCESTORS__ELIST = IMPORT_REFERENCE___COMMON_ANCESTORS__ELIST;
+
+ /**
+ * The operation id for the '<em>Remove Duplicate Elements</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ELEMENT_IMPORT_REFERENCE___REMOVE_DUPLICATE_ELEMENTS__ELIST = IMPORT_REFERENCE___REMOVE_DUPLICATE_ELEMENTS__ELIST;
+
+ /**
+ * The operation id for the '<em>Resolve In Library</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ELEMENT_IMPORT_REFERENCE___RESOLVE_IN_LIBRARY__STRING = IMPORT_REFERENCE___RESOLVE_IN_LIBRARY__STRING;
+
+ /**
+ * The operation id for the '<em>Primitive Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ELEMENT_IMPORT_REFERENCE___PRIMITIVE_TYPE__STRING = IMPORT_REFERENCE___PRIMITIVE_TYPE__STRING;
+
+ /**
+ * The operation id for the '<em>Primitive Type </em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ELEMENT_IMPORT_REFERENCE___PRIMITIVE_TYPE____STRING = IMPORT_REFERENCE___PRIMITIVE_TYPE____STRING;
+
+ /**
+ * The operation id for the '<em>Boolean Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ELEMENT_IMPORT_REFERENCE___BOOLEAN_TYPE = IMPORT_REFERENCE___BOOLEAN_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Boolean Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ELEMENT_IMPORT_REFERENCE___IS_BOOLEAN_TYPE__ELEMENTREFERENCE = IMPORT_REFERENCE___IS_BOOLEAN_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Integer Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ELEMENT_IMPORT_REFERENCE___INTEGER_TYPE = IMPORT_REFERENCE___INTEGER_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Integer Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ELEMENT_IMPORT_REFERENCE___IS_INTEGER_TYPE__ELEMENTREFERENCE = IMPORT_REFERENCE___IS_INTEGER_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ELEMENT_IMPORT_REFERENCE___STRING_TYPE = IMPORT_REFERENCE___STRING_TYPE;
+
+ /**
+ * The operation id for the '<em>Is String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ELEMENT_IMPORT_REFERENCE___IS_STRING_TYPE__ELEMENTREFERENCE = IMPORT_REFERENCE___IS_STRING_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Unlimited Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ELEMENT_IMPORT_REFERENCE___UNLIMITED_NATURAL_TYPE = IMPORT_REFERENCE___UNLIMITED_NATURAL_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Unlimited Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ELEMENT_IMPORT_REFERENCE___IS_UNLIMITED_NATURAL_TYPE__ELEMENTREFERENCE = IMPORT_REFERENCE___IS_UNLIMITED_NATURAL_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Bit String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ELEMENT_IMPORT_REFERENCE___BIT_STRING_TYPE = IMPORT_REFERENCE___BIT_STRING_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Bit String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ELEMENT_IMPORT_REFERENCE___IS_BIT_STRING_TYPE__ELEMENTREFERENCE = IMPORT_REFERENCE___IS_BIT_STRING_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ELEMENT_IMPORT_REFERENCE___NATURAL_TYPE = IMPORT_REFERENCE___NATURAL_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ELEMENT_IMPORT_REFERENCE___IS_NATURAL_TYPE__ELEMENTREFERENCE = IMPORT_REFERENCE___IS_NATURAL_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Numeric Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ELEMENT_IMPORT_REFERENCE___IS_NUMERIC_TYPE__ELEMENTREFERENCE = IMPORT_REFERENCE___IS_NUMERIC_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Collection Function Add</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ELEMENT_IMPORT_REFERENCE___COLLECTION_FUNCTION_ADD = IMPORT_REFERENCE___COLLECTION_FUNCTION_ADD;
+
+ /**
+ * The operation id for the '<em>Is Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ELEMENT_IMPORT_REFERENCE___IS_COLLECTION_CLASS__ELEMENTREFERENCE = IMPORT_REFERENCE___IS_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Integer Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ELEMENT_IMPORT_REFERENCE___IS_INTEGER_COLLECTION_CLASS__ELEMENTREFERENCE = IMPORT_REFERENCE___IS_INTEGER_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Bit String Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ELEMENT_IMPORT_REFERENCE___IS_BIT_STRING_COLLECTION_CLASS__ELEMENTREFERENCE = IMPORT_REFERENCE___IS_BIT_STRING_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Import Reference Referent Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ELEMENT_IMPORT_REFERENCE___IMPORT_REFERENCE_REFERENT_DERIVATION__DIAGNOSTICCHAIN_MAP = IMPORT_REFERENCE___IMPORT_REFERENCE_REFERENT_DERIVATION__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Import Reference Referent</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ELEMENT_IMPORT_REFERENCE___IMPORT_REFERENCE_REFERENT__DIAGNOSTICCHAIN_MAP = IMPORT_REFERENCE___IMPORT_REFERENCE_REFERENT__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Imported Members</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ELEMENT_IMPORT_REFERENCE___IMPORTED_MEMBERS = IMPORT_REFERENCE_OPERATION_COUNT + 0;
+
+ /**
+ * The operation id for the '<em>Element Import Reference Referent</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ELEMENT_IMPORT_REFERENCE___ELEMENT_IMPORT_REFERENCE_REFERENT__DIAGNOSTICCHAIN_MAP = IMPORT_REFERENCE_OPERATION_COUNT + 1;
+
+ /**
+ * The number of operations of the '<em>Element Import Reference</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ELEMENT_IMPORT_REFERENCE_OPERATION_COUNT = IMPORT_REFERENCE_OPERATION_COUNT + 2;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.uml.alf.impl.SignalReceptionDefinitionImpl <em>Signal Reception Definition</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.uml.alf.impl.SignalReceptionDefinitionImpl
+ * @see org.eclipse.papyrus.uml.alf.impl.AlfPackageImpl#getSignalReceptionDefinition()
+ * @generated
+ */
+ int SIGNAL_RECEPTION_DEFINITION = 119;
+
+ /**
+ * The feature id for the '<em><b>Owner</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SIGNAL_RECEPTION_DEFINITION__OWNER = SIGNAL_DEFINITION__OWNER;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SIGNAL_RECEPTION_DEFINITION__NAME = SIGNAL_DEFINITION__NAME;
+
+ /**
+ * The feature id for the '<em><b>Is Stub</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SIGNAL_RECEPTION_DEFINITION__IS_STUB = SIGNAL_DEFINITION__IS_STUB;
+
+ /**
+ * The feature id for the '<em><b>Is Feature</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SIGNAL_RECEPTION_DEFINITION__IS_FEATURE = SIGNAL_DEFINITION__IS_FEATURE;
+
+ /**
+ * The feature id for the '<em><b>Is Primitive</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SIGNAL_RECEPTION_DEFINITION__IS_PRIMITIVE = SIGNAL_DEFINITION__IS_PRIMITIVE;
+
+ /**
+ * The feature id for the '<em><b>Is External</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SIGNAL_RECEPTION_DEFINITION__IS_EXTERNAL = SIGNAL_DEFINITION__IS_EXTERNAL;
+
+ /**
+ * The feature id for the '<em><b>Subunit</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SIGNAL_RECEPTION_DEFINITION__SUBUNIT = SIGNAL_DEFINITION__SUBUNIT;
+
+ /**
+ * The feature id for the '<em><b>Owned Member</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SIGNAL_RECEPTION_DEFINITION__OWNED_MEMBER = SIGNAL_DEFINITION__OWNED_MEMBER;
+
+ /**
+ * The feature id for the '<em><b>Unit</b></em>' container reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SIGNAL_RECEPTION_DEFINITION__UNIT = SIGNAL_DEFINITION__UNIT;
+
+ /**
+ * The feature id for the '<em><b>Member</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SIGNAL_RECEPTION_DEFINITION__MEMBER = SIGNAL_DEFINITION__MEMBER;
+
+ /**
+ * The feature id for the '<em><b>Is Abstract</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SIGNAL_RECEPTION_DEFINITION__IS_ABSTRACT = SIGNAL_DEFINITION__IS_ABSTRACT;
+
+ /**
+ * The feature id for the '<em><b>Specialization</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SIGNAL_RECEPTION_DEFINITION__SPECIALIZATION = SIGNAL_DEFINITION__SPECIALIZATION;
+
+ /**
+ * The feature id for the '<em><b>Specialization Referent</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SIGNAL_RECEPTION_DEFINITION__SPECIALIZATION_REFERENT = SIGNAL_DEFINITION__SPECIALIZATION_REFERENT;
+
+ /**
+ * The number of structural features of the '<em>Signal Reception Definition</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SIGNAL_RECEPTION_DEFINITION_FEATURE_COUNT = SIGNAL_DEFINITION_FEATURE_COUNT + 0;
+
+ /**
+ * The operation id for the '<em>To Reference</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SIGNAL_RECEPTION_DEFINITION___TO_REFERENCE = SIGNAL_DEFINITION___TO_REFERENCE;
+
+ /**
+ * The operation id for the '<em>Owner</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SIGNAL_RECEPTION_DEFINITION___OWNER = SIGNAL_DEFINITION___OWNER;
+
+ /**
+ * The operation id for the '<em>Syntax Element owner</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SIGNAL_RECEPTION_DEFINITION___SYNTAX_ELEMENT_OWNER = SIGNAL_DEFINITION___SYNTAX_ELEMENT_OWNER;
+
+ /**
+ * The operation id for the '<em>Syntax Element current Scope</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SIGNAL_RECEPTION_DEFINITION___SYNTAX_ELEMENT_CURRENT_SCOPE = SIGNAL_DEFINITION___SYNTAX_ELEMENT_CURRENT_SCOPE;
+
+ /**
+ * The operation id for the '<em>Enclosing Statement</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SIGNAL_RECEPTION_DEFINITION___ENCLOSING_STATEMENT = SIGNAL_DEFINITION___ENCLOSING_STATEMENT;
+
+ /**
+ * The operation id for the '<em>Enclosing Expression</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SIGNAL_RECEPTION_DEFINITION___ENCLOSING_EXPRESSION = SIGNAL_DEFINITION___ENCLOSING_EXPRESSION;
+
+ /**
+ * The operation id for the '<em>Assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SIGNAL_RECEPTION_DEFINITION___ASSIGNMENTS_BEFORE = SIGNAL_DEFINITION___ASSIGNMENTS_BEFORE;
+
+ /**
+ * The operation id for the '<em>Syntax Element assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SIGNAL_RECEPTION_DEFINITION___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE = SIGNAL_DEFINITION___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE;
+
+ /**
+ * The operation id for the '<em>Syntax Element assignments Before base</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SIGNAL_RECEPTION_DEFINITION___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE_BASE = SIGNAL_DEFINITION___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE_BASE;
+
+ /**
+ * The operation id for the '<em>Assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SIGNAL_RECEPTION_DEFINITION___ASSIGNMENTS_BEFORE__SYNTAXELEMENT = SIGNAL_DEFINITION___ASSIGNMENTS_BEFORE__SYNTAXELEMENT;
+
+ /**
+ * The operation id for the '<em>Update All</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SIGNAL_RECEPTION_DEFINITION___UPDATE_ALL__ELIST_ELIST = SIGNAL_DEFINITION___UPDATE_ALL__ELIST_ELIST;
+
+ /**
+ * The operation id for the '<em>Common Ancestor</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SIGNAL_RECEPTION_DEFINITION___COMMON_ANCESTOR__ELIST = SIGNAL_DEFINITION___COMMON_ANCESTOR__ELIST;
+
+ /**
+ * The operation id for the '<em>Common Ancestors</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SIGNAL_RECEPTION_DEFINITION___COMMON_ANCESTORS__ELIST = SIGNAL_DEFINITION___COMMON_ANCESTORS__ELIST;
+
+ /**
+ * The operation id for the '<em>Remove Duplicate Elements</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SIGNAL_RECEPTION_DEFINITION___REMOVE_DUPLICATE_ELEMENTS__ELIST = SIGNAL_DEFINITION___REMOVE_DUPLICATE_ELEMENTS__ELIST;
+
+ /**
+ * The operation id for the '<em>Resolve In Library</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SIGNAL_RECEPTION_DEFINITION___RESOLVE_IN_LIBRARY__STRING = SIGNAL_DEFINITION___RESOLVE_IN_LIBRARY__STRING;
+
+ /**
+ * The operation id for the '<em>Primitive Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SIGNAL_RECEPTION_DEFINITION___PRIMITIVE_TYPE__STRING = SIGNAL_DEFINITION___PRIMITIVE_TYPE__STRING;
+
+ /**
+ * The operation id for the '<em>Primitive Type </em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SIGNAL_RECEPTION_DEFINITION___PRIMITIVE_TYPE____STRING = SIGNAL_DEFINITION___PRIMITIVE_TYPE____STRING;
+
+ /**
+ * The operation id for the '<em>Boolean Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SIGNAL_RECEPTION_DEFINITION___BOOLEAN_TYPE = SIGNAL_DEFINITION___BOOLEAN_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Boolean Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SIGNAL_RECEPTION_DEFINITION___IS_BOOLEAN_TYPE__ELEMENTREFERENCE = SIGNAL_DEFINITION___IS_BOOLEAN_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Integer Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SIGNAL_RECEPTION_DEFINITION___INTEGER_TYPE = SIGNAL_DEFINITION___INTEGER_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Integer Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SIGNAL_RECEPTION_DEFINITION___IS_INTEGER_TYPE__ELEMENTREFERENCE = SIGNAL_DEFINITION___IS_INTEGER_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SIGNAL_RECEPTION_DEFINITION___STRING_TYPE = SIGNAL_DEFINITION___STRING_TYPE;
+
+ /**
+ * The operation id for the '<em>Is String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SIGNAL_RECEPTION_DEFINITION___IS_STRING_TYPE__ELEMENTREFERENCE = SIGNAL_DEFINITION___IS_STRING_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Unlimited Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SIGNAL_RECEPTION_DEFINITION___UNLIMITED_NATURAL_TYPE = SIGNAL_DEFINITION___UNLIMITED_NATURAL_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Unlimited Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SIGNAL_RECEPTION_DEFINITION___IS_UNLIMITED_NATURAL_TYPE__ELEMENTREFERENCE = SIGNAL_DEFINITION___IS_UNLIMITED_NATURAL_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Bit String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SIGNAL_RECEPTION_DEFINITION___BIT_STRING_TYPE = SIGNAL_DEFINITION___BIT_STRING_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Bit String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SIGNAL_RECEPTION_DEFINITION___IS_BIT_STRING_TYPE__ELEMENTREFERENCE = SIGNAL_DEFINITION___IS_BIT_STRING_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SIGNAL_RECEPTION_DEFINITION___NATURAL_TYPE = SIGNAL_DEFINITION___NATURAL_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SIGNAL_RECEPTION_DEFINITION___IS_NATURAL_TYPE__ELEMENTREFERENCE = SIGNAL_DEFINITION___IS_NATURAL_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Numeric Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SIGNAL_RECEPTION_DEFINITION___IS_NUMERIC_TYPE__ELEMENTREFERENCE = SIGNAL_DEFINITION___IS_NUMERIC_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Collection Function Add</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SIGNAL_RECEPTION_DEFINITION___COLLECTION_FUNCTION_ADD = SIGNAL_DEFINITION___COLLECTION_FUNCTION_ADD;
+
+ /**
+ * The operation id for the '<em>Is Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SIGNAL_RECEPTION_DEFINITION___IS_COLLECTION_CLASS__ELEMENTREFERENCE = SIGNAL_DEFINITION___IS_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Integer Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SIGNAL_RECEPTION_DEFINITION___IS_INTEGER_COLLECTION_CLASS__ELEMENTREFERENCE = SIGNAL_DEFINITION___IS_INTEGER_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Bit String Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SIGNAL_RECEPTION_DEFINITION___IS_BIT_STRING_COLLECTION_CLASS__ELEMENTREFERENCE = SIGNAL_DEFINITION___IS_BIT_STRING_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Annotation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SIGNAL_RECEPTION_DEFINITION___ANNOTATION = SIGNAL_DEFINITION___ANNOTATION;
+
+ /**
+ * The operation id for the '<em>Actual Name</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SIGNAL_RECEPTION_DEFINITION___ACTUAL_NAME = SIGNAL_DEFINITION___ACTUAL_NAME;
+
+ /**
+ * The operation id for the '<em>Member Definition outer Scope</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SIGNAL_RECEPTION_DEFINITION___MEMBER_DEFINITION_OUTER_SCOPE = SIGNAL_DEFINITION___MEMBER_DEFINITION_OUTER_SCOPE;
+
+ /**
+ * The operation id for the '<em>Qualified Name</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SIGNAL_RECEPTION_DEFINITION___QUALIFIED_NAME = SIGNAL_DEFINITION___QUALIFIED_NAME;
+
+ /**
+ * The operation id for the '<em>Namespace Reference</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SIGNAL_RECEPTION_DEFINITION___NAMESPACE_REFERENCE = SIGNAL_DEFINITION___NAMESPACE_REFERENCE;
+
+ /**
+ * The operation id for the '<em>Add To Model</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SIGNAL_RECEPTION_DEFINITION___ADD_TO_MODEL = SIGNAL_DEFINITION___ADD_TO_MODEL;
+
+ /**
+ * The operation id for the '<em>Is Distinguishable From</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SIGNAL_RECEPTION_DEFINITION___IS_DISTINGUISHABLE_FROM__MEMBERDEFINITION = SIGNAL_DEFINITION___IS_DISTINGUISHABLE_FROM__MEMBERDEFINITION;
+
+ /**
+ * The operation id for the '<em>Member Definition is Distinguishable From</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SIGNAL_RECEPTION_DEFINITION___MEMBER_DEFINITION_IS_DISTINGUISHABLE_FROM__MEMBERDEFINITION = SIGNAL_DEFINITION___MEMBER_DEFINITION_IS_DISTINGUISHABLE_FROM__MEMBERDEFINITION;
+
+ /**
+ * The operation id for the '<em>Is Template</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SIGNAL_RECEPTION_DEFINITION___IS_TEMPLATE = SIGNAL_DEFINITION___IS_TEMPLATE;
+
+ /**
+ * The operation id for the '<em>Member Annotations</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SIGNAL_RECEPTION_DEFINITION___MEMBER_ANNOTATIONS__DIAGNOSTICCHAIN_MAP = SIGNAL_DEFINITION___MEMBER_ANNOTATIONS__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Member Is Primitive Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SIGNAL_RECEPTION_DEFINITION___MEMBER_IS_PRIMITIVE_DERIVATION__DIAGNOSTICCHAIN_MAP = SIGNAL_DEFINITION___MEMBER_IS_PRIMITIVE_DERIVATION__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Member Is External Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SIGNAL_RECEPTION_DEFINITION___MEMBER_IS_EXTERNAL_DERIVATION__DIAGNOSTICCHAIN_MAP = SIGNAL_DEFINITION___MEMBER_IS_EXTERNAL_DERIVATION__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Member External</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SIGNAL_RECEPTION_DEFINITION___MEMBER_EXTERNAL__DIAGNOSTICCHAIN_MAP = SIGNAL_DEFINITION___MEMBER_EXTERNAL__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Member Stub</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SIGNAL_RECEPTION_DEFINITION___MEMBER_STUB__DIAGNOSTICCHAIN_MAP = SIGNAL_DEFINITION___MEMBER_STUB__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Member Subunit Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SIGNAL_RECEPTION_DEFINITION___MEMBER_SUBUNIT_DERIVATION__DIAGNOSTICCHAIN_MAP = SIGNAL_DEFINITION___MEMBER_SUBUNIT_DERIVATION__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Member Stub Stereotypes</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SIGNAL_RECEPTION_DEFINITION___MEMBER_STUB_STEREOTYPES__DIAGNOSTICCHAIN_MAP = SIGNAL_DEFINITION___MEMBER_STUB_STEREOTYPES__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Member Primitive</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SIGNAL_RECEPTION_DEFINITION___MEMBER_PRIMITIVE__DIAGNOSTICCHAIN_MAP = SIGNAL_DEFINITION___MEMBER_PRIMITIVE__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Containing Member</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SIGNAL_RECEPTION_DEFINITION___CONTAINING_MEMBER = SIGNAL_DEFINITION___CONTAINING_MEMBER;
+
+ /**
+ * The operation id for the '<em>Current Scope</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SIGNAL_RECEPTION_DEFINITION___CURRENT_SCOPE = SIGNAL_DEFINITION___CURRENT_SCOPE;
+
+ /**
+ * The operation id for the '<em>Outer Scope</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SIGNAL_RECEPTION_DEFINITION___OUTER_SCOPE = SIGNAL_DEFINITION___OUTER_SCOPE;
+
+ /**
+ * The operation id for the '<em>Namespace Definition outer Scope</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SIGNAL_RECEPTION_DEFINITION___NAMESPACE_DEFINITION_OUTER_SCOPE = SIGNAL_DEFINITION___NAMESPACE_DEFINITION_OUTER_SCOPE;
+
+ /**
+ * The operation id for the '<em>Model Namespace</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SIGNAL_RECEPTION_DEFINITION___MODEL_NAMESPACE = SIGNAL_DEFINITION___MODEL_NAMESPACE;
+
+ /**
+ * The operation id for the '<em>Model Scope</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SIGNAL_RECEPTION_DEFINITION___MODEL_SCOPE = SIGNAL_DEFINITION___MODEL_SCOPE;
+
+ /**
+ * The operation id for the '<em>Resolve In Scope</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SIGNAL_RECEPTION_DEFINITION___RESOLVE_IN_SCOPE__STRING = SIGNAL_DEFINITION___RESOLVE_IN_SCOPE__STRING;
+
+ /**
+ * The operation id for the '<em>Applied Profiles</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SIGNAL_RECEPTION_DEFINITION___APPLIED_PROFILES = SIGNAL_DEFINITION___APPLIED_PROFILES;
+
+ /**
+ * The operation id for the '<em>Namespace Definition applied Profiles</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SIGNAL_RECEPTION_DEFINITION___NAMESPACE_DEFINITION_APPLIED_PROFILES = SIGNAL_DEFINITION___NAMESPACE_DEFINITION_APPLIED_PROFILES;
+
+ /**
+ * The operation id for the '<em>Parameters</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SIGNAL_RECEPTION_DEFINITION___PARAMETERS = SIGNAL_DEFINITION___PARAMETERS;
+
+ /**
+ * The operation id for the '<em>Return Parameter</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SIGNAL_RECEPTION_DEFINITION___RETURN_PARAMETER = SIGNAL_DEFINITION___RETURN_PARAMETER;
+
+ /**
+ * The operation id for the '<em>Namespace Definition return Parameter</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SIGNAL_RECEPTION_DEFINITION___NAMESPACE_DEFINITION_RETURN_PARAMETER = SIGNAL_DEFINITION___NAMESPACE_DEFINITION_RETURN_PARAMETER;
+
+ /**
+ * The operation id for the '<em>Subunit Owned Members</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SIGNAL_RECEPTION_DEFINITION___SUBUNIT_OWNED_MEMBERS = SIGNAL_DEFINITION___SUBUNIT_OWNED_MEMBERS;
+
+ /**
+ * The operation id for the '<em>Namespace Definition annotation Allowed</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SIGNAL_RECEPTION_DEFINITION___NAMESPACE_DEFINITION_ANNOTATION_ALLOWED__STEREOTYPEANNOTATION = SIGNAL_DEFINITION___NAMESPACE_DEFINITION_ANNOTATION_ALLOWED__STEREOTYPEANNOTATION;
+
+ /**
+ * The operation id for the '<em>Template Parameters</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SIGNAL_RECEPTION_DEFINITION___TEMPLATE_PARAMETERS = SIGNAL_DEFINITION___TEMPLATE_PARAMETERS;
+
+ /**
+ * The operation id for the '<em>Members Cached</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SIGNAL_RECEPTION_DEFINITION___MEMBERS_CACHED = SIGNAL_DEFINITION___MEMBERS_CACHED;
+
+ /**
+ * The operation id for the '<em>Namespace Definition members</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SIGNAL_RECEPTION_DEFINITION___NAMESPACE_DEFINITION_MEMBERS = SIGNAL_DEFINITION___NAMESPACE_DEFINITION_MEMBERS;
+
+ /**
+ * The operation id for the '<em>Imported Members</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SIGNAL_RECEPTION_DEFINITION___IMPORTED_MEMBERS = SIGNAL_DEFINITION___IMPORTED_MEMBERS;
+
+ /**
+ * The operation id for the '<em>Import Members</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SIGNAL_RECEPTION_DEFINITION___IMPORT_MEMBERS__ELIST = SIGNAL_DEFINITION___IMPORT_MEMBERS__ELIST;
+
+ /**
+ * The operation id for the '<em>Exclude Collisions</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SIGNAL_RECEPTION_DEFINITION___EXCLUDE_COLLISIONS__ELIST = SIGNAL_DEFINITION___EXCLUDE_COLLISIONS__ELIST;
+
+ /**
+ * The operation id for the '<em>Remove Duplicates</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SIGNAL_RECEPTION_DEFINITION___REMOVE_DUPLICATES__ELIST = SIGNAL_DEFINITION___REMOVE_DUPLICATES__ELIST;
+
+ /**
+ * The operation id for the '<em>Include Distinguishable Caching</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SIGNAL_RECEPTION_DEFINITION___INCLUDE_DISTINGUISHABLE_CACHING__ELIST = SIGNAL_DEFINITION___INCLUDE_DISTINGUISHABLE_CACHING__ELIST;
+
+ /**
+ * The operation id for the '<em>Include Distinguishable</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SIGNAL_RECEPTION_DEFINITION___INCLUDE_DISTINGUISHABLE__ELIST = SIGNAL_DEFINITION___INCLUDE_DISTINGUISHABLE__ELIST;
+
+ /**
+ * The operation id for the '<em>Stub</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SIGNAL_RECEPTION_DEFINITION___STUB = SIGNAL_DEFINITION___STUB;
+
+ /**
+ * The operation id for the '<em>Stub For</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SIGNAL_RECEPTION_DEFINITION___STUB_FOR__UNITDEFINITION = SIGNAL_DEFINITION___STUB_FOR__UNITDEFINITION;
+
+ /**
+ * The operation id for the '<em>Namespace Definition Member Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SIGNAL_RECEPTION_DEFINITION___NAMESPACE_DEFINITION_MEMBER_DERIVATION__DIAGNOSTICCHAIN_MAP = SIGNAL_DEFINITION___NAMESPACE_DEFINITION_MEMBER_DERIVATION__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Namespace Definition Member Distinguishability</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SIGNAL_RECEPTION_DEFINITION___NAMESPACE_DEFINITION_MEMBER_DISTINGUISHABILITY__DIAGNOSTICCHAIN_MAP = SIGNAL_DEFINITION___NAMESPACE_DEFINITION_MEMBER_DISTINGUISHABILITY__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Classifier Definition annotation Allowed</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SIGNAL_RECEPTION_DEFINITION___CLASSIFIER_DEFINITION_ANNOTATION_ALLOWED__STEREOTYPEANNOTATION = SIGNAL_DEFINITION___CLASSIFIER_DEFINITION_ANNOTATION_ALLOWED__STEREOTYPEANNOTATION;
+
+ /**
+ * The operation id for the '<em>Classifier Definition match For Stub</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SIGNAL_RECEPTION_DEFINITION___CLASSIFIER_DEFINITION_MATCH_FOR_STUB__UNITDEFINITION = SIGNAL_DEFINITION___CLASSIFIER_DEFINITION_MATCH_FOR_STUB__UNITDEFINITION;
+
+ /**
+ * The operation id for the '<em>Members</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SIGNAL_RECEPTION_DEFINITION___MEMBERS = SIGNAL_DEFINITION___MEMBERS;
+
+ /**
+ * The operation id for the '<em>Inherited Members</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SIGNAL_RECEPTION_DEFINITION___INHERITED_MEMBERS = SIGNAL_DEFINITION___INHERITED_MEMBERS;
+
+ /**
+ * The operation id for the '<em>Inherit</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SIGNAL_RECEPTION_DEFINITION___INHERIT__ELIST = SIGNAL_DEFINITION___INHERIT__ELIST;
+
+ /**
+ * The operation id for the '<em>Classifier Definition Specialization</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SIGNAL_RECEPTION_DEFINITION___CLASSIFIER_DEFINITION_SPECIALIZATION__DIAGNOSTICCHAIN_MAP = SIGNAL_DEFINITION___CLASSIFIER_DEFINITION_SPECIALIZATION__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Classifier Definition Specialization Referent Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SIGNAL_RECEPTION_DEFINITION___CLASSIFIER_DEFINITION_SPECIALIZATION_REFERENT_DERIVATION__DIAGNOSTICCHAIN_MAP = SIGNAL_DEFINITION___CLASSIFIER_DEFINITION_SPECIALIZATION_REFERENT_DERIVATION__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Classifier Definition Inherited Members</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SIGNAL_RECEPTION_DEFINITION___CLASSIFIER_DEFINITION_INHERITED_MEMBERS__DIAGNOSTICCHAIN_MAP = SIGNAL_DEFINITION___CLASSIFIER_DEFINITION_INHERITED_MEMBERS__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Match For Stub</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SIGNAL_RECEPTION_DEFINITION___MATCH_FOR_STUB__UNITDEFINITION = SIGNAL_DEFINITION___MATCH_FOR_STUB__UNITDEFINITION;
+
+ /**
+ * The operation id for the '<em>Annotation Allowed</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SIGNAL_RECEPTION_DEFINITION___ANNOTATION_ALLOWED__STEREOTYPEANNOTATION = SIGNAL_DEFINITION___ANNOTATION_ALLOWED__STEREOTYPEANNOTATION;
+
+ /**
+ * The operation id for the '<em>Is Same Kind As</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SIGNAL_RECEPTION_DEFINITION___IS_SAME_KIND_AS__ELEMENTREFERENCE = SIGNAL_DEFINITION___IS_SAME_KIND_AS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Signal Definition Specialization Referent</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SIGNAL_RECEPTION_DEFINITION___SIGNAL_DEFINITION_SPECIALIZATION_REFERENT__DIAGNOSTICCHAIN_MAP = SIGNAL_DEFINITION___SIGNAL_DEFINITION_SPECIALIZATION_REFERENT__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Is Feature</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SIGNAL_RECEPTION_DEFINITION___IS_FEATURE = SIGNAL_DEFINITION_OPERATION_COUNT + 0;
+
+ /**
+ * The operation id for the '<em>Signal Reception Definition Is Feature Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SIGNAL_RECEPTION_DEFINITION___SIGNAL_RECEPTION_DEFINITION_IS_FEATURE_DERIVATION__DIAGNOSTICCHAIN_MAP = SIGNAL_DEFINITION_OPERATION_COUNT + 1;
+
+ /**
+ * The number of operations of the '<em>Signal Reception Definition</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SIGNAL_RECEPTION_DEFINITION_OPERATION_COUNT = SIGNAL_DEFINITION_OPERATION_COUNT + 2;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.uml.alf.impl.EnumerationDefinitionImpl <em>Enumeration Definition</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.uml.alf.impl.EnumerationDefinitionImpl
+ * @see org.eclipse.papyrus.uml.alf.impl.AlfPackageImpl#getEnumerationDefinition()
+ * @generated
+ */
+ int ENUMERATION_DEFINITION = 120;
+
+ /**
+ * The feature id for the '<em><b>Owner</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ENUMERATION_DEFINITION__OWNER = CLASSIFIER_DEFINITION__OWNER;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ENUMERATION_DEFINITION__NAME = CLASSIFIER_DEFINITION__NAME;
+
+ /**
+ * The feature id for the '<em><b>Is Stub</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ENUMERATION_DEFINITION__IS_STUB = CLASSIFIER_DEFINITION__IS_STUB;
+
+ /**
+ * The feature id for the '<em><b>Is Feature</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ENUMERATION_DEFINITION__IS_FEATURE = CLASSIFIER_DEFINITION__IS_FEATURE;
+
+ /**
+ * The feature id for the '<em><b>Is Primitive</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ENUMERATION_DEFINITION__IS_PRIMITIVE = CLASSIFIER_DEFINITION__IS_PRIMITIVE;
+
+ /**
+ * The feature id for the '<em><b>Is External</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ENUMERATION_DEFINITION__IS_EXTERNAL = CLASSIFIER_DEFINITION__IS_EXTERNAL;
+
+ /**
+ * The feature id for the '<em><b>Subunit</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ENUMERATION_DEFINITION__SUBUNIT = CLASSIFIER_DEFINITION__SUBUNIT;
+
+ /**
+ * The feature id for the '<em><b>Owned Member</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ENUMERATION_DEFINITION__OWNED_MEMBER = CLASSIFIER_DEFINITION__OWNED_MEMBER;
+
+ /**
+ * The feature id for the '<em><b>Unit</b></em>' container reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ENUMERATION_DEFINITION__UNIT = CLASSIFIER_DEFINITION__UNIT;
+
+ /**
+ * The feature id for the '<em><b>Member</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ENUMERATION_DEFINITION__MEMBER = CLASSIFIER_DEFINITION__MEMBER;
+
+ /**
+ * The feature id for the '<em><b>Is Abstract</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ENUMERATION_DEFINITION__IS_ABSTRACT = CLASSIFIER_DEFINITION__IS_ABSTRACT;
+
+ /**
+ * The feature id for the '<em><b>Specialization</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ENUMERATION_DEFINITION__SPECIALIZATION = CLASSIFIER_DEFINITION__SPECIALIZATION;
+
+ /**
+ * The feature id for the '<em><b>Specialization Referent</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ENUMERATION_DEFINITION__SPECIALIZATION_REFERENT = CLASSIFIER_DEFINITION__SPECIALIZATION_REFERENT;
+
+ /**
+ * The number of structural features of the '<em>Enumeration Definition</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ENUMERATION_DEFINITION_FEATURE_COUNT = CLASSIFIER_DEFINITION_FEATURE_COUNT + 0;
+
+ /**
+ * The operation id for the '<em>To Reference</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ENUMERATION_DEFINITION___TO_REFERENCE = CLASSIFIER_DEFINITION___TO_REFERENCE;
+
+ /**
+ * The operation id for the '<em>Owner</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ENUMERATION_DEFINITION___OWNER = CLASSIFIER_DEFINITION___OWNER;
+
+ /**
+ * The operation id for the '<em>Syntax Element owner</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ENUMERATION_DEFINITION___SYNTAX_ELEMENT_OWNER = CLASSIFIER_DEFINITION___SYNTAX_ELEMENT_OWNER;
+
+ /**
+ * The operation id for the '<em>Syntax Element current Scope</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ENUMERATION_DEFINITION___SYNTAX_ELEMENT_CURRENT_SCOPE = CLASSIFIER_DEFINITION___SYNTAX_ELEMENT_CURRENT_SCOPE;
+
+ /**
+ * The operation id for the '<em>Enclosing Statement</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ENUMERATION_DEFINITION___ENCLOSING_STATEMENT = CLASSIFIER_DEFINITION___ENCLOSING_STATEMENT;
+
+ /**
+ * The operation id for the '<em>Enclosing Expression</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ENUMERATION_DEFINITION___ENCLOSING_EXPRESSION = CLASSIFIER_DEFINITION___ENCLOSING_EXPRESSION;
+
+ /**
+ * The operation id for the '<em>Assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ENUMERATION_DEFINITION___ASSIGNMENTS_BEFORE = CLASSIFIER_DEFINITION___ASSIGNMENTS_BEFORE;
+
+ /**
+ * The operation id for the '<em>Syntax Element assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ENUMERATION_DEFINITION___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE = CLASSIFIER_DEFINITION___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE;
+
+ /**
+ * The operation id for the '<em>Syntax Element assignments Before base</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ENUMERATION_DEFINITION___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE_BASE = CLASSIFIER_DEFINITION___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE_BASE;
+
+ /**
+ * The operation id for the '<em>Assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ENUMERATION_DEFINITION___ASSIGNMENTS_BEFORE__SYNTAXELEMENT = CLASSIFIER_DEFINITION___ASSIGNMENTS_BEFORE__SYNTAXELEMENT;
+
+ /**
+ * The operation id for the '<em>Update All</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ENUMERATION_DEFINITION___UPDATE_ALL__ELIST_ELIST = CLASSIFIER_DEFINITION___UPDATE_ALL__ELIST_ELIST;
+
+ /**
+ * The operation id for the '<em>Common Ancestor</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ENUMERATION_DEFINITION___COMMON_ANCESTOR__ELIST = CLASSIFIER_DEFINITION___COMMON_ANCESTOR__ELIST;
+
+ /**
+ * The operation id for the '<em>Common Ancestors</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ENUMERATION_DEFINITION___COMMON_ANCESTORS__ELIST = CLASSIFIER_DEFINITION___COMMON_ANCESTORS__ELIST;
+
+ /**
+ * The operation id for the '<em>Remove Duplicate Elements</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ENUMERATION_DEFINITION___REMOVE_DUPLICATE_ELEMENTS__ELIST = CLASSIFIER_DEFINITION___REMOVE_DUPLICATE_ELEMENTS__ELIST;
+
+ /**
+ * The operation id for the '<em>Resolve In Library</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ENUMERATION_DEFINITION___RESOLVE_IN_LIBRARY__STRING = CLASSIFIER_DEFINITION___RESOLVE_IN_LIBRARY__STRING;
+
+ /**
+ * The operation id for the '<em>Primitive Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ENUMERATION_DEFINITION___PRIMITIVE_TYPE__STRING = CLASSIFIER_DEFINITION___PRIMITIVE_TYPE__STRING;
+
+ /**
+ * The operation id for the '<em>Primitive Type </em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ENUMERATION_DEFINITION___PRIMITIVE_TYPE____STRING = CLASSIFIER_DEFINITION___PRIMITIVE_TYPE____STRING;
+
+ /**
+ * The operation id for the '<em>Boolean Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ENUMERATION_DEFINITION___BOOLEAN_TYPE = CLASSIFIER_DEFINITION___BOOLEAN_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Boolean Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ENUMERATION_DEFINITION___IS_BOOLEAN_TYPE__ELEMENTREFERENCE = CLASSIFIER_DEFINITION___IS_BOOLEAN_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Integer Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ENUMERATION_DEFINITION___INTEGER_TYPE = CLASSIFIER_DEFINITION___INTEGER_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Integer Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ENUMERATION_DEFINITION___IS_INTEGER_TYPE__ELEMENTREFERENCE = CLASSIFIER_DEFINITION___IS_INTEGER_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ENUMERATION_DEFINITION___STRING_TYPE = CLASSIFIER_DEFINITION___STRING_TYPE;
+
+ /**
+ * The operation id for the '<em>Is String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ENUMERATION_DEFINITION___IS_STRING_TYPE__ELEMENTREFERENCE = CLASSIFIER_DEFINITION___IS_STRING_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Unlimited Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ENUMERATION_DEFINITION___UNLIMITED_NATURAL_TYPE = CLASSIFIER_DEFINITION___UNLIMITED_NATURAL_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Unlimited Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ENUMERATION_DEFINITION___IS_UNLIMITED_NATURAL_TYPE__ELEMENTREFERENCE = CLASSIFIER_DEFINITION___IS_UNLIMITED_NATURAL_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Bit String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ENUMERATION_DEFINITION___BIT_STRING_TYPE = CLASSIFIER_DEFINITION___BIT_STRING_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Bit String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ENUMERATION_DEFINITION___IS_BIT_STRING_TYPE__ELEMENTREFERENCE = CLASSIFIER_DEFINITION___IS_BIT_STRING_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ENUMERATION_DEFINITION___NATURAL_TYPE = CLASSIFIER_DEFINITION___NATURAL_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ENUMERATION_DEFINITION___IS_NATURAL_TYPE__ELEMENTREFERENCE = CLASSIFIER_DEFINITION___IS_NATURAL_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Numeric Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ENUMERATION_DEFINITION___IS_NUMERIC_TYPE__ELEMENTREFERENCE = CLASSIFIER_DEFINITION___IS_NUMERIC_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Collection Function Add</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ENUMERATION_DEFINITION___COLLECTION_FUNCTION_ADD = CLASSIFIER_DEFINITION___COLLECTION_FUNCTION_ADD;
+
+ /**
+ * The operation id for the '<em>Is Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ENUMERATION_DEFINITION___IS_COLLECTION_CLASS__ELEMENTREFERENCE = CLASSIFIER_DEFINITION___IS_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Integer Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ENUMERATION_DEFINITION___IS_INTEGER_COLLECTION_CLASS__ELEMENTREFERENCE = CLASSIFIER_DEFINITION___IS_INTEGER_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Bit String Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ENUMERATION_DEFINITION___IS_BIT_STRING_COLLECTION_CLASS__ELEMENTREFERENCE = CLASSIFIER_DEFINITION___IS_BIT_STRING_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Annotation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ENUMERATION_DEFINITION___ANNOTATION = CLASSIFIER_DEFINITION___ANNOTATION;
+
+ /**
+ * The operation id for the '<em>Actual Name</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ENUMERATION_DEFINITION___ACTUAL_NAME = CLASSIFIER_DEFINITION___ACTUAL_NAME;
+
+ /**
+ * The operation id for the '<em>Member Definition outer Scope</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ENUMERATION_DEFINITION___MEMBER_DEFINITION_OUTER_SCOPE = CLASSIFIER_DEFINITION___MEMBER_DEFINITION_OUTER_SCOPE;
+
+ /**
+ * The operation id for the '<em>Qualified Name</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ENUMERATION_DEFINITION___QUALIFIED_NAME = CLASSIFIER_DEFINITION___QUALIFIED_NAME;
+
+ /**
+ * The operation id for the '<em>Namespace Reference</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ENUMERATION_DEFINITION___NAMESPACE_REFERENCE = CLASSIFIER_DEFINITION___NAMESPACE_REFERENCE;
+
+ /**
+ * The operation id for the '<em>Add To Model</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ENUMERATION_DEFINITION___ADD_TO_MODEL = CLASSIFIER_DEFINITION___ADD_TO_MODEL;
+
+ /**
+ * The operation id for the '<em>Is Distinguishable From</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ENUMERATION_DEFINITION___IS_DISTINGUISHABLE_FROM__MEMBERDEFINITION = CLASSIFIER_DEFINITION___IS_DISTINGUISHABLE_FROM__MEMBERDEFINITION;
+
+ /**
+ * The operation id for the '<em>Member Definition is Distinguishable From</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ENUMERATION_DEFINITION___MEMBER_DEFINITION_IS_DISTINGUISHABLE_FROM__MEMBERDEFINITION = CLASSIFIER_DEFINITION___MEMBER_DEFINITION_IS_DISTINGUISHABLE_FROM__MEMBERDEFINITION;
+
+ /**
+ * The operation id for the '<em>Is Template</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ENUMERATION_DEFINITION___IS_TEMPLATE = CLASSIFIER_DEFINITION___IS_TEMPLATE;
+
+ /**
+ * The operation id for the '<em>Is Feature</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ENUMERATION_DEFINITION___IS_FEATURE = CLASSIFIER_DEFINITION___IS_FEATURE;
+
+ /**
+ * The operation id for the '<em>Member Annotations</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ENUMERATION_DEFINITION___MEMBER_ANNOTATIONS__DIAGNOSTICCHAIN_MAP = CLASSIFIER_DEFINITION___MEMBER_ANNOTATIONS__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Member Is Primitive Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ENUMERATION_DEFINITION___MEMBER_IS_PRIMITIVE_DERIVATION__DIAGNOSTICCHAIN_MAP = CLASSIFIER_DEFINITION___MEMBER_IS_PRIMITIVE_DERIVATION__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Member Is External Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ENUMERATION_DEFINITION___MEMBER_IS_EXTERNAL_DERIVATION__DIAGNOSTICCHAIN_MAP = CLASSIFIER_DEFINITION___MEMBER_IS_EXTERNAL_DERIVATION__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Member External</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ENUMERATION_DEFINITION___MEMBER_EXTERNAL__DIAGNOSTICCHAIN_MAP = CLASSIFIER_DEFINITION___MEMBER_EXTERNAL__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Member Stub</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ENUMERATION_DEFINITION___MEMBER_STUB__DIAGNOSTICCHAIN_MAP = CLASSIFIER_DEFINITION___MEMBER_STUB__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Member Subunit Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ENUMERATION_DEFINITION___MEMBER_SUBUNIT_DERIVATION__DIAGNOSTICCHAIN_MAP = CLASSIFIER_DEFINITION___MEMBER_SUBUNIT_DERIVATION__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Member Stub Stereotypes</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ENUMERATION_DEFINITION___MEMBER_STUB_STEREOTYPES__DIAGNOSTICCHAIN_MAP = CLASSIFIER_DEFINITION___MEMBER_STUB_STEREOTYPES__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Member Primitive</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ENUMERATION_DEFINITION___MEMBER_PRIMITIVE__DIAGNOSTICCHAIN_MAP = CLASSIFIER_DEFINITION___MEMBER_PRIMITIVE__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Containing Member</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ENUMERATION_DEFINITION___CONTAINING_MEMBER = CLASSIFIER_DEFINITION___CONTAINING_MEMBER;
+
+ /**
+ * The operation id for the '<em>Current Scope</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ENUMERATION_DEFINITION___CURRENT_SCOPE = CLASSIFIER_DEFINITION___CURRENT_SCOPE;
+
+ /**
+ * The operation id for the '<em>Outer Scope</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ENUMERATION_DEFINITION___OUTER_SCOPE = CLASSIFIER_DEFINITION___OUTER_SCOPE;
+
+ /**
+ * The operation id for the '<em>Namespace Definition outer Scope</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ENUMERATION_DEFINITION___NAMESPACE_DEFINITION_OUTER_SCOPE = CLASSIFIER_DEFINITION___NAMESPACE_DEFINITION_OUTER_SCOPE;
+
+ /**
+ * The operation id for the '<em>Model Namespace</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ENUMERATION_DEFINITION___MODEL_NAMESPACE = CLASSIFIER_DEFINITION___MODEL_NAMESPACE;
+
+ /**
+ * The operation id for the '<em>Model Scope</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ENUMERATION_DEFINITION___MODEL_SCOPE = CLASSIFIER_DEFINITION___MODEL_SCOPE;
+
+ /**
+ * The operation id for the '<em>Resolve In Scope</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ENUMERATION_DEFINITION___RESOLVE_IN_SCOPE__STRING = CLASSIFIER_DEFINITION___RESOLVE_IN_SCOPE__STRING;
+
+ /**
+ * The operation id for the '<em>Applied Profiles</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ENUMERATION_DEFINITION___APPLIED_PROFILES = CLASSIFIER_DEFINITION___APPLIED_PROFILES;
+
+ /**
+ * The operation id for the '<em>Namespace Definition applied Profiles</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ENUMERATION_DEFINITION___NAMESPACE_DEFINITION_APPLIED_PROFILES = CLASSIFIER_DEFINITION___NAMESPACE_DEFINITION_APPLIED_PROFILES;
+
+ /**
+ * The operation id for the '<em>Parameters</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ENUMERATION_DEFINITION___PARAMETERS = CLASSIFIER_DEFINITION___PARAMETERS;
+
+ /**
+ * The operation id for the '<em>Return Parameter</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ENUMERATION_DEFINITION___RETURN_PARAMETER = CLASSIFIER_DEFINITION___RETURN_PARAMETER;
+
+ /**
+ * The operation id for the '<em>Namespace Definition return Parameter</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ENUMERATION_DEFINITION___NAMESPACE_DEFINITION_RETURN_PARAMETER = CLASSIFIER_DEFINITION___NAMESPACE_DEFINITION_RETURN_PARAMETER;
+
+ /**
+ * The operation id for the '<em>Subunit Owned Members</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ENUMERATION_DEFINITION___SUBUNIT_OWNED_MEMBERS = CLASSIFIER_DEFINITION___SUBUNIT_OWNED_MEMBERS;
+
+ /**
+ * The operation id for the '<em>Namespace Definition annotation Allowed</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ENUMERATION_DEFINITION___NAMESPACE_DEFINITION_ANNOTATION_ALLOWED__STEREOTYPEANNOTATION = CLASSIFIER_DEFINITION___NAMESPACE_DEFINITION_ANNOTATION_ALLOWED__STEREOTYPEANNOTATION;
+
+ /**
+ * The operation id for the '<em>Template Parameters</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ENUMERATION_DEFINITION___TEMPLATE_PARAMETERS = CLASSIFIER_DEFINITION___TEMPLATE_PARAMETERS;
+
+ /**
+ * The operation id for the '<em>Members Cached</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ENUMERATION_DEFINITION___MEMBERS_CACHED = CLASSIFIER_DEFINITION___MEMBERS_CACHED;
+
+ /**
+ * The operation id for the '<em>Namespace Definition members</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ENUMERATION_DEFINITION___NAMESPACE_DEFINITION_MEMBERS = CLASSIFIER_DEFINITION___NAMESPACE_DEFINITION_MEMBERS;
+
+ /**
+ * The operation id for the '<em>Imported Members</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ENUMERATION_DEFINITION___IMPORTED_MEMBERS = CLASSIFIER_DEFINITION___IMPORTED_MEMBERS;
+
+ /**
+ * The operation id for the '<em>Import Members</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ENUMERATION_DEFINITION___IMPORT_MEMBERS__ELIST = CLASSIFIER_DEFINITION___IMPORT_MEMBERS__ELIST;
+
+ /**
+ * The operation id for the '<em>Exclude Collisions</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ENUMERATION_DEFINITION___EXCLUDE_COLLISIONS__ELIST = CLASSIFIER_DEFINITION___EXCLUDE_COLLISIONS__ELIST;
+
+ /**
+ * The operation id for the '<em>Remove Duplicates</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ENUMERATION_DEFINITION___REMOVE_DUPLICATES__ELIST = CLASSIFIER_DEFINITION___REMOVE_DUPLICATES__ELIST;
+
+ /**
+ * The operation id for the '<em>Include Distinguishable Caching</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ENUMERATION_DEFINITION___INCLUDE_DISTINGUISHABLE_CACHING__ELIST = CLASSIFIER_DEFINITION___INCLUDE_DISTINGUISHABLE_CACHING__ELIST;
+
+ /**
+ * The operation id for the '<em>Include Distinguishable</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ENUMERATION_DEFINITION___INCLUDE_DISTINGUISHABLE__ELIST = CLASSIFIER_DEFINITION___INCLUDE_DISTINGUISHABLE__ELIST;
+
+ /**
+ * The operation id for the '<em>Stub</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ENUMERATION_DEFINITION___STUB = CLASSIFIER_DEFINITION___STUB;
+
+ /**
+ * The operation id for the '<em>Stub For</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ENUMERATION_DEFINITION___STUB_FOR__UNITDEFINITION = CLASSIFIER_DEFINITION___STUB_FOR__UNITDEFINITION;
+
+ /**
+ * The operation id for the '<em>Namespace Definition Member Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ENUMERATION_DEFINITION___NAMESPACE_DEFINITION_MEMBER_DERIVATION__DIAGNOSTICCHAIN_MAP = CLASSIFIER_DEFINITION___NAMESPACE_DEFINITION_MEMBER_DERIVATION__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Namespace Definition Member Distinguishability</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ENUMERATION_DEFINITION___NAMESPACE_DEFINITION_MEMBER_DISTINGUISHABILITY__DIAGNOSTICCHAIN_MAP = CLASSIFIER_DEFINITION___NAMESPACE_DEFINITION_MEMBER_DISTINGUISHABILITY__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Classifier Definition annotation Allowed</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ENUMERATION_DEFINITION___CLASSIFIER_DEFINITION_ANNOTATION_ALLOWED__STEREOTYPEANNOTATION = CLASSIFIER_DEFINITION___CLASSIFIER_DEFINITION_ANNOTATION_ALLOWED__STEREOTYPEANNOTATION;
+
+ /**
+ * The operation id for the '<em>Classifier Definition match For Stub</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ENUMERATION_DEFINITION___CLASSIFIER_DEFINITION_MATCH_FOR_STUB__UNITDEFINITION = CLASSIFIER_DEFINITION___CLASSIFIER_DEFINITION_MATCH_FOR_STUB__UNITDEFINITION;
+
+ /**
+ * The operation id for the '<em>Members</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ENUMERATION_DEFINITION___MEMBERS = CLASSIFIER_DEFINITION___MEMBERS;
+
+ /**
+ * The operation id for the '<em>Inherited Members</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ENUMERATION_DEFINITION___INHERITED_MEMBERS = CLASSIFIER_DEFINITION___INHERITED_MEMBERS;
+
+ /**
+ * The operation id for the '<em>Inherit</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ENUMERATION_DEFINITION___INHERIT__ELIST = CLASSIFIER_DEFINITION___INHERIT__ELIST;
+
+ /**
+ * The operation id for the '<em>Classifier Definition Specialization</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ENUMERATION_DEFINITION___CLASSIFIER_DEFINITION_SPECIALIZATION__DIAGNOSTICCHAIN_MAP = CLASSIFIER_DEFINITION___CLASSIFIER_DEFINITION_SPECIALIZATION__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Classifier Definition Specialization Referent Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ENUMERATION_DEFINITION___CLASSIFIER_DEFINITION_SPECIALIZATION_REFERENT_DERIVATION__DIAGNOSTICCHAIN_MAP = CLASSIFIER_DEFINITION___CLASSIFIER_DEFINITION_SPECIALIZATION_REFERENT_DERIVATION__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Classifier Definition Inherited Members</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ENUMERATION_DEFINITION___CLASSIFIER_DEFINITION_INHERITED_MEMBERS__DIAGNOSTICCHAIN_MAP = CLASSIFIER_DEFINITION___CLASSIFIER_DEFINITION_INHERITED_MEMBERS__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Match For Stub</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ENUMERATION_DEFINITION___MATCH_FOR_STUB__UNITDEFINITION = CLASSIFIER_DEFINITION_OPERATION_COUNT + 0;
+
+ /**
+ * The operation id for the '<em>Annotation Allowed</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ENUMERATION_DEFINITION___ANNOTATION_ALLOWED__STEREOTYPEANNOTATION = CLASSIFIER_DEFINITION_OPERATION_COUNT + 1;
+
+ /**
+ * The operation id for the '<em>Is Same Kind As</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ENUMERATION_DEFINITION___IS_SAME_KIND_AS__ELEMENTREFERENCE = CLASSIFIER_DEFINITION_OPERATION_COUNT + 2;
+
+ /**
+ * The operation id for the '<em>Enumeration Definition Specialization Referent</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ENUMERATION_DEFINITION___ENUMERATION_DEFINITION_SPECIALIZATION_REFERENT__DIAGNOSTICCHAIN_MAP = CLASSIFIER_DEFINITION_OPERATION_COUNT + 3;
+
+ /**
+ * The number of operations of the '<em>Enumeration Definition</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ENUMERATION_DEFINITION_OPERATION_COUNT = CLASSIFIER_DEFINITION_OPERATION_COUNT + 4;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.uml.alf.impl.PackageImportReferenceImpl <em>Package Import Reference</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.uml.alf.impl.PackageImportReferenceImpl
+ * @see org.eclipse.papyrus.uml.alf.impl.AlfPackageImpl#getPackageImportReference()
+ * @generated
+ */
+ int PACKAGE_IMPORT_REFERENCE = 121;
+
+ /**
+ * The feature id for the '<em><b>Owner</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PACKAGE_IMPORT_REFERENCE__OWNER = IMPORT_REFERENCE__OWNER;
+
+ /**
+ * The feature id for the '<em><b>Visibility</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PACKAGE_IMPORT_REFERENCE__VISIBILITY = IMPORT_REFERENCE__VISIBILITY;
+
+ /**
+ * The feature id for the '<em><b>Referent Name</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PACKAGE_IMPORT_REFERENCE__REFERENT_NAME = IMPORT_REFERENCE__REFERENT_NAME;
+
+ /**
+ * The feature id for the '<em><b>Referent</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PACKAGE_IMPORT_REFERENCE__REFERENT = IMPORT_REFERENCE__REFERENT;
+
+ /**
+ * The feature id for the '<em><b>Unit</b></em>' container reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PACKAGE_IMPORT_REFERENCE__UNIT = IMPORT_REFERENCE__UNIT;
+
+ /**
+ * The number of structural features of the '<em>Package Import Reference</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PACKAGE_IMPORT_REFERENCE_FEATURE_COUNT = IMPORT_REFERENCE_FEATURE_COUNT + 0;
+
+ /**
+ * The operation id for the '<em>To Reference</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PACKAGE_IMPORT_REFERENCE___TO_REFERENCE = IMPORT_REFERENCE___TO_REFERENCE;
+
+ /**
+ * The operation id for the '<em>Owner</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PACKAGE_IMPORT_REFERENCE___OWNER = IMPORT_REFERENCE___OWNER;
+
+ /**
+ * The operation id for the '<em>Syntax Element owner</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PACKAGE_IMPORT_REFERENCE___SYNTAX_ELEMENT_OWNER = IMPORT_REFERENCE___SYNTAX_ELEMENT_OWNER;
+
+ /**
+ * The operation id for the '<em>Current Scope</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PACKAGE_IMPORT_REFERENCE___CURRENT_SCOPE = IMPORT_REFERENCE___CURRENT_SCOPE;
+
+ /**
+ * The operation id for the '<em>Syntax Element current Scope</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PACKAGE_IMPORT_REFERENCE___SYNTAX_ELEMENT_CURRENT_SCOPE = IMPORT_REFERENCE___SYNTAX_ELEMENT_CURRENT_SCOPE;
+
+ /**
+ * The operation id for the '<em>Enclosing Statement</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PACKAGE_IMPORT_REFERENCE___ENCLOSING_STATEMENT = IMPORT_REFERENCE___ENCLOSING_STATEMENT;
+
+ /**
+ * The operation id for the '<em>Enclosing Expression</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PACKAGE_IMPORT_REFERENCE___ENCLOSING_EXPRESSION = IMPORT_REFERENCE___ENCLOSING_EXPRESSION;
+
+ /**
+ * The operation id for the '<em>Assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PACKAGE_IMPORT_REFERENCE___ASSIGNMENTS_BEFORE = IMPORT_REFERENCE___ASSIGNMENTS_BEFORE;
+
+ /**
+ * The operation id for the '<em>Syntax Element assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PACKAGE_IMPORT_REFERENCE___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE = IMPORT_REFERENCE___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE;
+
+ /**
+ * The operation id for the '<em>Syntax Element assignments Before base</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PACKAGE_IMPORT_REFERENCE___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE_BASE = IMPORT_REFERENCE___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE_BASE;
+
+ /**
+ * The operation id for the '<em>Assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PACKAGE_IMPORT_REFERENCE___ASSIGNMENTS_BEFORE__SYNTAXELEMENT = IMPORT_REFERENCE___ASSIGNMENTS_BEFORE__SYNTAXELEMENT;
+
+ /**
+ * The operation id for the '<em>Update All</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PACKAGE_IMPORT_REFERENCE___UPDATE_ALL__ELIST_ELIST = IMPORT_REFERENCE___UPDATE_ALL__ELIST_ELIST;
+
+ /**
+ * The operation id for the '<em>Common Ancestor</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PACKAGE_IMPORT_REFERENCE___COMMON_ANCESTOR__ELIST = IMPORT_REFERENCE___COMMON_ANCESTOR__ELIST;
+
+ /**
+ * The operation id for the '<em>Common Ancestors</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PACKAGE_IMPORT_REFERENCE___COMMON_ANCESTORS__ELIST = IMPORT_REFERENCE___COMMON_ANCESTORS__ELIST;
+
+ /**
+ * The operation id for the '<em>Remove Duplicate Elements</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PACKAGE_IMPORT_REFERENCE___REMOVE_DUPLICATE_ELEMENTS__ELIST = IMPORT_REFERENCE___REMOVE_DUPLICATE_ELEMENTS__ELIST;
+
+ /**
+ * The operation id for the '<em>Resolve In Library</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PACKAGE_IMPORT_REFERENCE___RESOLVE_IN_LIBRARY__STRING = IMPORT_REFERENCE___RESOLVE_IN_LIBRARY__STRING;
+
+ /**
+ * The operation id for the '<em>Primitive Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PACKAGE_IMPORT_REFERENCE___PRIMITIVE_TYPE__STRING = IMPORT_REFERENCE___PRIMITIVE_TYPE__STRING;
+
+ /**
+ * The operation id for the '<em>Primitive Type </em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PACKAGE_IMPORT_REFERENCE___PRIMITIVE_TYPE____STRING = IMPORT_REFERENCE___PRIMITIVE_TYPE____STRING;
+
+ /**
+ * The operation id for the '<em>Boolean Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PACKAGE_IMPORT_REFERENCE___BOOLEAN_TYPE = IMPORT_REFERENCE___BOOLEAN_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Boolean Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PACKAGE_IMPORT_REFERENCE___IS_BOOLEAN_TYPE__ELEMENTREFERENCE = IMPORT_REFERENCE___IS_BOOLEAN_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Integer Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PACKAGE_IMPORT_REFERENCE___INTEGER_TYPE = IMPORT_REFERENCE___INTEGER_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Integer Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PACKAGE_IMPORT_REFERENCE___IS_INTEGER_TYPE__ELEMENTREFERENCE = IMPORT_REFERENCE___IS_INTEGER_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PACKAGE_IMPORT_REFERENCE___STRING_TYPE = IMPORT_REFERENCE___STRING_TYPE;
+
+ /**
+ * The operation id for the '<em>Is String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PACKAGE_IMPORT_REFERENCE___IS_STRING_TYPE__ELEMENTREFERENCE = IMPORT_REFERENCE___IS_STRING_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Unlimited Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PACKAGE_IMPORT_REFERENCE___UNLIMITED_NATURAL_TYPE = IMPORT_REFERENCE___UNLIMITED_NATURAL_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Unlimited Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PACKAGE_IMPORT_REFERENCE___IS_UNLIMITED_NATURAL_TYPE__ELEMENTREFERENCE = IMPORT_REFERENCE___IS_UNLIMITED_NATURAL_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Bit String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PACKAGE_IMPORT_REFERENCE___BIT_STRING_TYPE = IMPORT_REFERENCE___BIT_STRING_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Bit String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PACKAGE_IMPORT_REFERENCE___IS_BIT_STRING_TYPE__ELEMENTREFERENCE = IMPORT_REFERENCE___IS_BIT_STRING_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PACKAGE_IMPORT_REFERENCE___NATURAL_TYPE = IMPORT_REFERENCE___NATURAL_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PACKAGE_IMPORT_REFERENCE___IS_NATURAL_TYPE__ELEMENTREFERENCE = IMPORT_REFERENCE___IS_NATURAL_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Numeric Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PACKAGE_IMPORT_REFERENCE___IS_NUMERIC_TYPE__ELEMENTREFERENCE = IMPORT_REFERENCE___IS_NUMERIC_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Collection Function Add</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PACKAGE_IMPORT_REFERENCE___COLLECTION_FUNCTION_ADD = IMPORT_REFERENCE___COLLECTION_FUNCTION_ADD;
+
+ /**
+ * The operation id for the '<em>Is Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PACKAGE_IMPORT_REFERENCE___IS_COLLECTION_CLASS__ELEMENTREFERENCE = IMPORT_REFERENCE___IS_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Integer Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PACKAGE_IMPORT_REFERENCE___IS_INTEGER_COLLECTION_CLASS__ELEMENTREFERENCE = IMPORT_REFERENCE___IS_INTEGER_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Bit String Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PACKAGE_IMPORT_REFERENCE___IS_BIT_STRING_COLLECTION_CLASS__ELEMENTREFERENCE = IMPORT_REFERENCE___IS_BIT_STRING_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Import Reference Referent Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PACKAGE_IMPORT_REFERENCE___IMPORT_REFERENCE_REFERENT_DERIVATION__DIAGNOSTICCHAIN_MAP = IMPORT_REFERENCE___IMPORT_REFERENCE_REFERENT_DERIVATION__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Import Reference Referent</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PACKAGE_IMPORT_REFERENCE___IMPORT_REFERENCE_REFERENT__DIAGNOSTICCHAIN_MAP = IMPORT_REFERENCE___IMPORT_REFERENCE_REFERENT__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Imported Members</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PACKAGE_IMPORT_REFERENCE___IMPORTED_MEMBERS = IMPORT_REFERENCE_OPERATION_COUNT + 0;
+
+ /**
+ * The operation id for the '<em>Package Import Reference Referent</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PACKAGE_IMPORT_REFERENCE___PACKAGE_IMPORT_REFERENCE_REFERENT__DIAGNOSTICCHAIN_MAP = IMPORT_REFERENCE_OPERATION_COUNT + 1;
+
+ /**
+ * The number of operations of the '<em>Package Import Reference</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PACKAGE_IMPORT_REFERENCE_OPERATION_COUNT = IMPORT_REFERENCE_OPERATION_COUNT + 2;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.uml.alf.impl.ClassifierTemplateParameterImpl <em>Classifier Template Parameter</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.uml.alf.impl.ClassifierTemplateParameterImpl
+ * @see org.eclipse.papyrus.uml.alf.impl.AlfPackageImpl#getClassifierTemplateParameter()
+ * @generated
+ */
+ int CLASSIFIER_TEMPLATE_PARAMETER = 122;
+
+ /**
+ * The feature id for the '<em><b>Owner</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASSIFIER_TEMPLATE_PARAMETER__OWNER = CLASSIFIER_DEFINITION__OWNER;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASSIFIER_TEMPLATE_PARAMETER__NAME = CLASSIFIER_DEFINITION__NAME;
+
+ /**
+ * The feature id for the '<em><b>Is Stub</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASSIFIER_TEMPLATE_PARAMETER__IS_STUB = CLASSIFIER_DEFINITION__IS_STUB;
+
+ /**
+ * The feature id for the '<em><b>Is Feature</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASSIFIER_TEMPLATE_PARAMETER__IS_FEATURE = CLASSIFIER_DEFINITION__IS_FEATURE;
+
+ /**
+ * The feature id for the '<em><b>Is Primitive</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASSIFIER_TEMPLATE_PARAMETER__IS_PRIMITIVE = CLASSIFIER_DEFINITION__IS_PRIMITIVE;
+
+ /**
+ * The feature id for the '<em><b>Is External</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASSIFIER_TEMPLATE_PARAMETER__IS_EXTERNAL = CLASSIFIER_DEFINITION__IS_EXTERNAL;
+
+ /**
+ * The feature id for the '<em><b>Subunit</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASSIFIER_TEMPLATE_PARAMETER__SUBUNIT = CLASSIFIER_DEFINITION__SUBUNIT;
+
+ /**
+ * The feature id for the '<em><b>Owned Member</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASSIFIER_TEMPLATE_PARAMETER__OWNED_MEMBER = CLASSIFIER_DEFINITION__OWNED_MEMBER;
+
+ /**
+ * The feature id for the '<em><b>Unit</b></em>' container reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASSIFIER_TEMPLATE_PARAMETER__UNIT = CLASSIFIER_DEFINITION__UNIT;
+
+ /**
+ * The feature id for the '<em><b>Member</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASSIFIER_TEMPLATE_PARAMETER__MEMBER = CLASSIFIER_DEFINITION__MEMBER;
+
+ /**
+ * The feature id for the '<em><b>Is Abstract</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASSIFIER_TEMPLATE_PARAMETER__IS_ABSTRACT = CLASSIFIER_DEFINITION__IS_ABSTRACT;
+
+ /**
+ * The feature id for the '<em><b>Specialization</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASSIFIER_TEMPLATE_PARAMETER__SPECIALIZATION = CLASSIFIER_DEFINITION__SPECIALIZATION;
+
+ /**
+ * The feature id for the '<em><b>Specialization Referent</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASSIFIER_TEMPLATE_PARAMETER__SPECIALIZATION_REFERENT = CLASSIFIER_DEFINITION__SPECIALIZATION_REFERENT;
+
+ /**
+ * The number of structural features of the '<em>Classifier Template Parameter</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASSIFIER_TEMPLATE_PARAMETER_FEATURE_COUNT = CLASSIFIER_DEFINITION_FEATURE_COUNT + 0;
+
+ /**
+ * The operation id for the '<em>To Reference</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASSIFIER_TEMPLATE_PARAMETER___TO_REFERENCE = CLASSIFIER_DEFINITION___TO_REFERENCE;
+
+ /**
+ * The operation id for the '<em>Owner</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASSIFIER_TEMPLATE_PARAMETER___OWNER = CLASSIFIER_DEFINITION___OWNER;
+
+ /**
+ * The operation id for the '<em>Syntax Element owner</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASSIFIER_TEMPLATE_PARAMETER___SYNTAX_ELEMENT_OWNER = CLASSIFIER_DEFINITION___SYNTAX_ELEMENT_OWNER;
+
+ /**
+ * The operation id for the '<em>Syntax Element current Scope</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASSIFIER_TEMPLATE_PARAMETER___SYNTAX_ELEMENT_CURRENT_SCOPE = CLASSIFIER_DEFINITION___SYNTAX_ELEMENT_CURRENT_SCOPE;
+
+ /**
+ * The operation id for the '<em>Enclosing Statement</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASSIFIER_TEMPLATE_PARAMETER___ENCLOSING_STATEMENT = CLASSIFIER_DEFINITION___ENCLOSING_STATEMENT;
+
+ /**
+ * The operation id for the '<em>Enclosing Expression</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASSIFIER_TEMPLATE_PARAMETER___ENCLOSING_EXPRESSION = CLASSIFIER_DEFINITION___ENCLOSING_EXPRESSION;
+
+ /**
+ * The operation id for the '<em>Assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASSIFIER_TEMPLATE_PARAMETER___ASSIGNMENTS_BEFORE = CLASSIFIER_DEFINITION___ASSIGNMENTS_BEFORE;
+
+ /**
+ * The operation id for the '<em>Syntax Element assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASSIFIER_TEMPLATE_PARAMETER___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE = CLASSIFIER_DEFINITION___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE;
+
+ /**
+ * The operation id for the '<em>Syntax Element assignments Before base</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASSIFIER_TEMPLATE_PARAMETER___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE_BASE = CLASSIFIER_DEFINITION___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE_BASE;
+
+ /**
+ * The operation id for the '<em>Assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASSIFIER_TEMPLATE_PARAMETER___ASSIGNMENTS_BEFORE__SYNTAXELEMENT = CLASSIFIER_DEFINITION___ASSIGNMENTS_BEFORE__SYNTAXELEMENT;
+
+ /**
+ * The operation id for the '<em>Update All</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASSIFIER_TEMPLATE_PARAMETER___UPDATE_ALL__ELIST_ELIST = CLASSIFIER_DEFINITION___UPDATE_ALL__ELIST_ELIST;
+
+ /**
+ * The operation id for the '<em>Common Ancestor</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASSIFIER_TEMPLATE_PARAMETER___COMMON_ANCESTOR__ELIST = CLASSIFIER_DEFINITION___COMMON_ANCESTOR__ELIST;
+
+ /**
+ * The operation id for the '<em>Common Ancestors</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASSIFIER_TEMPLATE_PARAMETER___COMMON_ANCESTORS__ELIST = CLASSIFIER_DEFINITION___COMMON_ANCESTORS__ELIST;
+
+ /**
+ * The operation id for the '<em>Remove Duplicate Elements</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASSIFIER_TEMPLATE_PARAMETER___REMOVE_DUPLICATE_ELEMENTS__ELIST = CLASSIFIER_DEFINITION___REMOVE_DUPLICATE_ELEMENTS__ELIST;
+
+ /**
+ * The operation id for the '<em>Resolve In Library</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASSIFIER_TEMPLATE_PARAMETER___RESOLVE_IN_LIBRARY__STRING = CLASSIFIER_DEFINITION___RESOLVE_IN_LIBRARY__STRING;
+
+ /**
+ * The operation id for the '<em>Primitive Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASSIFIER_TEMPLATE_PARAMETER___PRIMITIVE_TYPE__STRING = CLASSIFIER_DEFINITION___PRIMITIVE_TYPE__STRING;
+
+ /**
+ * The operation id for the '<em>Primitive Type </em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASSIFIER_TEMPLATE_PARAMETER___PRIMITIVE_TYPE____STRING = CLASSIFIER_DEFINITION___PRIMITIVE_TYPE____STRING;
+
+ /**
+ * The operation id for the '<em>Boolean Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASSIFIER_TEMPLATE_PARAMETER___BOOLEAN_TYPE = CLASSIFIER_DEFINITION___BOOLEAN_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Boolean Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASSIFIER_TEMPLATE_PARAMETER___IS_BOOLEAN_TYPE__ELEMENTREFERENCE = CLASSIFIER_DEFINITION___IS_BOOLEAN_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Integer Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASSIFIER_TEMPLATE_PARAMETER___INTEGER_TYPE = CLASSIFIER_DEFINITION___INTEGER_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Integer Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASSIFIER_TEMPLATE_PARAMETER___IS_INTEGER_TYPE__ELEMENTREFERENCE = CLASSIFIER_DEFINITION___IS_INTEGER_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASSIFIER_TEMPLATE_PARAMETER___STRING_TYPE = CLASSIFIER_DEFINITION___STRING_TYPE;
+
+ /**
+ * The operation id for the '<em>Is String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASSIFIER_TEMPLATE_PARAMETER___IS_STRING_TYPE__ELEMENTREFERENCE = CLASSIFIER_DEFINITION___IS_STRING_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Unlimited Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASSIFIER_TEMPLATE_PARAMETER___UNLIMITED_NATURAL_TYPE = CLASSIFIER_DEFINITION___UNLIMITED_NATURAL_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Unlimited Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASSIFIER_TEMPLATE_PARAMETER___IS_UNLIMITED_NATURAL_TYPE__ELEMENTREFERENCE = CLASSIFIER_DEFINITION___IS_UNLIMITED_NATURAL_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Bit String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASSIFIER_TEMPLATE_PARAMETER___BIT_STRING_TYPE = CLASSIFIER_DEFINITION___BIT_STRING_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Bit String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASSIFIER_TEMPLATE_PARAMETER___IS_BIT_STRING_TYPE__ELEMENTREFERENCE = CLASSIFIER_DEFINITION___IS_BIT_STRING_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASSIFIER_TEMPLATE_PARAMETER___NATURAL_TYPE = CLASSIFIER_DEFINITION___NATURAL_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASSIFIER_TEMPLATE_PARAMETER___IS_NATURAL_TYPE__ELEMENTREFERENCE = CLASSIFIER_DEFINITION___IS_NATURAL_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Numeric Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASSIFIER_TEMPLATE_PARAMETER___IS_NUMERIC_TYPE__ELEMENTREFERENCE = CLASSIFIER_DEFINITION___IS_NUMERIC_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Collection Function Add</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASSIFIER_TEMPLATE_PARAMETER___COLLECTION_FUNCTION_ADD = CLASSIFIER_DEFINITION___COLLECTION_FUNCTION_ADD;
+
+ /**
+ * The operation id for the '<em>Is Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASSIFIER_TEMPLATE_PARAMETER___IS_COLLECTION_CLASS__ELEMENTREFERENCE = CLASSIFIER_DEFINITION___IS_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Integer Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASSIFIER_TEMPLATE_PARAMETER___IS_INTEGER_COLLECTION_CLASS__ELEMENTREFERENCE = CLASSIFIER_DEFINITION___IS_INTEGER_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Bit String Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASSIFIER_TEMPLATE_PARAMETER___IS_BIT_STRING_COLLECTION_CLASS__ELEMENTREFERENCE = CLASSIFIER_DEFINITION___IS_BIT_STRING_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Annotation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASSIFIER_TEMPLATE_PARAMETER___ANNOTATION = CLASSIFIER_DEFINITION___ANNOTATION;
+
+ /**
+ * The operation id for the '<em>Actual Name</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASSIFIER_TEMPLATE_PARAMETER___ACTUAL_NAME = CLASSIFIER_DEFINITION___ACTUAL_NAME;
+
+ /**
+ * The operation id for the '<em>Member Definition outer Scope</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASSIFIER_TEMPLATE_PARAMETER___MEMBER_DEFINITION_OUTER_SCOPE = CLASSIFIER_DEFINITION___MEMBER_DEFINITION_OUTER_SCOPE;
+
+ /**
+ * The operation id for the '<em>Qualified Name</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASSIFIER_TEMPLATE_PARAMETER___QUALIFIED_NAME = CLASSIFIER_DEFINITION___QUALIFIED_NAME;
+
+ /**
+ * The operation id for the '<em>Namespace Reference</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASSIFIER_TEMPLATE_PARAMETER___NAMESPACE_REFERENCE = CLASSIFIER_DEFINITION___NAMESPACE_REFERENCE;
+
+ /**
+ * The operation id for the '<em>Add To Model</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASSIFIER_TEMPLATE_PARAMETER___ADD_TO_MODEL = CLASSIFIER_DEFINITION___ADD_TO_MODEL;
+
+ /**
+ * The operation id for the '<em>Is Distinguishable From</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASSIFIER_TEMPLATE_PARAMETER___IS_DISTINGUISHABLE_FROM__MEMBERDEFINITION = CLASSIFIER_DEFINITION___IS_DISTINGUISHABLE_FROM__MEMBERDEFINITION;
+
+ /**
+ * The operation id for the '<em>Member Definition is Distinguishable From</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASSIFIER_TEMPLATE_PARAMETER___MEMBER_DEFINITION_IS_DISTINGUISHABLE_FROM__MEMBERDEFINITION = CLASSIFIER_DEFINITION___MEMBER_DEFINITION_IS_DISTINGUISHABLE_FROM__MEMBERDEFINITION;
+
+ /**
+ * The operation id for the '<em>Is Template</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASSIFIER_TEMPLATE_PARAMETER___IS_TEMPLATE = CLASSIFIER_DEFINITION___IS_TEMPLATE;
+
+ /**
+ * The operation id for the '<em>Is Feature</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASSIFIER_TEMPLATE_PARAMETER___IS_FEATURE = CLASSIFIER_DEFINITION___IS_FEATURE;
+
+ /**
+ * The operation id for the '<em>Member Annotations</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASSIFIER_TEMPLATE_PARAMETER___MEMBER_ANNOTATIONS__DIAGNOSTICCHAIN_MAP = CLASSIFIER_DEFINITION___MEMBER_ANNOTATIONS__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Member Is Primitive Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASSIFIER_TEMPLATE_PARAMETER___MEMBER_IS_PRIMITIVE_DERIVATION__DIAGNOSTICCHAIN_MAP = CLASSIFIER_DEFINITION___MEMBER_IS_PRIMITIVE_DERIVATION__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Member Is External Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASSIFIER_TEMPLATE_PARAMETER___MEMBER_IS_EXTERNAL_DERIVATION__DIAGNOSTICCHAIN_MAP = CLASSIFIER_DEFINITION___MEMBER_IS_EXTERNAL_DERIVATION__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Member External</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASSIFIER_TEMPLATE_PARAMETER___MEMBER_EXTERNAL__DIAGNOSTICCHAIN_MAP = CLASSIFIER_DEFINITION___MEMBER_EXTERNAL__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Member Stub</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASSIFIER_TEMPLATE_PARAMETER___MEMBER_STUB__DIAGNOSTICCHAIN_MAP = CLASSIFIER_DEFINITION___MEMBER_STUB__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Member Subunit Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASSIFIER_TEMPLATE_PARAMETER___MEMBER_SUBUNIT_DERIVATION__DIAGNOSTICCHAIN_MAP = CLASSIFIER_DEFINITION___MEMBER_SUBUNIT_DERIVATION__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Member Stub Stereotypes</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASSIFIER_TEMPLATE_PARAMETER___MEMBER_STUB_STEREOTYPES__DIAGNOSTICCHAIN_MAP = CLASSIFIER_DEFINITION___MEMBER_STUB_STEREOTYPES__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Member Primitive</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASSIFIER_TEMPLATE_PARAMETER___MEMBER_PRIMITIVE__DIAGNOSTICCHAIN_MAP = CLASSIFIER_DEFINITION___MEMBER_PRIMITIVE__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Containing Member</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASSIFIER_TEMPLATE_PARAMETER___CONTAINING_MEMBER = CLASSIFIER_DEFINITION___CONTAINING_MEMBER;
+
+ /**
+ * The operation id for the '<em>Current Scope</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASSIFIER_TEMPLATE_PARAMETER___CURRENT_SCOPE = CLASSIFIER_DEFINITION___CURRENT_SCOPE;
+
+ /**
+ * The operation id for the '<em>Outer Scope</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASSIFIER_TEMPLATE_PARAMETER___OUTER_SCOPE = CLASSIFIER_DEFINITION___OUTER_SCOPE;
+
+ /**
+ * The operation id for the '<em>Namespace Definition outer Scope</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASSIFIER_TEMPLATE_PARAMETER___NAMESPACE_DEFINITION_OUTER_SCOPE = CLASSIFIER_DEFINITION___NAMESPACE_DEFINITION_OUTER_SCOPE;
+
+ /**
+ * The operation id for the '<em>Model Namespace</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASSIFIER_TEMPLATE_PARAMETER___MODEL_NAMESPACE = CLASSIFIER_DEFINITION___MODEL_NAMESPACE;
+
+ /**
+ * The operation id for the '<em>Model Scope</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASSIFIER_TEMPLATE_PARAMETER___MODEL_SCOPE = CLASSIFIER_DEFINITION___MODEL_SCOPE;
+
+ /**
+ * The operation id for the '<em>Resolve In Scope</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASSIFIER_TEMPLATE_PARAMETER___RESOLVE_IN_SCOPE__STRING = CLASSIFIER_DEFINITION___RESOLVE_IN_SCOPE__STRING;
+
+ /**
+ * The operation id for the '<em>Applied Profiles</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASSIFIER_TEMPLATE_PARAMETER___APPLIED_PROFILES = CLASSIFIER_DEFINITION___APPLIED_PROFILES;
+
+ /**
+ * The operation id for the '<em>Namespace Definition applied Profiles</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASSIFIER_TEMPLATE_PARAMETER___NAMESPACE_DEFINITION_APPLIED_PROFILES = CLASSIFIER_DEFINITION___NAMESPACE_DEFINITION_APPLIED_PROFILES;
+
+ /**
+ * The operation id for the '<em>Parameters</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASSIFIER_TEMPLATE_PARAMETER___PARAMETERS = CLASSIFIER_DEFINITION___PARAMETERS;
+
+ /**
+ * The operation id for the '<em>Return Parameter</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASSIFIER_TEMPLATE_PARAMETER___RETURN_PARAMETER = CLASSIFIER_DEFINITION___RETURN_PARAMETER;
+
+ /**
+ * The operation id for the '<em>Namespace Definition return Parameter</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASSIFIER_TEMPLATE_PARAMETER___NAMESPACE_DEFINITION_RETURN_PARAMETER = CLASSIFIER_DEFINITION___NAMESPACE_DEFINITION_RETURN_PARAMETER;
+
+ /**
+ * The operation id for the '<em>Subunit Owned Members</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASSIFIER_TEMPLATE_PARAMETER___SUBUNIT_OWNED_MEMBERS = CLASSIFIER_DEFINITION___SUBUNIT_OWNED_MEMBERS;
+
+ /**
+ * The operation id for the '<em>Namespace Definition annotation Allowed</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASSIFIER_TEMPLATE_PARAMETER___NAMESPACE_DEFINITION_ANNOTATION_ALLOWED__STEREOTYPEANNOTATION = CLASSIFIER_DEFINITION___NAMESPACE_DEFINITION_ANNOTATION_ALLOWED__STEREOTYPEANNOTATION;
+
+ /**
+ * The operation id for the '<em>Template Parameters</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASSIFIER_TEMPLATE_PARAMETER___TEMPLATE_PARAMETERS = CLASSIFIER_DEFINITION___TEMPLATE_PARAMETERS;
+
+ /**
+ * The operation id for the '<em>Members Cached</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASSIFIER_TEMPLATE_PARAMETER___MEMBERS_CACHED = CLASSIFIER_DEFINITION___MEMBERS_CACHED;
+
+ /**
+ * The operation id for the '<em>Namespace Definition members</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASSIFIER_TEMPLATE_PARAMETER___NAMESPACE_DEFINITION_MEMBERS = CLASSIFIER_DEFINITION___NAMESPACE_DEFINITION_MEMBERS;
+
+ /**
+ * The operation id for the '<em>Imported Members</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASSIFIER_TEMPLATE_PARAMETER___IMPORTED_MEMBERS = CLASSIFIER_DEFINITION___IMPORTED_MEMBERS;
+
+ /**
+ * The operation id for the '<em>Import Members</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASSIFIER_TEMPLATE_PARAMETER___IMPORT_MEMBERS__ELIST = CLASSIFIER_DEFINITION___IMPORT_MEMBERS__ELIST;
+
+ /**
+ * The operation id for the '<em>Exclude Collisions</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASSIFIER_TEMPLATE_PARAMETER___EXCLUDE_COLLISIONS__ELIST = CLASSIFIER_DEFINITION___EXCLUDE_COLLISIONS__ELIST;
+
+ /**
+ * The operation id for the '<em>Remove Duplicates</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASSIFIER_TEMPLATE_PARAMETER___REMOVE_DUPLICATES__ELIST = CLASSIFIER_DEFINITION___REMOVE_DUPLICATES__ELIST;
+
+ /**
+ * The operation id for the '<em>Include Distinguishable Caching</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASSIFIER_TEMPLATE_PARAMETER___INCLUDE_DISTINGUISHABLE_CACHING__ELIST = CLASSIFIER_DEFINITION___INCLUDE_DISTINGUISHABLE_CACHING__ELIST;
+
+ /**
+ * The operation id for the '<em>Include Distinguishable</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASSIFIER_TEMPLATE_PARAMETER___INCLUDE_DISTINGUISHABLE__ELIST = CLASSIFIER_DEFINITION___INCLUDE_DISTINGUISHABLE__ELIST;
+
+ /**
+ * The operation id for the '<em>Stub</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASSIFIER_TEMPLATE_PARAMETER___STUB = CLASSIFIER_DEFINITION___STUB;
+
+ /**
+ * The operation id for the '<em>Stub For</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASSIFIER_TEMPLATE_PARAMETER___STUB_FOR__UNITDEFINITION = CLASSIFIER_DEFINITION___STUB_FOR__UNITDEFINITION;
+
+ /**
+ * The operation id for the '<em>Namespace Definition Member Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASSIFIER_TEMPLATE_PARAMETER___NAMESPACE_DEFINITION_MEMBER_DERIVATION__DIAGNOSTICCHAIN_MAP = CLASSIFIER_DEFINITION___NAMESPACE_DEFINITION_MEMBER_DERIVATION__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Namespace Definition Member Distinguishability</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASSIFIER_TEMPLATE_PARAMETER___NAMESPACE_DEFINITION_MEMBER_DISTINGUISHABILITY__DIAGNOSTICCHAIN_MAP = CLASSIFIER_DEFINITION___NAMESPACE_DEFINITION_MEMBER_DISTINGUISHABILITY__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Classifier Definition annotation Allowed</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASSIFIER_TEMPLATE_PARAMETER___CLASSIFIER_DEFINITION_ANNOTATION_ALLOWED__STEREOTYPEANNOTATION = CLASSIFIER_DEFINITION___CLASSIFIER_DEFINITION_ANNOTATION_ALLOWED__STEREOTYPEANNOTATION;
+
+ /**
+ * The operation id for the '<em>Classifier Definition match For Stub</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASSIFIER_TEMPLATE_PARAMETER___CLASSIFIER_DEFINITION_MATCH_FOR_STUB__UNITDEFINITION = CLASSIFIER_DEFINITION___CLASSIFIER_DEFINITION_MATCH_FOR_STUB__UNITDEFINITION;
+
+ /**
+ * The operation id for the '<em>Members</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASSIFIER_TEMPLATE_PARAMETER___MEMBERS = CLASSIFIER_DEFINITION___MEMBERS;
+
+ /**
+ * The operation id for the '<em>Inherited Members</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASSIFIER_TEMPLATE_PARAMETER___INHERITED_MEMBERS = CLASSIFIER_DEFINITION___INHERITED_MEMBERS;
+
+ /**
+ * The operation id for the '<em>Inherit</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASSIFIER_TEMPLATE_PARAMETER___INHERIT__ELIST = CLASSIFIER_DEFINITION___INHERIT__ELIST;
+
+ /**
+ * The operation id for the '<em>Classifier Definition Specialization</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASSIFIER_TEMPLATE_PARAMETER___CLASSIFIER_DEFINITION_SPECIALIZATION__DIAGNOSTICCHAIN_MAP = CLASSIFIER_DEFINITION___CLASSIFIER_DEFINITION_SPECIALIZATION__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Classifier Definition Specialization Referent Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASSIFIER_TEMPLATE_PARAMETER___CLASSIFIER_DEFINITION_SPECIALIZATION_REFERENT_DERIVATION__DIAGNOSTICCHAIN_MAP = CLASSIFIER_DEFINITION___CLASSIFIER_DEFINITION_SPECIALIZATION_REFERENT_DERIVATION__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Classifier Definition Inherited Members</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASSIFIER_TEMPLATE_PARAMETER___CLASSIFIER_DEFINITION_INHERITED_MEMBERS__DIAGNOSTICCHAIN_MAP = CLASSIFIER_DEFINITION___CLASSIFIER_DEFINITION_INHERITED_MEMBERS__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Annotation Allowed</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASSIFIER_TEMPLATE_PARAMETER___ANNOTATION_ALLOWED__STEREOTYPEANNOTATION = CLASSIFIER_DEFINITION_OPERATION_COUNT + 0;
+
+ /**
+ * The operation id for the '<em>Match For Stub</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASSIFIER_TEMPLATE_PARAMETER___MATCH_FOR_STUB__UNITDEFINITION = CLASSIFIER_DEFINITION_OPERATION_COUNT + 1;
+
+ /**
+ * The operation id for the '<em>Is Same Kind As</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASSIFIER_TEMPLATE_PARAMETER___IS_SAME_KIND_AS__ELEMENTREFERENCE = CLASSIFIER_DEFINITION_OPERATION_COUNT + 2;
+
+ /**
+ * The operation id for the '<em>Matches</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASSIFIER_TEMPLATE_PARAMETER___MATCHES__CLASSIFIERTEMPLATEPARAMETER = CLASSIFIER_DEFINITION_OPERATION_COUNT + 3;
+
+ /**
+ * The number of operations of the '<em>Classifier Template Parameter</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CLASSIFIER_TEMPLATE_PARAMETER_OPERATION_COUNT = CLASSIFIER_DEFINITION_OPERATION_COUNT + 4;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.uml.alf.impl.FormalParameterImpl <em>Formal Parameter</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.uml.alf.impl.FormalParameterImpl
+ * @see org.eclipse.papyrus.uml.alf.impl.AlfPackageImpl#getFormalParameter()
+ * @generated
+ */
+ int FORMAL_PARAMETER = 123;
+
+ /**
+ * The feature id for the '<em><b>Owner</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FORMAL_PARAMETER__OWNER = MEMBER_DEFINITION__OWNER;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FORMAL_PARAMETER__NAME = MEMBER_DEFINITION__NAME;
+
+ /**
+ * The feature id for the '<em><b>Is Stub</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FORMAL_PARAMETER__IS_STUB = MEMBER_DEFINITION__IS_STUB;
+
+ /**
+ * The feature id for the '<em><b>Is Feature</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FORMAL_PARAMETER__IS_FEATURE = MEMBER_DEFINITION__IS_FEATURE;
+
+ /**
+ * The feature id for the '<em><b>Is Primitive</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FORMAL_PARAMETER__IS_PRIMITIVE = MEMBER_DEFINITION__IS_PRIMITIVE;
+
+ /**
+ * The feature id for the '<em><b>Is External</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FORMAL_PARAMETER__IS_EXTERNAL = MEMBER_DEFINITION__IS_EXTERNAL;
+
+ /**
+ * The feature id for the '<em><b>Subunit</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FORMAL_PARAMETER__SUBUNIT = MEMBER_DEFINITION__SUBUNIT;
+
+ /**
+ * The feature id for the '<em><b>Direction</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FORMAL_PARAMETER__DIRECTION = MEMBER_DEFINITION_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Type Part</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FORMAL_PARAMETER__TYPE_PART = MEMBER_DEFINITION_FEATURE_COUNT + 1;
+
+ /**
+ * The number of structural features of the '<em>Formal Parameter</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FORMAL_PARAMETER_FEATURE_COUNT = MEMBER_DEFINITION_FEATURE_COUNT + 2;
+
+ /**
+ * The operation id for the '<em>To Reference</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FORMAL_PARAMETER___TO_REFERENCE = MEMBER_DEFINITION___TO_REFERENCE;
+
+ /**
+ * The operation id for the '<em>Owner</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FORMAL_PARAMETER___OWNER = MEMBER_DEFINITION___OWNER;
+
+ /**
+ * The operation id for the '<em>Syntax Element owner</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FORMAL_PARAMETER___SYNTAX_ELEMENT_OWNER = MEMBER_DEFINITION___SYNTAX_ELEMENT_OWNER;
+
+ /**
+ * The operation id for the '<em>Syntax Element current Scope</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FORMAL_PARAMETER___SYNTAX_ELEMENT_CURRENT_SCOPE = MEMBER_DEFINITION___SYNTAX_ELEMENT_CURRENT_SCOPE;
+
+ /**
+ * The operation id for the '<em>Enclosing Statement</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FORMAL_PARAMETER___ENCLOSING_STATEMENT = MEMBER_DEFINITION___ENCLOSING_STATEMENT;
+
+ /**
+ * The operation id for the '<em>Enclosing Expression</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FORMAL_PARAMETER___ENCLOSING_EXPRESSION = MEMBER_DEFINITION___ENCLOSING_EXPRESSION;
+
+ /**
+ * The operation id for the '<em>Assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FORMAL_PARAMETER___ASSIGNMENTS_BEFORE = MEMBER_DEFINITION___ASSIGNMENTS_BEFORE;
+
+ /**
+ * The operation id for the '<em>Syntax Element assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FORMAL_PARAMETER___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE = MEMBER_DEFINITION___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE;
+
+ /**
+ * The operation id for the '<em>Syntax Element assignments Before base</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FORMAL_PARAMETER___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE_BASE = MEMBER_DEFINITION___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE_BASE;
+
+ /**
+ * The operation id for the '<em>Assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FORMAL_PARAMETER___ASSIGNMENTS_BEFORE__SYNTAXELEMENT = MEMBER_DEFINITION___ASSIGNMENTS_BEFORE__SYNTAXELEMENT;
+
+ /**
+ * The operation id for the '<em>Update All</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FORMAL_PARAMETER___UPDATE_ALL__ELIST_ELIST = MEMBER_DEFINITION___UPDATE_ALL__ELIST_ELIST;
+
+ /**
+ * The operation id for the '<em>Common Ancestor</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FORMAL_PARAMETER___COMMON_ANCESTOR__ELIST = MEMBER_DEFINITION___COMMON_ANCESTOR__ELIST;
+
+ /**
+ * The operation id for the '<em>Common Ancestors</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FORMAL_PARAMETER___COMMON_ANCESTORS__ELIST = MEMBER_DEFINITION___COMMON_ANCESTORS__ELIST;
+
+ /**
+ * The operation id for the '<em>Remove Duplicate Elements</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FORMAL_PARAMETER___REMOVE_DUPLICATE_ELEMENTS__ELIST = MEMBER_DEFINITION___REMOVE_DUPLICATE_ELEMENTS__ELIST;
+
+ /**
+ * The operation id for the '<em>Resolve In Library</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FORMAL_PARAMETER___RESOLVE_IN_LIBRARY__STRING = MEMBER_DEFINITION___RESOLVE_IN_LIBRARY__STRING;
+
+ /**
+ * The operation id for the '<em>Primitive Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FORMAL_PARAMETER___PRIMITIVE_TYPE__STRING = MEMBER_DEFINITION___PRIMITIVE_TYPE__STRING;
+
+ /**
+ * The operation id for the '<em>Primitive Type </em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FORMAL_PARAMETER___PRIMITIVE_TYPE____STRING = MEMBER_DEFINITION___PRIMITIVE_TYPE____STRING;
+
+ /**
+ * The operation id for the '<em>Boolean Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FORMAL_PARAMETER___BOOLEAN_TYPE = MEMBER_DEFINITION___BOOLEAN_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Boolean Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FORMAL_PARAMETER___IS_BOOLEAN_TYPE__ELEMENTREFERENCE = MEMBER_DEFINITION___IS_BOOLEAN_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Integer Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FORMAL_PARAMETER___INTEGER_TYPE = MEMBER_DEFINITION___INTEGER_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Integer Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FORMAL_PARAMETER___IS_INTEGER_TYPE__ELEMENTREFERENCE = MEMBER_DEFINITION___IS_INTEGER_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FORMAL_PARAMETER___STRING_TYPE = MEMBER_DEFINITION___STRING_TYPE;
+
+ /**
+ * The operation id for the '<em>Is String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FORMAL_PARAMETER___IS_STRING_TYPE__ELEMENTREFERENCE = MEMBER_DEFINITION___IS_STRING_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Unlimited Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FORMAL_PARAMETER___UNLIMITED_NATURAL_TYPE = MEMBER_DEFINITION___UNLIMITED_NATURAL_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Unlimited Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FORMAL_PARAMETER___IS_UNLIMITED_NATURAL_TYPE__ELEMENTREFERENCE = MEMBER_DEFINITION___IS_UNLIMITED_NATURAL_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Bit String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FORMAL_PARAMETER___BIT_STRING_TYPE = MEMBER_DEFINITION___BIT_STRING_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Bit String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FORMAL_PARAMETER___IS_BIT_STRING_TYPE__ELEMENTREFERENCE = MEMBER_DEFINITION___IS_BIT_STRING_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FORMAL_PARAMETER___NATURAL_TYPE = MEMBER_DEFINITION___NATURAL_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FORMAL_PARAMETER___IS_NATURAL_TYPE__ELEMENTREFERENCE = MEMBER_DEFINITION___IS_NATURAL_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Numeric Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FORMAL_PARAMETER___IS_NUMERIC_TYPE__ELEMENTREFERENCE = MEMBER_DEFINITION___IS_NUMERIC_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Collection Function Add</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FORMAL_PARAMETER___COLLECTION_FUNCTION_ADD = MEMBER_DEFINITION___COLLECTION_FUNCTION_ADD;
+
+ /**
+ * The operation id for the '<em>Is Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FORMAL_PARAMETER___IS_COLLECTION_CLASS__ELEMENTREFERENCE = MEMBER_DEFINITION___IS_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Integer Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FORMAL_PARAMETER___IS_INTEGER_COLLECTION_CLASS__ELEMENTREFERENCE = MEMBER_DEFINITION___IS_INTEGER_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Bit String Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FORMAL_PARAMETER___IS_BIT_STRING_COLLECTION_CLASS__ELEMENTREFERENCE = MEMBER_DEFINITION___IS_BIT_STRING_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Annotation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FORMAL_PARAMETER___ANNOTATION = MEMBER_DEFINITION___ANNOTATION;
+
+ /**
+ * The operation id for the '<em>Actual Name</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FORMAL_PARAMETER___ACTUAL_NAME = MEMBER_DEFINITION___ACTUAL_NAME;
+
+ /**
+ * The operation id for the '<em>Outer Scope</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FORMAL_PARAMETER___OUTER_SCOPE = MEMBER_DEFINITION___OUTER_SCOPE;
+
+ /**
+ * The operation id for the '<em>Member Definition outer Scope</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FORMAL_PARAMETER___MEMBER_DEFINITION_OUTER_SCOPE = MEMBER_DEFINITION___MEMBER_DEFINITION_OUTER_SCOPE;
+
+ /**
+ * The operation id for the '<em>Qualified Name</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FORMAL_PARAMETER___QUALIFIED_NAME = MEMBER_DEFINITION___QUALIFIED_NAME;
+
+ /**
+ * The operation id for the '<em>Namespace Reference</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FORMAL_PARAMETER___NAMESPACE_REFERENCE = MEMBER_DEFINITION___NAMESPACE_REFERENCE;
+
+ /**
+ * The operation id for the '<em>Add To Model</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FORMAL_PARAMETER___ADD_TO_MODEL = MEMBER_DEFINITION___ADD_TO_MODEL;
+
+ /**
+ * The operation id for the '<em>Match For Stub</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FORMAL_PARAMETER___MATCH_FOR_STUB__UNITDEFINITION = MEMBER_DEFINITION___MATCH_FOR_STUB__UNITDEFINITION;
+
+ /**
+ * The operation id for the '<em>Is Distinguishable From</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FORMAL_PARAMETER___IS_DISTINGUISHABLE_FROM__MEMBERDEFINITION = MEMBER_DEFINITION___IS_DISTINGUISHABLE_FROM__MEMBERDEFINITION;
+
+ /**
+ * The operation id for the '<em>Member Definition is Distinguishable From</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FORMAL_PARAMETER___MEMBER_DEFINITION_IS_DISTINGUISHABLE_FROM__MEMBERDEFINITION = MEMBER_DEFINITION___MEMBER_DEFINITION_IS_DISTINGUISHABLE_FROM__MEMBERDEFINITION;
+
+ /**
+ * The operation id for the '<em>Template Parameters</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FORMAL_PARAMETER___TEMPLATE_PARAMETERS = MEMBER_DEFINITION___TEMPLATE_PARAMETERS;
+
+ /**
+ * The operation id for the '<em>Is Template</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FORMAL_PARAMETER___IS_TEMPLATE = MEMBER_DEFINITION___IS_TEMPLATE;
+
+ /**
+ * The operation id for the '<em>Is Feature</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FORMAL_PARAMETER___IS_FEATURE = MEMBER_DEFINITION___IS_FEATURE;
+
+ /**
+ * The operation id for the '<em>Member Annotations</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FORMAL_PARAMETER___MEMBER_ANNOTATIONS__DIAGNOSTICCHAIN_MAP = MEMBER_DEFINITION___MEMBER_ANNOTATIONS__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Member Is Primitive Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FORMAL_PARAMETER___MEMBER_IS_PRIMITIVE_DERIVATION__DIAGNOSTICCHAIN_MAP = MEMBER_DEFINITION___MEMBER_IS_PRIMITIVE_DERIVATION__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Member Is External Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FORMAL_PARAMETER___MEMBER_IS_EXTERNAL_DERIVATION__DIAGNOSTICCHAIN_MAP = MEMBER_DEFINITION___MEMBER_IS_EXTERNAL_DERIVATION__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Member External</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FORMAL_PARAMETER___MEMBER_EXTERNAL__DIAGNOSTICCHAIN_MAP = MEMBER_DEFINITION___MEMBER_EXTERNAL__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Member Stub</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FORMAL_PARAMETER___MEMBER_STUB__DIAGNOSTICCHAIN_MAP = MEMBER_DEFINITION___MEMBER_STUB__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Member Subunit Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FORMAL_PARAMETER___MEMBER_SUBUNIT_DERIVATION__DIAGNOSTICCHAIN_MAP = MEMBER_DEFINITION___MEMBER_SUBUNIT_DERIVATION__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Member Stub Stereotypes</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FORMAL_PARAMETER___MEMBER_STUB_STEREOTYPES__DIAGNOSTICCHAIN_MAP = MEMBER_DEFINITION___MEMBER_STUB_STEREOTYPES__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Member Primitive</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FORMAL_PARAMETER___MEMBER_PRIMITIVE__DIAGNOSTICCHAIN_MAP = MEMBER_DEFINITION___MEMBER_PRIMITIVE__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Containing Member</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FORMAL_PARAMETER___CONTAINING_MEMBER = MEMBER_DEFINITION___CONTAINING_MEMBER;
+
+ /**
+ * The operation id for the '<em>Current Scope</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FORMAL_PARAMETER___CURRENT_SCOPE = MEMBER_DEFINITION_OPERATION_COUNT + 0;
+
+ /**
+ * The operation id for the '<em>Annotation Allowed</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FORMAL_PARAMETER___ANNOTATION_ALLOWED__STEREOTYPEANNOTATION = MEMBER_DEFINITION_OPERATION_COUNT + 1;
+
+ /**
+ * The operation id for the '<em>Is Same Kind As</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FORMAL_PARAMETER___IS_SAME_KIND_AS__ELEMENTREFERENCE = MEMBER_DEFINITION_OPERATION_COUNT + 2;
+
+ /**
+ * The operation id for the '<em>Matches</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FORMAL_PARAMETER___MATCHES__FORMALPARAMETER = MEMBER_DEFINITION_OPERATION_COUNT + 3;
+
+ /**
+ * The operation id for the '<em>Matches Element</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FORMAL_PARAMETER___MATCHES_ELEMENT__ELEMENTREFERENCE = MEMBER_DEFINITION_OPERATION_COUNT + 4;
+
+ /**
+ * The operation id for the '<em>Matches Name Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FORMAL_PARAMETER___MATCHES_NAME_TYPE__ELEMENTREFERENCE = MEMBER_DEFINITION_OPERATION_COUNT + 5;
+
+ /**
+ * The operation id for the '<em>Matches Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FORMAL_PARAMETER___MATCHES_TYPE__ELEMENTREFERENCE = MEMBER_DEFINITION_OPERATION_COUNT + 6;
+
+ /**
+ * The number of operations of the '<em>Formal Parameter</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FORMAL_PARAMETER_OPERATION_COUNT = MEMBER_DEFINITION_OPERATION_COUNT + 7;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.uml.alf.impl.ReceptionDefinitionImpl <em>Reception Definition</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.uml.alf.impl.ReceptionDefinitionImpl
+ * @see org.eclipse.papyrus.uml.alf.impl.AlfPackageImpl#getReceptionDefinition()
+ * @generated
+ */
+ int RECEPTION_DEFINITION = 124;
+
+ /**
+ * The feature id for the '<em><b>Owner</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int RECEPTION_DEFINITION__OWNER = MEMBER_DEFINITION__OWNER;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int RECEPTION_DEFINITION__NAME = MEMBER_DEFINITION__NAME;
+
+ /**
+ * The feature id for the '<em><b>Is Stub</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int RECEPTION_DEFINITION__IS_STUB = MEMBER_DEFINITION__IS_STUB;
+
+ /**
+ * The feature id for the '<em><b>Is Feature</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int RECEPTION_DEFINITION__IS_FEATURE = MEMBER_DEFINITION__IS_FEATURE;
+
+ /**
+ * The feature id for the '<em><b>Is Primitive</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int RECEPTION_DEFINITION__IS_PRIMITIVE = MEMBER_DEFINITION__IS_PRIMITIVE;
+
+ /**
+ * The feature id for the '<em><b>Is External</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int RECEPTION_DEFINITION__IS_EXTERNAL = MEMBER_DEFINITION__IS_EXTERNAL;
+
+ /**
+ * The feature id for the '<em><b>Subunit</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int RECEPTION_DEFINITION__SUBUNIT = MEMBER_DEFINITION__SUBUNIT;
+
+ /**
+ * The feature id for the '<em><b>Signal Name</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int RECEPTION_DEFINITION__SIGNAL_NAME = MEMBER_DEFINITION_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Signal</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int RECEPTION_DEFINITION__SIGNAL = MEMBER_DEFINITION_FEATURE_COUNT + 1;
+
+ /**
+ * The number of structural features of the '<em>Reception Definition</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int RECEPTION_DEFINITION_FEATURE_COUNT = MEMBER_DEFINITION_FEATURE_COUNT + 2;
+
+ /**
+ * The operation id for the '<em>To Reference</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int RECEPTION_DEFINITION___TO_REFERENCE = MEMBER_DEFINITION___TO_REFERENCE;
+
+ /**
+ * The operation id for the '<em>Owner</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int RECEPTION_DEFINITION___OWNER = MEMBER_DEFINITION___OWNER;
+
+ /**
+ * The operation id for the '<em>Syntax Element owner</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int RECEPTION_DEFINITION___SYNTAX_ELEMENT_OWNER = MEMBER_DEFINITION___SYNTAX_ELEMENT_OWNER;
+
+ /**
+ * The operation id for the '<em>Current Scope</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int RECEPTION_DEFINITION___CURRENT_SCOPE = MEMBER_DEFINITION___CURRENT_SCOPE;
+
+ /**
+ * The operation id for the '<em>Syntax Element current Scope</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int RECEPTION_DEFINITION___SYNTAX_ELEMENT_CURRENT_SCOPE = MEMBER_DEFINITION___SYNTAX_ELEMENT_CURRENT_SCOPE;
+
+ /**
+ * The operation id for the '<em>Enclosing Statement</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int RECEPTION_DEFINITION___ENCLOSING_STATEMENT = MEMBER_DEFINITION___ENCLOSING_STATEMENT;
+
+ /**
+ * The operation id for the '<em>Enclosing Expression</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int RECEPTION_DEFINITION___ENCLOSING_EXPRESSION = MEMBER_DEFINITION___ENCLOSING_EXPRESSION;
+
+ /**
+ * The operation id for the '<em>Assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int RECEPTION_DEFINITION___ASSIGNMENTS_BEFORE = MEMBER_DEFINITION___ASSIGNMENTS_BEFORE;
+
+ /**
+ * The operation id for the '<em>Syntax Element assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int RECEPTION_DEFINITION___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE = MEMBER_DEFINITION___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE;
+
+ /**
+ * The operation id for the '<em>Syntax Element assignments Before base</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int RECEPTION_DEFINITION___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE_BASE = MEMBER_DEFINITION___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE_BASE;
+
+ /**
+ * The operation id for the '<em>Assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int RECEPTION_DEFINITION___ASSIGNMENTS_BEFORE__SYNTAXELEMENT = MEMBER_DEFINITION___ASSIGNMENTS_BEFORE__SYNTAXELEMENT;
+
+ /**
+ * The operation id for the '<em>Update All</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int RECEPTION_DEFINITION___UPDATE_ALL__ELIST_ELIST = MEMBER_DEFINITION___UPDATE_ALL__ELIST_ELIST;
+
+ /**
+ * The operation id for the '<em>Common Ancestor</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int RECEPTION_DEFINITION___COMMON_ANCESTOR__ELIST = MEMBER_DEFINITION___COMMON_ANCESTOR__ELIST;
+
+ /**
+ * The operation id for the '<em>Common Ancestors</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int RECEPTION_DEFINITION___COMMON_ANCESTORS__ELIST = MEMBER_DEFINITION___COMMON_ANCESTORS__ELIST;
+
+ /**
+ * The operation id for the '<em>Remove Duplicate Elements</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int RECEPTION_DEFINITION___REMOVE_DUPLICATE_ELEMENTS__ELIST = MEMBER_DEFINITION___REMOVE_DUPLICATE_ELEMENTS__ELIST;
+
+ /**
+ * The operation id for the '<em>Resolve In Library</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int RECEPTION_DEFINITION___RESOLVE_IN_LIBRARY__STRING = MEMBER_DEFINITION___RESOLVE_IN_LIBRARY__STRING;
+
+ /**
+ * The operation id for the '<em>Primitive Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int RECEPTION_DEFINITION___PRIMITIVE_TYPE__STRING = MEMBER_DEFINITION___PRIMITIVE_TYPE__STRING;
+
+ /**
+ * The operation id for the '<em>Primitive Type </em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int RECEPTION_DEFINITION___PRIMITIVE_TYPE____STRING = MEMBER_DEFINITION___PRIMITIVE_TYPE____STRING;
+
+ /**
+ * The operation id for the '<em>Boolean Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int RECEPTION_DEFINITION___BOOLEAN_TYPE = MEMBER_DEFINITION___BOOLEAN_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Boolean Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int RECEPTION_DEFINITION___IS_BOOLEAN_TYPE__ELEMENTREFERENCE = MEMBER_DEFINITION___IS_BOOLEAN_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Integer Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int RECEPTION_DEFINITION___INTEGER_TYPE = MEMBER_DEFINITION___INTEGER_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Integer Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int RECEPTION_DEFINITION___IS_INTEGER_TYPE__ELEMENTREFERENCE = MEMBER_DEFINITION___IS_INTEGER_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int RECEPTION_DEFINITION___STRING_TYPE = MEMBER_DEFINITION___STRING_TYPE;
+
+ /**
+ * The operation id for the '<em>Is String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int RECEPTION_DEFINITION___IS_STRING_TYPE__ELEMENTREFERENCE = MEMBER_DEFINITION___IS_STRING_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Unlimited Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int RECEPTION_DEFINITION___UNLIMITED_NATURAL_TYPE = MEMBER_DEFINITION___UNLIMITED_NATURAL_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Unlimited Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int RECEPTION_DEFINITION___IS_UNLIMITED_NATURAL_TYPE__ELEMENTREFERENCE = MEMBER_DEFINITION___IS_UNLIMITED_NATURAL_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Bit String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int RECEPTION_DEFINITION___BIT_STRING_TYPE = MEMBER_DEFINITION___BIT_STRING_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Bit String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int RECEPTION_DEFINITION___IS_BIT_STRING_TYPE__ELEMENTREFERENCE = MEMBER_DEFINITION___IS_BIT_STRING_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int RECEPTION_DEFINITION___NATURAL_TYPE = MEMBER_DEFINITION___NATURAL_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int RECEPTION_DEFINITION___IS_NATURAL_TYPE__ELEMENTREFERENCE = MEMBER_DEFINITION___IS_NATURAL_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Numeric Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int RECEPTION_DEFINITION___IS_NUMERIC_TYPE__ELEMENTREFERENCE = MEMBER_DEFINITION___IS_NUMERIC_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Collection Function Add</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int RECEPTION_DEFINITION___COLLECTION_FUNCTION_ADD = MEMBER_DEFINITION___COLLECTION_FUNCTION_ADD;
+
+ /**
+ * The operation id for the '<em>Is Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int RECEPTION_DEFINITION___IS_COLLECTION_CLASS__ELEMENTREFERENCE = MEMBER_DEFINITION___IS_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Integer Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int RECEPTION_DEFINITION___IS_INTEGER_COLLECTION_CLASS__ELEMENTREFERENCE = MEMBER_DEFINITION___IS_INTEGER_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Bit String Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int RECEPTION_DEFINITION___IS_BIT_STRING_COLLECTION_CLASS__ELEMENTREFERENCE = MEMBER_DEFINITION___IS_BIT_STRING_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Annotation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int RECEPTION_DEFINITION___ANNOTATION = MEMBER_DEFINITION___ANNOTATION;
+
+ /**
+ * The operation id for the '<em>Outer Scope</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int RECEPTION_DEFINITION___OUTER_SCOPE = MEMBER_DEFINITION___OUTER_SCOPE;
+
+ /**
+ * The operation id for the '<em>Member Definition outer Scope</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int RECEPTION_DEFINITION___MEMBER_DEFINITION_OUTER_SCOPE = MEMBER_DEFINITION___MEMBER_DEFINITION_OUTER_SCOPE;
+
+ /**
+ * The operation id for the '<em>Qualified Name</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int RECEPTION_DEFINITION___QUALIFIED_NAME = MEMBER_DEFINITION___QUALIFIED_NAME;
+
+ /**
+ * The operation id for the '<em>Namespace Reference</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int RECEPTION_DEFINITION___NAMESPACE_REFERENCE = MEMBER_DEFINITION___NAMESPACE_REFERENCE;
+
+ /**
+ * The operation id for the '<em>Add To Model</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int RECEPTION_DEFINITION___ADD_TO_MODEL = MEMBER_DEFINITION___ADD_TO_MODEL;
+
+ /**
+ * The operation id for the '<em>Match For Stub</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int RECEPTION_DEFINITION___MATCH_FOR_STUB__UNITDEFINITION = MEMBER_DEFINITION___MATCH_FOR_STUB__UNITDEFINITION;
+
+ /**
+ * The operation id for the '<em>Is Distinguishable From</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int RECEPTION_DEFINITION___IS_DISTINGUISHABLE_FROM__MEMBERDEFINITION = MEMBER_DEFINITION___IS_DISTINGUISHABLE_FROM__MEMBERDEFINITION;
+
+ /**
+ * The operation id for the '<em>Member Definition is Distinguishable From</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int RECEPTION_DEFINITION___MEMBER_DEFINITION_IS_DISTINGUISHABLE_FROM__MEMBERDEFINITION = MEMBER_DEFINITION___MEMBER_DEFINITION_IS_DISTINGUISHABLE_FROM__MEMBERDEFINITION;
+
+ /**
+ * The operation id for the '<em>Template Parameters</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int RECEPTION_DEFINITION___TEMPLATE_PARAMETERS = MEMBER_DEFINITION___TEMPLATE_PARAMETERS;
+
+ /**
+ * The operation id for the '<em>Is Template</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int RECEPTION_DEFINITION___IS_TEMPLATE = MEMBER_DEFINITION___IS_TEMPLATE;
+
+ /**
+ * The operation id for the '<em>Member Annotations</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int RECEPTION_DEFINITION___MEMBER_ANNOTATIONS__DIAGNOSTICCHAIN_MAP = MEMBER_DEFINITION___MEMBER_ANNOTATIONS__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Member Is Primitive Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int RECEPTION_DEFINITION___MEMBER_IS_PRIMITIVE_DERIVATION__DIAGNOSTICCHAIN_MAP = MEMBER_DEFINITION___MEMBER_IS_PRIMITIVE_DERIVATION__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Member Is External Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int RECEPTION_DEFINITION___MEMBER_IS_EXTERNAL_DERIVATION__DIAGNOSTICCHAIN_MAP = MEMBER_DEFINITION___MEMBER_IS_EXTERNAL_DERIVATION__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Member External</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int RECEPTION_DEFINITION___MEMBER_EXTERNAL__DIAGNOSTICCHAIN_MAP = MEMBER_DEFINITION___MEMBER_EXTERNAL__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Member Stub</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int RECEPTION_DEFINITION___MEMBER_STUB__DIAGNOSTICCHAIN_MAP = MEMBER_DEFINITION___MEMBER_STUB__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Member Subunit Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int RECEPTION_DEFINITION___MEMBER_SUBUNIT_DERIVATION__DIAGNOSTICCHAIN_MAP = MEMBER_DEFINITION___MEMBER_SUBUNIT_DERIVATION__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Member Stub Stereotypes</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int RECEPTION_DEFINITION___MEMBER_STUB_STEREOTYPES__DIAGNOSTICCHAIN_MAP = MEMBER_DEFINITION___MEMBER_STUB_STEREOTYPES__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Member Primitive</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int RECEPTION_DEFINITION___MEMBER_PRIMITIVE__DIAGNOSTICCHAIN_MAP = MEMBER_DEFINITION___MEMBER_PRIMITIVE__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Containing Member</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int RECEPTION_DEFINITION___CONTAINING_MEMBER = MEMBER_DEFINITION___CONTAINING_MEMBER;
+
+ /**
+ * The operation id for the '<em>Actual Name</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int RECEPTION_DEFINITION___ACTUAL_NAME = MEMBER_DEFINITION_OPERATION_COUNT + 0;
+
+ /**
+ * The operation id for the '<em>Annotation Allowed</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int RECEPTION_DEFINITION___ANNOTATION_ALLOWED__STEREOTYPEANNOTATION = MEMBER_DEFINITION_OPERATION_COUNT + 1;
+
+ /**
+ * The operation id for the '<em>Is Same Kind As</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int RECEPTION_DEFINITION___IS_SAME_KIND_AS__ELEMENTREFERENCE = MEMBER_DEFINITION_OPERATION_COUNT + 2;
+
+ /**
+ * The operation id for the '<em>Is Feature</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int RECEPTION_DEFINITION___IS_FEATURE = MEMBER_DEFINITION_OPERATION_COUNT + 3;
+
+ /**
+ * The operation id for the '<em>Reception Definition Signal Name</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int RECEPTION_DEFINITION___RECEPTION_DEFINITION_SIGNAL_NAME__DIAGNOSTICCHAIN_MAP = MEMBER_DEFINITION_OPERATION_COUNT + 4;
+
+ /**
+ * The operation id for the '<em>Reception Definition Signal Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int RECEPTION_DEFINITION___RECEPTION_DEFINITION_SIGNAL_DERIVATION__DIAGNOSTICCHAIN_MAP = MEMBER_DEFINITION_OPERATION_COUNT + 5;
+
+ /**
+ * The operation id for the '<em>Reception Definition Is Feature Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int RECEPTION_DEFINITION___RECEPTION_DEFINITION_IS_FEATURE_DERIVATION__DIAGNOSTICCHAIN_MAP = MEMBER_DEFINITION_OPERATION_COUNT + 6;
+
+ /**
+ * The number of operations of the '<em>Reception Definition</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int RECEPTION_DEFINITION_OPERATION_COUNT = MEMBER_DEFINITION_OPERATION_COUNT + 7;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.uml.alf.impl.MemberImpl <em>Member</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.uml.alf.impl.MemberImpl
+ * @see org.eclipse.papyrus.uml.alf.impl.AlfPackageImpl#getMember()
+ * @generated
+ */
+ int MEMBER = 125;
+
+ /**
+ * The feature id for the '<em><b>Owner</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int MEMBER__OWNER = DOCUMENTED_ELEMENT__OWNER;
+
+ /**
+ * The feature id for the '<em><b>Documentation</b></em>' attribute list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int MEMBER__DOCUMENTATION = DOCUMENTED_ELEMENT__DOCUMENTATION;
+
+ /**
+ * The feature id for the '<em><b>Definition</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int MEMBER__DEFINITION = DOCUMENTED_ELEMENT_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Visibility</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int MEMBER__VISIBILITY = DOCUMENTED_ELEMENT_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Namespace</b></em>' container reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int MEMBER__NAMESPACE = DOCUMENTED_ELEMENT_FEATURE_COUNT + 2;
+
+ /**
+ * The feature id for the '<em><b>Annotation</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int MEMBER__ANNOTATION = DOCUMENTED_ELEMENT_FEATURE_COUNT + 3;
+
+ /**
+ * The number of structural features of the '<em>Member</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int MEMBER_FEATURE_COUNT = DOCUMENTED_ELEMENT_FEATURE_COUNT + 4;
+
+ /**
+ * The operation id for the '<em>Owner</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int MEMBER___OWNER = DOCUMENTED_ELEMENT___OWNER;
+
+ /**
+ * The operation id for the '<em>Syntax Element owner</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int MEMBER___SYNTAX_ELEMENT_OWNER = DOCUMENTED_ELEMENT___SYNTAX_ELEMENT_OWNER;
+
+ /**
+ * The operation id for the '<em>Current Scope</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int MEMBER___CURRENT_SCOPE = DOCUMENTED_ELEMENT___CURRENT_SCOPE;
+
+ /**
+ * The operation id for the '<em>Syntax Element current Scope</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int MEMBER___SYNTAX_ELEMENT_CURRENT_SCOPE = DOCUMENTED_ELEMENT___SYNTAX_ELEMENT_CURRENT_SCOPE;
+
+ /**
+ * The operation id for the '<em>Enclosing Statement</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int MEMBER___ENCLOSING_STATEMENT = DOCUMENTED_ELEMENT___ENCLOSING_STATEMENT;
+
+ /**
+ * The operation id for the '<em>Enclosing Expression</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int MEMBER___ENCLOSING_EXPRESSION = DOCUMENTED_ELEMENT___ENCLOSING_EXPRESSION;
+
+ /**
+ * The operation id for the '<em>Assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int MEMBER___ASSIGNMENTS_BEFORE = DOCUMENTED_ELEMENT___ASSIGNMENTS_BEFORE;
+
+ /**
+ * The operation id for the '<em>Syntax Element assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int MEMBER___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE = DOCUMENTED_ELEMENT___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE;
+
+ /**
+ * The operation id for the '<em>Syntax Element assignments Before base</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int MEMBER___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE_BASE = DOCUMENTED_ELEMENT___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE_BASE;
+
+ /**
+ * The operation id for the '<em>Assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int MEMBER___ASSIGNMENTS_BEFORE__SYNTAXELEMENT = DOCUMENTED_ELEMENT___ASSIGNMENTS_BEFORE__SYNTAXELEMENT;
+
+ /**
+ * The operation id for the '<em>Update All</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int MEMBER___UPDATE_ALL__ELIST_ELIST = DOCUMENTED_ELEMENT___UPDATE_ALL__ELIST_ELIST;
+
+ /**
+ * The operation id for the '<em>Common Ancestor</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int MEMBER___COMMON_ANCESTOR__ELIST = DOCUMENTED_ELEMENT___COMMON_ANCESTOR__ELIST;
+
+ /**
+ * The operation id for the '<em>Common Ancestors</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int MEMBER___COMMON_ANCESTORS__ELIST = DOCUMENTED_ELEMENT___COMMON_ANCESTORS__ELIST;
+
+ /**
+ * The operation id for the '<em>Remove Duplicate Elements</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int MEMBER___REMOVE_DUPLICATE_ELEMENTS__ELIST = DOCUMENTED_ELEMENT___REMOVE_DUPLICATE_ELEMENTS__ELIST;
+
+ /**
+ * The operation id for the '<em>Resolve In Library</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int MEMBER___RESOLVE_IN_LIBRARY__STRING = DOCUMENTED_ELEMENT___RESOLVE_IN_LIBRARY__STRING;
+
+ /**
+ * The operation id for the '<em>Primitive Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int MEMBER___PRIMITIVE_TYPE__STRING = DOCUMENTED_ELEMENT___PRIMITIVE_TYPE__STRING;
+
+ /**
+ * The operation id for the '<em>Primitive Type </em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int MEMBER___PRIMITIVE_TYPE____STRING = DOCUMENTED_ELEMENT___PRIMITIVE_TYPE____STRING;
+
+ /**
+ * The operation id for the '<em>Boolean Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int MEMBER___BOOLEAN_TYPE = DOCUMENTED_ELEMENT___BOOLEAN_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Boolean Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int MEMBER___IS_BOOLEAN_TYPE__ELEMENTREFERENCE = DOCUMENTED_ELEMENT___IS_BOOLEAN_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Integer Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int MEMBER___INTEGER_TYPE = DOCUMENTED_ELEMENT___INTEGER_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Integer Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int MEMBER___IS_INTEGER_TYPE__ELEMENTREFERENCE = DOCUMENTED_ELEMENT___IS_INTEGER_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int MEMBER___STRING_TYPE = DOCUMENTED_ELEMENT___STRING_TYPE;
+
+ /**
+ * The operation id for the '<em>Is String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int MEMBER___IS_STRING_TYPE__ELEMENTREFERENCE = DOCUMENTED_ELEMENT___IS_STRING_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Unlimited Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int MEMBER___UNLIMITED_NATURAL_TYPE = DOCUMENTED_ELEMENT___UNLIMITED_NATURAL_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Unlimited Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int MEMBER___IS_UNLIMITED_NATURAL_TYPE__ELEMENTREFERENCE = DOCUMENTED_ELEMENT___IS_UNLIMITED_NATURAL_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Bit String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int MEMBER___BIT_STRING_TYPE = DOCUMENTED_ELEMENT___BIT_STRING_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Bit String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int MEMBER___IS_BIT_STRING_TYPE__ELEMENTREFERENCE = DOCUMENTED_ELEMENT___IS_BIT_STRING_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int MEMBER___NATURAL_TYPE = DOCUMENTED_ELEMENT___NATURAL_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int MEMBER___IS_NATURAL_TYPE__ELEMENTREFERENCE = DOCUMENTED_ELEMENT___IS_NATURAL_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Numeric Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int MEMBER___IS_NUMERIC_TYPE__ELEMENTREFERENCE = DOCUMENTED_ELEMENT___IS_NUMERIC_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Collection Function Add</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int MEMBER___COLLECTION_FUNCTION_ADD = DOCUMENTED_ELEMENT___COLLECTION_FUNCTION_ADD;
+
+ /**
+ * The operation id for the '<em>Is Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int MEMBER___IS_COLLECTION_CLASS__ELEMENTREFERENCE = DOCUMENTED_ELEMENT___IS_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Integer Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int MEMBER___IS_INTEGER_COLLECTION_CLASS__ELEMENTREFERENCE = DOCUMENTED_ELEMENT___IS_INTEGER_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Bit String Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int MEMBER___IS_BIT_STRING_COLLECTION_CLASS__ELEMENTREFERENCE = DOCUMENTED_ELEMENT___IS_BIT_STRING_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>To Reference</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int MEMBER___TO_REFERENCE = DOCUMENTED_ELEMENT_OPERATION_COUNT + 0;
+
+ /**
+ * The operation id for the '<em>Visibility</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int MEMBER___VISIBILITY = DOCUMENTED_ELEMENT_OPERATION_COUNT + 1;
+
+ /**
+ * The number of operations of the '<em>Member</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int MEMBER_OPERATION_COUNT = DOCUMENTED_ELEMENT_OPERATION_COUNT + 2;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.uml.alf.impl.AnnotatedStatementImpl <em>Annotated Statement</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.uml.alf.impl.AnnotatedStatementImpl
+ * @see org.eclipse.papyrus.uml.alf.impl.AlfPackageImpl#getAnnotatedStatement()
+ * @generated
+ */
+ int ANNOTATED_STATEMENT = 126;
+
+ /**
+ * The feature id for the '<em><b>Owner</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ANNOTATED_STATEMENT__OWNER = DOCUMENTED_ELEMENT__OWNER;
+
+ /**
+ * The feature id for the '<em><b>Documentation</b></em>' attribute list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ANNOTATED_STATEMENT__DOCUMENTATION = DOCUMENTED_ELEMENT__DOCUMENTATION;
+
+ /**
+ * The feature id for the '<em><b>Annotation</b></em>' attribute list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ANNOTATED_STATEMENT__ANNOTATION = DOCUMENTED_ELEMENT_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Statement</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ANNOTATED_STATEMENT__STATEMENT = DOCUMENTED_ELEMENT_FEATURE_COUNT + 1;
+
+ /**
+ * The number of structural features of the '<em>Annotated Statement</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ANNOTATED_STATEMENT_FEATURE_COUNT = DOCUMENTED_ELEMENT_FEATURE_COUNT + 2;
+
+ /**
+ * The operation id for the '<em>To Reference</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ANNOTATED_STATEMENT___TO_REFERENCE = DOCUMENTED_ELEMENT___TO_REFERENCE;
+
+ /**
+ * The operation id for the '<em>Owner</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ANNOTATED_STATEMENT___OWNER = DOCUMENTED_ELEMENT___OWNER;
+
+ /**
+ * The operation id for the '<em>Syntax Element owner</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ANNOTATED_STATEMENT___SYNTAX_ELEMENT_OWNER = DOCUMENTED_ELEMENT___SYNTAX_ELEMENT_OWNER;
+
+ /**
+ * The operation id for the '<em>Current Scope</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ANNOTATED_STATEMENT___CURRENT_SCOPE = DOCUMENTED_ELEMENT___CURRENT_SCOPE;
+
+ /**
+ * The operation id for the '<em>Syntax Element current Scope</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ANNOTATED_STATEMENT___SYNTAX_ELEMENT_CURRENT_SCOPE = DOCUMENTED_ELEMENT___SYNTAX_ELEMENT_CURRENT_SCOPE;
+
+ /**
+ * The operation id for the '<em>Enclosing Statement</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ANNOTATED_STATEMENT___ENCLOSING_STATEMENT = DOCUMENTED_ELEMENT___ENCLOSING_STATEMENT;
+
+ /**
+ * The operation id for the '<em>Enclosing Expression</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ANNOTATED_STATEMENT___ENCLOSING_EXPRESSION = DOCUMENTED_ELEMENT___ENCLOSING_EXPRESSION;
+
+ /**
+ * The operation id for the '<em>Assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ANNOTATED_STATEMENT___ASSIGNMENTS_BEFORE = DOCUMENTED_ELEMENT___ASSIGNMENTS_BEFORE;
+
+ /**
+ * The operation id for the '<em>Syntax Element assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ANNOTATED_STATEMENT___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE = DOCUMENTED_ELEMENT___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE;
+
+ /**
+ * The operation id for the '<em>Syntax Element assignments Before base</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ANNOTATED_STATEMENT___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE_BASE = DOCUMENTED_ELEMENT___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE_BASE;
+
+ /**
+ * The operation id for the '<em>Assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ANNOTATED_STATEMENT___ASSIGNMENTS_BEFORE__SYNTAXELEMENT = DOCUMENTED_ELEMENT___ASSIGNMENTS_BEFORE__SYNTAXELEMENT;
+
+ /**
+ * The operation id for the '<em>Update All</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ANNOTATED_STATEMENT___UPDATE_ALL__ELIST_ELIST = DOCUMENTED_ELEMENT___UPDATE_ALL__ELIST_ELIST;
+
+ /**
+ * The operation id for the '<em>Common Ancestor</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ANNOTATED_STATEMENT___COMMON_ANCESTOR__ELIST = DOCUMENTED_ELEMENT___COMMON_ANCESTOR__ELIST;
+
+ /**
+ * The operation id for the '<em>Common Ancestors</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ANNOTATED_STATEMENT___COMMON_ANCESTORS__ELIST = DOCUMENTED_ELEMENT___COMMON_ANCESTORS__ELIST;
+
+ /**
+ * The operation id for the '<em>Remove Duplicate Elements</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ANNOTATED_STATEMENT___REMOVE_DUPLICATE_ELEMENTS__ELIST = DOCUMENTED_ELEMENT___REMOVE_DUPLICATE_ELEMENTS__ELIST;
+
+ /**
+ * The operation id for the '<em>Resolve In Library</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ANNOTATED_STATEMENT___RESOLVE_IN_LIBRARY__STRING = DOCUMENTED_ELEMENT___RESOLVE_IN_LIBRARY__STRING;
+
+ /**
+ * The operation id for the '<em>Primitive Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ANNOTATED_STATEMENT___PRIMITIVE_TYPE__STRING = DOCUMENTED_ELEMENT___PRIMITIVE_TYPE__STRING;
+
+ /**
+ * The operation id for the '<em>Primitive Type </em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ANNOTATED_STATEMENT___PRIMITIVE_TYPE____STRING = DOCUMENTED_ELEMENT___PRIMITIVE_TYPE____STRING;
+
+ /**
+ * The operation id for the '<em>Boolean Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ANNOTATED_STATEMENT___BOOLEAN_TYPE = DOCUMENTED_ELEMENT___BOOLEAN_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Boolean Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ANNOTATED_STATEMENT___IS_BOOLEAN_TYPE__ELEMENTREFERENCE = DOCUMENTED_ELEMENT___IS_BOOLEAN_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Integer Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ANNOTATED_STATEMENT___INTEGER_TYPE = DOCUMENTED_ELEMENT___INTEGER_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Integer Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ANNOTATED_STATEMENT___IS_INTEGER_TYPE__ELEMENTREFERENCE = DOCUMENTED_ELEMENT___IS_INTEGER_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ANNOTATED_STATEMENT___STRING_TYPE = DOCUMENTED_ELEMENT___STRING_TYPE;
+
+ /**
+ * The operation id for the '<em>Is String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ANNOTATED_STATEMENT___IS_STRING_TYPE__ELEMENTREFERENCE = DOCUMENTED_ELEMENT___IS_STRING_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Unlimited Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ANNOTATED_STATEMENT___UNLIMITED_NATURAL_TYPE = DOCUMENTED_ELEMENT___UNLIMITED_NATURAL_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Unlimited Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ANNOTATED_STATEMENT___IS_UNLIMITED_NATURAL_TYPE__ELEMENTREFERENCE = DOCUMENTED_ELEMENT___IS_UNLIMITED_NATURAL_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Bit String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ANNOTATED_STATEMENT___BIT_STRING_TYPE = DOCUMENTED_ELEMENT___BIT_STRING_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Bit String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ANNOTATED_STATEMENT___IS_BIT_STRING_TYPE__ELEMENTREFERENCE = DOCUMENTED_ELEMENT___IS_BIT_STRING_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ANNOTATED_STATEMENT___NATURAL_TYPE = DOCUMENTED_ELEMENT___NATURAL_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ANNOTATED_STATEMENT___IS_NATURAL_TYPE__ELEMENTREFERENCE = DOCUMENTED_ELEMENT___IS_NATURAL_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Numeric Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ANNOTATED_STATEMENT___IS_NUMERIC_TYPE__ELEMENTREFERENCE = DOCUMENTED_ELEMENT___IS_NUMERIC_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Collection Function Add</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ANNOTATED_STATEMENT___COLLECTION_FUNCTION_ADD = DOCUMENTED_ELEMENT___COLLECTION_FUNCTION_ADD;
+
+ /**
+ * The operation id for the '<em>Is Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ANNOTATED_STATEMENT___IS_COLLECTION_CLASS__ELEMENTREFERENCE = DOCUMENTED_ELEMENT___IS_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Integer Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ANNOTATED_STATEMENT___IS_INTEGER_COLLECTION_CLASS__ELEMENTREFERENCE = DOCUMENTED_ELEMENT___IS_INTEGER_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Bit String Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ANNOTATED_STATEMENT___IS_BIT_STRING_COLLECTION_CLASS__ELEMENTREFERENCE = DOCUMENTED_ELEMENT___IS_BIT_STRING_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Annotations</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ANNOTATED_STATEMENT___ANNOTATIONS = DOCUMENTED_ELEMENT_OPERATION_COUNT + 0;
+
+ /**
+ * The number of operations of the '<em>Annotated Statement</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ANNOTATED_STATEMENT_OPERATION_COUNT = DOCUMENTED_ELEMENT_OPERATION_COUNT + 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.uml.alf.impl.BoundClassifierImpl <em>Bound Classifier</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.uml.alf.impl.BoundClassifierImpl
+ * @see org.eclipse.papyrus.uml.alf.impl.AlfPackageImpl#getBoundClassifier()
+ * @generated
+ */
+ int BOUND_CLASSIFIER = 127;
+
+ /**
+ * The feature id for the '<em><b>Owner</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BOUND_CLASSIFIER__OWNER = CLASSIFIER_DEFINITION__OWNER;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BOUND_CLASSIFIER__NAME = CLASSIFIER_DEFINITION__NAME;
+
+ /**
+ * The feature id for the '<em><b>Is Stub</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BOUND_CLASSIFIER__IS_STUB = CLASSIFIER_DEFINITION__IS_STUB;
+
+ /**
+ * The feature id for the '<em><b>Is Feature</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BOUND_CLASSIFIER__IS_FEATURE = CLASSIFIER_DEFINITION__IS_FEATURE;
+
+ /**
+ * The feature id for the '<em><b>Is Primitive</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BOUND_CLASSIFIER__IS_PRIMITIVE = CLASSIFIER_DEFINITION__IS_PRIMITIVE;
+
+ /**
+ * The feature id for the '<em><b>Is External</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BOUND_CLASSIFIER__IS_EXTERNAL = CLASSIFIER_DEFINITION__IS_EXTERNAL;
+
+ /**
+ * The feature id for the '<em><b>Subunit</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BOUND_CLASSIFIER__SUBUNIT = CLASSIFIER_DEFINITION__SUBUNIT;
+
+ /**
+ * The feature id for the '<em><b>Owned Member</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BOUND_CLASSIFIER__OWNED_MEMBER = CLASSIFIER_DEFINITION__OWNED_MEMBER;
+
+ /**
+ * The feature id for the '<em><b>Unit</b></em>' container reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BOUND_CLASSIFIER__UNIT = CLASSIFIER_DEFINITION__UNIT;
+
+ /**
+ * The feature id for the '<em><b>Member</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BOUND_CLASSIFIER__MEMBER = CLASSIFIER_DEFINITION__MEMBER;
+
+ /**
+ * The feature id for the '<em><b>Is Abstract</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BOUND_CLASSIFIER__IS_ABSTRACT = CLASSIFIER_DEFINITION__IS_ABSTRACT;
+
+ /**
+ * The feature id for the '<em><b>Specialization</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BOUND_CLASSIFIER__SPECIALIZATION = CLASSIFIER_DEFINITION__SPECIALIZATION;
+
+ /**
+ * The feature id for the '<em><b>Specialization Referent</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BOUND_CLASSIFIER__SPECIALIZATION_REFERENT = CLASSIFIER_DEFINITION__SPECIALIZATION_REFERENT;
+
+ /**
+ * The feature id for the '<em><b>Template</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BOUND_CLASSIFIER__TEMPLATE = CLASSIFIER_DEFINITION_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Actual</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BOUND_CLASSIFIER__ACTUAL = CLASSIFIER_DEFINITION_FEATURE_COUNT + 1;
+
+ /**
+ * The number of structural features of the '<em>Bound Classifier</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BOUND_CLASSIFIER_FEATURE_COUNT = CLASSIFIER_DEFINITION_FEATURE_COUNT + 2;
+
+ /**
+ * The operation id for the '<em>Owner</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BOUND_CLASSIFIER___OWNER = CLASSIFIER_DEFINITION___OWNER;
+
+ /**
+ * The operation id for the '<em>Syntax Element owner</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BOUND_CLASSIFIER___SYNTAX_ELEMENT_OWNER = CLASSIFIER_DEFINITION___SYNTAX_ELEMENT_OWNER;
+
+ /**
+ * The operation id for the '<em>Syntax Element current Scope</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BOUND_CLASSIFIER___SYNTAX_ELEMENT_CURRENT_SCOPE = CLASSIFIER_DEFINITION___SYNTAX_ELEMENT_CURRENT_SCOPE;
+
+ /**
+ * The operation id for the '<em>Enclosing Statement</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BOUND_CLASSIFIER___ENCLOSING_STATEMENT = CLASSIFIER_DEFINITION___ENCLOSING_STATEMENT;
+
+ /**
+ * The operation id for the '<em>Enclosing Expression</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BOUND_CLASSIFIER___ENCLOSING_EXPRESSION = CLASSIFIER_DEFINITION___ENCLOSING_EXPRESSION;
+
+ /**
+ * The operation id for the '<em>Assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BOUND_CLASSIFIER___ASSIGNMENTS_BEFORE = CLASSIFIER_DEFINITION___ASSIGNMENTS_BEFORE;
+
+ /**
+ * The operation id for the '<em>Syntax Element assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BOUND_CLASSIFIER___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE = CLASSIFIER_DEFINITION___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE;
+
+ /**
+ * The operation id for the '<em>Syntax Element assignments Before base</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BOUND_CLASSIFIER___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE_BASE = CLASSIFIER_DEFINITION___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE_BASE;
+
+ /**
+ * The operation id for the '<em>Assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BOUND_CLASSIFIER___ASSIGNMENTS_BEFORE__SYNTAXELEMENT = CLASSIFIER_DEFINITION___ASSIGNMENTS_BEFORE__SYNTAXELEMENT;
+
+ /**
+ * The operation id for the '<em>Update All</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BOUND_CLASSIFIER___UPDATE_ALL__ELIST_ELIST = CLASSIFIER_DEFINITION___UPDATE_ALL__ELIST_ELIST;
+
+ /**
+ * The operation id for the '<em>Common Ancestor</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BOUND_CLASSIFIER___COMMON_ANCESTOR__ELIST = CLASSIFIER_DEFINITION___COMMON_ANCESTOR__ELIST;
+
+ /**
+ * The operation id for the '<em>Common Ancestors</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BOUND_CLASSIFIER___COMMON_ANCESTORS__ELIST = CLASSIFIER_DEFINITION___COMMON_ANCESTORS__ELIST;
+
+ /**
+ * The operation id for the '<em>Remove Duplicate Elements</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BOUND_CLASSIFIER___REMOVE_DUPLICATE_ELEMENTS__ELIST = CLASSIFIER_DEFINITION___REMOVE_DUPLICATE_ELEMENTS__ELIST;
+
+ /**
+ * The operation id for the '<em>Resolve In Library</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BOUND_CLASSIFIER___RESOLVE_IN_LIBRARY__STRING = CLASSIFIER_DEFINITION___RESOLVE_IN_LIBRARY__STRING;
+
+ /**
+ * The operation id for the '<em>Primitive Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BOUND_CLASSIFIER___PRIMITIVE_TYPE__STRING = CLASSIFIER_DEFINITION___PRIMITIVE_TYPE__STRING;
+
+ /**
+ * The operation id for the '<em>Primitive Type </em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BOUND_CLASSIFIER___PRIMITIVE_TYPE____STRING = CLASSIFIER_DEFINITION___PRIMITIVE_TYPE____STRING;
+
+ /**
+ * The operation id for the '<em>Boolean Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BOUND_CLASSIFIER___BOOLEAN_TYPE = CLASSIFIER_DEFINITION___BOOLEAN_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Boolean Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BOUND_CLASSIFIER___IS_BOOLEAN_TYPE__ELEMENTREFERENCE = CLASSIFIER_DEFINITION___IS_BOOLEAN_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Integer Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BOUND_CLASSIFIER___INTEGER_TYPE = CLASSIFIER_DEFINITION___INTEGER_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Integer Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BOUND_CLASSIFIER___IS_INTEGER_TYPE__ELEMENTREFERENCE = CLASSIFIER_DEFINITION___IS_INTEGER_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BOUND_CLASSIFIER___STRING_TYPE = CLASSIFIER_DEFINITION___STRING_TYPE;
+
+ /**
+ * The operation id for the '<em>Is String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BOUND_CLASSIFIER___IS_STRING_TYPE__ELEMENTREFERENCE = CLASSIFIER_DEFINITION___IS_STRING_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Unlimited Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BOUND_CLASSIFIER___UNLIMITED_NATURAL_TYPE = CLASSIFIER_DEFINITION___UNLIMITED_NATURAL_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Unlimited Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BOUND_CLASSIFIER___IS_UNLIMITED_NATURAL_TYPE__ELEMENTREFERENCE = CLASSIFIER_DEFINITION___IS_UNLIMITED_NATURAL_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Bit String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BOUND_CLASSIFIER___BIT_STRING_TYPE = CLASSIFIER_DEFINITION___BIT_STRING_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Bit String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BOUND_CLASSIFIER___IS_BIT_STRING_TYPE__ELEMENTREFERENCE = CLASSIFIER_DEFINITION___IS_BIT_STRING_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BOUND_CLASSIFIER___NATURAL_TYPE = CLASSIFIER_DEFINITION___NATURAL_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BOUND_CLASSIFIER___IS_NATURAL_TYPE__ELEMENTREFERENCE = CLASSIFIER_DEFINITION___IS_NATURAL_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Numeric Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BOUND_CLASSIFIER___IS_NUMERIC_TYPE__ELEMENTREFERENCE = CLASSIFIER_DEFINITION___IS_NUMERIC_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Collection Function Add</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BOUND_CLASSIFIER___COLLECTION_FUNCTION_ADD = CLASSIFIER_DEFINITION___COLLECTION_FUNCTION_ADD;
+
+ /**
+ * The operation id for the '<em>Is Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BOUND_CLASSIFIER___IS_COLLECTION_CLASS__ELEMENTREFERENCE = CLASSIFIER_DEFINITION___IS_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Integer Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BOUND_CLASSIFIER___IS_INTEGER_COLLECTION_CLASS__ELEMENTREFERENCE = CLASSIFIER_DEFINITION___IS_INTEGER_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Bit String Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BOUND_CLASSIFIER___IS_BIT_STRING_COLLECTION_CLASS__ELEMENTREFERENCE = CLASSIFIER_DEFINITION___IS_BIT_STRING_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Annotation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BOUND_CLASSIFIER___ANNOTATION = CLASSIFIER_DEFINITION___ANNOTATION;
+
+ /**
+ * The operation id for the '<em>Actual Name</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BOUND_CLASSIFIER___ACTUAL_NAME = CLASSIFIER_DEFINITION___ACTUAL_NAME;
+
+ /**
+ * The operation id for the '<em>Member Definition outer Scope</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BOUND_CLASSIFIER___MEMBER_DEFINITION_OUTER_SCOPE = CLASSIFIER_DEFINITION___MEMBER_DEFINITION_OUTER_SCOPE;
+
+ /**
+ * The operation id for the '<em>Qualified Name</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BOUND_CLASSIFIER___QUALIFIED_NAME = CLASSIFIER_DEFINITION___QUALIFIED_NAME;
+
+ /**
+ * The operation id for the '<em>Namespace Reference</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BOUND_CLASSIFIER___NAMESPACE_REFERENCE = CLASSIFIER_DEFINITION___NAMESPACE_REFERENCE;
+
+ /**
+ * The operation id for the '<em>Add To Model</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BOUND_CLASSIFIER___ADD_TO_MODEL = CLASSIFIER_DEFINITION___ADD_TO_MODEL;
+
+ /**
+ * The operation id for the '<em>Is Distinguishable From</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BOUND_CLASSIFIER___IS_DISTINGUISHABLE_FROM__MEMBERDEFINITION = CLASSIFIER_DEFINITION___IS_DISTINGUISHABLE_FROM__MEMBERDEFINITION;
+
+ /**
+ * The operation id for the '<em>Member Definition is Distinguishable From</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BOUND_CLASSIFIER___MEMBER_DEFINITION_IS_DISTINGUISHABLE_FROM__MEMBERDEFINITION = CLASSIFIER_DEFINITION___MEMBER_DEFINITION_IS_DISTINGUISHABLE_FROM__MEMBERDEFINITION;
+
+ /**
+ * The operation id for the '<em>Is Same Kind As</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BOUND_CLASSIFIER___IS_SAME_KIND_AS__ELEMENTREFERENCE = CLASSIFIER_DEFINITION___IS_SAME_KIND_AS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Template</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BOUND_CLASSIFIER___IS_TEMPLATE = CLASSIFIER_DEFINITION___IS_TEMPLATE;
+
+ /**
+ * The operation id for the '<em>Is Feature</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BOUND_CLASSIFIER___IS_FEATURE = CLASSIFIER_DEFINITION___IS_FEATURE;
+
+ /**
+ * The operation id for the '<em>Member Annotations</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BOUND_CLASSIFIER___MEMBER_ANNOTATIONS__DIAGNOSTICCHAIN_MAP = CLASSIFIER_DEFINITION___MEMBER_ANNOTATIONS__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Member Is Primitive Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BOUND_CLASSIFIER___MEMBER_IS_PRIMITIVE_DERIVATION__DIAGNOSTICCHAIN_MAP = CLASSIFIER_DEFINITION___MEMBER_IS_PRIMITIVE_DERIVATION__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Member Is External Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BOUND_CLASSIFIER___MEMBER_IS_EXTERNAL_DERIVATION__DIAGNOSTICCHAIN_MAP = CLASSIFIER_DEFINITION___MEMBER_IS_EXTERNAL_DERIVATION__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Member External</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BOUND_CLASSIFIER___MEMBER_EXTERNAL__DIAGNOSTICCHAIN_MAP = CLASSIFIER_DEFINITION___MEMBER_EXTERNAL__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Member Stub</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BOUND_CLASSIFIER___MEMBER_STUB__DIAGNOSTICCHAIN_MAP = CLASSIFIER_DEFINITION___MEMBER_STUB__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Member Subunit Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BOUND_CLASSIFIER___MEMBER_SUBUNIT_DERIVATION__DIAGNOSTICCHAIN_MAP = CLASSIFIER_DEFINITION___MEMBER_SUBUNIT_DERIVATION__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Member Stub Stereotypes</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BOUND_CLASSIFIER___MEMBER_STUB_STEREOTYPES__DIAGNOSTICCHAIN_MAP = CLASSIFIER_DEFINITION___MEMBER_STUB_STEREOTYPES__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Member Primitive</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BOUND_CLASSIFIER___MEMBER_PRIMITIVE__DIAGNOSTICCHAIN_MAP = CLASSIFIER_DEFINITION___MEMBER_PRIMITIVE__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Containing Member</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BOUND_CLASSIFIER___CONTAINING_MEMBER = CLASSIFIER_DEFINITION___CONTAINING_MEMBER;
+
+ /**
+ * The operation id for the '<em>Current Scope</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BOUND_CLASSIFIER___CURRENT_SCOPE = CLASSIFIER_DEFINITION___CURRENT_SCOPE;
+
+ /**
+ * The operation id for the '<em>Outer Scope</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BOUND_CLASSIFIER___OUTER_SCOPE = CLASSIFIER_DEFINITION___OUTER_SCOPE;
+
+ /**
+ * The operation id for the '<em>Namespace Definition outer Scope</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BOUND_CLASSIFIER___NAMESPACE_DEFINITION_OUTER_SCOPE = CLASSIFIER_DEFINITION___NAMESPACE_DEFINITION_OUTER_SCOPE;
+
+ /**
+ * The operation id for the '<em>Model Namespace</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BOUND_CLASSIFIER___MODEL_NAMESPACE = CLASSIFIER_DEFINITION___MODEL_NAMESPACE;
+
+ /**
+ * The operation id for the '<em>Model Scope</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BOUND_CLASSIFIER___MODEL_SCOPE = CLASSIFIER_DEFINITION___MODEL_SCOPE;
+
+ /**
+ * The operation id for the '<em>Resolve In Scope</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BOUND_CLASSIFIER___RESOLVE_IN_SCOPE__STRING = CLASSIFIER_DEFINITION___RESOLVE_IN_SCOPE__STRING;
+
+ /**
+ * The operation id for the '<em>Applied Profiles</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BOUND_CLASSIFIER___APPLIED_PROFILES = CLASSIFIER_DEFINITION___APPLIED_PROFILES;
+
+ /**
+ * The operation id for the '<em>Namespace Definition applied Profiles</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BOUND_CLASSIFIER___NAMESPACE_DEFINITION_APPLIED_PROFILES = CLASSIFIER_DEFINITION___NAMESPACE_DEFINITION_APPLIED_PROFILES;
+
+ /**
+ * The operation id for the '<em>Parameters</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BOUND_CLASSIFIER___PARAMETERS = CLASSIFIER_DEFINITION___PARAMETERS;
+
+ /**
+ * The operation id for the '<em>Return Parameter</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BOUND_CLASSIFIER___RETURN_PARAMETER = CLASSIFIER_DEFINITION___RETURN_PARAMETER;
+
+ /**
+ * The operation id for the '<em>Namespace Definition return Parameter</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BOUND_CLASSIFIER___NAMESPACE_DEFINITION_RETURN_PARAMETER = CLASSIFIER_DEFINITION___NAMESPACE_DEFINITION_RETURN_PARAMETER;
+
+ /**
+ * The operation id for the '<em>Subunit Owned Members</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BOUND_CLASSIFIER___SUBUNIT_OWNED_MEMBERS = CLASSIFIER_DEFINITION___SUBUNIT_OWNED_MEMBERS;
+
+ /**
+ * The operation id for the '<em>Annotation Allowed</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BOUND_CLASSIFIER___ANNOTATION_ALLOWED__STEREOTYPEANNOTATION = CLASSIFIER_DEFINITION___ANNOTATION_ALLOWED__STEREOTYPEANNOTATION;
+
+ /**
+ * The operation id for the '<em>Namespace Definition annotation Allowed</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BOUND_CLASSIFIER___NAMESPACE_DEFINITION_ANNOTATION_ALLOWED__STEREOTYPEANNOTATION = CLASSIFIER_DEFINITION___NAMESPACE_DEFINITION_ANNOTATION_ALLOWED__STEREOTYPEANNOTATION;
+
+ /**
+ * The operation id for the '<em>Template Parameters</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BOUND_CLASSIFIER___TEMPLATE_PARAMETERS = CLASSIFIER_DEFINITION___TEMPLATE_PARAMETERS;
+
+ /**
+ * The operation id for the '<em>Members Cached</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BOUND_CLASSIFIER___MEMBERS_CACHED = CLASSIFIER_DEFINITION___MEMBERS_CACHED;
+
+ /**
+ * The operation id for the '<em>Namespace Definition members</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BOUND_CLASSIFIER___NAMESPACE_DEFINITION_MEMBERS = CLASSIFIER_DEFINITION___NAMESPACE_DEFINITION_MEMBERS;
+
+ /**
+ * The operation id for the '<em>Imported Members</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BOUND_CLASSIFIER___IMPORTED_MEMBERS = CLASSIFIER_DEFINITION___IMPORTED_MEMBERS;
+
+ /**
+ * The operation id for the '<em>Import Members</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BOUND_CLASSIFIER___IMPORT_MEMBERS__ELIST = CLASSIFIER_DEFINITION___IMPORT_MEMBERS__ELIST;
+
+ /**
+ * The operation id for the '<em>Exclude Collisions</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BOUND_CLASSIFIER___EXCLUDE_COLLISIONS__ELIST = CLASSIFIER_DEFINITION___EXCLUDE_COLLISIONS__ELIST;
+
+ /**
+ * The operation id for the '<em>Remove Duplicates</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BOUND_CLASSIFIER___REMOVE_DUPLICATES__ELIST = CLASSIFIER_DEFINITION___REMOVE_DUPLICATES__ELIST;
+
+ /**
+ * The operation id for the '<em>Include Distinguishable Caching</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BOUND_CLASSIFIER___INCLUDE_DISTINGUISHABLE_CACHING__ELIST = CLASSIFIER_DEFINITION___INCLUDE_DISTINGUISHABLE_CACHING__ELIST;
+
+ /**
+ * The operation id for the '<em>Include Distinguishable</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BOUND_CLASSIFIER___INCLUDE_DISTINGUISHABLE__ELIST = CLASSIFIER_DEFINITION___INCLUDE_DISTINGUISHABLE__ELIST;
+
+ /**
+ * The operation id for the '<em>Stub</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BOUND_CLASSIFIER___STUB = CLASSIFIER_DEFINITION___STUB;
+
+ /**
+ * The operation id for the '<em>Stub For</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BOUND_CLASSIFIER___STUB_FOR__UNITDEFINITION = CLASSIFIER_DEFINITION___STUB_FOR__UNITDEFINITION;
+
+ /**
+ * The operation id for the '<em>Namespace Definition Member Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BOUND_CLASSIFIER___NAMESPACE_DEFINITION_MEMBER_DERIVATION__DIAGNOSTICCHAIN_MAP = CLASSIFIER_DEFINITION___NAMESPACE_DEFINITION_MEMBER_DERIVATION__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Namespace Definition Member Distinguishability</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BOUND_CLASSIFIER___NAMESPACE_DEFINITION_MEMBER_DISTINGUISHABILITY__DIAGNOSTICCHAIN_MAP = CLASSIFIER_DEFINITION___NAMESPACE_DEFINITION_MEMBER_DISTINGUISHABILITY__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Classifier Definition annotation Allowed</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BOUND_CLASSIFIER___CLASSIFIER_DEFINITION_ANNOTATION_ALLOWED__STEREOTYPEANNOTATION = CLASSIFIER_DEFINITION___CLASSIFIER_DEFINITION_ANNOTATION_ALLOWED__STEREOTYPEANNOTATION;
+
+ /**
+ * The operation id for the '<em>Match For Stub</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BOUND_CLASSIFIER___MATCH_FOR_STUB__UNITDEFINITION = CLASSIFIER_DEFINITION___MATCH_FOR_STUB__UNITDEFINITION;
+
+ /**
+ * The operation id for the '<em>Classifier Definition match For Stub</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BOUND_CLASSIFIER___CLASSIFIER_DEFINITION_MATCH_FOR_STUB__UNITDEFINITION = CLASSIFIER_DEFINITION___CLASSIFIER_DEFINITION_MATCH_FOR_STUB__UNITDEFINITION;
+
+ /**
+ * The operation id for the '<em>Members</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BOUND_CLASSIFIER___MEMBERS = CLASSIFIER_DEFINITION___MEMBERS;
+
+ /**
+ * The operation id for the '<em>Inherited Members</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BOUND_CLASSIFIER___INHERITED_MEMBERS = CLASSIFIER_DEFINITION___INHERITED_MEMBERS;
+
+ /**
+ * The operation id for the '<em>Inherit</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BOUND_CLASSIFIER___INHERIT__ELIST = CLASSIFIER_DEFINITION___INHERIT__ELIST;
+
+ /**
+ * The operation id for the '<em>Classifier Definition Specialization</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BOUND_CLASSIFIER___CLASSIFIER_DEFINITION_SPECIALIZATION__DIAGNOSTICCHAIN_MAP = CLASSIFIER_DEFINITION___CLASSIFIER_DEFINITION_SPECIALIZATION__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Classifier Definition Specialization Referent Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BOUND_CLASSIFIER___CLASSIFIER_DEFINITION_SPECIALIZATION_REFERENT_DERIVATION__DIAGNOSTICCHAIN_MAP = CLASSIFIER_DEFINITION___CLASSIFIER_DEFINITION_SPECIALIZATION_REFERENT_DERIVATION__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Classifier Definition Inherited Members</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BOUND_CLASSIFIER___CLASSIFIER_DEFINITION_INHERITED_MEMBERS__DIAGNOSTICCHAIN_MAP = CLASSIFIER_DEFINITION___CLASSIFIER_DEFINITION_INHERITED_MEMBERS__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>To Reference</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BOUND_CLASSIFIER___TO_REFERENCE = CLASSIFIER_DEFINITION_OPERATION_COUNT + 0;
+
+ /**
+ * The number of operations of the '<em>Bound Classifier</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BOUND_CLASSIFIER_OPERATION_COUNT = CLASSIFIER_DEFINITION_OPERATION_COUNT + 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.uml.alf.impl.ReturnParameterImpl <em>Return Parameter</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.uml.alf.impl.ReturnParameterImpl
+ * @see org.eclipse.papyrus.uml.alf.impl.AlfPackageImpl#getReturnParameter()
+ * @generated
+ */
+ int RETURN_PARAMETER = 128;
+
+ /**
+ * The feature id for the '<em><b>Owner</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int RETURN_PARAMETER__OWNER = FORMAL_PARAMETER__OWNER;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int RETURN_PARAMETER__NAME = FORMAL_PARAMETER__NAME;
+
+ /**
+ * The feature id for the '<em><b>Is Stub</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int RETURN_PARAMETER__IS_STUB = FORMAL_PARAMETER__IS_STUB;
+
+ /**
+ * The feature id for the '<em><b>Is Feature</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int RETURN_PARAMETER__IS_FEATURE = FORMAL_PARAMETER__IS_FEATURE;
+
+ /**
+ * The feature id for the '<em><b>Is Primitive</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int RETURN_PARAMETER__IS_PRIMITIVE = FORMAL_PARAMETER__IS_PRIMITIVE;
+
+ /**
+ * The feature id for the '<em><b>Is External</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int RETURN_PARAMETER__IS_EXTERNAL = FORMAL_PARAMETER__IS_EXTERNAL;
+
+ /**
+ * The feature id for the '<em><b>Subunit</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int RETURN_PARAMETER__SUBUNIT = FORMAL_PARAMETER__SUBUNIT;
+
+ /**
+ * The feature id for the '<em><b>Direction</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int RETURN_PARAMETER__DIRECTION = FORMAL_PARAMETER__DIRECTION;
+
+ /**
+ * The feature id for the '<em><b>Type Part</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int RETURN_PARAMETER__TYPE_PART = FORMAL_PARAMETER__TYPE_PART;
+
+ /**
+ * The number of structural features of the '<em>Return Parameter</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int RETURN_PARAMETER_FEATURE_COUNT = FORMAL_PARAMETER_FEATURE_COUNT + 0;
+
+ /**
+ * The operation id for the '<em>To Reference</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int RETURN_PARAMETER___TO_REFERENCE = FORMAL_PARAMETER___TO_REFERENCE;
+
+ /**
+ * The operation id for the '<em>Owner</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int RETURN_PARAMETER___OWNER = FORMAL_PARAMETER___OWNER;
+
+ /**
+ * The operation id for the '<em>Syntax Element owner</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int RETURN_PARAMETER___SYNTAX_ELEMENT_OWNER = FORMAL_PARAMETER___SYNTAX_ELEMENT_OWNER;
+
+ /**
+ * The operation id for the '<em>Syntax Element current Scope</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int RETURN_PARAMETER___SYNTAX_ELEMENT_CURRENT_SCOPE = FORMAL_PARAMETER___SYNTAX_ELEMENT_CURRENT_SCOPE;
+
+ /**
+ * The operation id for the '<em>Enclosing Statement</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int RETURN_PARAMETER___ENCLOSING_STATEMENT = FORMAL_PARAMETER___ENCLOSING_STATEMENT;
+
+ /**
+ * The operation id for the '<em>Enclosing Expression</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int RETURN_PARAMETER___ENCLOSING_EXPRESSION = FORMAL_PARAMETER___ENCLOSING_EXPRESSION;
+
+ /**
+ * The operation id for the '<em>Assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int RETURN_PARAMETER___ASSIGNMENTS_BEFORE = FORMAL_PARAMETER___ASSIGNMENTS_BEFORE;
+
+ /**
+ * The operation id for the '<em>Syntax Element assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int RETURN_PARAMETER___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE = FORMAL_PARAMETER___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE;
+
+ /**
+ * The operation id for the '<em>Syntax Element assignments Before base</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int RETURN_PARAMETER___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE_BASE = FORMAL_PARAMETER___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE_BASE;
+
+ /**
+ * The operation id for the '<em>Assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int RETURN_PARAMETER___ASSIGNMENTS_BEFORE__SYNTAXELEMENT = FORMAL_PARAMETER___ASSIGNMENTS_BEFORE__SYNTAXELEMENT;
+
+ /**
+ * The operation id for the '<em>Update All</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int RETURN_PARAMETER___UPDATE_ALL__ELIST_ELIST = FORMAL_PARAMETER___UPDATE_ALL__ELIST_ELIST;
+
+ /**
+ * The operation id for the '<em>Common Ancestor</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int RETURN_PARAMETER___COMMON_ANCESTOR__ELIST = FORMAL_PARAMETER___COMMON_ANCESTOR__ELIST;
+
+ /**
+ * The operation id for the '<em>Common Ancestors</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int RETURN_PARAMETER___COMMON_ANCESTORS__ELIST = FORMAL_PARAMETER___COMMON_ANCESTORS__ELIST;
+
+ /**
+ * The operation id for the '<em>Remove Duplicate Elements</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int RETURN_PARAMETER___REMOVE_DUPLICATE_ELEMENTS__ELIST = FORMAL_PARAMETER___REMOVE_DUPLICATE_ELEMENTS__ELIST;
+
+ /**
+ * The operation id for the '<em>Resolve In Library</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int RETURN_PARAMETER___RESOLVE_IN_LIBRARY__STRING = FORMAL_PARAMETER___RESOLVE_IN_LIBRARY__STRING;
+
+ /**
+ * The operation id for the '<em>Primitive Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int RETURN_PARAMETER___PRIMITIVE_TYPE__STRING = FORMAL_PARAMETER___PRIMITIVE_TYPE__STRING;
+
+ /**
+ * The operation id for the '<em>Primitive Type </em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int RETURN_PARAMETER___PRIMITIVE_TYPE____STRING = FORMAL_PARAMETER___PRIMITIVE_TYPE____STRING;
+
+ /**
+ * The operation id for the '<em>Boolean Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int RETURN_PARAMETER___BOOLEAN_TYPE = FORMAL_PARAMETER___BOOLEAN_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Boolean Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int RETURN_PARAMETER___IS_BOOLEAN_TYPE__ELEMENTREFERENCE = FORMAL_PARAMETER___IS_BOOLEAN_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Integer Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int RETURN_PARAMETER___INTEGER_TYPE = FORMAL_PARAMETER___INTEGER_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Integer Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int RETURN_PARAMETER___IS_INTEGER_TYPE__ELEMENTREFERENCE = FORMAL_PARAMETER___IS_INTEGER_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int RETURN_PARAMETER___STRING_TYPE = FORMAL_PARAMETER___STRING_TYPE;
+
+ /**
+ * The operation id for the '<em>Is String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int RETURN_PARAMETER___IS_STRING_TYPE__ELEMENTREFERENCE = FORMAL_PARAMETER___IS_STRING_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Unlimited Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int RETURN_PARAMETER___UNLIMITED_NATURAL_TYPE = FORMAL_PARAMETER___UNLIMITED_NATURAL_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Unlimited Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int RETURN_PARAMETER___IS_UNLIMITED_NATURAL_TYPE__ELEMENTREFERENCE = FORMAL_PARAMETER___IS_UNLIMITED_NATURAL_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Bit String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int RETURN_PARAMETER___BIT_STRING_TYPE = FORMAL_PARAMETER___BIT_STRING_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Bit String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int RETURN_PARAMETER___IS_BIT_STRING_TYPE__ELEMENTREFERENCE = FORMAL_PARAMETER___IS_BIT_STRING_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int RETURN_PARAMETER___NATURAL_TYPE = FORMAL_PARAMETER___NATURAL_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int RETURN_PARAMETER___IS_NATURAL_TYPE__ELEMENTREFERENCE = FORMAL_PARAMETER___IS_NATURAL_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Numeric Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int RETURN_PARAMETER___IS_NUMERIC_TYPE__ELEMENTREFERENCE = FORMAL_PARAMETER___IS_NUMERIC_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Collection Function Add</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int RETURN_PARAMETER___COLLECTION_FUNCTION_ADD = FORMAL_PARAMETER___COLLECTION_FUNCTION_ADD;
+
+ /**
+ * The operation id for the '<em>Is Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int RETURN_PARAMETER___IS_COLLECTION_CLASS__ELEMENTREFERENCE = FORMAL_PARAMETER___IS_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Integer Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int RETURN_PARAMETER___IS_INTEGER_COLLECTION_CLASS__ELEMENTREFERENCE = FORMAL_PARAMETER___IS_INTEGER_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Bit String Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int RETURN_PARAMETER___IS_BIT_STRING_COLLECTION_CLASS__ELEMENTREFERENCE = FORMAL_PARAMETER___IS_BIT_STRING_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Annotation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int RETURN_PARAMETER___ANNOTATION = FORMAL_PARAMETER___ANNOTATION;
+
+ /**
+ * The operation id for the '<em>Actual Name</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int RETURN_PARAMETER___ACTUAL_NAME = FORMAL_PARAMETER___ACTUAL_NAME;
+
+ /**
+ * The operation id for the '<em>Outer Scope</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int RETURN_PARAMETER___OUTER_SCOPE = FORMAL_PARAMETER___OUTER_SCOPE;
+
+ /**
+ * The operation id for the '<em>Member Definition outer Scope</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int RETURN_PARAMETER___MEMBER_DEFINITION_OUTER_SCOPE = FORMAL_PARAMETER___MEMBER_DEFINITION_OUTER_SCOPE;
+
+ /**
+ * The operation id for the '<em>Qualified Name</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int RETURN_PARAMETER___QUALIFIED_NAME = FORMAL_PARAMETER___QUALIFIED_NAME;
+
+ /**
+ * The operation id for the '<em>Namespace Reference</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int RETURN_PARAMETER___NAMESPACE_REFERENCE = FORMAL_PARAMETER___NAMESPACE_REFERENCE;
+
+ /**
+ * The operation id for the '<em>Add To Model</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int RETURN_PARAMETER___ADD_TO_MODEL = FORMAL_PARAMETER___ADD_TO_MODEL;
+
+ /**
+ * The operation id for the '<em>Match For Stub</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int RETURN_PARAMETER___MATCH_FOR_STUB__UNITDEFINITION = FORMAL_PARAMETER___MATCH_FOR_STUB__UNITDEFINITION;
+
+ /**
+ * The operation id for the '<em>Is Distinguishable From</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int RETURN_PARAMETER___IS_DISTINGUISHABLE_FROM__MEMBERDEFINITION = FORMAL_PARAMETER___IS_DISTINGUISHABLE_FROM__MEMBERDEFINITION;
+
+ /**
+ * The operation id for the '<em>Member Definition is Distinguishable From</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int RETURN_PARAMETER___MEMBER_DEFINITION_IS_DISTINGUISHABLE_FROM__MEMBERDEFINITION = FORMAL_PARAMETER___MEMBER_DEFINITION_IS_DISTINGUISHABLE_FROM__MEMBERDEFINITION;
+
+ /**
+ * The operation id for the '<em>Template Parameters</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int RETURN_PARAMETER___TEMPLATE_PARAMETERS = FORMAL_PARAMETER___TEMPLATE_PARAMETERS;
+
+ /**
+ * The operation id for the '<em>Is Template</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int RETURN_PARAMETER___IS_TEMPLATE = FORMAL_PARAMETER___IS_TEMPLATE;
+
+ /**
+ * The operation id for the '<em>Is Feature</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int RETURN_PARAMETER___IS_FEATURE = FORMAL_PARAMETER___IS_FEATURE;
+
+ /**
+ * The operation id for the '<em>Member Annotations</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int RETURN_PARAMETER___MEMBER_ANNOTATIONS__DIAGNOSTICCHAIN_MAP = FORMAL_PARAMETER___MEMBER_ANNOTATIONS__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Member Is Primitive Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int RETURN_PARAMETER___MEMBER_IS_PRIMITIVE_DERIVATION__DIAGNOSTICCHAIN_MAP = FORMAL_PARAMETER___MEMBER_IS_PRIMITIVE_DERIVATION__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Member Is External Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int RETURN_PARAMETER___MEMBER_IS_EXTERNAL_DERIVATION__DIAGNOSTICCHAIN_MAP = FORMAL_PARAMETER___MEMBER_IS_EXTERNAL_DERIVATION__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Member External</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int RETURN_PARAMETER___MEMBER_EXTERNAL__DIAGNOSTICCHAIN_MAP = FORMAL_PARAMETER___MEMBER_EXTERNAL__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Member Stub</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int RETURN_PARAMETER___MEMBER_STUB__DIAGNOSTICCHAIN_MAP = FORMAL_PARAMETER___MEMBER_STUB__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Member Subunit Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int RETURN_PARAMETER___MEMBER_SUBUNIT_DERIVATION__DIAGNOSTICCHAIN_MAP = FORMAL_PARAMETER___MEMBER_SUBUNIT_DERIVATION__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Member Stub Stereotypes</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int RETURN_PARAMETER___MEMBER_STUB_STEREOTYPES__DIAGNOSTICCHAIN_MAP = FORMAL_PARAMETER___MEMBER_STUB_STEREOTYPES__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Member Primitive</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int RETURN_PARAMETER___MEMBER_PRIMITIVE__DIAGNOSTICCHAIN_MAP = FORMAL_PARAMETER___MEMBER_PRIMITIVE__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Containing Member</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int RETURN_PARAMETER___CONTAINING_MEMBER = FORMAL_PARAMETER___CONTAINING_MEMBER;
+
+ /**
+ * The operation id for the '<em>Current Scope</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int RETURN_PARAMETER___CURRENT_SCOPE = FORMAL_PARAMETER___CURRENT_SCOPE;
+
+ /**
+ * The operation id for the '<em>Annotation Allowed</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int RETURN_PARAMETER___ANNOTATION_ALLOWED__STEREOTYPEANNOTATION = FORMAL_PARAMETER___ANNOTATION_ALLOWED__STEREOTYPEANNOTATION;
+
+ /**
+ * The operation id for the '<em>Is Same Kind As</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int RETURN_PARAMETER___IS_SAME_KIND_AS__ELEMENTREFERENCE = FORMAL_PARAMETER___IS_SAME_KIND_AS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Matches</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int RETURN_PARAMETER___MATCHES__FORMALPARAMETER = FORMAL_PARAMETER___MATCHES__FORMALPARAMETER;
+
+ /**
+ * The operation id for the '<em>Matches Element</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int RETURN_PARAMETER___MATCHES_ELEMENT__ELEMENTREFERENCE = FORMAL_PARAMETER___MATCHES_ELEMENT__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Matches Name Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int RETURN_PARAMETER___MATCHES_NAME_TYPE__ELEMENTREFERENCE = FORMAL_PARAMETER___MATCHES_NAME_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Matches Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int RETURN_PARAMETER___MATCHES_TYPE__ELEMENTREFERENCE = FORMAL_PARAMETER___MATCHES_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The number of operations of the '<em>Return Parameter</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int RETURN_PARAMETER_OPERATION_COUNT = FORMAL_PARAMETER_OPERATION_COUNT + 0;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.uml.alf.impl.NonReturnParameterImpl <em>Non Return Parameter</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.uml.alf.impl.NonReturnParameterImpl
+ * @see org.eclipse.papyrus.uml.alf.impl.AlfPackageImpl#getNonReturnParameter()
+ * @generated
+ */
+ int NON_RETURN_PARAMETER = 129;
+
+ /**
+ * The feature id for the '<em><b>Owner</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NON_RETURN_PARAMETER__OWNER = FORMAL_PARAMETER__OWNER;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NON_RETURN_PARAMETER__NAME = FORMAL_PARAMETER__NAME;
+
+ /**
+ * The feature id for the '<em><b>Is Stub</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NON_RETURN_PARAMETER__IS_STUB = FORMAL_PARAMETER__IS_STUB;
+
+ /**
+ * The feature id for the '<em><b>Is Feature</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NON_RETURN_PARAMETER__IS_FEATURE = FORMAL_PARAMETER__IS_FEATURE;
+
+ /**
+ * The feature id for the '<em><b>Is Primitive</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NON_RETURN_PARAMETER__IS_PRIMITIVE = FORMAL_PARAMETER__IS_PRIMITIVE;
+
+ /**
+ * The feature id for the '<em><b>Is External</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NON_RETURN_PARAMETER__IS_EXTERNAL = FORMAL_PARAMETER__IS_EXTERNAL;
+
+ /**
+ * The feature id for the '<em><b>Subunit</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NON_RETURN_PARAMETER__SUBUNIT = FORMAL_PARAMETER__SUBUNIT;
+
+ /**
+ * The feature id for the '<em><b>Direction</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NON_RETURN_PARAMETER__DIRECTION = FORMAL_PARAMETER__DIRECTION;
+
+ /**
+ * The feature id for the '<em><b>Type Part</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NON_RETURN_PARAMETER__TYPE_PART = FORMAL_PARAMETER__TYPE_PART;
+
+ /**
+ * The number of structural features of the '<em>Non Return Parameter</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NON_RETURN_PARAMETER_FEATURE_COUNT = FORMAL_PARAMETER_FEATURE_COUNT + 0;
+
+ /**
+ * The operation id for the '<em>To Reference</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NON_RETURN_PARAMETER___TO_REFERENCE = FORMAL_PARAMETER___TO_REFERENCE;
+
+ /**
+ * The operation id for the '<em>Owner</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NON_RETURN_PARAMETER___OWNER = FORMAL_PARAMETER___OWNER;
+
+ /**
+ * The operation id for the '<em>Syntax Element owner</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NON_RETURN_PARAMETER___SYNTAX_ELEMENT_OWNER = FORMAL_PARAMETER___SYNTAX_ELEMENT_OWNER;
+
+ /**
+ * The operation id for the '<em>Syntax Element current Scope</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NON_RETURN_PARAMETER___SYNTAX_ELEMENT_CURRENT_SCOPE = FORMAL_PARAMETER___SYNTAX_ELEMENT_CURRENT_SCOPE;
+
+ /**
+ * The operation id for the '<em>Enclosing Statement</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NON_RETURN_PARAMETER___ENCLOSING_STATEMENT = FORMAL_PARAMETER___ENCLOSING_STATEMENT;
+
+ /**
+ * The operation id for the '<em>Enclosing Expression</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NON_RETURN_PARAMETER___ENCLOSING_EXPRESSION = FORMAL_PARAMETER___ENCLOSING_EXPRESSION;
+
+ /**
+ * The operation id for the '<em>Assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NON_RETURN_PARAMETER___ASSIGNMENTS_BEFORE = FORMAL_PARAMETER___ASSIGNMENTS_BEFORE;
+
+ /**
+ * The operation id for the '<em>Syntax Element assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NON_RETURN_PARAMETER___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE = FORMAL_PARAMETER___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE;
+
+ /**
+ * The operation id for the '<em>Syntax Element assignments Before base</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NON_RETURN_PARAMETER___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE_BASE = FORMAL_PARAMETER___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE_BASE;
+
+ /**
+ * The operation id for the '<em>Assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NON_RETURN_PARAMETER___ASSIGNMENTS_BEFORE__SYNTAXELEMENT = FORMAL_PARAMETER___ASSIGNMENTS_BEFORE__SYNTAXELEMENT;
+
+ /**
+ * The operation id for the '<em>Update All</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NON_RETURN_PARAMETER___UPDATE_ALL__ELIST_ELIST = FORMAL_PARAMETER___UPDATE_ALL__ELIST_ELIST;
+
+ /**
+ * The operation id for the '<em>Common Ancestor</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NON_RETURN_PARAMETER___COMMON_ANCESTOR__ELIST = FORMAL_PARAMETER___COMMON_ANCESTOR__ELIST;
+
+ /**
+ * The operation id for the '<em>Common Ancestors</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NON_RETURN_PARAMETER___COMMON_ANCESTORS__ELIST = FORMAL_PARAMETER___COMMON_ANCESTORS__ELIST;
+
+ /**
+ * The operation id for the '<em>Remove Duplicate Elements</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NON_RETURN_PARAMETER___REMOVE_DUPLICATE_ELEMENTS__ELIST = FORMAL_PARAMETER___REMOVE_DUPLICATE_ELEMENTS__ELIST;
+
+ /**
+ * The operation id for the '<em>Resolve In Library</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NON_RETURN_PARAMETER___RESOLVE_IN_LIBRARY__STRING = FORMAL_PARAMETER___RESOLVE_IN_LIBRARY__STRING;
+
+ /**
+ * The operation id for the '<em>Primitive Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NON_RETURN_PARAMETER___PRIMITIVE_TYPE__STRING = FORMAL_PARAMETER___PRIMITIVE_TYPE__STRING;
+
+ /**
+ * The operation id for the '<em>Primitive Type </em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NON_RETURN_PARAMETER___PRIMITIVE_TYPE____STRING = FORMAL_PARAMETER___PRIMITIVE_TYPE____STRING;
+
+ /**
+ * The operation id for the '<em>Boolean Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NON_RETURN_PARAMETER___BOOLEAN_TYPE = FORMAL_PARAMETER___BOOLEAN_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Boolean Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NON_RETURN_PARAMETER___IS_BOOLEAN_TYPE__ELEMENTREFERENCE = FORMAL_PARAMETER___IS_BOOLEAN_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Integer Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NON_RETURN_PARAMETER___INTEGER_TYPE = FORMAL_PARAMETER___INTEGER_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Integer Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NON_RETURN_PARAMETER___IS_INTEGER_TYPE__ELEMENTREFERENCE = FORMAL_PARAMETER___IS_INTEGER_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NON_RETURN_PARAMETER___STRING_TYPE = FORMAL_PARAMETER___STRING_TYPE;
+
+ /**
+ * The operation id for the '<em>Is String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NON_RETURN_PARAMETER___IS_STRING_TYPE__ELEMENTREFERENCE = FORMAL_PARAMETER___IS_STRING_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Unlimited Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NON_RETURN_PARAMETER___UNLIMITED_NATURAL_TYPE = FORMAL_PARAMETER___UNLIMITED_NATURAL_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Unlimited Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NON_RETURN_PARAMETER___IS_UNLIMITED_NATURAL_TYPE__ELEMENTREFERENCE = FORMAL_PARAMETER___IS_UNLIMITED_NATURAL_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Bit String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NON_RETURN_PARAMETER___BIT_STRING_TYPE = FORMAL_PARAMETER___BIT_STRING_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Bit String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NON_RETURN_PARAMETER___IS_BIT_STRING_TYPE__ELEMENTREFERENCE = FORMAL_PARAMETER___IS_BIT_STRING_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NON_RETURN_PARAMETER___NATURAL_TYPE = FORMAL_PARAMETER___NATURAL_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NON_RETURN_PARAMETER___IS_NATURAL_TYPE__ELEMENTREFERENCE = FORMAL_PARAMETER___IS_NATURAL_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Numeric Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NON_RETURN_PARAMETER___IS_NUMERIC_TYPE__ELEMENTREFERENCE = FORMAL_PARAMETER___IS_NUMERIC_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Collection Function Add</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NON_RETURN_PARAMETER___COLLECTION_FUNCTION_ADD = FORMAL_PARAMETER___COLLECTION_FUNCTION_ADD;
+
+ /**
+ * The operation id for the '<em>Is Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NON_RETURN_PARAMETER___IS_COLLECTION_CLASS__ELEMENTREFERENCE = FORMAL_PARAMETER___IS_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Integer Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NON_RETURN_PARAMETER___IS_INTEGER_COLLECTION_CLASS__ELEMENTREFERENCE = FORMAL_PARAMETER___IS_INTEGER_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Bit String Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NON_RETURN_PARAMETER___IS_BIT_STRING_COLLECTION_CLASS__ELEMENTREFERENCE = FORMAL_PARAMETER___IS_BIT_STRING_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Annotation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NON_RETURN_PARAMETER___ANNOTATION = FORMAL_PARAMETER___ANNOTATION;
+
+ /**
+ * The operation id for the '<em>Actual Name</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NON_RETURN_PARAMETER___ACTUAL_NAME = FORMAL_PARAMETER___ACTUAL_NAME;
+
+ /**
+ * The operation id for the '<em>Outer Scope</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NON_RETURN_PARAMETER___OUTER_SCOPE = FORMAL_PARAMETER___OUTER_SCOPE;
+
+ /**
+ * The operation id for the '<em>Member Definition outer Scope</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NON_RETURN_PARAMETER___MEMBER_DEFINITION_OUTER_SCOPE = FORMAL_PARAMETER___MEMBER_DEFINITION_OUTER_SCOPE;
+
+ /**
+ * The operation id for the '<em>Qualified Name</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NON_RETURN_PARAMETER___QUALIFIED_NAME = FORMAL_PARAMETER___QUALIFIED_NAME;
+
+ /**
+ * The operation id for the '<em>Namespace Reference</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NON_RETURN_PARAMETER___NAMESPACE_REFERENCE = FORMAL_PARAMETER___NAMESPACE_REFERENCE;
+
+ /**
+ * The operation id for the '<em>Add To Model</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NON_RETURN_PARAMETER___ADD_TO_MODEL = FORMAL_PARAMETER___ADD_TO_MODEL;
+
+ /**
+ * The operation id for the '<em>Match For Stub</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NON_RETURN_PARAMETER___MATCH_FOR_STUB__UNITDEFINITION = FORMAL_PARAMETER___MATCH_FOR_STUB__UNITDEFINITION;
+
+ /**
+ * The operation id for the '<em>Is Distinguishable From</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NON_RETURN_PARAMETER___IS_DISTINGUISHABLE_FROM__MEMBERDEFINITION = FORMAL_PARAMETER___IS_DISTINGUISHABLE_FROM__MEMBERDEFINITION;
+
+ /**
+ * The operation id for the '<em>Member Definition is Distinguishable From</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NON_RETURN_PARAMETER___MEMBER_DEFINITION_IS_DISTINGUISHABLE_FROM__MEMBERDEFINITION = FORMAL_PARAMETER___MEMBER_DEFINITION_IS_DISTINGUISHABLE_FROM__MEMBERDEFINITION;
+
+ /**
+ * The operation id for the '<em>Template Parameters</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NON_RETURN_PARAMETER___TEMPLATE_PARAMETERS = FORMAL_PARAMETER___TEMPLATE_PARAMETERS;
+
+ /**
+ * The operation id for the '<em>Is Template</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NON_RETURN_PARAMETER___IS_TEMPLATE = FORMAL_PARAMETER___IS_TEMPLATE;
+
+ /**
+ * The operation id for the '<em>Is Feature</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NON_RETURN_PARAMETER___IS_FEATURE = FORMAL_PARAMETER___IS_FEATURE;
+
+ /**
+ * The operation id for the '<em>Member Annotations</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NON_RETURN_PARAMETER___MEMBER_ANNOTATIONS__DIAGNOSTICCHAIN_MAP = FORMAL_PARAMETER___MEMBER_ANNOTATIONS__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Member Is Primitive Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NON_RETURN_PARAMETER___MEMBER_IS_PRIMITIVE_DERIVATION__DIAGNOSTICCHAIN_MAP = FORMAL_PARAMETER___MEMBER_IS_PRIMITIVE_DERIVATION__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Member Is External Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NON_RETURN_PARAMETER___MEMBER_IS_EXTERNAL_DERIVATION__DIAGNOSTICCHAIN_MAP = FORMAL_PARAMETER___MEMBER_IS_EXTERNAL_DERIVATION__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Member External</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NON_RETURN_PARAMETER___MEMBER_EXTERNAL__DIAGNOSTICCHAIN_MAP = FORMAL_PARAMETER___MEMBER_EXTERNAL__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Member Stub</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NON_RETURN_PARAMETER___MEMBER_STUB__DIAGNOSTICCHAIN_MAP = FORMAL_PARAMETER___MEMBER_STUB__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Member Subunit Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NON_RETURN_PARAMETER___MEMBER_SUBUNIT_DERIVATION__DIAGNOSTICCHAIN_MAP = FORMAL_PARAMETER___MEMBER_SUBUNIT_DERIVATION__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Member Stub Stereotypes</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NON_RETURN_PARAMETER___MEMBER_STUB_STEREOTYPES__DIAGNOSTICCHAIN_MAP = FORMAL_PARAMETER___MEMBER_STUB_STEREOTYPES__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Member Primitive</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NON_RETURN_PARAMETER___MEMBER_PRIMITIVE__DIAGNOSTICCHAIN_MAP = FORMAL_PARAMETER___MEMBER_PRIMITIVE__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Containing Member</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NON_RETURN_PARAMETER___CONTAINING_MEMBER = FORMAL_PARAMETER___CONTAINING_MEMBER;
+
+ /**
+ * The operation id for the '<em>Current Scope</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NON_RETURN_PARAMETER___CURRENT_SCOPE = FORMAL_PARAMETER___CURRENT_SCOPE;
+
+ /**
+ * The operation id for the '<em>Annotation Allowed</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NON_RETURN_PARAMETER___ANNOTATION_ALLOWED__STEREOTYPEANNOTATION = FORMAL_PARAMETER___ANNOTATION_ALLOWED__STEREOTYPEANNOTATION;
+
+ /**
+ * The operation id for the '<em>Is Same Kind As</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NON_RETURN_PARAMETER___IS_SAME_KIND_AS__ELEMENTREFERENCE = FORMAL_PARAMETER___IS_SAME_KIND_AS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Matches</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NON_RETURN_PARAMETER___MATCHES__FORMALPARAMETER = FORMAL_PARAMETER___MATCHES__FORMALPARAMETER;
+
+ /**
+ * The operation id for the '<em>Matches Element</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NON_RETURN_PARAMETER___MATCHES_ELEMENT__ELEMENTREFERENCE = FORMAL_PARAMETER___MATCHES_ELEMENT__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Matches Name Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NON_RETURN_PARAMETER___MATCHES_NAME_TYPE__ELEMENTREFERENCE = FORMAL_PARAMETER___MATCHES_NAME_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Matches Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NON_RETURN_PARAMETER___MATCHES_TYPE__ELEMENTREFERENCE = FORMAL_PARAMETER___MATCHES_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The number of operations of the '<em>Non Return Parameter</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NON_RETURN_PARAMETER_OPERATION_COUNT = FORMAL_PARAMETER_OPERATION_COUNT + 0;
+
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.uml.alf.impl.AnyTypeImpl <em>Any Type</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.uml.alf.impl.AnyTypeImpl
+ * @see org.eclipse.papyrus.uml.alf.impl.AlfPackageImpl#getAnyType()
+ * @generated
+ */
+ int ANY_TYPE = 130;
+
+ /**
+ * The feature id for the '<em><b>Owner</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ANY_TYPE__OWNER = CLASSIFIER_DEFINITION__OWNER;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ANY_TYPE__NAME = CLASSIFIER_DEFINITION__NAME;
+
+ /**
+ * The feature id for the '<em><b>Is Stub</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ANY_TYPE__IS_STUB = CLASSIFIER_DEFINITION__IS_STUB;
+
+ /**
+ * The feature id for the '<em><b>Is Feature</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ANY_TYPE__IS_FEATURE = CLASSIFIER_DEFINITION__IS_FEATURE;
+
+ /**
+ * The feature id for the '<em><b>Is Primitive</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ANY_TYPE__IS_PRIMITIVE = CLASSIFIER_DEFINITION__IS_PRIMITIVE;
+
+ /**
+ * The feature id for the '<em><b>Is External</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ANY_TYPE__IS_EXTERNAL = CLASSIFIER_DEFINITION__IS_EXTERNAL;
+
+ /**
+ * The feature id for the '<em><b>Subunit</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ANY_TYPE__SUBUNIT = CLASSIFIER_DEFINITION__SUBUNIT;
+
+ /**
+ * The feature id for the '<em><b>Owned Member</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ANY_TYPE__OWNED_MEMBER = CLASSIFIER_DEFINITION__OWNED_MEMBER;
+
+ /**
+ * The feature id for the '<em><b>Unit</b></em>' container reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ANY_TYPE__UNIT = CLASSIFIER_DEFINITION__UNIT;
+
+ /**
+ * The feature id for the '<em><b>Member</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ANY_TYPE__MEMBER = CLASSIFIER_DEFINITION__MEMBER;
+
+ /**
+ * The feature id for the '<em><b>Is Abstract</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ANY_TYPE__IS_ABSTRACT = CLASSIFIER_DEFINITION__IS_ABSTRACT;
+
+ /**
+ * The feature id for the '<em><b>Specialization</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ANY_TYPE__SPECIALIZATION = CLASSIFIER_DEFINITION__SPECIALIZATION;
+
+ /**
+ * The feature id for the '<em><b>Specialization Referent</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ANY_TYPE__SPECIALIZATION_REFERENT = CLASSIFIER_DEFINITION__SPECIALIZATION_REFERENT;
+
+ /**
+ * The number of structural features of the '<em>Any Type</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ANY_TYPE_FEATURE_COUNT = CLASSIFIER_DEFINITION_FEATURE_COUNT + 0;
+
+ /**
+ * The operation id for the '<em>To Reference</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ANY_TYPE___TO_REFERENCE = CLASSIFIER_DEFINITION___TO_REFERENCE;
+
+ /**
+ * The operation id for the '<em>Owner</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ANY_TYPE___OWNER = CLASSIFIER_DEFINITION___OWNER;
+
+ /**
+ * The operation id for the '<em>Syntax Element owner</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ANY_TYPE___SYNTAX_ELEMENT_OWNER = CLASSIFIER_DEFINITION___SYNTAX_ELEMENT_OWNER;
+
+ /**
+ * The operation id for the '<em>Syntax Element current Scope</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ANY_TYPE___SYNTAX_ELEMENT_CURRENT_SCOPE = CLASSIFIER_DEFINITION___SYNTAX_ELEMENT_CURRENT_SCOPE;
+
+ /**
+ * The operation id for the '<em>Enclosing Statement</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ANY_TYPE___ENCLOSING_STATEMENT = CLASSIFIER_DEFINITION___ENCLOSING_STATEMENT;
+
+ /**
+ * The operation id for the '<em>Enclosing Expression</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ANY_TYPE___ENCLOSING_EXPRESSION = CLASSIFIER_DEFINITION___ENCLOSING_EXPRESSION;
+
+ /**
+ * The operation id for the '<em>Assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ANY_TYPE___ASSIGNMENTS_BEFORE = CLASSIFIER_DEFINITION___ASSIGNMENTS_BEFORE;
+
+ /**
+ * The operation id for the '<em>Syntax Element assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ANY_TYPE___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE = CLASSIFIER_DEFINITION___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE;
+
+ /**
+ * The operation id for the '<em>Syntax Element assignments Before base</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ANY_TYPE___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE_BASE = CLASSIFIER_DEFINITION___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE_BASE;
+
+ /**
+ * The operation id for the '<em>Assignments Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ANY_TYPE___ASSIGNMENTS_BEFORE__SYNTAXELEMENT = CLASSIFIER_DEFINITION___ASSIGNMENTS_BEFORE__SYNTAXELEMENT;
+
+ /**
+ * The operation id for the '<em>Update All</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ANY_TYPE___UPDATE_ALL__ELIST_ELIST = CLASSIFIER_DEFINITION___UPDATE_ALL__ELIST_ELIST;
+
+ /**
+ * The operation id for the '<em>Common Ancestor</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ANY_TYPE___COMMON_ANCESTOR__ELIST = CLASSIFIER_DEFINITION___COMMON_ANCESTOR__ELIST;
+
+ /**
+ * The operation id for the '<em>Common Ancestors</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ANY_TYPE___COMMON_ANCESTORS__ELIST = CLASSIFIER_DEFINITION___COMMON_ANCESTORS__ELIST;
+
+ /**
+ * The operation id for the '<em>Remove Duplicate Elements</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ANY_TYPE___REMOVE_DUPLICATE_ELEMENTS__ELIST = CLASSIFIER_DEFINITION___REMOVE_DUPLICATE_ELEMENTS__ELIST;
+
+ /**
+ * The operation id for the '<em>Resolve In Library</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ANY_TYPE___RESOLVE_IN_LIBRARY__STRING = CLASSIFIER_DEFINITION___RESOLVE_IN_LIBRARY__STRING;
+
+ /**
+ * The operation id for the '<em>Primitive Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ANY_TYPE___PRIMITIVE_TYPE__STRING = CLASSIFIER_DEFINITION___PRIMITIVE_TYPE__STRING;
+
+ /**
+ * The operation id for the '<em>Primitive Type </em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ANY_TYPE___PRIMITIVE_TYPE____STRING = CLASSIFIER_DEFINITION___PRIMITIVE_TYPE____STRING;
+
+ /**
+ * The operation id for the '<em>Boolean Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ANY_TYPE___BOOLEAN_TYPE = CLASSIFIER_DEFINITION___BOOLEAN_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Boolean Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ANY_TYPE___IS_BOOLEAN_TYPE__ELEMENTREFERENCE = CLASSIFIER_DEFINITION___IS_BOOLEAN_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Integer Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ANY_TYPE___INTEGER_TYPE = CLASSIFIER_DEFINITION___INTEGER_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Integer Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ANY_TYPE___IS_INTEGER_TYPE__ELEMENTREFERENCE = CLASSIFIER_DEFINITION___IS_INTEGER_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ANY_TYPE___STRING_TYPE = CLASSIFIER_DEFINITION___STRING_TYPE;
+
+ /**
+ * The operation id for the '<em>Is String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ANY_TYPE___IS_STRING_TYPE__ELEMENTREFERENCE = CLASSIFIER_DEFINITION___IS_STRING_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Unlimited Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ANY_TYPE___UNLIMITED_NATURAL_TYPE = CLASSIFIER_DEFINITION___UNLIMITED_NATURAL_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Unlimited Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ANY_TYPE___IS_UNLIMITED_NATURAL_TYPE__ELEMENTREFERENCE = CLASSIFIER_DEFINITION___IS_UNLIMITED_NATURAL_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Bit String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ANY_TYPE___BIT_STRING_TYPE = CLASSIFIER_DEFINITION___BIT_STRING_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Bit String Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ANY_TYPE___IS_BIT_STRING_TYPE__ELEMENTREFERENCE = CLASSIFIER_DEFINITION___IS_BIT_STRING_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ANY_TYPE___NATURAL_TYPE = CLASSIFIER_DEFINITION___NATURAL_TYPE;
+
+ /**
+ * The operation id for the '<em>Is Natural Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ANY_TYPE___IS_NATURAL_TYPE__ELEMENTREFERENCE = CLASSIFIER_DEFINITION___IS_NATURAL_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Numeric Type</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ANY_TYPE___IS_NUMERIC_TYPE__ELEMENTREFERENCE = CLASSIFIER_DEFINITION___IS_NUMERIC_TYPE__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Collection Function Add</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ANY_TYPE___COLLECTION_FUNCTION_ADD = CLASSIFIER_DEFINITION___COLLECTION_FUNCTION_ADD;
+
+ /**
+ * The operation id for the '<em>Is Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ANY_TYPE___IS_COLLECTION_CLASS__ELEMENTREFERENCE = CLASSIFIER_DEFINITION___IS_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Integer Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ANY_TYPE___IS_INTEGER_COLLECTION_CLASS__ELEMENTREFERENCE = CLASSIFIER_DEFINITION___IS_INTEGER_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Bit String Collection Class</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ANY_TYPE___IS_BIT_STRING_COLLECTION_CLASS__ELEMENTREFERENCE = CLASSIFIER_DEFINITION___IS_BIT_STRING_COLLECTION_CLASS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Annotation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ANY_TYPE___ANNOTATION = CLASSIFIER_DEFINITION___ANNOTATION;
+
+ /**
+ * The operation id for the '<em>Member Definition outer Scope</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ANY_TYPE___MEMBER_DEFINITION_OUTER_SCOPE = CLASSIFIER_DEFINITION___MEMBER_DEFINITION_OUTER_SCOPE;
+
+ /**
+ * The operation id for the '<em>Qualified Name</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ANY_TYPE___QUALIFIED_NAME = CLASSIFIER_DEFINITION___QUALIFIED_NAME;
+
+ /**
+ * The operation id for the '<em>Namespace Reference</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ANY_TYPE___NAMESPACE_REFERENCE = CLASSIFIER_DEFINITION___NAMESPACE_REFERENCE;
+
+ /**
+ * The operation id for the '<em>Add To Model</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ANY_TYPE___ADD_TO_MODEL = CLASSIFIER_DEFINITION___ADD_TO_MODEL;
+
+ /**
+ * The operation id for the '<em>Is Distinguishable From</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ANY_TYPE___IS_DISTINGUISHABLE_FROM__MEMBERDEFINITION = CLASSIFIER_DEFINITION___IS_DISTINGUISHABLE_FROM__MEMBERDEFINITION;
+
+ /**
+ * The operation id for the '<em>Member Definition is Distinguishable From</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ANY_TYPE___MEMBER_DEFINITION_IS_DISTINGUISHABLE_FROM__MEMBERDEFINITION = CLASSIFIER_DEFINITION___MEMBER_DEFINITION_IS_DISTINGUISHABLE_FROM__MEMBERDEFINITION;
+
+ /**
+ * The operation id for the '<em>Is Same Kind As</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ANY_TYPE___IS_SAME_KIND_AS__ELEMENTREFERENCE = CLASSIFIER_DEFINITION___IS_SAME_KIND_AS__ELEMENTREFERENCE;
+
+ /**
+ * The operation id for the '<em>Is Template</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ANY_TYPE___IS_TEMPLATE = CLASSIFIER_DEFINITION___IS_TEMPLATE;
+
+ /**
+ * The operation id for the '<em>Is Feature</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ANY_TYPE___IS_FEATURE = CLASSIFIER_DEFINITION___IS_FEATURE;
+
+ /**
+ * The operation id for the '<em>Member Annotations</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ANY_TYPE___MEMBER_ANNOTATIONS__DIAGNOSTICCHAIN_MAP = CLASSIFIER_DEFINITION___MEMBER_ANNOTATIONS__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Member Is Primitive Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ANY_TYPE___MEMBER_IS_PRIMITIVE_DERIVATION__DIAGNOSTICCHAIN_MAP = CLASSIFIER_DEFINITION___MEMBER_IS_PRIMITIVE_DERIVATION__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Member Is External Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ANY_TYPE___MEMBER_IS_EXTERNAL_DERIVATION__DIAGNOSTICCHAIN_MAP = CLASSIFIER_DEFINITION___MEMBER_IS_EXTERNAL_DERIVATION__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Member External</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ANY_TYPE___MEMBER_EXTERNAL__DIAGNOSTICCHAIN_MAP = CLASSIFIER_DEFINITION___MEMBER_EXTERNAL__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Member Stub</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ANY_TYPE___MEMBER_STUB__DIAGNOSTICCHAIN_MAP = CLASSIFIER_DEFINITION___MEMBER_STUB__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Member Subunit Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ANY_TYPE___MEMBER_SUBUNIT_DERIVATION__DIAGNOSTICCHAIN_MAP = CLASSIFIER_DEFINITION___MEMBER_SUBUNIT_DERIVATION__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Member Stub Stereotypes</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ANY_TYPE___MEMBER_STUB_STEREOTYPES__DIAGNOSTICCHAIN_MAP = CLASSIFIER_DEFINITION___MEMBER_STUB_STEREOTYPES__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Member Primitive</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ANY_TYPE___MEMBER_PRIMITIVE__DIAGNOSTICCHAIN_MAP = CLASSIFIER_DEFINITION___MEMBER_PRIMITIVE__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Containing Member</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ANY_TYPE___CONTAINING_MEMBER = CLASSIFIER_DEFINITION___CONTAINING_MEMBER;
+
+ /**
+ * The operation id for the '<em>Current Scope</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ANY_TYPE___CURRENT_SCOPE = CLASSIFIER_DEFINITION___CURRENT_SCOPE;
+
+ /**
+ * The operation id for the '<em>Outer Scope</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ANY_TYPE___OUTER_SCOPE = CLASSIFIER_DEFINITION___OUTER_SCOPE;
+
+ /**
+ * The operation id for the '<em>Namespace Definition outer Scope</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ANY_TYPE___NAMESPACE_DEFINITION_OUTER_SCOPE = CLASSIFIER_DEFINITION___NAMESPACE_DEFINITION_OUTER_SCOPE;
+
+ /**
+ * The operation id for the '<em>Model Namespace</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ANY_TYPE___MODEL_NAMESPACE = CLASSIFIER_DEFINITION___MODEL_NAMESPACE;
+
+ /**
+ * The operation id for the '<em>Model Scope</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ANY_TYPE___MODEL_SCOPE = CLASSIFIER_DEFINITION___MODEL_SCOPE;
+
+ /**
+ * The operation id for the '<em>Resolve In Scope</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ANY_TYPE___RESOLVE_IN_SCOPE__STRING = CLASSIFIER_DEFINITION___RESOLVE_IN_SCOPE__STRING;
+
+ /**
+ * The operation id for the '<em>Applied Profiles</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ANY_TYPE___APPLIED_PROFILES = CLASSIFIER_DEFINITION___APPLIED_PROFILES;
+
+ /**
+ * The operation id for the '<em>Namespace Definition applied Profiles</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ANY_TYPE___NAMESPACE_DEFINITION_APPLIED_PROFILES = CLASSIFIER_DEFINITION___NAMESPACE_DEFINITION_APPLIED_PROFILES;
+
+ /**
+ * The operation id for the '<em>Parameters</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ANY_TYPE___PARAMETERS = CLASSIFIER_DEFINITION___PARAMETERS;
+
+ /**
+ * The operation id for the '<em>Return Parameter</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ANY_TYPE___RETURN_PARAMETER = CLASSIFIER_DEFINITION___RETURN_PARAMETER;
+
+ /**
+ * The operation id for the '<em>Namespace Definition return Parameter</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ANY_TYPE___NAMESPACE_DEFINITION_RETURN_PARAMETER = CLASSIFIER_DEFINITION___NAMESPACE_DEFINITION_RETURN_PARAMETER;
+
+ /**
+ * The operation id for the '<em>Subunit Owned Members</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ANY_TYPE___SUBUNIT_OWNED_MEMBERS = CLASSIFIER_DEFINITION___SUBUNIT_OWNED_MEMBERS;
+
+ /**
+ * The operation id for the '<em>Annotation Allowed</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ANY_TYPE___ANNOTATION_ALLOWED__STEREOTYPEANNOTATION = CLASSIFIER_DEFINITION___ANNOTATION_ALLOWED__STEREOTYPEANNOTATION;
+
+ /**
+ * The operation id for the '<em>Namespace Definition annotation Allowed</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ANY_TYPE___NAMESPACE_DEFINITION_ANNOTATION_ALLOWED__STEREOTYPEANNOTATION = CLASSIFIER_DEFINITION___NAMESPACE_DEFINITION_ANNOTATION_ALLOWED__STEREOTYPEANNOTATION;
+
+ /**
+ * The operation id for the '<em>Template Parameters</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ANY_TYPE___TEMPLATE_PARAMETERS = CLASSIFIER_DEFINITION___TEMPLATE_PARAMETERS;
+
+ /**
+ * The operation id for the '<em>Members Cached</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ANY_TYPE___MEMBERS_CACHED = CLASSIFIER_DEFINITION___MEMBERS_CACHED;
+
+ /**
+ * The operation id for the '<em>Namespace Definition members</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ANY_TYPE___NAMESPACE_DEFINITION_MEMBERS = CLASSIFIER_DEFINITION___NAMESPACE_DEFINITION_MEMBERS;
+
+ /**
+ * The operation id for the '<em>Imported Members</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ANY_TYPE___IMPORTED_MEMBERS = CLASSIFIER_DEFINITION___IMPORTED_MEMBERS;
+
+ /**
+ * The operation id for the '<em>Import Members</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ANY_TYPE___IMPORT_MEMBERS__ELIST = CLASSIFIER_DEFINITION___IMPORT_MEMBERS__ELIST;
+
+ /**
+ * The operation id for the '<em>Exclude Collisions</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ANY_TYPE___EXCLUDE_COLLISIONS__ELIST = CLASSIFIER_DEFINITION___EXCLUDE_COLLISIONS__ELIST;
+
+ /**
+ * The operation id for the '<em>Remove Duplicates</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ANY_TYPE___REMOVE_DUPLICATES__ELIST = CLASSIFIER_DEFINITION___REMOVE_DUPLICATES__ELIST;
+
+ /**
+ * The operation id for the '<em>Include Distinguishable Caching</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ANY_TYPE___INCLUDE_DISTINGUISHABLE_CACHING__ELIST = CLASSIFIER_DEFINITION___INCLUDE_DISTINGUISHABLE_CACHING__ELIST;
+
+ /**
+ * The operation id for the '<em>Include Distinguishable</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ANY_TYPE___INCLUDE_DISTINGUISHABLE__ELIST = CLASSIFIER_DEFINITION___INCLUDE_DISTINGUISHABLE__ELIST;
+
+ /**
+ * The operation id for the '<em>Stub</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ANY_TYPE___STUB = CLASSIFIER_DEFINITION___STUB;
+
+ /**
+ * The operation id for the '<em>Stub For</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ANY_TYPE___STUB_FOR__UNITDEFINITION = CLASSIFIER_DEFINITION___STUB_FOR__UNITDEFINITION;
+
+ /**
+ * The operation id for the '<em>Namespace Definition Member Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ANY_TYPE___NAMESPACE_DEFINITION_MEMBER_DERIVATION__DIAGNOSTICCHAIN_MAP = CLASSIFIER_DEFINITION___NAMESPACE_DEFINITION_MEMBER_DERIVATION__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Namespace Definition Member Distinguishability</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ANY_TYPE___NAMESPACE_DEFINITION_MEMBER_DISTINGUISHABILITY__DIAGNOSTICCHAIN_MAP = CLASSIFIER_DEFINITION___NAMESPACE_DEFINITION_MEMBER_DISTINGUISHABILITY__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Classifier Definition annotation Allowed</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ANY_TYPE___CLASSIFIER_DEFINITION_ANNOTATION_ALLOWED__STEREOTYPEANNOTATION = CLASSIFIER_DEFINITION___CLASSIFIER_DEFINITION_ANNOTATION_ALLOWED__STEREOTYPEANNOTATION;
+
+ /**
+ * The operation id for the '<em>Match For Stub</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ANY_TYPE___MATCH_FOR_STUB__UNITDEFINITION = CLASSIFIER_DEFINITION___MATCH_FOR_STUB__UNITDEFINITION;
+
+ /**
+ * The operation id for the '<em>Classifier Definition match For Stub</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ANY_TYPE___CLASSIFIER_DEFINITION_MATCH_FOR_STUB__UNITDEFINITION = CLASSIFIER_DEFINITION___CLASSIFIER_DEFINITION_MATCH_FOR_STUB__UNITDEFINITION;
+
+ /**
+ * The operation id for the '<em>Members</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ANY_TYPE___MEMBERS = CLASSIFIER_DEFINITION___MEMBERS;
+
+ /**
+ * The operation id for the '<em>Inherited Members</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ANY_TYPE___INHERITED_MEMBERS = CLASSIFIER_DEFINITION___INHERITED_MEMBERS;
+
+ /**
+ * The operation id for the '<em>Inherit</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ANY_TYPE___INHERIT__ELIST = CLASSIFIER_DEFINITION___INHERIT__ELIST;
+
+ /**
+ * The operation id for the '<em>Classifier Definition Specialization</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ANY_TYPE___CLASSIFIER_DEFINITION_SPECIALIZATION__DIAGNOSTICCHAIN_MAP = CLASSIFIER_DEFINITION___CLASSIFIER_DEFINITION_SPECIALIZATION__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Classifier Definition Specialization Referent Derivation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ANY_TYPE___CLASSIFIER_DEFINITION_SPECIALIZATION_REFERENT_DERIVATION__DIAGNOSTICCHAIN_MAP = CLASSIFIER_DEFINITION___CLASSIFIER_DEFINITION_SPECIALIZATION_REFERENT_DERIVATION__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Classifier Definition Inherited Members</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ANY_TYPE___CLASSIFIER_DEFINITION_INHERITED_MEMBERS__DIAGNOSTICCHAIN_MAP = CLASSIFIER_DEFINITION___CLASSIFIER_DEFINITION_INHERITED_MEMBERS__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Actual Name</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ANY_TYPE___ACTUAL_NAME = CLASSIFIER_DEFINITION_OPERATION_COUNT + 0;
+
+ /**
+ * The number of operations of the '<em>Any Type</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ANY_TYPE_OPERATION_COUNT = CLASSIFIER_DEFINITION_OPERATION_COUNT + 1;
+
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.uml.alf.AssignedSource <em>Assigned Source</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for class '<em>Assigned Source</em>'.
+ * @see org.eclipse.papyrus.uml.alf.AssignedSource
+ * @generated
+ */
+ EClass getAssignedSource();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.uml.alf.AssignedSource#getName <em>Name</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the attribute '<em>Name</em>'.
+ * @see org.eclipse.papyrus.uml.alf.AssignedSource#getName()
+ * @see #getAssignedSource()
+ * @generated
+ */
+ EAttribute getAssignedSource_Name();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.uml.alf.AssignedSource#getSource <em>Source</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the reference '<em>Source</em>'.
+ * @see org.eclipse.papyrus.uml.alf.AssignedSource#getSource()
+ * @see #getAssignedSource()
+ * @generated
+ */
+ EReference getAssignedSource_Source();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.uml.alf.AssignedSource#getUpper <em>Upper</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the attribute '<em>Upper</em>'.
+ * @see org.eclipse.papyrus.uml.alf.AssignedSource#getUpper()
+ * @see #getAssignedSource()
+ * @generated
+ */
+ EAttribute getAssignedSource_Upper();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.uml.alf.AssignedSource#getLower <em>Lower</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the attribute '<em>Lower</em>'.
+ * @see org.eclipse.papyrus.uml.alf.AssignedSource#getLower()
+ * @see #getAssignedSource()
+ * @generated
+ */
+ EAttribute getAssignedSource_Lower();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.uml.alf.AssignedSource#getType <em>Type</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the reference '<em>Type</em>'.
+ * @see org.eclipse.papyrus.uml.alf.AssignedSource#getType()
+ * @see #getAssignedSource()
+ * @generated
+ */
+ EReference getAssignedSource_Type();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.uml.alf.AssignedSource#isIsParallelLocalName <em>Is Parallel Local Name</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the attribute '<em>Is Parallel Local Name</em>'.
+ * @see org.eclipse.papyrus.uml.alf.AssignedSource#isIsParallelLocalName()
+ * @see #getAssignedSource()
+ * @generated
+ */
+ EAttribute getAssignedSource_IsParallelLocalName();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.AssignedSource#isNew(org.eclipse.emf.common.util.EList) <em>Is New</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Is New</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.AssignedSource#isNew(org.eclipse.emf.common.util.EList)
+ * @generated
+ */
+ EOperation getAssignedSource__IsNew__EList();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.AssignedSource#update(org.eclipse.emf.common.util.EList) <em>Update</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Update</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.AssignedSource#update(org.eclipse.emf.common.util.EList)
+ * @generated
+ */
+ EOperation getAssignedSource__Update__EList();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.AssignedSource#copy(org.eclipse.papyrus.uml.alf.SyntaxElement, boolean) <em>Copy</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Copy</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.AssignedSource#copy(org.eclipse.papyrus.uml.alf.SyntaxElement, boolean)
+ * @generated
+ */
+ EOperation getAssignedSource__Copy__SyntaxElement_boolean();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.uml.alf.SyntaxElement <em>Syntax Element</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for class '<em>Syntax Element</em>'.
+ * @see org.eclipse.papyrus.uml.alf.SyntaxElement
+ * @generated
+ */
+ EClass getSyntaxElement();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.uml.alf.SyntaxElement#getOwner <em>Owner</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the reference '<em>Owner</em>'.
+ * @see org.eclipse.papyrus.uml.alf.SyntaxElement#getOwner()
+ * @see #getSyntaxElement()
+ * @generated
+ */
+ EReference getSyntaxElement_Owner();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.SyntaxElement#toReference() <em>To Reference</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>To Reference</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.SyntaxElement#toReference()
+ * @generated
+ */
+ EOperation getSyntaxElement__ToReference();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.SyntaxElement#owner() <em>Owner</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Owner</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.SyntaxElement#owner()
+ * @generated
+ */
+ EOperation getSyntaxElement__Owner();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.SyntaxElement#SyntaxElement_owner() <em>Syntax Element owner</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Syntax Element owner</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.SyntaxElement#SyntaxElement_owner()
+ * @generated
+ */
+ EOperation getSyntaxElement__SyntaxElement_owner();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.SyntaxElement#currentScope() <em>Current Scope</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Current Scope</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.SyntaxElement#currentScope()
+ * @generated
+ */
+ EOperation getSyntaxElement__CurrentScope();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.SyntaxElement#SyntaxElement_currentScope() <em>Syntax Element current Scope</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Syntax Element current Scope</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.SyntaxElement#SyntaxElement_currentScope()
+ * @generated
+ */
+ EOperation getSyntaxElement__SyntaxElement_currentScope();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.SyntaxElement#enclosingStatement() <em>Enclosing Statement</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Enclosing Statement</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.SyntaxElement#enclosingStatement()
+ * @generated
+ */
+ EOperation getSyntaxElement__EnclosingStatement();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.SyntaxElement#enclosingExpression() <em>Enclosing Expression</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Enclosing Expression</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.SyntaxElement#enclosingExpression()
+ * @generated
+ */
+ EOperation getSyntaxElement__EnclosingExpression();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.SyntaxElement#assignmentsBefore() <em>Assignments Before</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Assignments Before</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.SyntaxElement#assignmentsBefore()
+ * @generated
+ */
+ EOperation getSyntaxElement__AssignmentsBefore();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.SyntaxElement#SyntaxElement_assignmentsBefore() <em>Syntax Element assignments Before</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Syntax Element assignments Before</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.SyntaxElement#SyntaxElement_assignmentsBefore()
+ * @generated
+ */
+ EOperation getSyntaxElement__SyntaxElement_assignmentsBefore();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.SyntaxElement#SyntaxElement_assignmentsBefore_base() <em>Syntax Element assignments Before base</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Syntax Element assignments Before base</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.SyntaxElement#SyntaxElement_assignmentsBefore_base()
+ * @generated
+ */
+ EOperation getSyntaxElement__SyntaxElement_assignmentsBefore_base();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.SyntaxElement#assignmentsBefore(org.eclipse.papyrus.uml.alf.SyntaxElement) <em>Assignments Before</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Assignments Before</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.SyntaxElement#assignmentsBefore(org.eclipse.papyrus.uml.alf.SyntaxElement)
+ * @generated
+ */
+ EOperation getSyntaxElement__AssignmentsBefore__SyntaxElement();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.SyntaxElement#updateAll(org.eclipse.emf.common.util.EList, org.eclipse.emf.common.util.EList) <em>Update All</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Update All</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.SyntaxElement#updateAll(org.eclipse.emf.common.util.EList, org.eclipse.emf.common.util.EList)
+ * @generated
+ */
+ EOperation getSyntaxElement__UpdateAll__EList_EList();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.SyntaxElement#commonAncestor(org.eclipse.emf.common.util.EList) <em>Common Ancestor</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Common Ancestor</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.SyntaxElement#commonAncestor(org.eclipse.emf.common.util.EList)
+ * @generated
+ */
+ EOperation getSyntaxElement__CommonAncestor__EList();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.SyntaxElement#commonAncestors(org.eclipse.emf.common.util.EList) <em>Common Ancestors</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Common Ancestors</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.SyntaxElement#commonAncestors(org.eclipse.emf.common.util.EList)
+ * @generated
+ */
+ EOperation getSyntaxElement__CommonAncestors__EList();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.SyntaxElement#removeDuplicateElements(org.eclipse.emf.common.util.EList) <em>Remove Duplicate Elements</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Remove Duplicate Elements</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.SyntaxElement#removeDuplicateElements(org.eclipse.emf.common.util.EList)
+ * @generated
+ */
+ EOperation getSyntaxElement__RemoveDuplicateElements__EList();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.SyntaxElement#resolveInLibrary(java.lang.String) <em>Resolve In Library</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Resolve In Library</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.SyntaxElement#resolveInLibrary(java.lang.String)
+ * @generated
+ */
+ EOperation getSyntaxElement__ResolveInLibrary__String();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.SyntaxElement#primitiveType(java.lang.String) <em>Primitive Type</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Primitive Type</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.SyntaxElement#primitiveType(java.lang.String)
+ * @generated
+ */
+ EOperation getSyntaxElement__PrimitiveType__String();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.SyntaxElement#primitiveType_(java.lang.String) <em>Primitive Type </em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Primitive Type </em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.SyntaxElement#primitiveType_(java.lang.String)
+ * @generated
+ */
+ EOperation getSyntaxElement__PrimitiveType___String();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.SyntaxElement#booleanType() <em>Boolean Type</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Boolean Type</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.SyntaxElement#booleanType()
+ * @generated
+ */
+ EOperation getSyntaxElement__BooleanType();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.SyntaxElement#isBooleanType(org.eclipse.papyrus.uml.alf.ElementReference) <em>Is Boolean Type</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Is Boolean Type</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.SyntaxElement#isBooleanType(org.eclipse.papyrus.uml.alf.ElementReference)
+ * @generated
+ */
+ EOperation getSyntaxElement__IsBooleanType__ElementReference();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.SyntaxElement#integerType() <em>Integer Type</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Integer Type</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.SyntaxElement#integerType()
+ * @generated
+ */
+ EOperation getSyntaxElement__IntegerType();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.SyntaxElement#isIntegerType(org.eclipse.papyrus.uml.alf.ElementReference) <em>Is Integer Type</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Is Integer Type</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.SyntaxElement#isIntegerType(org.eclipse.papyrus.uml.alf.ElementReference)
+ * @generated
+ */
+ EOperation getSyntaxElement__IsIntegerType__ElementReference();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.SyntaxElement#stringType() <em>String Type</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>String Type</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.SyntaxElement#stringType()
+ * @generated
+ */
+ EOperation getSyntaxElement__StringType();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.SyntaxElement#isStringType(org.eclipse.papyrus.uml.alf.ElementReference) <em>Is String Type</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Is String Type</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.SyntaxElement#isStringType(org.eclipse.papyrus.uml.alf.ElementReference)
+ * @generated
+ */
+ EOperation getSyntaxElement__IsStringType__ElementReference();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.SyntaxElement#unlimitedNaturalType() <em>Unlimited Natural Type</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Unlimited Natural Type</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.SyntaxElement#unlimitedNaturalType()
+ * @generated
+ */
+ EOperation getSyntaxElement__UnlimitedNaturalType();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.SyntaxElement#isUnlimitedNaturalType(org.eclipse.papyrus.uml.alf.ElementReference) <em>Is Unlimited Natural Type</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Is Unlimited Natural Type</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.SyntaxElement#isUnlimitedNaturalType(org.eclipse.papyrus.uml.alf.ElementReference)
+ * @generated
+ */
+ EOperation getSyntaxElement__IsUnlimitedNaturalType__ElementReference();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.SyntaxElement#bitStringType() <em>Bit String Type</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Bit String Type</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.SyntaxElement#bitStringType()
+ * @generated
+ */
+ EOperation getSyntaxElement__BitStringType();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.SyntaxElement#isBitStringType(org.eclipse.papyrus.uml.alf.ElementReference) <em>Is Bit String Type</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Is Bit String Type</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.SyntaxElement#isBitStringType(org.eclipse.papyrus.uml.alf.ElementReference)
+ * @generated
+ */
+ EOperation getSyntaxElement__IsBitStringType__ElementReference();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.SyntaxElement#naturalType() <em>Natural Type</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Natural Type</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.SyntaxElement#naturalType()
+ * @generated
+ */
+ EOperation getSyntaxElement__NaturalType();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.SyntaxElement#isNaturalType(org.eclipse.papyrus.uml.alf.ElementReference) <em>Is Natural Type</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Is Natural Type</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.SyntaxElement#isNaturalType(org.eclipse.papyrus.uml.alf.ElementReference)
+ * @generated
+ */
+ EOperation getSyntaxElement__IsNaturalType__ElementReference();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.SyntaxElement#isNumericType(org.eclipse.papyrus.uml.alf.ElementReference) <em>Is Numeric Type</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Is Numeric Type</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.SyntaxElement#isNumericType(org.eclipse.papyrus.uml.alf.ElementReference)
+ * @generated
+ */
+ EOperation getSyntaxElement__IsNumericType__ElementReference();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.SyntaxElement#collectionFunctionAdd() <em>Collection Function Add</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Collection Function Add</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.SyntaxElement#collectionFunctionAdd()
+ * @generated
+ */
+ EOperation getSyntaxElement__CollectionFunctionAdd();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.SyntaxElement#isCollectionClass(org.eclipse.papyrus.uml.alf.ElementReference) <em>Is Collection Class</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Is Collection Class</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.SyntaxElement#isCollectionClass(org.eclipse.papyrus.uml.alf.ElementReference)
+ * @generated
+ */
+ EOperation getSyntaxElement__IsCollectionClass__ElementReference();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.SyntaxElement#isIntegerCollectionClass(org.eclipse.papyrus.uml.alf.ElementReference) <em>Is Integer Collection Class</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Is Integer Collection Class</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.SyntaxElement#isIntegerCollectionClass(org.eclipse.papyrus.uml.alf.ElementReference)
+ * @generated
+ */
+ EOperation getSyntaxElement__IsIntegerCollectionClass__ElementReference();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.SyntaxElement#isBitStringCollectionClass(org.eclipse.papyrus.uml.alf.ElementReference) <em>Is Bit String Collection Class</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Is Bit String Collection Class</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.SyntaxElement#isBitStringCollectionClass(org.eclipse.papyrus.uml.alf.ElementReference)
+ * @generated
+ */
+ EOperation getSyntaxElement__IsBitStringCollectionClass__ElementReference();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.uml.alf.ElementReference <em>Element Reference</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for class '<em>Element Reference</em>'.
+ * @see org.eclipse.papyrus.uml.alf.ElementReference
+ * @generated
+ */
+ EClass getElementReference();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.ElementReference#isUml() <em>Is Uml</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Is Uml</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.ElementReference#isUml()
+ * @generated
+ */
+ EOperation getElementReference__IsUml();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.ElementReference#isAlf() <em>Is Alf</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Is Alf</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.ElementReference#isAlf()
+ * @generated
+ */
+ EOperation getElementReference__IsAlf();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.ElementReference#asUml() <em>As Uml</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>As Uml</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.ElementReference#asUml()
+ * @generated
+ */
+ EOperation getElementReference__AsUml();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.ElementReference#asAlf() <em>As Alf</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>As Alf</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.ElementReference#asAlf()
+ * @generated
+ */
+ EOperation getElementReference__AsAlf();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.ElementReference#asMember() <em>As Member</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>As Member</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.ElementReference#asMember()
+ * @generated
+ */
+ EOperation getElementReference__AsMember();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.ElementReference#isSameKindAs(org.eclipse.papyrus.uml.alf.ElementReference) <em>Is Same Kind As</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Is Same Kind As</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.ElementReference#isSameKindAs(org.eclipse.papyrus.uml.alf.ElementReference)
+ * @generated
+ */
+ EOperation getElementReference__IsSameKindAs__ElementReference();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.ElementReference#isNamedElement() <em>Is Named Element</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Is Named Element</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.ElementReference#isNamedElement()
+ * @generated
+ */
+ EOperation getElementReference__IsNamedElement();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.ElementReference#isNamespace() <em>Is Namespace</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Is Namespace</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.ElementReference#isNamespace()
+ * @generated
+ */
+ EOperation getElementReference__IsNamespace();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.ElementReference#isNamespaceFor(org.eclipse.papyrus.uml.alf.UnitDefinition) <em>Is Namespace For</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Is Namespace For</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.ElementReference#isNamespaceFor(org.eclipse.papyrus.uml.alf.UnitDefinition)
+ * @generated
+ */
+ EOperation getElementReference__IsNamespaceFor__UnitDefinition();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.ElementReference#isModelNamespace() <em>Is Model Namespace</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Is Model Namespace</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.ElementReference#isModelNamespace()
+ * @generated
+ */
+ EOperation getElementReference__IsModelNamespace();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.ElementReference#isPackage() <em>Is Package</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Is Package</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.ElementReference#isPackage()
+ * @generated
+ */
+ EOperation getElementReference__IsPackage();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.ElementReference#isProfile() <em>Is Profile</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Is Profile</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.ElementReference#isProfile()
+ * @generated
+ */
+ EOperation getElementReference__IsProfile();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.ElementReference#isPackageableElement() <em>Is Packageable Element</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Is Packageable Element</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.ElementReference#isPackageableElement()
+ * @generated
+ */
+ EOperation getElementReference__IsPackageableElement();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.ElementReference#isClassifier() <em>Is Classifier</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Is Classifier</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.ElementReference#isClassifier()
+ * @generated
+ */
+ EOperation getElementReference__IsClassifier();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.ElementReference#isAbstractClassifier() <em>Is Abstract Classifier</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Is Abstract Classifier</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.ElementReference#isAbstractClassifier()
+ * @generated
+ */
+ EOperation getElementReference__IsAbstractClassifier();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.ElementReference#isAssociation() <em>Is Association</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Is Association</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.ElementReference#isAssociation()
+ * @generated
+ */
+ EOperation getElementReference__IsAssociation();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.ElementReference#isDataType() <em>Is Data Type</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Is Data Type</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.ElementReference#isDataType()
+ * @generated
+ */
+ EOperation getElementReference__IsDataType();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.ElementReference#isClass() <em>Is Class</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Is Class</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.ElementReference#isClass()
+ * @generated
+ */
+ EOperation getElementReference__IsClass();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.ElementReference#isActiveClass() <em>Is Active Class</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Is Active Class</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.ElementReference#isActiveClass()
+ * @generated
+ */
+ EOperation getElementReference__IsActiveClass();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.ElementReference#isSignal() <em>Is Signal</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Is Signal</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.ElementReference#isSignal()
+ * @generated
+ */
+ EOperation getElementReference__IsSignal();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.ElementReference#isEnumeration() <em>Is Enumeration</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Is Enumeration</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.ElementReference#isEnumeration()
+ * @generated
+ */
+ EOperation getElementReference__IsEnumeration();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.ElementReference#isBehavior() <em>Is Behavior</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Is Behavior</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.ElementReference#isBehavior()
+ * @generated
+ */
+ EOperation getElementReference__IsBehavior();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.ElementReference#isActivity() <em>Is Activity</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Is Activity</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.ElementReference#isActivity()
+ * @generated
+ */
+ EOperation getElementReference__IsActivity();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.ElementReference#isMethod() <em>Is Method</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Is Method</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.ElementReference#isMethod()
+ * @generated
+ */
+ EOperation getElementReference__IsMethod();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.ElementReference#isPrimitiveType() <em>Is Primitive Type</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Is Primitive Type</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.ElementReference#isPrimitiveType()
+ * @generated
+ */
+ EOperation getElementReference__IsPrimitiveType();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.ElementReference#isReception() <em>Is Reception</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Is Reception</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.ElementReference#isReception()
+ * @generated
+ */
+ EOperation getElementReference__IsReception();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.ElementReference#isOperation() <em>Is Operation</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Is Operation</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.ElementReference#isOperation()
+ * @generated
+ */
+ EOperation getElementReference__IsOperation();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.ElementReference#isConstructor() <em>Is Constructor</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Is Constructor</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.ElementReference#isConstructor()
+ * @generated
+ */
+ EOperation getElementReference__IsConstructor();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.ElementReference#isDestructor() <em>Is Destructor</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Is Destructor</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.ElementReference#isDestructor()
+ * @generated
+ */
+ EOperation getElementReference__IsDestructor();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.ElementReference#isFeature() <em>Is Feature</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Is Feature</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.ElementReference#isFeature()
+ * @generated
+ */
+ EOperation getElementReference__IsFeature();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.ElementReference#isProperty() <em>Is Property</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Is Property</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.ElementReference#isProperty()
+ * @generated
+ */
+ EOperation getElementReference__IsProperty();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.ElementReference#isAssociationEnd() <em>Is Association End</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Is Association End</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.ElementReference#isAssociationEnd()
+ * @generated
+ */
+ EOperation getElementReference__IsAssociationEnd();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.ElementReference#isParameter() <em>Is Parameter</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Is Parameter</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.ElementReference#isParameter()
+ * @generated
+ */
+ EOperation getElementReference__IsParameter();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.ElementReference#isTemplate() <em>Is Template</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Is Template</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.ElementReference#isTemplate()
+ * @generated
+ */
+ EOperation getElementReference__IsTemplate();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.ElementReference#isTemplateParameter() <em>Is Template Parameter</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Is Template Parameter</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.ElementReference#isTemplateParameter()
+ * @generated
+ */
+ EOperation getElementReference__IsTemplateParameter();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.ElementReference#isClassifierTemplateParameter() <em>Is Classifier Template Parameter</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Is Classifier Template Parameter</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.ElementReference#isClassifierTemplateParameter()
+ * @generated
+ */
+ EOperation getElementReference__IsClassifierTemplateParameter();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.ElementReference#isParameteredElement() <em>Is Parametered Element</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Is Parametered Element</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.ElementReference#isParameteredElement()
+ * @generated
+ */
+ EOperation getElementReference__IsParameteredElement();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.ElementReference#isTemplateBinding() <em>Is Template Binding</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Is Template Binding</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.ElementReference#isTemplateBinding()
+ * @generated
+ */
+ EOperation getElementReference__IsTemplateBinding();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.ElementReference#isStereotype() <em>Is Stereotype</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Is Stereotype</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.ElementReference#isStereotype()
+ * @generated
+ */
+ EOperation getElementReference__IsStereotype();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.ElementReference#isEnumerationLiteral() <em>Is Enumeration Literal</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Is Enumeration Literal</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.ElementReference#isEnumerationLiteral()
+ * @generated
+ */
+ EOperation getElementReference__IsEnumerationLiteral();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.ElementReference#isLoopVariable() <em>Is Loop Variable</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Is Loop Variable</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.ElementReference#isLoopVariable()
+ * @generated
+ */
+ EOperation getElementReference__IsLoopVariable();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.ElementReference#isAnnotation() <em>Is Annotation</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Is Annotation</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.ElementReference#isAnnotation()
+ * @generated
+ */
+ EOperation getElementReference__IsAnnotation();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.ElementReference#isSequenceExpansionExpression() <em>Is Sequence Expansion Expression</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Is Sequence Expansion Expression</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.ElementReference#isSequenceExpansionExpression()
+ * @generated
+ */
+ EOperation getElementReference__IsSequenceExpansionExpression();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.ElementReference#isAnyType() <em>Is Any Type</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Is Any Type</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.ElementReference#isAnyType()
+ * @generated
+ */
+ EOperation getElementReference__IsAnyType();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.ElementReference#isDistinguishableFrom(org.eclipse.papyrus.uml.alf.ElementReference) <em>Is Distinguishable From</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Is Distinguishable From</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.ElementReference#isDistinguishableFrom(org.eclipse.papyrus.uml.alf.ElementReference)
+ * @generated
+ */
+ EOperation getElementReference__IsDistinguishableFrom__ElementReference();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.ElementReference#isAssignableFrom(org.eclipse.papyrus.uml.alf.AssignableElement) <em>Is Assignable From</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Is Assignable From</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.ElementReference#isAssignableFrom(org.eclipse.papyrus.uml.alf.AssignableElement)
+ * @generated
+ */
+ EOperation getElementReference__IsAssignableFrom__AssignableElement();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.ElementReference#collectionArgument() <em>Collection Argument</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Collection Argument</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.ElementReference#collectionArgument()
+ * @generated
+ */
+ EOperation getElementReference__CollectionArgument();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.ElementReference#name() <em>Name</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Name</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.ElementReference#name()
+ * @generated
+ */
+ EOperation getElementReference__Name();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.ElementReference#visibility() <em>Visibility</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Visibility</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.ElementReference#visibility()
+ * @generated
+ */
+ EOperation getElementReference__Visibility();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.ElementReference#ownedMembers() <em>Owned Members</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Owned Members</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.ElementReference#ownedMembers()
+ * @generated
+ */
+ EOperation getElementReference__OwnedMembers();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.ElementReference#members() <em>Members</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Members</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.ElementReference#members()
+ * @generated
+ */
+ EOperation getElementReference__Members();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.ElementReference#visibleMembers() <em>Visible Members</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Visible Members</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.ElementReference#visibleMembers()
+ * @generated
+ */
+ EOperation getElementReference__VisibleMembers();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.ElementReference#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.ElementReference#properties()
+ * @generated
+ */
+ EOperation getElementReference__Properties();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.ElementReference#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.ElementReference#associationEnds()
+ * @generated
+ */
+ EOperation getElementReference__AssociationEnds();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.ElementReference#opposite() <em>Opposite</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Opposite</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.ElementReference#opposite()
+ * @generated
+ */
+ EOperation getElementReference__Opposite();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.ElementReference#receptions() <em>Receptions</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Receptions</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.ElementReference#receptions()
+ * @generated
+ */
+ EOperation getElementReference__Receptions();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.ElementReference#signal() <em>Signal</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Signal</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.ElementReference#signal()
+ * @generated
+ */
+ EOperation getElementReference__Signal();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.ElementReference#parameters() <em>Parameters</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Parameters</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.ElementReference#parameters()
+ * @generated
+ */
+ EOperation getElementReference__Parameters();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.ElementReference#returnParameter() <em>Return Parameter</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Return Parameter</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.ElementReference#returnParameter()
+ * @generated
+ */
+ EOperation getElementReference__ReturnParameter();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.ElementReference#specification() <em>Specification</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Specification</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.ElementReference#specification()
+ * @generated
+ */
+ EOperation getElementReference__Specification();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.ElementReference#redefinedOperations() <em>Redefined Operations</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Redefined Operations</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.ElementReference#redefinedOperations()
+ * @generated
+ */
+ EOperation getElementReference__RedefinedOperations();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.ElementReference#namespace() <em>Namespace</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Namespace</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.ElementReference#namespace()
+ * @generated
+ */
+ EOperation getElementReference__Namespace();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.ElementReference#template() <em>Template</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Template</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.ElementReference#template()
+ * @generated
+ */
+ EOperation getElementReference__Template();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.ElementReference#templateParameters() <em>Template Parameters</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Template Parameters</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.ElementReference#templateParameters()
+ * @generated
+ */
+ EOperation getElementReference__TemplateParameters();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.ElementReference#parameteredElements() <em>Parametered Elements</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Parametered Elements</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.ElementReference#parameteredElements()
+ * @generated
+ */
+ EOperation getElementReference__ParameteredElements();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.ElementReference#templateActuals() <em>Template Actuals</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Template Actuals</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.ElementReference#templateActuals()
+ * @generated
+ */
+ EOperation getElementReference__TemplateActuals();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.ElementReference#direction() <em>Direction</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Direction</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.ElementReference#direction()
+ * @generated
+ */
+ EOperation getElementReference__Direction();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.ElementReference#association() <em>Association</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Association</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.ElementReference#association()
+ * @generated
+ */
+ EOperation getElementReference__Association();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.ElementReference#type() <em>Type</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Type</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.ElementReference#type()
+ * @generated
+ */
+ EOperation getElementReference__Type();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.ElementReference#lower() <em>Lower</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Lower</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.ElementReference#lower()
+ * @generated
+ */
+ EOperation getElementReference__Lower();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.ElementReference#upper() <em>Upper</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Upper</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.ElementReference#upper()
+ * @generated
+ */
+ EOperation getElementReference__Upper();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.ElementReference#isOrdered() <em>Is Ordered</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Is Ordered</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.ElementReference#isOrdered()
+ * @generated
+ */
+ EOperation getElementReference__IsOrdered();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.ElementReference#isNonunique() <em>Is Nonunique</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Is Nonunique</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.ElementReference#isNonunique()
+ * @generated
+ */
+ EOperation getElementReference__IsNonunique();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.ElementReference#parents() <em>Parents</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Parents</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.ElementReference#parents()
+ * @generated
+ */
+ EOperation getElementReference__Parents();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.ElementReference#allParents() <em>All Parents</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>All Parents</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.ElementReference#allParents()
+ * @generated
+ */
+ EOperation getElementReference__AllParents();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.ElementReference#classifierBehavior() <em>Classifier Behavior</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Classifier Behavior</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.ElementReference#classifierBehavior()
+ * @generated
+ */
+ EOperation getElementReference__ClassifierBehavior();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.ElementReference#appliedProfiles() <em>Applied Profiles</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Applied Profiles</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.ElementReference#appliedProfiles()
+ * @generated
+ */
+ EOperation getElementReference__AppliedProfiles();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.ElementReference#base() <em>Base</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Base</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.ElementReference#base()
+ * @generated
+ */
+ EOperation getElementReference__Base();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.ElementReference#reference() <em>Reference</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Reference</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.ElementReference#reference()
+ * @generated
+ */
+ EOperation getElementReference__Reference();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.ElementReference#templateBinding() <em>Template Binding</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Template Binding</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.ElementReference#templateBinding()
+ * @generated
+ */
+ EOperation getElementReference__TemplateBinding();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.ElementReference#bind(org.eclipse.emf.common.util.EList) <em>Bind</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Bind</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.ElementReference#bind(org.eclipse.emf.common.util.EList)
+ * @generated
+ */
+ EOperation getElementReference__Bind__EList();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.ElementReference#boundElementName(org.eclipse.emf.common.util.EList) <em>Bound Element Name</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Bound Element Name</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.ElementReference#boundElementName(org.eclipse.emf.common.util.EList)
+ * @generated
+ */
+ EOperation getElementReference__BoundElementName__EList();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.ElementReference#boundPathName() <em>Bound Path Name</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Bound Path Name</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.ElementReference#boundPathName()
+ * @generated
+ */
+ EOperation getElementReference__BoundPathName();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.ElementReference#qualifiedName() <em>Qualified Name</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Qualified Name</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.ElementReference#qualifiedName()
+ * @generated
+ */
+ EOperation getElementReference__QualifiedName();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.ElementReference#activeClass() <em>Active Class</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Active Class</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.ElementReference#activeClass()
+ * @generated
+ */
+ EOperation getElementReference__ActiveClass();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.ElementReference#isActiveBehavior() <em>Is Active Behavior</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Is Active Behavior</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.ElementReference#isActiveBehavior()
+ * @generated
+ */
+ EOperation getElementReference__IsActiveBehavior();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.ElementReference#conformsTo(org.eclipse.papyrus.uml.alf.ElementReference) <em>Conforms To</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Conforms To</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.ElementReference#conformsTo(org.eclipse.papyrus.uml.alf.ElementReference)
+ * @generated
+ */
+ EOperation getElementReference__ConformsTo__ElementReference();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.ElementReference#equals(org.eclipse.papyrus.uml.alf.ElementReference) <em>Equals</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Equals</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.ElementReference#equals(org.eclipse.papyrus.uml.alf.ElementReference)
+ * @generated
+ */
+ EOperation getElementReference__Equals__ElementReference();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.ElementReference#containedIn(org.eclipse.emf.common.util.EList) <em>Contained In</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Contained In</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.ElementReference#containedIn(org.eclipse.emf.common.util.EList)
+ * @generated
+ */
+ EOperation getElementReference__ContainedIn__EList();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.ElementReference#countIn(org.eclipse.emf.common.util.EList) <em>Count In</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Count In</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.ElementReference#countIn(org.eclipse.emf.common.util.EList)
+ * @generated
+ */
+ EOperation getElementReference__CountIn__EList();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.ElementReference#positionIn(org.eclipse.emf.common.util.EList) <em>Position In</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Position In</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.ElementReference#positionIn(org.eclipse.emf.common.util.EList)
+ * @generated
+ */
+ EOperation getElementReference__PositionIn__EList();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.ElementReference#copy() <em>Copy</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Copy</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.ElementReference#copy()
+ * @generated
+ */
+ EOperation getElementReference__Copy();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.ElementReference#modelScope() <em>Model Scope</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Model Scope</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.ElementReference#modelScope()
+ * @generated
+ */
+ EOperation getElementReference__ModelScope();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.ElementReference#resolvePathName(java.lang.String) <em>Resolve Path Name</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Resolve Path Name</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.ElementReference#resolvePathName(java.lang.String)
+ * @generated
+ */
+ EOperation getElementReference__ResolvePathName__String();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.ElementReference#resolve(java.lang.String) <em>Resolve</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Resolve</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.ElementReference#resolve(java.lang.String)
+ * @generated
+ */
+ EOperation getElementReference__Resolve__String();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.ElementReference#resolveInScope(java.lang.String) <em>Resolve In Scope</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Resolve In Scope</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.ElementReference#resolveInScope(java.lang.String)
+ * @generated
+ */
+ EOperation getElementReference__ResolveInScope__String();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.ElementReference#resolveStereotype(java.lang.String) <em>Resolve Stereotype</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Resolve Stereotype</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.ElementReference#resolveStereotype(java.lang.String)
+ * @generated
+ */
+ EOperation getElementReference__ResolveStereotype__String();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.ElementReference#resolveVisible(java.lang.String, org.eclipse.papyrus.uml.alf.ElementReference) <em>Resolve Visible</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Resolve Visible</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.ElementReference#resolveVisible(java.lang.String, org.eclipse.papyrus.uml.alf.ElementReference)
+ * @generated
+ */
+ EOperation getElementReference__ResolveVisible__String_ElementReference();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.ElementReference#resolveAssociationEnd(org.eclipse.papyrus.uml.alf.ElementReference, java.lang.String) <em>Resolve Association End</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Resolve Association End</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.ElementReference#resolveAssociationEnd(org.eclipse.papyrus.uml.alf.ElementReference, java.lang.String)
+ * @generated
+ */
+ EOperation getElementReference__ResolveAssociationEnd__ElementReference_String();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.ElementReference#containsMember(org.eclipse.papyrus.uml.alf.ElementReference) <em>Contains Member</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Contains Member</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.ElementReference#containsMember(org.eclipse.papyrus.uml.alf.ElementReference)
+ * @generated
+ */
+ EOperation getElementReference__ContainsMember__ElementReference();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.ElementReference#allowPackageOnly() <em>Allow Package Only</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Allow Package Only</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.ElementReference#allowPackageOnly()
+ * @generated
+ */
+ EOperation getElementReference__AllowPackageOnly();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.ElementReference#stub() <em>Stub</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Stub</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.ElementReference#stub()
+ * @generated
+ */
+ EOperation getElementReference__Stub();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.ElementReference#stubFor(org.eclipse.papyrus.uml.alf.UnitDefinition) <em>Stub For</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Stub For</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.ElementReference#stubFor(org.eclipse.papyrus.uml.alf.UnitDefinition)
+ * @generated
+ */
+ EOperation getElementReference__StubFor__UnitDefinition();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.uml.alf.InternalElementReference <em>Internal Element Reference</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for class '<em>Internal Element Reference</em>'.
+ * @see org.eclipse.papyrus.uml.alf.InternalElementReference
+ * @generated
+ */
+ EClass getInternalElementReference();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.uml.alf.InternalElementReference#getElement <em>Element</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the reference '<em>Element</em>'.
+ * @see org.eclipse.papyrus.uml.alf.InternalElementReference#getElement()
+ * @see #getInternalElementReference()
+ * @generated
+ */
+ EReference getInternalElementReference_Element();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.InternalElementReference#isAlf() <em>Is Alf</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Is Alf</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.InternalElementReference#isAlf()
+ * @generated
+ */
+ EOperation getInternalElementReference__IsAlf();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.InternalElementReference#asAlf() <em>As Alf</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>As Alf</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.InternalElementReference#asAlf()
+ * @generated
+ */
+ EOperation getInternalElementReference__AsAlf();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.InternalElementReference#asMember() <em>As Member</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>As Member</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.InternalElementReference#asMember()
+ * @generated
+ */
+ EOperation getInternalElementReference__AsMember();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.InternalElementReference#isSameKindAs(org.eclipse.papyrus.uml.alf.ElementReference) <em>Is Same Kind As</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Is Same Kind As</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.InternalElementReference#isSameKindAs(org.eclipse.papyrus.uml.alf.ElementReference)
+ * @generated
+ */
+ EOperation getInternalElementReference__IsSameKindAs__ElementReference();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.InternalElementReference#isNamedElement() <em>Is Named Element</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Is Named Element</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.InternalElementReference#isNamedElement()
+ * @generated
+ */
+ EOperation getInternalElementReference__IsNamedElement();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.InternalElementReference#isNamespace() <em>Is Namespace</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Is Namespace</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.InternalElementReference#isNamespace()
+ * @generated
+ */
+ EOperation getInternalElementReference__IsNamespace();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.InternalElementReference#isNamespaceFor(org.eclipse.papyrus.uml.alf.UnitDefinition) <em>Is Namespace For</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Is Namespace For</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.InternalElementReference#isNamespaceFor(org.eclipse.papyrus.uml.alf.UnitDefinition)
+ * @generated
+ */
+ EOperation getInternalElementReference__IsNamespaceFor__UnitDefinition();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.InternalElementReference#isModelNamespace() <em>Is Model Namespace</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Is Model Namespace</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.InternalElementReference#isModelNamespace()
+ * @generated
+ */
+ EOperation getInternalElementReference__IsModelNamespace();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.InternalElementReference#isPackage() <em>Is Package</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Is Package</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.InternalElementReference#isPackage()
+ * @generated
+ */
+ EOperation getInternalElementReference__IsPackage();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.InternalElementReference#isProfile() <em>Is Profile</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Is Profile</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.InternalElementReference#isProfile()
+ * @generated
+ */
+ EOperation getInternalElementReference__IsProfile();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.InternalElementReference#isPackageableElement() <em>Is Packageable Element</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Is Packageable Element</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.InternalElementReference#isPackageableElement()
+ * @generated
+ */
+ EOperation getInternalElementReference__IsPackageableElement();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.InternalElementReference#isClassifier() <em>Is Classifier</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Is Classifier</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.InternalElementReference#isClassifier()
+ * @generated
+ */
+ EOperation getInternalElementReference__IsClassifier();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.InternalElementReference#isAbstractClassifier() <em>Is Abstract Classifier</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Is Abstract Classifier</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.InternalElementReference#isAbstractClassifier()
+ * @generated
+ */
+ EOperation getInternalElementReference__IsAbstractClassifier();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.InternalElementReference#isAssociation() <em>Is Association</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Is Association</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.InternalElementReference#isAssociation()
+ * @generated
+ */
+ EOperation getInternalElementReference__IsAssociation();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.InternalElementReference#isDataType() <em>Is Data Type</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Is Data Type</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.InternalElementReference#isDataType()
+ * @generated
+ */
+ EOperation getInternalElementReference__IsDataType();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.InternalElementReference#isClass() <em>Is Class</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Is Class</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.InternalElementReference#isClass()
+ * @generated
+ */
+ EOperation getInternalElementReference__IsClass();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.InternalElementReference#isActiveClass() <em>Is Active Class</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Is Active Class</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.InternalElementReference#isActiveClass()
+ * @generated
+ */
+ EOperation getInternalElementReference__IsActiveClass();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.InternalElementReference#isSignal() <em>Is Signal</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Is Signal</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.InternalElementReference#isSignal()
+ * @generated
+ */
+ EOperation getInternalElementReference__IsSignal();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.InternalElementReference#isEnumeration() <em>Is Enumeration</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Is Enumeration</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.InternalElementReference#isEnumeration()
+ * @generated
+ */
+ EOperation getInternalElementReference__IsEnumeration();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.InternalElementReference#isBehavior() <em>Is Behavior</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Is Behavior</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.InternalElementReference#isBehavior()
+ * @generated
+ */
+ EOperation getInternalElementReference__IsBehavior();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.InternalElementReference#isActivity() <em>Is Activity</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Is Activity</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.InternalElementReference#isActivity()
+ * @generated
+ */
+ EOperation getInternalElementReference__IsActivity();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.InternalElementReference#isMethod() <em>Is Method</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Is Method</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.InternalElementReference#isMethod()
+ * @generated
+ */
+ EOperation getInternalElementReference__IsMethod();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.InternalElementReference#isReception() <em>Is Reception</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Is Reception</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.InternalElementReference#isReception()
+ * @generated
+ */
+ EOperation getInternalElementReference__IsReception();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.InternalElementReference#isPrimitiveType() <em>Is Primitive Type</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Is Primitive Type</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.InternalElementReference#isPrimitiveType()
+ * @generated
+ */
+ EOperation getInternalElementReference__IsPrimitiveType();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.InternalElementReference#isOperation() <em>Is Operation</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Is Operation</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.InternalElementReference#isOperation()
+ * @generated
+ */
+ EOperation getInternalElementReference__IsOperation();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.InternalElementReference#isConstructor() <em>Is Constructor</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Is Constructor</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.InternalElementReference#isConstructor()
+ * @generated
+ */
+ EOperation getInternalElementReference__IsConstructor();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.InternalElementReference#isDestructor() <em>Is Destructor</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Is Destructor</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.InternalElementReference#isDestructor()
+ * @generated
+ */
+ EOperation getInternalElementReference__IsDestructor();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.InternalElementReference#isFeature() <em>Is Feature</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Is Feature</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.InternalElementReference#isFeature()
+ * @generated
+ */
+ EOperation getInternalElementReference__IsFeature();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.InternalElementReference#isProperty() <em>Is Property</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Is Property</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.InternalElementReference#isProperty()
+ * @generated
+ */
+ EOperation getInternalElementReference__IsProperty();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.InternalElementReference#isAssociationEnd() <em>Is Association End</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Is Association End</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.InternalElementReference#isAssociationEnd()
+ * @generated
+ */
+ EOperation getInternalElementReference__IsAssociationEnd();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.InternalElementReference#isParameter() <em>Is Parameter</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Is Parameter</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.InternalElementReference#isParameter()
+ * @generated
+ */
+ EOperation getInternalElementReference__IsParameter();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.InternalElementReference#isTemplate() <em>Is Template</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Is Template</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.InternalElementReference#isTemplate()
+ * @generated
+ */
+ EOperation getInternalElementReference__IsTemplate();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.InternalElementReference#isTemplateParameter() <em>Is Template Parameter</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Is Template Parameter</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.InternalElementReference#isTemplateParameter()
+ * @generated
+ */
+ EOperation getInternalElementReference__IsTemplateParameter();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.InternalElementReference#isClassifierTemplateParameter() <em>Is Classifier Template Parameter</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Is Classifier Template Parameter</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.InternalElementReference#isClassifierTemplateParameter()
+ * @generated
+ */
+ EOperation getInternalElementReference__IsClassifierTemplateParameter();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.InternalElementReference#isParameteredElement() <em>Is Parametered Element</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Is Parametered Element</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.InternalElementReference#isParameteredElement()
+ * @generated
+ */
+ EOperation getInternalElementReference__IsParameteredElement();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.InternalElementReference#isTemplateBinding() <em>Is Template Binding</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Is Template Binding</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.InternalElementReference#isTemplateBinding()
+ * @generated
+ */
+ EOperation getInternalElementReference__IsTemplateBinding();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.InternalElementReference#isEnumerationLiteral() <em>Is Enumeration Literal</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Is Enumeration Literal</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.InternalElementReference#isEnumerationLiteral()
+ * @generated
+ */
+ EOperation getInternalElementReference__IsEnumerationLiteral();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.InternalElementReference#isLoopVariable() <em>Is Loop Variable</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Is Loop Variable</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.InternalElementReference#isLoopVariable()
+ * @generated
+ */
+ EOperation getInternalElementReference__IsLoopVariable();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.InternalElementReference#isAnnotation() <em>Is Annotation</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Is Annotation</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.InternalElementReference#isAnnotation()
+ * @generated
+ */
+ EOperation getInternalElementReference__IsAnnotation();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.InternalElementReference#isSequenceExpansionExpression() <em>Is Sequence Expansion Expression</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Is Sequence Expansion Expression</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.InternalElementReference#isSequenceExpansionExpression()
+ * @generated
+ */
+ EOperation getInternalElementReference__IsSequenceExpansionExpression();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.InternalElementReference#isAnyType() <em>Is Any Type</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Is Any Type</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.InternalElementReference#isAnyType()
+ * @generated
+ */
+ EOperation getInternalElementReference__IsAnyType();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.InternalElementReference#isStereotype() <em>Is Stereotype</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Is Stereotype</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.InternalElementReference#isStereotype()
+ * @generated
+ */
+ EOperation getInternalElementReference__IsStereotype();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.InternalElementReference#name() <em>Name</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Name</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.InternalElementReference#name()
+ * @generated
+ */
+ EOperation getInternalElementReference__Name();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.InternalElementReference#visibility() <em>Visibility</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Visibility</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.InternalElementReference#visibility()
+ * @generated
+ */
+ EOperation getInternalElementReference__Visibility();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.InternalElementReference#ownedMembers() <em>Owned Members</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Owned Members</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.InternalElementReference#ownedMembers()
+ * @generated
+ */
+ EOperation getInternalElementReference__OwnedMembers();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.InternalElementReference#members() <em>Members</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Members</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.InternalElementReference#members()
+ * @generated
+ */
+ EOperation getInternalElementReference__Members();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.InternalElementReference#opposite() <em>Opposite</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Opposite</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.InternalElementReference#opposite()
+ * @generated
+ */
+ EOperation getInternalElementReference__Opposite();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.InternalElementReference#signal() <em>Signal</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Signal</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.InternalElementReference#signal()
+ * @generated
+ */
+ EOperation getInternalElementReference__Signal();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.InternalElementReference#parameters() <em>Parameters</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Parameters</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.InternalElementReference#parameters()
+ * @generated
+ */
+ EOperation getInternalElementReference__Parameters();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.InternalElementReference#returnParameter() <em>Return Parameter</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Return Parameter</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.InternalElementReference#returnParameter()
+ * @generated
+ */
+ EOperation getInternalElementReference__ReturnParameter();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.InternalElementReference#specification() <em>Specification</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Specification</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.InternalElementReference#specification()
+ * @generated
+ */
+ EOperation getInternalElementReference__Specification();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.InternalElementReference#redefinedOperaions() <em>Redefined Operaions</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Redefined Operaions</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.InternalElementReference#redefinedOperaions()
+ * @generated
+ */
+ EOperation getInternalElementReference__RedefinedOperaions();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.InternalElementReference#namespace() <em>Namespace</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Namespace</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.InternalElementReference#namespace()
+ * @generated
+ */
+ EOperation getInternalElementReference__Namespace();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.InternalElementReference#template() <em>Template</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Template</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.InternalElementReference#template()
+ * @generated
+ */
+ EOperation getInternalElementReference__Template();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.InternalElementReference#templateParameters() <em>Template Parameters</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Template Parameters</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.InternalElementReference#templateParameters()
+ * @generated
+ */
+ EOperation getInternalElementReference__TemplateParameters();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.InternalElementReference#parameteredElements() <em>Parametered Elements</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Parametered Elements</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.InternalElementReference#parameteredElements()
+ * @generated
+ */
+ EOperation getInternalElementReference__ParameteredElements();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.InternalElementReference#templateActuals() <em>Template Actuals</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Template Actuals</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.InternalElementReference#templateActuals()
+ * @generated
+ */
+ EOperation getInternalElementReference__TemplateActuals();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.InternalElementReference#direction() <em>Direction</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Direction</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.InternalElementReference#direction()
+ * @generated
+ */
+ EOperation getInternalElementReference__Direction();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.InternalElementReference#association() <em>Association</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Association</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.InternalElementReference#association()
+ * @generated
+ */
+ EOperation getInternalElementReference__Association();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.InternalElementReference#type() <em>Type</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Type</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.InternalElementReference#type()
+ * @generated
+ */
+ EOperation getInternalElementReference__Type();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.InternalElementReference#lower() <em>Lower</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Lower</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.InternalElementReference#lower()
+ * @generated
+ */
+ EOperation getInternalElementReference__Lower();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.InternalElementReference#upper() <em>Upper</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Upper</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.InternalElementReference#upper()
+ * @generated
+ */
+ EOperation getInternalElementReference__Upper();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.InternalElementReference#isOrdered() <em>Is Ordered</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Is Ordered</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.InternalElementReference#isOrdered()
+ * @generated
+ */
+ EOperation getInternalElementReference__IsOrdered();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.InternalElementReference#isNonunique() <em>Is Nonunique</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Is Nonunique</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.InternalElementReference#isNonunique()
+ * @generated
+ */
+ EOperation getInternalElementReference__IsNonunique();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.InternalElementReference#parents() <em>Parents</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Parents</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.InternalElementReference#parents()
+ * @generated
+ */
+ EOperation getInternalElementReference__Parents();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.InternalElementReference#allParents() <em>All Parents</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>All Parents</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.InternalElementReference#allParents()
+ * @generated
+ */
+ EOperation getInternalElementReference__AllParents();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.InternalElementReference#classifierBehavior() <em>Classifier Behavior</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Classifier Behavior</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.InternalElementReference#classifierBehavior()
+ * @generated
+ */
+ EOperation getInternalElementReference__ClassifierBehavior();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.InternalElementReference#appliedProfiles() <em>Applied Profiles</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Applied Profiles</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.InternalElementReference#appliedProfiles()
+ * @generated
+ */
+ EOperation getInternalElementReference__AppliedProfiles();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.InternalElementReference#activeClass() <em>Active Class</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Active Class</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.InternalElementReference#activeClass()
+ * @generated
+ */
+ EOperation getInternalElementReference__ActiveClass();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.InternalElementReference#conformsTo(org.eclipse.papyrus.uml.alf.ElementReference) <em>Conforms To</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Conforms To</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.InternalElementReference#conformsTo(org.eclipse.papyrus.uml.alf.ElementReference)
+ * @generated
+ */
+ EOperation getInternalElementReference__ConformsTo__ElementReference();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.InternalElementReference#equals(org.eclipse.papyrus.uml.alf.ElementReference) <em>Equals</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Equals</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.InternalElementReference#equals(org.eclipse.papyrus.uml.alf.ElementReference)
+ * @generated
+ */
+ EOperation getInternalElementReference__Equals__ElementReference();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.InternalElementReference#copy() <em>Copy</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Copy</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.InternalElementReference#copy()
+ * @generated
+ */
+ EOperation getInternalElementReference__Copy();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.InternalElementReference#modelScope() <em>Model Scope</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Model Scope</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.InternalElementReference#modelScope()
+ * @generated
+ */
+ EOperation getInternalElementReference__ModelScope();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.InternalElementReference#resolvePathName(java.lang.String) <em>Resolve Path Name</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Resolve Path Name</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.InternalElementReference#resolvePathName(java.lang.String)
+ * @generated
+ */
+ EOperation getInternalElementReference__ResolvePathName__String();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.InternalElementReference#resolveInScope(java.lang.String) <em>Resolve In Scope</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Resolve In Scope</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.InternalElementReference#resolveInScope(java.lang.String)
+ * @generated
+ */
+ EOperation getInternalElementReference__ResolveInScope__String();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.InternalElementReference#resolveStereotypeName(java.lang.String) <em>Resolve Stereotype Name</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Resolve Stereotype Name</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.InternalElementReference#resolveStereotypeName(java.lang.String)
+ * @generated
+ */
+ EOperation getInternalElementReference__ResolveStereotypeName__String();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.InternalElementReference#stub() <em>Stub</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Stub</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.InternalElementReference#stub()
+ * @generated
+ */
+ EOperation getInternalElementReference__Stub();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.InternalElementReference#stubFor(org.eclipse.papyrus.uml.alf.UnitDefinition) <em>Stub For</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Stub For</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.InternalElementReference#stubFor(org.eclipse.papyrus.uml.alf.UnitDefinition)
+ * @generated
+ */
+ EOperation getInternalElementReference__StubFor__UnitDefinition();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.uml.alf.ExternalElementReference <em>External Element Reference</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for class '<em>External Element Reference</em>'.
+ * @see org.eclipse.papyrus.uml.alf.ExternalElementReference
+ * @generated
+ */
+ EClass getExternalElementReference();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.uml.alf.ExternalElementReference#getElement <em>Element</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the reference '<em>Element</em>'.
+ * @see org.eclipse.papyrus.uml.alf.ExternalElementReference#getElement()
+ * @see #getExternalElementReference()
+ * @generated
+ */
+ EReference getExternalElementReference_Element();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.uml.alf.ExternalElementReference#getAlias <em>Alias</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the attribute '<em>Alias</em>'.
+ * @see org.eclipse.papyrus.uml.alf.ExternalElementReference#getAlias()
+ * @see #getExternalElementReference()
+ * @generated
+ */
+ EAttribute getExternalElementReference_Alias();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.ExternalElementReference#isUml() <em>Is Uml</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Is Uml</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.ExternalElementReference#isUml()
+ * @generated
+ */
+ EOperation getExternalElementReference__IsUml();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.ExternalElementReference#asUml() <em>As Uml</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>As Uml</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.ExternalElementReference#asUml()
+ * @generated
+ */
+ EOperation getExternalElementReference__AsUml();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.ExternalElementReference#asMember() <em>As Member</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>As Member</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.ExternalElementReference#asMember()
+ * @generated
+ */
+ EOperation getExternalElementReference__AsMember();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.ExternalElementReference#isSameKindAs(org.eclipse.papyrus.uml.alf.ElementReference) <em>Is Same Kind As</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Is Same Kind As</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.ExternalElementReference#isSameKindAs(org.eclipse.papyrus.uml.alf.ElementReference)
+ * @generated
+ */
+ EOperation getExternalElementReference__IsSameKindAs__ElementReference();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.ExternalElementReference#isNamedElement() <em>Is Named Element</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Is Named Element</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.ExternalElementReference#isNamedElement()
+ * @generated
+ */
+ EOperation getExternalElementReference__IsNamedElement();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.ExternalElementReference#isNamespace() <em>Is Namespace</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Is Namespace</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.ExternalElementReference#isNamespace()
+ * @generated
+ */
+ EOperation getExternalElementReference__IsNamespace();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.ExternalElementReference#isNamespaceFor(org.eclipse.papyrus.uml.alf.UnitDefinition) <em>Is Namespace For</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Is Namespace For</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.ExternalElementReference#isNamespaceFor(org.eclipse.papyrus.uml.alf.UnitDefinition)
+ * @generated
+ */
+ EOperation getExternalElementReference__IsNamespaceFor__UnitDefinition();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.ExternalElementReference#isModelNamespace() <em>Is Model Namespace</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Is Model Namespace</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.ExternalElementReference#isModelNamespace()
+ * @generated
+ */
+ EOperation getExternalElementReference__IsModelNamespace();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.ExternalElementReference#isPackage() <em>Is Package</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Is Package</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.ExternalElementReference#isPackage()
+ * @generated
+ */
+ EOperation getExternalElementReference__IsPackage();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.ExternalElementReference#isProfile() <em>Is Profile</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Is Profile</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.ExternalElementReference#isProfile()
+ * @generated
+ */
+ EOperation getExternalElementReference__IsProfile();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.ExternalElementReference#isPackageableElement() <em>Is Packageable Element</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Is Packageable Element</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.ExternalElementReference#isPackageableElement()
+ * @generated
+ */
+ EOperation getExternalElementReference__IsPackageableElement();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.ExternalElementReference#isClassifier() <em>Is Classifier</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Is Classifier</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.ExternalElementReference#isClassifier()
+ * @generated
+ */
+ EOperation getExternalElementReference__IsClassifier();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.ExternalElementReference#isAbstractClassifier() <em>Is Abstract Classifier</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Is Abstract Classifier</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.ExternalElementReference#isAbstractClassifier()
+ * @generated
+ */
+ EOperation getExternalElementReference__IsAbstractClassifier();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.ExternalElementReference#isAssociation() <em>Is Association</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Is Association</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.ExternalElementReference#isAssociation()
+ * @generated
+ */
+ EOperation getExternalElementReference__IsAssociation();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.ExternalElementReference#isDataType() <em>Is Data Type</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Is Data Type</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.ExternalElementReference#isDataType()
+ * @generated
+ */
+ EOperation getExternalElementReference__IsDataType();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.ExternalElementReference#isClass() <em>Is Class</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Is Class</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.ExternalElementReference#isClass()
+ * @generated
+ */
+ EOperation getExternalElementReference__IsClass();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.ExternalElementReference#isActiveClass() <em>Is Active Class</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Is Active Class</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.ExternalElementReference#isActiveClass()
+ * @generated
+ */
+ EOperation getExternalElementReference__IsActiveClass();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.ExternalElementReference#isSignal() <em>Is Signal</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Is Signal</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.ExternalElementReference#isSignal()
+ * @generated
+ */
+ EOperation getExternalElementReference__IsSignal();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.ExternalElementReference#isEnumeration() <em>Is Enumeration</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Is Enumeration</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.ExternalElementReference#isEnumeration()
+ * @generated
+ */
+ EOperation getExternalElementReference__IsEnumeration();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.ExternalElementReference#isBehavior() <em>Is Behavior</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Is Behavior</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.ExternalElementReference#isBehavior()
+ * @generated
+ */
+ EOperation getExternalElementReference__IsBehavior();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.ExternalElementReference#isActivity() <em>Is Activity</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Is Activity</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.ExternalElementReference#isActivity()
+ * @generated
+ */
+ EOperation getExternalElementReference__IsActivity();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.ExternalElementReference#isMethod() <em>Is Method</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Is Method</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.ExternalElementReference#isMethod()
+ * @generated
+ */
+ EOperation getExternalElementReference__IsMethod();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.ExternalElementReference#isReception() <em>Is Reception</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Is Reception</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.ExternalElementReference#isReception()
+ * @generated
+ */
+ EOperation getExternalElementReference__IsReception();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.ExternalElementReference#isPrimitiveType() <em>Is Primitive Type</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Is Primitive Type</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.ExternalElementReference#isPrimitiveType()
+ * @generated
+ */
+ EOperation getExternalElementReference__IsPrimitiveType();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.ExternalElementReference#isOperation() <em>Is Operation</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Is Operation</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.ExternalElementReference#isOperation()
+ * @generated
+ */
+ EOperation getExternalElementReference__IsOperation();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.ExternalElementReference#isConstructor() <em>Is Constructor</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Is Constructor</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.ExternalElementReference#isConstructor()
+ * @generated
+ */
+ EOperation getExternalElementReference__IsConstructor();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.ExternalElementReference#isDestructor() <em>Is Destructor</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Is Destructor</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.ExternalElementReference#isDestructor()
+ * @generated
+ */
+ EOperation getExternalElementReference__IsDestructor();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.ExternalElementReference#isFeature() <em>Is Feature</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Is Feature</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.ExternalElementReference#isFeature()
+ * @generated
+ */
+ EOperation getExternalElementReference__IsFeature();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.ExternalElementReference#isProperty() <em>Is Property</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Is Property</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.ExternalElementReference#isProperty()
+ * @generated
+ */
+ EOperation getExternalElementReference__IsProperty();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.ExternalElementReference#isAssociationEnd() <em>Is Association End</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Is Association End</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.ExternalElementReference#isAssociationEnd()
+ * @generated
+ */
+ EOperation getExternalElementReference__IsAssociationEnd();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.ExternalElementReference#isParameter() <em>Is Parameter</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Is Parameter</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.ExternalElementReference#isParameter()
+ * @generated
+ */
+ EOperation getExternalElementReference__IsParameter();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.ExternalElementReference#isTemplate() <em>Is Template</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Is Template</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.ExternalElementReference#isTemplate()
+ * @generated
+ */
+ EOperation getExternalElementReference__IsTemplate();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.ExternalElementReference#isTemplateParameter() <em>Is Template Parameter</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Is Template Parameter</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.ExternalElementReference#isTemplateParameter()
+ * @generated
+ */
+ EOperation getExternalElementReference__IsTemplateParameter();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.ExternalElementReference#isClassifierTemplateParameter() <em>Is Classifier Template Parameter</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Is Classifier Template Parameter</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.ExternalElementReference#isClassifierTemplateParameter()
+ * @generated
+ */
+ EOperation getExternalElementReference__IsClassifierTemplateParameter();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.ExternalElementReference#isParameteredElement() <em>Is Parametered Element</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Is Parametered Element</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.ExternalElementReference#isParameteredElement()
+ * @generated
+ */
+ EOperation getExternalElementReference__IsParameteredElement();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.ExternalElementReference#isTemplateBinding() <em>Is Template Binding</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Is Template Binding</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.ExternalElementReference#isTemplateBinding()
+ * @generated
+ */
+ EOperation getExternalElementReference__IsTemplateBinding();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.ExternalElementReference#isStereotype() <em>Is Stereotype</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Is Stereotype</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.ExternalElementReference#isStereotype()
+ * @generated
+ */
+ EOperation getExternalElementReference__IsStereotype();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.ExternalElementReference#isEnumerationLiteral() <em>Is Enumeration Literal</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Is Enumeration Literal</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.ExternalElementReference#isEnumerationLiteral()
+ * @generated
+ */
+ EOperation getExternalElementReference__IsEnumerationLiteral();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.ExternalElementReference#isLoopVariable() <em>Is Loop Variable</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Is Loop Variable</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.ExternalElementReference#isLoopVariable()
+ * @generated
+ */
+ EOperation getExternalElementReference__IsLoopVariable();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.ExternalElementReference#isAnnotation() <em>Is Annotation</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Is Annotation</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.ExternalElementReference#isAnnotation()
+ * @generated
+ */
+ EOperation getExternalElementReference__IsAnnotation();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.ExternalElementReference#isSequenceExpansionExpression() <em>Is Sequence Expansion Expression</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Is Sequence Expansion Expression</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.ExternalElementReference#isSequenceExpansionExpression()
+ * @generated
+ */
+ EOperation getExternalElementReference__IsSequenceExpansionExpression();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.ExternalElementReference#name() <em>Name</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Name</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.ExternalElementReference#name()
+ * @generated
+ */
+ EOperation getExternalElementReference__Name();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.ExternalElementReference#visibility() <em>Visibility</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Visibility</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.ExternalElementReference#visibility()
+ * @generated
+ */
+ EOperation getExternalElementReference__Visibility();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.ExternalElementReference#ownedMembers() <em>Owned Members</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Owned Members</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.ExternalElementReference#ownedMembers()
+ * @generated
+ */
+ EOperation getExternalElementReference__OwnedMembers();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.ExternalElementReference#enumerationMembers() <em>Enumeration Members</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Enumeration Members</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.ExternalElementReference#enumerationMembers()
+ * @generated
+ */
+ EOperation getExternalElementReference__EnumerationMembers();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.ExternalElementReference#members() <em>Members</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Members</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.ExternalElementReference#members()
+ * @generated
+ */
+ EOperation getExternalElementReference__Members();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.ExternalElementReference#additionalMembers() <em>Additional Members</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Additional Members</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.ExternalElementReference#additionalMembers()
+ * @generated
+ */
+ EOperation getExternalElementReference__AdditionalMembers();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.ExternalElementReference#inherit(org.eclipse.emf.common.util.EList) <em>Inherit</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Inherit</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.ExternalElementReference#inherit(org.eclipse.emf.common.util.EList)
+ * @generated
+ */
+ EOperation getExternalElementReference__Inherit__EList();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.ExternalElementReference#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.ExternalElementReference#properties()
+ * @generated
+ */
+ 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 -->
+ *
+ * @return the meta object for the '<em>Association Ends</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.ExternalElementReference#associationEnds()
+ * @generated
+ */
+ 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 -->
+ *
+ * @return the meta object for the '<em>Opposite</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.ExternalElementReference#opposite()
+ * @generated
+ */
+ EOperation getExternalElementReference__Opposite();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.ExternalElementReference#signal() <em>Signal</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Signal</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.ExternalElementReference#signal()
+ * @generated
+ */
+ EOperation getExternalElementReference__Signal();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.ExternalElementReference#namespace() <em>Namespace</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Namespace</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.ExternalElementReference#namespace()
+ * @generated
+ */
+ EOperation getExternalElementReference__Namespace();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.ExternalElementReference#ownedParameters() <em>Owned Parameters</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Owned Parameters</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.ExternalElementReference#ownedParameters()
+ * @generated
+ */
+ EOperation getExternalElementReference__OwnedParameters();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.ExternalElementReference#parameters() <em>Parameters</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Parameters</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.ExternalElementReference#parameters()
+ * @generated
+ */
+ EOperation getExternalElementReference__Parameters();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.ExternalElementReference#returnParameter() <em>Return Parameter</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Return Parameter</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.ExternalElementReference#returnParameter()
+ * @generated
+ */
+ EOperation getExternalElementReference__ReturnParameter();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.ExternalElementReference#specification() <em>Specification</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Specification</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.ExternalElementReference#specification()
+ * @generated
+ */
+ EOperation getExternalElementReference__Specification();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.ExternalElementReference#redefinedOperations() <em>Redefined Operations</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Redefined Operations</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.ExternalElementReference#redefinedOperations()
+ * @generated
+ */
+ EOperation getExternalElementReference__RedefinedOperations();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.ExternalElementReference#template() <em>Template</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Template</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.ExternalElementReference#template()
+ * @generated
+ */
+ EOperation getExternalElementReference__Template();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.ExternalElementReference#umlTemplateBinding() <em>Uml Template Binding</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Uml Template Binding</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.ExternalElementReference#umlTemplateBinding()
+ * @generated
+ */
+ EOperation getExternalElementReference__UmlTemplateBinding();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.ExternalElementReference#templateParameters() <em>Template Parameters</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Template Parameters</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.ExternalElementReference#templateParameters()
+ * @generated
+ */
+ EOperation getExternalElementReference__TemplateParameters();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.ExternalElementReference#parameteredElements() <em>Parametered Elements</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Parametered Elements</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.ExternalElementReference#parameteredElements()
+ * @generated
+ */
+ EOperation getExternalElementReference__ParameteredElements();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.ExternalElementReference#templateActuals() <em>Template Actuals</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Template Actuals</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.ExternalElementReference#templateActuals()
+ * @generated
+ */
+ EOperation getExternalElementReference__TemplateActuals();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.ExternalElementReference#direction() <em>Direction</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Direction</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.ExternalElementReference#direction()
+ * @generated
+ */
+ EOperation getExternalElementReference__Direction();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.ExternalElementReference#association() <em>Association</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Association</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.ExternalElementReference#association()
+ * @generated
+ */
+ EOperation getExternalElementReference__Association();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.ExternalElementReference#type() <em>Type</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Type</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.ExternalElementReference#type()
+ * @generated
+ */
+ EOperation getExternalElementReference__Type();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.ExternalElementReference#lower() <em>Lower</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Lower</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.ExternalElementReference#lower()
+ * @generated
+ */
+ EOperation getExternalElementReference__Lower();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.ExternalElementReference#upper() <em>Upper</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Upper</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.ExternalElementReference#upper()
+ * @generated
+ */
+ EOperation getExternalElementReference__Upper();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.ExternalElementReference#isOrdered() <em>Is Ordered</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Is Ordered</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.ExternalElementReference#isOrdered()
+ * @generated
+ */
+ EOperation getExternalElementReference__IsOrdered();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.ExternalElementReference#isNonunique() <em>Is Nonunique</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Is Nonunique</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.ExternalElementReference#isNonunique()
+ * @generated
+ */
+ EOperation getExternalElementReference__IsNonunique();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.ExternalElementReference#parents() <em>Parents</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Parents</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.ExternalElementReference#parents()
+ * @generated
+ */
+ EOperation getExternalElementReference__Parents();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.ExternalElementReference#allParents() <em>All Parents</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>All Parents</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.ExternalElementReference#allParents()
+ * @generated
+ */
+ EOperation getExternalElementReference__AllParents();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.ExternalElementReference#classifierBehavior() <em>Classifier Behavior</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Classifier Behavior</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.ExternalElementReference#classifierBehavior()
+ * @generated
+ */
+ EOperation getExternalElementReference__ClassifierBehavior();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.ExternalElementReference#appliedProfiles() <em>Applied Profiles</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Applied Profiles</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.ExternalElementReference#appliedProfiles()
+ * @generated
+ */
+ EOperation getExternalElementReference__AppliedProfiles();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.ExternalElementReference#activeClass() <em>Active Class</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Active Class</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.ExternalElementReference#activeClass()
+ * @generated
+ */
+ EOperation getExternalElementReference__ActiveClass();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.ExternalElementReference#conformsTo(org.eclipse.papyrus.uml.alf.ElementReference) <em>Conforms To</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Conforms To</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.ExternalElementReference#conformsTo(org.eclipse.papyrus.uml.alf.ElementReference)
+ * @generated
+ */
+ EOperation getExternalElementReference__ConformsTo__ElementReference();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.ExternalElementReference#equals(org.eclipse.papyrus.uml.alf.ElementReference) <em>Equals</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Equals</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.ExternalElementReference#equals(org.eclipse.papyrus.uml.alf.ElementReference)
+ * @generated
+ */
+ EOperation getExternalElementReference__Equals__ElementReference();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.ExternalElementReference#copy() <em>Copy</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Copy</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.ExternalElementReference#copy()
+ * @generated
+ */
+ EOperation getExternalElementReference__Copy();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.ExternalElementReference#modelScope() <em>Model Scope</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Model Scope</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.ExternalElementReference#modelScope()
+ * @generated
+ */
+ EOperation getExternalElementReference__ModelScope();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.ExternalElementReference#resolvePathName(java.lang.String) <em>Resolve Path Name</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Resolve Path Name</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.ExternalElementReference#resolvePathName(java.lang.String)
+ * @generated
+ */
+ EOperation getExternalElementReference__ResolvePathName__String();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.ExternalElementReference#ExternalElementReference_resolvePathName(java.lang.String) <em>External Element Reference resolve Path Name</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>External Element Reference resolve Path Name</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.ExternalElementReference#ExternalElementReference_resolvePathName(java.lang.String)
+ * @generated
+ */
+ EOperation getExternalElementReference__ExternalElementReference_resolvePathName__String();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.ExternalElementReference#resolveInScope(java.lang.String) <em>Resolve In Scope</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Resolve In Scope</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.ExternalElementReference#resolveInScope(java.lang.String)
+ * @generated
+ */
+ EOperation getExternalElementReference__ResolveInScope__String();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.ExternalElementReference#resolveStereotype(java.lang.String) <em>Resolve Stereotype</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Resolve Stereotype</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.ExternalElementReference#resolveStereotype(java.lang.String)
+ * @generated
+ */
+ EOperation getExternalElementReference__ResolveStereotype__String();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.ExternalElementReference#stub() <em>Stub</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Stub</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.ExternalElementReference#stub()
+ * @generated
+ */
+ EOperation getExternalElementReference__Stub();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.ExternalElementReference#stubFor(org.eclipse.papyrus.uml.alf.UnitDefinition) <em>Stub For</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Stub For</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.ExternalElementReference#stubFor(org.eclipse.papyrus.uml.alf.UnitDefinition)
+ * @generated
+ */
+ EOperation getExternalElementReference__StubFor__UnitDefinition();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.uml.alf.ExternalEnumerationLiteralReference <em>External Enumeration Literal Reference</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for class '<em>External Enumeration Literal Reference</em>'.
+ * @see org.eclipse.papyrus.uml.alf.ExternalEnumerationLiteralReference
+ * @generated
+ */
+ EClass getExternalEnumerationLiteralReference();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.ExternalEnumerationLiteralReference#isNamedEement() <em>Is Named Eement</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Is Named Eement</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.ExternalEnumerationLiteralReference#isNamedEement()
+ * @generated
+ */
+ EOperation getExternalEnumerationLiteralReference__IsNamedEement();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.ExternalEnumerationLiteralReference#isClassifier() <em>Is Classifier</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Is Classifier</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.ExternalEnumerationLiteralReference#isClassifier()
+ * @generated
+ */
+ EOperation getExternalEnumerationLiteralReference__IsClassifier();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.ExternalEnumerationLiteralReference#isParameter() <em>Is Parameter</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Is Parameter</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.ExternalEnumerationLiteralReference#isParameter()
+ * @generated
+ */
+ EOperation getExternalEnumerationLiteralReference__IsParameter();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.ExternalEnumerationLiteralReference#isEnumerationLiteral() <em>Is Enumeration Literal</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Is Enumeration Literal</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.ExternalEnumerationLiteralReference#isEnumerationLiteral()
+ * @generated
+ */
+ EOperation getExternalEnumerationLiteralReference__IsEnumerationLiteral();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.ExternalEnumerationLiteralReference#ExternalEnumerationLiteralReference_visibility() <em>External Enumeration Literal Reference visibility</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>External Enumeration Literal Reference visibility</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.ExternalEnumerationLiteralReference#ExternalEnumerationLiteralReference_visibility()
+ * @generated
+ */
+ EOperation getExternalEnumerationLiteralReference__ExternalEnumerationLiteralReference_visibility();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.ExternalEnumerationLiteralReference#visibility() <em>Visibility</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Visibility</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.ExternalEnumerationLiteralReference#visibility()
+ * @generated
+ */
+ EOperation getExternalEnumerationLiteralReference__Visibility();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.ExternalEnumerationLiteralReference#ExternalEnumerationLiteralReference_type() <em>External Enumeration Literal Reference type</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>External Enumeration Literal Reference type</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.ExternalEnumerationLiteralReference#ExternalEnumerationLiteralReference_type()
+ * @generated
+ */
+ EOperation getExternalEnumerationLiteralReference__ExternalEnumerationLiteralReference_type();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.ExternalEnumerationLiteralReference#type() <em>Type</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Type</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.ExternalEnumerationLiteralReference#type()
+ * @generated
+ */
+ EOperation getExternalEnumerationLiteralReference__Type();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.uml.alf.BoundElementReference <em>Bound Element Reference</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for class '<em>Bound Element Reference</em>'.
+ * @see org.eclipse.papyrus.uml.alf.BoundElementReference
+ * @generated
+ */
+ EClass getBoundElementReference();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.uml.alf.BoundElementReference#getReferent <em>Referent</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the reference '<em>Referent</em>'.
+ * @see org.eclipse.papyrus.uml.alf.BoundElementReference#getReferent()
+ * @see #getBoundElementReference()
+ * @generated
+ */
+ EReference getBoundElementReference_Referent();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.uml.alf.BoundElementReference#getNamespace <em>Namespace</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the reference '<em>Namespace</em>'.
+ * @see org.eclipse.papyrus.uml.alf.BoundElementReference#getNamespace()
+ * @see #getBoundElementReference()
+ * @generated
+ */
+ EReference getBoundElementReference_Namespace();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.uml.alf.BoundElementReference#getTemplateBinding <em>Template Binding</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the reference '<em>Template Binding</em>'.
+ * @see org.eclipse.papyrus.uml.alf.BoundElementReference#getTemplateBinding()
+ * @see #getBoundElementReference()
+ * @generated
+ */
+ EReference getBoundElementReference_TemplateBinding();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.BoundElementReference#isUml() <em>Is Uml</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Is Uml</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.BoundElementReference#isUml()
+ * @generated
+ */
+ EOperation getBoundElementReference__IsUml();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.BoundElementReference#isAlf() <em>Is Alf</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Is Alf</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.BoundElementReference#isAlf()
+ * @generated
+ */
+ EOperation getBoundElementReference__IsAlf();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.BoundElementReference#asUml() <em>As Uml</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>As Uml</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.BoundElementReference#asUml()
+ * @generated
+ */
+ EOperation getBoundElementReference__AsUml();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.BoundElementReference#asAlf() <em>As Alf</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>As Alf</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.BoundElementReference#asAlf()
+ * @generated
+ */
+ EOperation getBoundElementReference__AsAlf();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.BoundElementReference#asMember() <em>As Member</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>As Member</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.BoundElementReference#asMember()
+ * @generated
+ */
+ EOperation getBoundElementReference__AsMember();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.BoundElementReference#isSameKindAs(org.eclipse.papyrus.uml.alf.ElementReference) <em>Is Same Kind As</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Is Same Kind As</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.BoundElementReference#isSameKindAs(org.eclipse.papyrus.uml.alf.ElementReference)
+ * @generated
+ */
+ EOperation getBoundElementReference__IsSameKindAs__ElementReference();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.BoundElementReference#isNamedElement() <em>Is Named Element</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Is Named Element</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.BoundElementReference#isNamedElement()
+ * @generated
+ */
+ EOperation getBoundElementReference__IsNamedElement();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.BoundElementReference#isNamespace() <em>Is Namespace</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Is Namespace</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.BoundElementReference#isNamespace()
+ * @generated
+ */
+ EOperation getBoundElementReference__IsNamespace();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.BoundElementReference#isNamespaceFor(org.eclipse.papyrus.uml.alf.UnitDefinition) <em>Is Namespace For</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Is Namespace For</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.BoundElementReference#isNamespaceFor(org.eclipse.papyrus.uml.alf.UnitDefinition)
+ * @generated
+ */
+ EOperation getBoundElementReference__IsNamespaceFor__UnitDefinition();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.BoundElementReference#isModelNamespace() <em>Is Model Namespace</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Is Model Namespace</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.BoundElementReference#isModelNamespace()
+ * @generated
+ */
+ EOperation getBoundElementReference__IsModelNamespace();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.BoundElementReference#isPackage() <em>Is Package</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Is Package</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.BoundElementReference#isPackage()
+ * @generated
+ */
+ EOperation getBoundElementReference__IsPackage();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.BoundElementReference#isProfile() <em>Is Profile</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Is Profile</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.BoundElementReference#isProfile()
+ * @generated
+ */
+ EOperation getBoundElementReference__IsProfile();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.BoundElementReference#isPackageableElement() <em>Is Packageable Element</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Is Packageable Element</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.BoundElementReference#isPackageableElement()
+ * @generated
+ */
+ EOperation getBoundElementReference__IsPackageableElement();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.BoundElementReference#isClassifier() <em>Is Classifier</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Is Classifier</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.BoundElementReference#isClassifier()
+ * @generated
+ */
+ EOperation getBoundElementReference__IsClassifier();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.BoundElementReference#isAbstractClassifier() <em>Is Abstract Classifier</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Is Abstract Classifier</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.BoundElementReference#isAbstractClassifier()
+ * @generated
+ */
+ EOperation getBoundElementReference__IsAbstractClassifier();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.BoundElementReference#isAssociation() <em>Is Association</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Is Association</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.BoundElementReference#isAssociation()
+ * @generated
+ */
+ EOperation getBoundElementReference__IsAssociation();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.BoundElementReference#isDataType() <em>Is Data Type</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Is Data Type</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.BoundElementReference#isDataType()
+ * @generated
+ */
+ EOperation getBoundElementReference__IsDataType();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.BoundElementReference#isClass() <em>Is Class</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Is Class</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.BoundElementReference#isClass()
+ * @generated
+ */
+ EOperation getBoundElementReference__IsClass();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.BoundElementReference#isActiveClass() <em>Is Active Class</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Is Active Class</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.BoundElementReference#isActiveClass()
+ * @generated
+ */
+ EOperation getBoundElementReference__IsActiveClass();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.BoundElementReference#isSignal() <em>Is Signal</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Is Signal</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.BoundElementReference#isSignal()
+ * @generated
+ */
+ EOperation getBoundElementReference__IsSignal();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.BoundElementReference#isEnumeration() <em>Is Enumeration</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Is Enumeration</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.BoundElementReference#isEnumeration()
+ * @generated
+ */
+ EOperation getBoundElementReference__IsEnumeration();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.BoundElementReference#isBehavior() <em>Is Behavior</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Is Behavior</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.BoundElementReference#isBehavior()
+ * @generated
+ */
+ EOperation getBoundElementReference__IsBehavior();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.BoundElementReference#isActivity() <em>Is Activity</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Is Activity</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.BoundElementReference#isActivity()
+ * @generated
+ */
+ EOperation getBoundElementReference__IsActivity();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.BoundElementReference#isMethod() <em>Is Method</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Is Method</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.BoundElementReference#isMethod()
+ * @generated
+ */
+ EOperation getBoundElementReference__IsMethod();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.BoundElementReference#isPrimitiveType() <em>Is Primitive Type</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Is Primitive Type</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.BoundElementReference#isPrimitiveType()
+ * @generated
+ */
+ EOperation getBoundElementReference__IsPrimitiveType();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.BoundElementReference#isReception() <em>Is Reception</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Is Reception</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.BoundElementReference#isReception()
+ * @generated
+ */
+ EOperation getBoundElementReference__IsReception();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.BoundElementReference#isOperation() <em>Is Operation</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Is Operation</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.BoundElementReference#isOperation()
+ * @generated
+ */
+ EOperation getBoundElementReference__IsOperation();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.BoundElementReference#isConstructor() <em>Is Constructor</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Is Constructor</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.BoundElementReference#isConstructor()
+ * @generated
+ */
+ EOperation getBoundElementReference__IsConstructor();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.BoundElementReference#isDestructor() <em>Is Destructor</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Is Destructor</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.BoundElementReference#isDestructor()
+ * @generated
+ */
+ EOperation getBoundElementReference__IsDestructor();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.BoundElementReference#isFeature() <em>Is Feature</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Is Feature</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.BoundElementReference#isFeature()
+ * @generated
+ */
+ EOperation getBoundElementReference__IsFeature();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.BoundElementReference#isProperty() <em>Is Property</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Is Property</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.BoundElementReference#isProperty()
+ * @generated
+ */
+ EOperation getBoundElementReference__IsProperty();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.BoundElementReference#isAssociationEnd() <em>Is Association End</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Is Association End</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.BoundElementReference#isAssociationEnd()
+ * @generated
+ */
+ EOperation getBoundElementReference__IsAssociationEnd();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.BoundElementReference#isParameter() <em>Is Parameter</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Is Parameter</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.BoundElementReference#isParameter()
+ * @generated
+ */
+ EOperation getBoundElementReference__IsParameter();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.BoundElementReference#isTemplate() <em>Is Template</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Is Template</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.BoundElementReference#isTemplate()
+ * @generated
+ */
+ EOperation getBoundElementReference__IsTemplate();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.BoundElementReference#isTemplateParameter() <em>Is Template Parameter</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Is Template Parameter</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.BoundElementReference#isTemplateParameter()
+ * @generated
+ */
+ EOperation getBoundElementReference__IsTemplateParameter();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.BoundElementReference#isClassifierTemplateParameter() <em>Is Classifier Template Parameter</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Is Classifier Template Parameter</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.BoundElementReference#isClassifierTemplateParameter()
+ * @generated
+ */
+ EOperation getBoundElementReference__IsClassifierTemplateParameter();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.BoundElementReference#isParameteredElement() <em>Is Parametered Element</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Is Parametered Element</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.BoundElementReference#isParameteredElement()
+ * @generated
+ */
+ EOperation getBoundElementReference__IsParameteredElement();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.BoundElementReference#isStereotype() <em>Is Stereotype</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Is Stereotype</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.BoundElementReference#isStereotype()
+ * @generated
+ */
+ EOperation getBoundElementReference__IsStereotype();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.BoundElementReference#isEnumerationLiteral() <em>Is Enumeration Literal</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Is Enumeration Literal</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.BoundElementReference#isEnumerationLiteral()
+ * @generated
+ */
+ EOperation getBoundElementReference__IsEnumerationLiteral();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.BoundElementReference#isLoopVariable() <em>Is Loop Variable</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Is Loop Variable</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.BoundElementReference#isLoopVariable()
+ * @generated
+ */
+ EOperation getBoundElementReference__IsLoopVariable();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.BoundElementReference#isAnnotation() <em>Is Annotation</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Is Annotation</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.BoundElementReference#isAnnotation()
+ * @generated
+ */
+ EOperation getBoundElementReference__IsAnnotation();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.BoundElementReference#isSequenceExpansionExpression() <em>Is Sequence Expansion Expression</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Is Sequence Expansion Expression</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.BoundElementReference#isSequenceExpansionExpression()
+ * @generated
+ */
+ EOperation getBoundElementReference__IsSequenceExpansionExpression();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.BoundElementReference#isDistinguishableFrom(org.eclipse.papyrus.uml.alf.ElementReference) <em>Is Distinguishable From</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Is Distinguishable From</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.BoundElementReference#isDistinguishableFrom(org.eclipse.papyrus.uml.alf.ElementReference)
+ * @generated
+ */
+ EOperation getBoundElementReference__IsDistinguishableFrom__ElementReference();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.BoundElementReference#name() <em>Name</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Name</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.BoundElementReference#name()
+ * @generated
+ */
+ EOperation getBoundElementReference__Name();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.BoundElementReference#visibility() <em>Visibility</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Visibility</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.BoundElementReference#visibility()
+ * @generated
+ */
+ EOperation getBoundElementReference__Visibility();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.BoundElementReference#ownedMembers() <em>Owned Members</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Owned Members</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.BoundElementReference#ownedMembers()
+ * @generated
+ */
+ EOperation getBoundElementReference__OwnedMembers();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.BoundElementReference#members() <em>Members</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Members</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.BoundElementReference#members()
+ * @generated
+ */
+ EOperation getBoundElementReference__Members();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.BoundElementReference#opposite() <em>Opposite</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Opposite</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.BoundElementReference#opposite()
+ * @generated
+ */
+ EOperation getBoundElementReference__Opposite();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.BoundElementReference#signal() <em>Signal</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Signal</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.BoundElementReference#signal()
+ * @generated
+ */
+ EOperation getBoundElementReference__Signal();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.BoundElementReference#parameters() <em>Parameters</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Parameters</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.BoundElementReference#parameters()
+ * @generated
+ */
+ EOperation getBoundElementReference__Parameters();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.BoundElementReference#returnParameter() <em>Return Parameter</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Return Parameter</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.BoundElementReference#returnParameter()
+ * @generated
+ */
+ EOperation getBoundElementReference__ReturnParameter();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.BoundElementReference#specification() <em>Specification</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Specification</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.BoundElementReference#specification()
+ * @generated
+ */
+ EOperation getBoundElementReference__Specification();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.BoundElementReference#redefinedOperations() <em>Redefined Operations</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Redefined Operations</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.BoundElementReference#redefinedOperations()
+ * @generated
+ */
+ EOperation getBoundElementReference__RedefinedOperations();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.BoundElementReference#namespace() <em>Namespace</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Namespace</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.BoundElementReference#namespace()
+ * @generated
+ */
+ EOperation getBoundElementReference__Namespace();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.BoundElementReference#template() <em>Template</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Template</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.BoundElementReference#template()
+ * @generated
+ */
+ EOperation getBoundElementReference__Template();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.BoundElementReference#templateParameters() <em>Template Parameters</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Template Parameters</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.BoundElementReference#templateParameters()
+ * @generated
+ */
+ EOperation getBoundElementReference__TemplateParameters();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.BoundElementReference#parameteredElements() <em>Parametered Elements</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Parametered Elements</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.BoundElementReference#parameteredElements()
+ * @generated
+ */
+ EOperation getBoundElementReference__ParameteredElements();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.BoundElementReference#isTemplateBinding() <em>Is Template Binding</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Is Template Binding</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.BoundElementReference#isTemplateBinding()
+ * @generated
+ */
+ EOperation getBoundElementReference__IsTemplateBinding();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.BoundElementReference#templateActuals() <em>Template Actuals</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Template Actuals</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.BoundElementReference#templateActuals()
+ * @generated
+ */
+ EOperation getBoundElementReference__TemplateActuals();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.BoundElementReference#direction() <em>Direction</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Direction</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.BoundElementReference#direction()
+ * @generated
+ */
+ EOperation getBoundElementReference__Direction();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.BoundElementReference#association() <em>Association</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Association</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.BoundElementReference#association()
+ * @generated
+ */
+ EOperation getBoundElementReference__Association();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.BoundElementReference#type() <em>Type</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Type</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.BoundElementReference#type()
+ * @generated
+ */
+ EOperation getBoundElementReference__Type();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.BoundElementReference#lower() <em>Lower</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Lower</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.BoundElementReference#lower()
+ * @generated
+ */
+ EOperation getBoundElementReference__Lower();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.BoundElementReference#upper() <em>Upper</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Upper</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.BoundElementReference#upper()
+ * @generated
+ */
+ EOperation getBoundElementReference__Upper();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.BoundElementReference#isOrdered() <em>Is Ordered</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Is Ordered</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.BoundElementReference#isOrdered()
+ * @generated
+ */
+ EOperation getBoundElementReference__IsOrdered();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.BoundElementReference#isNonunique() <em>Is Nonunique</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Is Nonunique</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.BoundElementReference#isNonunique()
+ * @generated
+ */
+ EOperation getBoundElementReference__IsNonunique();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.BoundElementReference#parents() <em>Parents</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Parents</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.BoundElementReference#parents()
+ * @generated
+ */
+ EOperation getBoundElementReference__Parents();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.BoundElementReference#allParents() <em>All Parents</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>All Parents</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.BoundElementReference#allParents()
+ * @generated
+ */
+ EOperation getBoundElementReference__AllParents();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.BoundElementReference#classifierBehavior() <em>Classifier Behavior</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Classifier Behavior</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.BoundElementReference#classifierBehavior()
+ * @generated
+ */
+ EOperation getBoundElementReference__ClassifierBehavior();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.BoundElementReference#appliedProfiles() <em>Applied Profiles</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Applied Profiles</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.BoundElementReference#appliedProfiles()
+ * @generated
+ */
+ EOperation getBoundElementReference__AppliedProfiles();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.BoundElementReference#reference() <em>Reference</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Reference</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.BoundElementReference#reference()
+ * @generated
+ */
+ EOperation getBoundElementReference__Reference();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.BoundElementReference#templateBinding() <em>Template Binding</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Template Binding</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.BoundElementReference#templateBinding()
+ * @generated
+ */
+ EOperation getBoundElementReference__TemplateBinding();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.BoundElementReference#activeClass() <em>Active Class</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Active Class</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.BoundElementReference#activeClass()
+ * @generated
+ */
+ EOperation getBoundElementReference__ActiveClass();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.BoundElementReference#isActiveBehavior() <em>Is Active Behavior</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Is Active Behavior</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.BoundElementReference#isActiveBehavior()
+ * @generated
+ */
+ EOperation getBoundElementReference__IsActiveBehavior();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.BoundElementReference#conformsTo(org.eclipse.papyrus.uml.alf.ElementReference) <em>Conforms To</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Conforms To</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.BoundElementReference#conformsTo(org.eclipse.papyrus.uml.alf.ElementReference)
+ * @generated
+ */
+ EOperation getBoundElementReference__ConformsTo__ElementReference();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.BoundElementReference#equals(org.eclipse.papyrus.uml.alf.ElementReference) <em>Equals</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Equals</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.BoundElementReference#equals(org.eclipse.papyrus.uml.alf.ElementReference)
+ * @generated
+ */
+ EOperation getBoundElementReference__Equals__ElementReference();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.BoundElementReference#copy() <em>Copy</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Copy</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.BoundElementReference#copy()
+ * @generated
+ */
+ EOperation getBoundElementReference__Copy();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.BoundElementReference#modelScope() <em>Model Scope</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Model Scope</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.BoundElementReference#modelScope()
+ * @generated
+ */
+ EOperation getBoundElementReference__ModelScope();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.BoundElementReference#resolvePathName(java.lang.String) <em>Resolve Path Name</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Resolve Path Name</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.BoundElementReference#resolvePathName(java.lang.String)
+ * @generated
+ */
+ EOperation getBoundElementReference__ResolvePathName__String();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.BoundElementReference#resolveInScope(java.lang.String) <em>Resolve In Scope</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Resolve In Scope</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.BoundElementReference#resolveInScope(java.lang.String)
+ * @generated
+ */
+ EOperation getBoundElementReference__ResolveInScope__String();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.BoundElementReference#resolveStereotype(java.lang.String) <em>Resolve Stereotype</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Resolve Stereotype</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.BoundElementReference#resolveStereotype(java.lang.String)
+ * @generated
+ */
+ EOperation getBoundElementReference__ResolveStereotype__String();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.BoundElementReference#stub() <em>Stub</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Stub</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.BoundElementReference#stub()
+ * @generated
+ */
+ EOperation getBoundElementReference__Stub();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.BoundElementReference#stubFor(org.eclipse.papyrus.uml.alf.UnitDefinition) <em>Stub For</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Stub For</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.BoundElementReference#stubFor(org.eclipse.papyrus.uml.alf.UnitDefinition)
+ * @generated
+ */
+ EOperation getBoundElementReference__StubFor__UnitDefinition();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.BoundElementReference#boundReferenceTo(org.eclipse.papyrus.uml.alf.ElementReference) <em>Bound Reference To</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Bound Reference To</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.BoundElementReference#boundReferenceTo(org.eclipse.papyrus.uml.alf.ElementReference)
+ * @generated
+ */
+ EOperation getBoundElementReference__BoundReferenceTo__ElementReference();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.BoundElementReference#boundReferenceTo1(org.eclipse.papyrus.uml.alf.ElementReference) <em>Bound Reference To1</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Bound Reference To1</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.BoundElementReference#boundReferenceTo1(org.eclipse.papyrus.uml.alf.ElementReference)
+ * @generated
+ */
+ EOperation getBoundElementReference__BoundReferenceTo1__ElementReference();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.BoundElementReference#boundReferencesTo(org.eclipse.emf.common.util.EList) <em>Bound References To</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Bound References To</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.BoundElementReference#boundReferencesTo(org.eclipse.emf.common.util.EList)
+ * @generated
+ */
+ EOperation getBoundElementReference__BoundReferencesTo__EList();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.uml.alf.DocumentedElement <em>Documented Element</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for class '<em>Documented Element</em>'.
+ * @see org.eclipse.papyrus.uml.alf.DocumentedElement
+ * @generated
+ */
+ EClass getDocumentedElement();
+
+ /**
+ * Returns the meta object for the attribute list '{@link org.eclipse.papyrus.uml.alf.DocumentedElement#getDocumentation <em>Documentation</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the attribute list '<em>Documentation</em>'.
+ * @see org.eclipse.papyrus.uml.alf.DocumentedElement#getDocumentation()
+ * @see #getDocumentedElement()
+ * @generated
+ */
+ EAttribute getDocumentedElement_Documentation();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.uml.alf.SequenceExpansionExpression <em>Sequence Expansion Expression</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for class '<em>Sequence Expansion Expression</em>'.
+ * @see org.eclipse.papyrus.uml.alf.SequenceExpansionExpression
+ * @generated
+ */
+ EClass getSequenceExpansionExpression();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.uml.alf.SequenceExpansionExpression#getOperation <em>Operation</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the attribute '<em>Operation</em>'.
+ * @see org.eclipse.papyrus.uml.alf.SequenceExpansionExpression#getOperation()
+ * @see #getSequenceExpansionExpression()
+ * @generated
+ */
+ EAttribute getSequenceExpansionExpression_Operation();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.uml.alf.SequenceExpansionExpression#getVariable <em>Variable</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the attribute '<em>Variable</em>'.
+ * @see org.eclipse.papyrus.uml.alf.SequenceExpansionExpression#getVariable()
+ * @see #getSequenceExpansionExpression()
+ * @generated
+ */
+ EAttribute getSequenceExpansionExpression_Variable();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.uml.alf.SequenceExpansionExpression#getVariableSource <em>Variable Source</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the reference '<em>Variable Source</em>'.
+ * @see org.eclipse.papyrus.uml.alf.SequenceExpansionExpression#getVariableSource()
+ * @see #getSequenceExpansionExpression()
+ * @generated
+ */
+ EReference getSequenceExpansionExpression_VariableSource();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.papyrus.uml.alf.SequenceExpansionExpression#getArgument <em>Argument</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the containment reference '<em>Argument</em>'.
+ * @see org.eclipse.papyrus.uml.alf.SequenceExpansionExpression#getArgument()
+ * @see #getSequenceExpansionExpression()
+ * @generated
+ */
+ EReference getSequenceExpansionExpression_Argument();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.papyrus.uml.alf.SequenceExpansionExpression#getPrimary <em>Primary</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the containment reference '<em>Primary</em>'.
+ * @see org.eclipse.papyrus.uml.alf.SequenceExpansionExpression#getPrimary()
+ * @see #getSequenceExpansionExpression()
+ * @generated
+ */
+ EReference getSequenceExpansionExpression_Primary();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.uml.alf.SequenceExpansionExpression#isIsSelectOrReject <em>Is Select Or Reject</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the attribute '<em>Is Select Or Reject</em>'.
+ * @see org.eclipse.papyrus.uml.alf.SequenceExpansionExpression#isIsSelectOrReject()
+ * @see #getSequenceExpansionExpression()
+ * @generated
+ */
+ EAttribute getSequenceExpansionExpression_IsSelectOrReject();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.uml.alf.SequenceExpansionExpression#isIsCollectOrIterate <em>Is Collect Or Iterate</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the attribute '<em>Is Collect Or Iterate</em>'.
+ * @see org.eclipse.papyrus.uml.alf.SequenceExpansionExpression#isIsCollectOrIterate()
+ * @see #getSequenceExpansionExpression()
+ * @generated
+ */
+ EAttribute getSequenceExpansionExpression_IsCollectOrIterate();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.uml.alf.SequenceExpansionExpression#isIsForAllOrExistsOrOne <em>Is For All Or Exists Or One</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the attribute '<em>Is For All Or Exists Or One</em>'.
+ * @see org.eclipse.papyrus.uml.alf.SequenceExpansionExpression#isIsForAllOrExistsOrOne()
+ * @see #getSequenceExpansionExpression()
+ * @generated
+ */
+ EAttribute getSequenceExpansionExpression_IsForAllOrExistsOrOne();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.uml.alf.SequenceExpansionExpression#isIsIsUnique <em>Is Is Unique</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the attribute '<em>Is Is Unique</em>'.
+ * @see org.eclipse.papyrus.uml.alf.SequenceExpansionExpression#isIsIsUnique()
+ * @see #getSequenceExpansionExpression()
+ * @generated
+ */
+ EAttribute getSequenceExpansionExpression_IsIsUnique();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.SequenceExpansionExpression#assignmentsBefore(org.eclipse.papyrus.uml.alf.SyntaxElement) <em>Assignments Before</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Assignments Before</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.SequenceExpansionExpression#assignmentsBefore(org.eclipse.papyrus.uml.alf.SyntaxElement)
+ * @generated
+ */
+ EOperation getSequenceExpansionExpression__AssignmentsBefore__SyntaxElement();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.SequenceExpansionExpression#assignmentsAfterPrimary() <em>Assignments After Primary</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Assignments After Primary</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.SequenceExpansionExpression#assignmentsAfterPrimary()
+ * @generated
+ */
+ EOperation getSequenceExpansionExpression__AssignmentsAfterPrimary();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.SequenceExpansionExpression#type() <em>Type</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Type</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.SequenceExpansionExpression#type()
+ * @generated
+ */
+ EOperation getSequenceExpansionExpression__Type();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.SequenceExpansionExpression#lower() <em>Lower</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Lower</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.SequenceExpansionExpression#lower()
+ * @generated
+ */
+ EOperation getSequenceExpansionExpression__Lower();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.SequenceExpansionExpression#upper() <em>Upper</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Upper</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.SequenceExpansionExpression#upper()
+ * @generated
+ */
+ EOperation getSequenceExpansionExpression__Upper();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.SequenceExpansionExpression#sequenceExpansionExpressionVariableSourceDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * <em>Sequence Expansion Expression Variable Source Derivation</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Sequence Expansion Expression Variable Source Derivation</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.SequenceExpansionExpression#sequenceExpansionExpressionVariableSourceDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getSequenceExpansionExpression__SequenceExpansionExpressionVariableSourceDerivation__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.SequenceExpansionExpression#sequenceExpansionExpressionAssignmentsBeforePrimary(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * <em>Sequence Expansion Expression Assignments Before Primary</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Sequence Expansion Expression Assignments Before Primary</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.SequenceExpansionExpression#sequenceExpansionExpressionAssignmentsBeforePrimary(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getSequenceExpansionExpression__SequenceExpansionExpressionAssignmentsBeforePrimary__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.SequenceExpansionExpression#sequenceExpansionExpressionAssignmentsBeforeArgument(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * <em>Sequence Expansion Expression Assignments Before Argument</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Sequence Expansion Expression Assignments Before Argument</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.SequenceExpansionExpression#sequenceExpansionExpressionAssignmentsBeforeArgument(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getSequenceExpansionExpression__SequenceExpansionExpressionAssignmentsBeforeArgument__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.SequenceExpansionExpression#sequenceExpansionExpressionVariableName(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Sequence Expansion Expression Variable Name</em>}'
+ * operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Sequence Expansion Expression Variable Name</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.SequenceExpansionExpression#sequenceExpansionExpressionVariableName(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getSequenceExpansionExpression__SequenceExpansionExpressionVariableName__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.SequenceExpansionExpression#sequenceExpansionExpressionAssignmentsAfterArgument(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * <em>Sequence Expansion Expression Assignments After Argument</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Sequence Expansion Expression Assignments After Argument</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.SequenceExpansionExpression#sequenceExpansionExpressionAssignmentsAfterArgument(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getSequenceExpansionExpression__SequenceExpansionExpressionAssignmentsAfterArgument__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.SequenceExpansionExpression#selectOrRejectExpressionTypeDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Select Or Reject Expression Type Derivation</em>}'
+ * operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Select Or Reject Expression Type Derivation</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.SequenceExpansionExpression#selectOrRejectExpressionTypeDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getSequenceExpansionExpression__SelectOrRejectExpressionTypeDerivation__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.SequenceExpansionExpression#selectOrRejectExpressionLowerDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Select Or Reject Expression Lower Derivation</em>}'
+ * operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Select Or Reject Expression Lower Derivation</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.SequenceExpansionExpression#selectOrRejectExpressionLowerDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getSequenceExpansionExpression__SelectOrRejectExpressionLowerDerivation__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.SequenceExpansionExpression#selectOrRejectExpressionUpperDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Select Or Reject Expression Upper Derivation</em>}'
+ * operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Select Or Reject Expression Upper Derivation</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.SequenceExpansionExpression#selectOrRejectExpressionUpperDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getSequenceExpansionExpression__SelectOrRejectExpressionUpperDerivation__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.SequenceExpansionExpression#selectOrRejectExpressionArgument(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Select Or Reject Expression Argument</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Select Or Reject Expression Argument</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.SequenceExpansionExpression#selectOrRejectExpressionArgument(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getSequenceExpansionExpression__SelectOrRejectExpressionArgument__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.SequenceExpansionExpression#collectOrIterateExpressionTypeDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Collect Or Iterate Expression Type Derivation</em>}'
+ * operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Collect Or Iterate Expression Type Derivation</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.SequenceExpansionExpression#collectOrIterateExpressionTypeDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getSequenceExpansionExpression__CollectOrIterateExpressionTypeDerivation__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.SequenceExpansionExpression#collectOrIterateExpressionLowerDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * <em>Collect Or Iterate Expression Lower Derivation</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Collect Or Iterate Expression Lower Derivation</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.SequenceExpansionExpression#collectOrIterateExpressionLowerDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getSequenceExpansionExpression__CollectOrIterateExpressionLowerDerivation__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.SequenceExpansionExpression#collectOrIterateExpressionUpperDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * <em>Collect Or Iterate Expression Upper Derivation</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Collect Or Iterate Expression Upper Derivation</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.SequenceExpansionExpression#collectOrIterateExpressionUpperDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getSequenceExpansionExpression__CollectOrIterateExpressionUpperDerivation__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.SequenceExpansionExpression#forAllOrExistsOrOneExpressionTypeDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * <em>For All Or Exists Or One Expression Type Derivation</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>For All Or Exists Or One Expression Type Derivation</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.SequenceExpansionExpression#forAllOrExistsOrOneExpressionTypeDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getSequenceExpansionExpression__ForAllOrExistsOrOneExpressionTypeDerivation__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.SequenceExpansionExpression#forAllOrExistsOrOneExpressionLowerDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * <em>For All Or Exists Or One Expression Lower Derivation</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>For All Or Exists Or One Expression Lower Derivation</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.SequenceExpansionExpression#forAllOrExistsOrOneExpressionLowerDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getSequenceExpansionExpression__ForAllOrExistsOrOneExpressionLowerDerivation__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.SequenceExpansionExpression#forAllOrExistsOrOneExpressionUpperDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * <em>For All Or Exists Or One Expression Upper Derivation</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>For All Or Exists Or One Expression Upper Derivation</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.SequenceExpansionExpression#forAllOrExistsOrOneExpressionUpperDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getSequenceExpansionExpression__ForAllOrExistsOrOneExpressionUpperDerivation__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.SequenceExpansionExpression#forAllOrExistsOrOneExpressionArgument(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>For All Or Exists Or One Expression Argument</em>}'
+ * operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>For All Or Exists Or One Expression Argument</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.SequenceExpansionExpression#forAllOrExistsOrOneExpressionArgument(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getSequenceExpansionExpression__ForAllOrExistsOrOneExpressionArgument__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.SequenceExpansionExpression#isUniqueExpressionTypeDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Is Unique Expression Type Derivation</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Is Unique Expression Type Derivation</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.SequenceExpansionExpression#isUniqueExpressionTypeDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getSequenceExpansionExpression__IsUniqueExpressionTypeDerivation__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.SequenceExpansionExpression#isUniqueExpressionLowerDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Is Unique Expression Lower Derivation</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Is Unique Expression Lower Derivation</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.SequenceExpansionExpression#isUniqueExpressionLowerDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getSequenceExpansionExpression__IsUniqueExpressionLowerDerivation__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.SequenceExpansionExpression#isUniqueExpressionUpperDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Is Unique Expression Upper Derivation</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Is Unique Expression Upper Derivation</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.SequenceExpansionExpression#isUniqueExpressionUpperDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getSequenceExpansionExpression__IsUniqueExpressionUpperDerivation__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.SequenceExpansionExpression#isUniqueExpressionExpressionArgument(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Is Unique Expression Expression Argument</em>}'
+ * operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Is Unique Expression Expression Argument</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.SequenceExpansionExpression#isUniqueExpressionExpressionArgument(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getSequenceExpansionExpression__IsUniqueExpressionExpressionArgument__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.SequenceExpansionExpression#updateAssignments() <em>Update Assignments</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Update Assignments</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.SequenceExpansionExpression#updateAssignments()
+ * @generated
+ */
+ EOperation getSequenceExpansionExpression__UpdateAssignments();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.SequenceExpansionExpression#sequenceExpansionExpressionOperation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Sequence Expansion Expression Operation</em>}'
+ * operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Sequence Expansion Expression Operation</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.SequenceExpansionExpression#sequenceExpansionExpressionOperation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getSequenceExpansionExpression__SequenceExpansionExpressionOperation__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.uml.alf.AssignableElement <em>Assignable Element</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for class '<em>Assignable Element</em>'.
+ * @see org.eclipse.papyrus.uml.alf.AssignableElement
+ * @generated
+ */
+ EClass getAssignableElement();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.uml.alf.AssignableElement#getUpper <em>Upper</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the attribute '<em>Upper</em>'.
+ * @see org.eclipse.papyrus.uml.alf.AssignableElement#getUpper()
+ * @see #getAssignableElement()
+ * @generated
+ */
+ EAttribute getAssignableElement_Upper();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.uml.alf.AssignableElement#getLower <em>Lower</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the attribute '<em>Lower</em>'.
+ * @see org.eclipse.papyrus.uml.alf.AssignableElement#getLower()
+ * @see #getAssignableElement()
+ * @generated
+ */
+ EAttribute getAssignableElement_Lower();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.uml.alf.AssignableElement#getType <em>Type</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the reference '<em>Type</em>'.
+ * @see org.eclipse.papyrus.uml.alf.AssignableElement#getType()
+ * @see #getAssignableElement()
+ * @generated
+ */
+ EReference getAssignableElement_Type();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.AssignableElement#typeCached() <em>Type Cached</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Type Cached</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.AssignableElement#typeCached()
+ * @generated
+ */
+ EOperation getAssignableElement__TypeCached();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.AssignableElement#type() <em>Type</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Type</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.AssignableElement#type()
+ * @generated
+ */
+ EOperation getAssignableElement__Type();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.AssignableElement#lower() <em>Lower</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Lower</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.AssignableElement#lower()
+ * @generated
+ */
+ EOperation getAssignableElement__Lower();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.AssignableElement#upper() <em>Upper</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Upper</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.AssignableElement#upper()
+ * @generated
+ */
+ EOperation getAssignableElement__Upper();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.AssignableElement#isNull() <em>Is Null</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Is Null</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.AssignableElement#isNull()
+ * @generated
+ */
+ EOperation getAssignableElement__IsNull();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.AssignableElement#isAssignableFromElement(org.eclipse.papyrus.uml.alf.ElementReference) <em>Is Assignable From Element</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Is Assignable From Element</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.AssignableElement#isAssignableFromElement(org.eclipse.papyrus.uml.alf.ElementReference)
+ * @generated
+ */
+ EOperation getAssignableElement__IsAssignableFromElement__ElementReference();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.AssignableElement#isAssignableFrom(org.eclipse.papyrus.uml.alf.AssignableElement) <em>Is Assignable From</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Is Assignable From</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.AssignableElement#isAssignableFrom(org.eclipse.papyrus.uml.alf.AssignableElement)
+ * @generated
+ */
+ EOperation getAssignableElement__IsAssignableFrom__AssignableElement();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.AssignableElement#isTypeConformantWith(org.eclipse.papyrus.uml.alf.AssignableElement) <em>Is Type Conformant With</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Is Type Conformant With</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.AssignableElement#isTypeConformantWith(org.eclipse.papyrus.uml.alf.AssignableElement)
+ * @generated
+ */
+ EOperation getAssignableElement__IsTypeConformantWith__AssignableElement();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.AssignableElement#isConformantWithType(org.eclipse.papyrus.uml.alf.ElementReference) <em>Is Conformant With Type</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Is Conformant With Type</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.AssignableElement#isConformantWithType(org.eclipse.papyrus.uml.alf.ElementReference)
+ * @generated
+ */
+ EOperation getAssignableElement__IsConformantWithType__ElementReference();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.AssignableElement#isMultiplicityConformantWith(org.eclipse.papyrus.uml.alf.AssignableElement) <em>Is Multiplicity Conformant With</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Is Multiplicity Conformant With</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.AssignableElement#isMultiplicityConformantWith(org.eclipse.papyrus.uml.alf.AssignableElement)
+ * @generated
+ */
+ EOperation getAssignableElement__IsMultiplicityConformantWith__AssignableElement();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.uml.alf.AssignableElementReference <em>Assignable Element Reference</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for class '<em>Assignable Element Reference</em>'.
+ * @see org.eclipse.papyrus.uml.alf.AssignableElementReference
+ * @generated
+ */
+ EClass getAssignableElementReference();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.uml.alf.AssignableElementReference#getReference <em>Reference</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the reference '<em>Reference</em>'.
+ * @see org.eclipse.papyrus.uml.alf.AssignableElementReference#getReference()
+ * @see #getAssignableElementReference()
+ * @generated
+ */
+ EReference getAssignableElementReference_Reference();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.AssignableElementReference#type() <em>Type</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Type</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.AssignableElementReference#type()
+ * @generated
+ */
+ EOperation getAssignableElementReference__Type();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.AssignableElementReference#lower() <em>Lower</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Lower</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.AssignableElementReference#lower()
+ * @generated
+ */
+ EOperation getAssignableElementReference__Lower();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.AssignableElementReference#upper() <em>Upper</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Upper</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.AssignableElementReference#upper()
+ * @generated
+ */
+ EOperation getAssignableElementReference__Upper();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.uml.alf.Expression <em>Expression</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for class '<em>Expression</em>'.
+ * @see org.eclipse.papyrus.uml.alf.Expression
+ * @generated
+ */
+ EClass getExpression();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.uml.alf.Expression#getAssignmentBefore <em>Assignment Before</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the reference list '<em>Assignment Before</em>'.
+ * @see org.eclipse.papyrus.uml.alf.Expression#getAssignmentBefore()
+ * @see #getExpression()
+ * @generated
+ */
+ EReference getExpression_AssignmentBefore();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.uml.alf.Expression#getAssignmentAfter <em>Assignment After</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the reference list '<em>Assignment After</em>'.
+ * @see org.eclipse.papyrus.uml.alf.Expression#getAssignmentAfter()
+ * @see #getExpression()
+ * @generated
+ */
+ EReference getExpression_AssignmentAfter();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.Expression#newAssignments() <em>New Assignments</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>New Assignments</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.Expression#newAssignments()
+ * @generated
+ */
+ EOperation getExpression__NewAssignments();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.Expression#updateAssignments() <em>Update Assignments</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Update Assignments</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.Expression#updateAssignments()
+ * @generated
+ */
+ EOperation getExpression__UpdateAssignments();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.Expression#Expression_updateAssignments() <em>Expression update Assignments</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Expression update Assignments</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.Expression#Expression_updateAssignments()
+ * @generated
+ */
+ EOperation getExpression__Expression_updateAssignments();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.Expression#updateAssignmentsCached() <em>Update Assignments Cached</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Update Assignments Cached</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.Expression#updateAssignmentsCached()
+ * @generated
+ */
+ EOperation getExpression__UpdateAssignmentsCached();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.Expression#resolve(java.lang.String) <em>Resolve</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Resolve</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.Expression#resolve(java.lang.String)
+ * @generated
+ */
+ EOperation getExpression__Resolve__String();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.Expression#isAddTarget(org.eclipse.papyrus.uml.alf.Expression) <em>Is Add Target</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Is Add Target</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.Expression#isAddTarget(org.eclipse.papyrus.uml.alf.Expression)
+ * @generated
+ */
+ EOperation getExpression__IsAddTarget__Expression();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.Expression#expressionAssignmentAfterDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Expression Assignment After Derivation</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Expression Assignment After Derivation</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.Expression#expressionAssignmentAfterDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getExpression__ExpressionAssignmentAfterDerivation__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.Expression#expressionUniqueAssignments(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Expression Unique Assignments</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Expression Unique Assignments</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.Expression#expressionUniqueAssignments(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getExpression__ExpressionUniqueAssignments__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.uml.alf.ExtentOrExpression <em>Extent Or Expression</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for class '<em>Extent Or Expression</em>'.
+ * @see org.eclipse.papyrus.uml.alf.ExtentOrExpression
+ * @generated
+ */
+ EClass getExtentOrExpression();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.papyrus.uml.alf.ExtentOrExpression#getName <em>Name</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the containment reference '<em>Name</em>'.
+ * @see org.eclipse.papyrus.uml.alf.ExtentOrExpression#getName()
+ * @see #getExtentOrExpression()
+ * @generated
+ */
+ EReference getExtentOrExpression_Name();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.uml.alf.ExtentOrExpression#getExpression <em>Expression</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the reference '<em>Expression</em>'.
+ * @see org.eclipse.papyrus.uml.alf.ExtentOrExpression#getExpression()
+ * @see #getExtentOrExpression()
+ * @generated
+ */
+ EReference getExtentOrExpression_Expression();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.papyrus.uml.alf.ExtentOrExpression#getNonNameExpression <em>Non Name Expression</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the containment reference '<em>Non Name Expression</em>'.
+ * @see org.eclipse.papyrus.uml.alf.ExtentOrExpression#getNonNameExpression()
+ * @see #getExtentOrExpression()
+ * @generated
+ */
+ EReference getExtentOrExpression_NonNameExpression();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.ExtentOrExpression#isAddTarget(org.eclipse.papyrus.uml.alf.Expression) <em>Is Add Target</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Is Add Target</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.ExtentOrExpression#isAddTarget(org.eclipse.papyrus.uml.alf.Expression)
+ * @generated
+ */
+ EOperation getExtentOrExpression__IsAddTarget__Expression();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.ExtentOrExpression#extentOrExpressionExpressionDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Extent Or Expression Expression Derivation</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Extent Or Expression Expression Derivation</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.ExtentOrExpression#extentOrExpressionExpressionDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getExtentOrExpression__ExtentOrExpressionExpressionDerivation__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.ExtentOrExpression#extentOrExpressionExtentType(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Extent Or Expression Extent Type</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Extent Or Expression Extent Type</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.ExtentOrExpression#extentOrExpressionExtentType(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getExtentOrExpression__ExtentOrExpressionExtentType__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.ExtentOrExpression#extentOrExpressionResolution(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Extent Or Expression Resolution</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Extent Or Expression Resolution</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.ExtentOrExpression#extentOrExpressionResolution(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getExtentOrExpression__ExtentOrExpressionResolution__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.uml.alf.QualifiedName <em>Qualified Name</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for class '<em>Qualified Name</em>'.
+ * @see org.eclipse.papyrus.uml.alf.QualifiedName
+ * @generated
+ */
+ EClass getQualifiedName();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.uml.alf.QualifiedName#isIsAmbiguous <em>Is Ambiguous</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the attribute '<em>Is Ambiguous</em>'.
+ * @see org.eclipse.papyrus.uml.alf.QualifiedName#isIsAmbiguous()
+ * @see #getQualifiedName()
+ * @generated
+ */
+ EAttribute getQualifiedName_IsAmbiguous();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.uml.alf.QualifiedName#getPathName <em>Path Name</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the attribute '<em>Path Name</em>'.
+ * @see org.eclipse.papyrus.uml.alf.QualifiedName#getPathName()
+ * @see #getQualifiedName()
+ * @generated
+ */
+ EAttribute getQualifiedName_PathName();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.uml.alf.QualifiedName#isIsFeatureReference <em>Is Feature Reference</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the attribute '<em>Is Feature Reference</em>'.
+ * @see org.eclipse.papyrus.uml.alf.QualifiedName#isIsFeatureReference()
+ * @see #getQualifiedName()
+ * @generated
+ */
+ EAttribute getQualifiedName_IsFeatureReference();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.uml.alf.QualifiedName#getQualification <em>Qualification</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the reference '<em>Qualification</em>'.
+ * @see org.eclipse.papyrus.uml.alf.QualifiedName#getQualification()
+ * @see #getQualifiedName()
+ * @generated
+ */
+ EReference getQualifiedName_Qualification();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.uml.alf.QualifiedName#getDisambiguation <em>Disambiguation</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the reference '<em>Disambiguation</em>'.
+ * @see org.eclipse.papyrus.uml.alf.QualifiedName#getDisambiguation()
+ * @see #getQualifiedName()
+ * @generated
+ */
+ EReference getQualifiedName_Disambiguation();
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.eclipse.papyrus.uml.alf.QualifiedName#getNameBinding <em>Name Binding</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the containment reference list '<em>Name Binding</em>'.
+ * @see org.eclipse.papyrus.uml.alf.QualifiedName#getNameBinding()
+ * @see #getQualifiedName()
+ * @generated
+ */
+ EReference getQualifiedName_NameBinding();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.uml.alf.QualifiedName#getReferent <em>Referent</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the reference list '<em>Referent</em>'.
+ * @see org.eclipse.papyrus.uml.alf.QualifiedName#getReferent()
+ * @see #getQualifiedName()
+ * @generated
+ */
+ EReference getQualifiedName_Referent();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.uml.alf.QualifiedName#getUnqualifiedName <em>Unqualified Name</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the reference '<em>Unqualified Name</em>'.
+ * @see org.eclipse.papyrus.uml.alf.QualifiedName#getUnqualifiedName()
+ * @see #getQualifiedName()
+ * @generated
+ */
+ EReference getQualifiedName_UnqualifiedName();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.uml.alf.QualifiedName#getTemplateName <em>Template Name</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the reference '<em>Template Name</em>'.
+ * @see org.eclipse.papyrus.uml.alf.QualifiedName#getTemplateName()
+ * @see #getQualifiedName()
+ * @generated
+ */
+ EReference getQualifiedName_TemplateName();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.QualifiedName#copy() <em>Copy</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Copy</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.QualifiedName#copy()
+ * @generated
+ */
+ EOperation getQualifiedName__Copy();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.QualifiedName#addName(java.lang.String) <em>Add Name</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Add Name</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.QualifiedName#addName(java.lang.String)
+ * @generated
+ */
+ EOperation getQualifiedName__AddName__String();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.QualifiedName#addNameBindings(org.eclipse.emf.common.util.EList) <em>Add Name Bindings</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Add Name Bindings</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.QualifiedName#addNameBindings(org.eclipse.emf.common.util.EList)
+ * @generated
+ */
+ EOperation getQualifiedName__AddNameBindings__EList();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.QualifiedName#modelReferents() <em>Model Referents</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Model Referents</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.QualifiedName#modelReferents()
+ * @generated
+ */
+ EOperation getQualifiedName__ModelReferents();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.QualifiedName#qualifiedNameUnqualifiedNameDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Qualified Name Unqualified Name Derivation</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Qualified Name Unqualified Name Derivation</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.QualifiedName#qualifiedNameUnqualifiedNameDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getQualifiedName__QualifiedNameUnqualifiedNameDerivation__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.QualifiedName#qualifiedNamePathNameDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Qualified Name Path Name Derivation</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Qualified Name Path Name Derivation</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.QualifiedName#qualifiedNamePathNameDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getQualifiedName__QualifiedNamePathNameDerivation__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.QualifiedName#qualifiedNameIsFeatureReferenceDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Qualified Name Is Feature Reference Derivation</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Qualified Name Is Feature Reference Derivation</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.QualifiedName#qualifiedNameIsFeatureReferenceDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getQualifiedName__QualifiedNameIsFeatureReferenceDerivation__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.QualifiedName#qualifiedNameQualificationDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Qualified Name Qualification Derivation</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Qualified Name Qualification Derivation</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.QualifiedName#qualifiedNameQualificationDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getQualifiedName__QualifiedNameQualificationDerivation__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.QualifiedName#qualifiedNameDisambiguationDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Qualified Name Disambiguation Derivation</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Qualified Name Disambiguation Derivation</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.QualifiedName#qualifiedNameDisambiguationDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getQualifiedName__QualifiedNameDisambiguationDerivation__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.QualifiedName#qualifiedNameReferentDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Qualified Name Referent Derivation</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Qualified Name Referent Derivation</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.QualifiedName#qualifiedNameReferentDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getQualifiedName__QualifiedNameReferentDerivation__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.QualifiedName#qualifiedNameLocalName(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Qualified Name Local Name</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Qualified Name Local Name</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.QualifiedName#qualifiedNameLocalName(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getQualifiedName__QualifiedNameLocalName__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.QualifiedName#qualifiedNameNonLocalUnqualifiedName(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Qualified Name Non Local Unqualified Name</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Qualified Name Non Local Unqualified Name</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.QualifiedName#qualifiedNameNonLocalUnqualifiedName(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getQualifiedName__QualifiedNameNonLocalUnqualifiedName__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.QualifiedName#qualifiedNameQualifiedResolution(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Qualified Name Qualified Resolution</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Qualified Name Qualified Resolution</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.QualifiedName#qualifiedNameQualifiedResolution(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getQualifiedName__QualifiedNameQualifiedResolution__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.QualifiedName#qualifiedNameTemplateBinding(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Qualified Name Template Binding</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Qualified Name Template Binding</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.QualifiedName#qualifiedNameTemplateBinding(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getQualifiedName__QualifiedNameTemplateBinding__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.QualifiedName#qualifiedNameTemplateNameDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Qualified Name Template Name Derivation</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Qualified Name Template Name Derivation</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.QualifiedName#qualifiedNameTemplateNameDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getQualifiedName__QualifiedNameTemplateNameDerivation__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.QualifiedName#disambiguationCached() <em>Disambiguation Cached</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Disambiguation Cached</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.QualifiedName#disambiguationCached()
+ * @generated
+ */
+ EOperation getQualifiedName__DisambiguationCached();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.QualifiedName#disambiguation() <em>Disambiguation</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Disambiguation</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.QualifiedName#disambiguation()
+ * @generated
+ */
+ EOperation getQualifiedName__Disambiguation();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.QualifiedName#referentCached() <em>Referent Cached</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Referent Cached</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.QualifiedName#referentCached()
+ * @generated
+ */
+ EOperation getQualifiedName__ReferentCached();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.QualifiedName#referent() <em>Referent</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Referent</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.QualifiedName#referent()
+ * @generated
+ */
+ EOperation getQualifiedName__Referent();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.uml.alf.FeatureReference <em>Feature Reference</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for class '<em>Feature Reference</em>'.
+ * @see org.eclipse.papyrus.uml.alf.FeatureReference
+ * @generated
+ */
+ EClass getFeatureReference();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.papyrus.uml.alf.FeatureReference#getExpression <em>Expression</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the containment reference '<em>Expression</em>'.
+ * @see org.eclipse.papyrus.uml.alf.FeatureReference#getExpression()
+ * @see #getFeatureReference()
+ * @generated
+ */
+ EReference getFeatureReference_Expression();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.uml.alf.FeatureReference#getReferent <em>Referent</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the reference list '<em>Referent</em>'.
+ * @see org.eclipse.papyrus.uml.alf.FeatureReference#getReferent()
+ * @see #getFeatureReference()
+ * @generated
+ */
+ EReference getFeatureReference_Referent();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.papyrus.uml.alf.FeatureReference#getNameBinding <em>Name Binding</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the containment reference '<em>Name Binding</em>'.
+ * @see org.eclipse.papyrus.uml.alf.FeatureReference#getNameBinding()
+ * @see #getFeatureReference()
+ * @generated
+ */
+ EReference getFeatureReference_NameBinding();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.FeatureReference#updateAssignments() <em>Update Assignments</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Update Assignments</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.FeatureReference#updateAssignments()
+ * @generated
+ */
+ EOperation getFeatureReference__UpdateAssignments();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.FeatureReference#behavioralFeatureReferent(org.eclipse.papyrus.uml.alf.InvocationExpression) <em>Behavioral Feature Referent</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Behavioral Feature Referent</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.FeatureReference#behavioralFeatureReferent(org.eclipse.papyrus.uml.alf.InvocationExpression)
+ * @generated
+ */
+ EOperation getFeatureReference__BehavioralFeatureReferent__InvocationExpression();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.FeatureReference#featureReferenceReferentDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Feature Reference Referent Derivation</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Feature Reference Referent Derivation</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.FeatureReference#featureReferenceReferentDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getFeatureReference__FeatureReferenceReferentDerivation__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.FeatureReference#featureReferenceTargetType(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Feature Reference Target Type</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Feature Reference Target Type</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.FeatureReference#featureReferenceTargetType(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getFeatureReference__FeatureReferenceTargetType__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.FeatureReference#referentCached() <em>Referent Cached</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Referent Cached</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.FeatureReference#referentCached()
+ * @generated
+ */
+ EOperation getFeatureReference__ReferentCached();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.FeatureReference#referent() <em>Referent</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Referent</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.FeatureReference#referent()
+ * @generated
+ */
+ EOperation getFeatureReference__Referent();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.FeatureReference#FeatureReference_referent() <em>Feature Reference referent</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Feature Reference referent</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.FeatureReference#FeatureReference_referent()
+ * @generated
+ */
+ EOperation getFeatureReference__FeatureReference_referent();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.uml.alf.NameBinding <em>Name Binding</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for class '<em>Name Binding</em>'.
+ * @see org.eclipse.papyrus.uml.alf.NameBinding
+ * @generated
+ */
+ EClass getNameBinding();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.papyrus.uml.alf.NameBinding#getBinding <em>Binding</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the containment reference '<em>Binding</em>'.
+ * @see org.eclipse.papyrus.uml.alf.NameBinding#getBinding()
+ * @see #getNameBinding()
+ * @generated
+ */
+ EReference getNameBinding_Binding();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.uml.alf.NameBinding#getName <em>Name</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the attribute '<em>Name</em>'.
+ * @see org.eclipse.papyrus.uml.alf.NameBinding#getName()
+ * @see #getNameBinding()
+ * @generated
+ */
+ EAttribute getNameBinding_Name();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.NameBinding#toString() <em>To String</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>To String</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.NameBinding#toString()
+ * @generated
+ */
+ EOperation getNameBinding__ToString();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.NameBinding#toName() <em>To Name</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>To Name</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.NameBinding#toName()
+ * @generated
+ */
+ EOperation getNameBinding__ToName();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.NameBinding#process(java.lang.String) <em>Process</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Process</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.NameBinding#process(java.lang.String)
+ * @generated
+ */
+ EOperation getNameBinding__Process__String();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.NameBinding#escape(java.lang.String) <em>Escape</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Escape</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.NameBinding#escape(java.lang.String)
+ * @generated
+ */
+ EOperation getNameBinding__Escape__String();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.NameBinding#copy() <em>Copy</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Copy</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.NameBinding#copy()
+ * @generated
+ */
+ EOperation getNameBinding__Copy();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.NameBinding#toQualifiedName(org.eclipse.papyrus.uml.alf.SyntaxElement) <em>To Qualified Name</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>To Qualified Name</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.NameBinding#toQualifiedName(org.eclipse.papyrus.uml.alf.SyntaxElement)
+ * @generated
+ */
+ EOperation getNameBinding__ToQualifiedName__SyntaxElement();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.NameBinding#toQualifiedNameWith(org.eclipse.papyrus.uml.alf.NameBinding, org.eclipse.papyrus.uml.alf.SyntaxElement) <em>To Qualified Name With</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>To Qualified Name With</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.NameBinding#toQualifiedNameWith(org.eclipse.papyrus.uml.alf.NameBinding, org.eclipse.papyrus.uml.alf.SyntaxElement)
+ * @generated
+ */
+ EOperation getNameBinding__ToQualifiedNameWith__NameBinding_SyntaxElement();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.uml.alf.TemplateBinding <em>Template Binding</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for class '<em>Template Binding</em>'.
+ * @see org.eclipse.papyrus.uml.alf.TemplateBinding
+ * @generated
+ */
+ EClass getTemplateBinding();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.TemplateBinding#toString() <em>To String</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>To String</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.TemplateBinding#toString()
+ * @generated
+ */
+ EOperation getTemplateBinding__ToString();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.TemplateBinding#matches(org.eclipse.papyrus.uml.alf.ElementReference) <em>Matches</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Matches</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.TemplateBinding#matches(org.eclipse.papyrus.uml.alf.ElementReference)
+ * @generated
+ */
+ EOperation getTemplateBinding__Matches__ElementReference();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.TemplateBinding#copy() <em>Copy</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Copy</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.TemplateBinding#copy()
+ * @generated
+ */
+ EOperation getTemplateBinding__Copy();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.TemplateBinding#bindTo(org.eclipse.papyrus.uml.alf.ElementReference) <em>Bind To</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Bind To</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.TemplateBinding#bindTo(org.eclipse.papyrus.uml.alf.ElementReference)
+ * @generated
+ */
+ EOperation getTemplateBinding__BindTo__ElementReference();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.uml.alf.NamedTemplateBinding <em>Named Template Binding</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for class '<em>Named Template Binding</em>'.
+ * @see org.eclipse.papyrus.uml.alf.NamedTemplateBinding
+ * @generated
+ */
+ EClass getNamedTemplateBinding();
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.eclipse.papyrus.uml.alf.NamedTemplateBinding#getSubstitution <em>Substitution</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the containment reference list '<em>Substitution</em>'.
+ * @see org.eclipse.papyrus.uml.alf.NamedTemplateBinding#getSubstitution()
+ * @see #getNamedTemplateBinding()
+ * @generated
+ */
+ EReference getNamedTemplateBinding_Substitution();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.NamedTemplateBinding#toString() <em>To String</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>To String</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.NamedTemplateBinding#toString()
+ * @generated
+ */
+ EOperation getNamedTemplateBinding__ToString();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.NamedTemplateBinding#matches(org.eclipse.papyrus.uml.alf.ElementReference) <em>Matches</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Matches</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.NamedTemplateBinding#matches(org.eclipse.papyrus.uml.alf.ElementReference)
+ * @generated
+ */
+ EOperation getNamedTemplateBinding__Matches__ElementReference();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.NamedTemplateBinding#matchesParameter(org.eclipse.papyrus.uml.alf.ElementReference) <em>Matches Parameter</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Matches Parameter</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.NamedTemplateBinding#matchesParameter(org.eclipse.papyrus.uml.alf.ElementReference)
+ * @generated
+ */
+ EOperation getNamedTemplateBinding__MatchesParameter__ElementReference();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.NamedTemplateBinding#bindTo(org.eclipse.papyrus.uml.alf.ElementReference) <em>Bind To</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Bind To</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.NamedTemplateBinding#bindTo(org.eclipse.papyrus.uml.alf.ElementReference)
+ * @generated
+ */
+ EOperation getNamedTemplateBinding__BindTo__ElementReference();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.NamedTemplateBinding#copy() <em>Copy</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Copy</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.NamedTemplateBinding#copy()
+ * @generated
+ */
+ EOperation getNamedTemplateBinding__Copy();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.uml.alf.TemplateParameterSubstitution <em>Template Parameter Substitution</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for class '<em>Template Parameter Substitution</em>'.
+ * @see org.eclipse.papyrus.uml.alf.TemplateParameterSubstitution
+ * @generated
+ */
+ EClass getTemplateParameterSubstitution();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.uml.alf.TemplateParameterSubstitution#getParameterName <em>Parameter Name</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the attribute '<em>Parameter Name</em>'.
+ * @see org.eclipse.papyrus.uml.alf.TemplateParameterSubstitution#getParameterName()
+ * @see #getTemplateParameterSubstitution()
+ * @generated
+ */
+ EAttribute getTemplateParameterSubstitution_ParameterName();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.papyrus.uml.alf.TemplateParameterSubstitution#getArgumentName <em>Argument Name</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the containment reference '<em>Argument Name</em>'.
+ * @see org.eclipse.papyrus.uml.alf.TemplateParameterSubstitution#getArgumentName()
+ * @see #getTemplateParameterSubstitution()
+ * @generated
+ */
+ EReference getTemplateParameterSubstitution_ArgumentName();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.uml.alf.TemplateParameterSubstitution#getReferent <em>Referent</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the reference '<em>Referent</em>'.
+ * @see org.eclipse.papyrus.uml.alf.TemplateParameterSubstitution#getReferent()
+ * @see #getTemplateParameterSubstitution()
+ * @generated
+ */
+ EReference getTemplateParameterSubstitution_Referent();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.TemplateParameterSubstitution#actualParameterName() <em>Actual Parameter Name</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Actual Parameter Name</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.TemplateParameterSubstitution#actualParameterName()
+ * @generated
+ */
+ EOperation getTemplateParameterSubstitution__ActualParameterName();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.TemplateParameterSubstitution#toString() <em>To String</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>To String</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.TemplateParameterSubstitution#toString()
+ * @generated
+ */
+ EOperation getTemplateParameterSubstitution__ToString();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.TemplateParameterSubstitution#copy() <em>Copy</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Copy</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.TemplateParameterSubstitution#copy()
+ * @generated
+ */
+ EOperation getTemplateParameterSubstitution__Copy();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.uml.alf.NumericUnaryExpression <em>Numeric Unary Expression</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for class '<em>Numeric Unary Expression</em>'.
+ * @see org.eclipse.papyrus.uml.alf.NumericUnaryExpression
+ * @generated
+ */
+ EClass getNumericUnaryExpression();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.NumericUnaryExpression#type() <em>Type</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Type</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.NumericUnaryExpression#type()
+ * @generated
+ */
+ EOperation getNumericUnaryExpression__Type();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.NumericUnaryExpression#lower() <em>Lower</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Lower</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.NumericUnaryExpression#lower()
+ * @generated
+ */
+ EOperation getNumericUnaryExpression__Lower();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.NumericUnaryExpression#upper() <em>Upper</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Upper</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.NumericUnaryExpression#upper()
+ * @generated
+ */
+ EOperation getNumericUnaryExpression__Upper();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.NumericUnaryExpression#numericUnaryExpressionTypeDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Numeric Unary Expression Type Derivation</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Numeric Unary Expression Type Derivation</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.NumericUnaryExpression#numericUnaryExpressionTypeDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getNumericUnaryExpression__NumericUnaryExpressionTypeDerivation__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.NumericUnaryExpression#numericUnaryExpressionLowerDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Numeric Unary Expression Lower Derivation</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Numeric Unary Expression Lower Derivation</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.NumericUnaryExpression#numericUnaryExpressionLowerDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getNumericUnaryExpression__NumericUnaryExpressionLowerDerivation__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.NumericUnaryExpression#numericUnaryExpressionUpperDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Numeric Unary Expression Upper Derivation</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Numeric Unary Expression Upper Derivation</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.NumericUnaryExpression#numericUnaryExpressionUpperDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getNumericUnaryExpression__NumericUnaryExpressionUpperDerivation__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.NumericUnaryExpression#numericUnaryExpressionOperand(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Numeric Unary Expression Operand</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Numeric Unary Expression Operand</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.NumericUnaryExpression#numericUnaryExpressionOperand(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getNumericUnaryExpression__NumericUnaryExpressionOperand__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.uml.alf.UnaryExpression <em>Unary Expression</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for class '<em>Unary Expression</em>'.
+ * @see org.eclipse.papyrus.uml.alf.UnaryExpression
+ * @generated
+ */
+ EClass getUnaryExpression();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.uml.alf.UnaryExpression#getOperator <em>Operator</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the attribute '<em>Operator</em>'.
+ * @see org.eclipse.papyrus.uml.alf.UnaryExpression#getOperator()
+ * @see #getUnaryExpression()
+ * @generated
+ */
+ EAttribute getUnaryExpression_Operator();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.papyrus.uml.alf.UnaryExpression#getOperand <em>Operand</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the containment reference '<em>Operand</em>'.
+ * @see org.eclipse.papyrus.uml.alf.UnaryExpression#getOperand()
+ * @see #getUnaryExpression()
+ * @generated
+ */
+ EReference getUnaryExpression_Operand();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.UnaryExpression#unaryExpressionAssignmentsBefore(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Unary Expression Assignments Before</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Unary Expression Assignments Before</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.UnaryExpression#unaryExpressionAssignmentsBefore(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getUnaryExpression__UnaryExpressionAssignmentsBefore__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.UnaryExpression#updateAssignments() <em>Update Assignments</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Update Assignments</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.UnaryExpression#updateAssignments()
+ * @generated
+ */
+ EOperation getUnaryExpression__UpdateAssignments();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.uml.alf.ForAllOrExistsOrOneExpression <em>For All Or Exists Or One Expression</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for class '<em>For All Or Exists Or One Expression</em>'.
+ * @see org.eclipse.papyrus.uml.alf.ForAllOrExistsOrOneExpression
+ * @generated
+ */
+ EClass getForAllOrExistsOrOneExpression();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.ForAllOrExistsOrOneExpression#forAllOrExistsOrOneExpressionTypeDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * <em>For All Or Exists Or One Expression Type Derivation</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>For All Or Exists Or One Expression Type Derivation</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.ForAllOrExistsOrOneExpression#forAllOrExistsOrOneExpressionTypeDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getForAllOrExistsOrOneExpression__ForAllOrExistsOrOneExpressionTypeDerivation__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.ForAllOrExistsOrOneExpression#forAllOrExistsOrOneExpressionLowerDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * <em>For All Or Exists Or One Expression Lower Derivation</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>For All Or Exists Or One Expression Lower Derivation</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.ForAllOrExistsOrOneExpression#forAllOrExistsOrOneExpressionLowerDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getForAllOrExistsOrOneExpression__ForAllOrExistsOrOneExpressionLowerDerivation__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.ForAllOrExistsOrOneExpression#forAllOrExistsOrOneExpressionUpperDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * <em>For All Or Exists Or One Expression Upper Derivation</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>For All Or Exists Or One Expression Upper Derivation</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.ForAllOrExistsOrOneExpression#forAllOrExistsOrOneExpressionUpperDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getForAllOrExistsOrOneExpression__ForAllOrExistsOrOneExpressionUpperDerivation__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.ForAllOrExistsOrOneExpression#forAllOrExistsOrOneExpressionArgument(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>For All Or Exists Or One Expression Argument</em>}'
+ * operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>For All Or Exists Or One Expression Argument</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.ForAllOrExistsOrOneExpression#forAllOrExistsOrOneExpressionArgument(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getForAllOrExistsOrOneExpression__ForAllOrExistsOrOneExpressionArgument__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.uml.alf.IsolationExpression <em>Isolation Expression</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for class '<em>Isolation Expression</em>'.
+ * @see org.eclipse.papyrus.uml.alf.IsolationExpression
+ * @generated
+ */
+ EClass getIsolationExpression();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.IsolationExpression#type() <em>Type</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Type</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.IsolationExpression#type()
+ * @generated
+ */
+ EOperation getIsolationExpression__Type();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.IsolationExpression#lower() <em>Lower</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Lower</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.IsolationExpression#lower()
+ * @generated
+ */
+ EOperation getIsolationExpression__Lower();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.IsolationExpression#upper() <em>Upper</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Upper</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.IsolationExpression#upper()
+ * @generated
+ */
+ EOperation getIsolationExpression__Upper();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.IsolationExpression#isolationExpressionTypeDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Isolation Expression Type Derivation</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Isolation Expression Type Derivation</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.IsolationExpression#isolationExpressionTypeDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getIsolationExpression__IsolationExpressionTypeDerivation__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.IsolationExpression#isolationExpressionLowerDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Isolation Expression Lower Derivation</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Isolation Expression Lower Derivation</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.IsolationExpression#isolationExpressionLowerDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getIsolationExpression__IsolationExpressionLowerDerivation__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.IsolationExpression#isolationExpressionUpperDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Isolation Expression Upper Derivation</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Isolation Expression Upper Derivation</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.IsolationExpression#isolationExpressionUpperDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getIsolationExpression__IsolationExpressionUpperDerivation__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.uml.alf.BinaryExpression <em>Binary Expression</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for class '<em>Binary Expression</em>'.
+ * @see org.eclipse.papyrus.uml.alf.BinaryExpression
+ * @generated
+ */
+ EClass getBinaryExpression();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.papyrus.uml.alf.BinaryExpression#getOperand1 <em>Operand1</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the containment reference '<em>Operand1</em>'.
+ * @see org.eclipse.papyrus.uml.alf.BinaryExpression#getOperand1()
+ * @see #getBinaryExpression()
+ * @generated
+ */
+ EReference getBinaryExpression_Operand1();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.papyrus.uml.alf.BinaryExpression#getOperand2 <em>Operand2</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the containment reference '<em>Operand2</em>'.
+ * @see org.eclipse.papyrus.uml.alf.BinaryExpression#getOperand2()
+ * @see #getBinaryExpression()
+ * @generated
+ */
+ EReference getBinaryExpression_Operand2();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.uml.alf.BinaryExpression#getOperator <em>Operator</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the attribute '<em>Operator</em>'.
+ * @see org.eclipse.papyrus.uml.alf.BinaryExpression#getOperator()
+ * @see #getBinaryExpression()
+ * @generated
+ */
+ EAttribute getBinaryExpression_Operator();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.BinaryExpression#validateAssignments() <em>Validate Assignments</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Validate Assignments</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.BinaryExpression#validateAssignments()
+ * @generated
+ */
+ EOperation getBinaryExpression__ValidateAssignments();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.BinaryExpression#noNullArguments() <em>No Null Arguments</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>No Null Arguments</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.BinaryExpression#noNullArguments()
+ * @generated
+ */
+ EOperation getBinaryExpression__NoNullArguments();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.BinaryExpression#binaryExpressionOperandMultiplicity(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Binary Expression Operand Multiplicity</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Binary Expression Operand Multiplicity</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.BinaryExpression#binaryExpressionOperandMultiplicity(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getBinaryExpression__BinaryExpressionOperandMultiplicity__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.BinaryExpression#binaryExpressionOperandAssignments(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Binary Expression Operand Assignments</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Binary Expression Operand Assignments</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.BinaryExpression#binaryExpressionOperandAssignments(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getBinaryExpression__BinaryExpressionOperandAssignments__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.BinaryExpression#updateAssignments() <em>Update Assignments</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Update Assignments</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.BinaryExpression#updateAssignments()
+ * @generated
+ */
+ EOperation getBinaryExpression__UpdateAssignments();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.uml.alf.BooleanUnaryExpression <em>Boolean Unary Expression</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for class '<em>Boolean Unary Expression</em>'.
+ * @see org.eclipse.papyrus.uml.alf.BooleanUnaryExpression
+ * @generated
+ */
+ EClass getBooleanUnaryExpression();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.BooleanUnaryExpression#type() <em>Type</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Type</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.BooleanUnaryExpression#type()
+ * @generated
+ */
+ EOperation getBooleanUnaryExpression__Type();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.BooleanUnaryExpression#lower() <em>Lower</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Lower</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.BooleanUnaryExpression#lower()
+ * @generated
+ */
+ EOperation getBooleanUnaryExpression__Lower();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.BooleanUnaryExpression#upper() <em>Upper</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Upper</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.BooleanUnaryExpression#upper()
+ * @generated
+ */
+ EOperation getBooleanUnaryExpression__Upper();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.BooleanUnaryExpression#booleanUnaryExpressionTypeDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Boolean Unary Expression Type Derivation</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Boolean Unary Expression Type Derivation</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.BooleanUnaryExpression#booleanUnaryExpressionTypeDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getBooleanUnaryExpression__BooleanUnaryExpressionTypeDerivation__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.BooleanUnaryExpression#booleanUnaryExpressionLowerDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Boolean Unary Expression Lower Derivation</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Boolean Unary Expression Lower Derivation</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.BooleanUnaryExpression#booleanUnaryExpressionLowerDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getBooleanUnaryExpression__BooleanUnaryExpressionLowerDerivation__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.BooleanUnaryExpression#booleanUnaryExpressionUpperDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Boolean Unary Expression Upper Derivation</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Boolean Unary Expression Upper Derivation</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.BooleanUnaryExpression#booleanUnaryExpressionUpperDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getBooleanUnaryExpression__BooleanUnaryExpressionUpperDerivation__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.BooleanUnaryExpression#booleanUnaryExpressionOperand(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Boolean Unary Expression Operand</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Boolean Unary Expression Operand</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.BooleanUnaryExpression#booleanUnaryExpressionOperand(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getBooleanUnaryExpression__BooleanUnaryExpressionOperand__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.uml.alf.CastExpression <em>Cast Expression</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for class '<em>Cast Expression</em>'.
+ * @see org.eclipse.papyrus.uml.alf.CastExpression
+ * @generated
+ */
+ EClass getCastExpression();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.papyrus.uml.alf.CastExpression#getOperand <em>Operand</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the containment reference '<em>Operand</em>'.
+ * @see org.eclipse.papyrus.uml.alf.CastExpression#getOperand()
+ * @see #getCastExpression()
+ * @generated
+ */
+ EReference getCastExpression_Operand();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.papyrus.uml.alf.CastExpression#getTypeName <em>Type Name</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the containment reference '<em>Type Name</em>'.
+ * @see org.eclipse.papyrus.uml.alf.CastExpression#getTypeName()
+ * @see #getCastExpression()
+ * @generated
+ */
+ EReference getCastExpression_TypeName();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.uml.alf.CastExpression#isIsAny <em>Is Any</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the attribute '<em>Is Any</em>'.
+ * @see org.eclipse.papyrus.uml.alf.CastExpression#isIsAny()
+ * @see #getCastExpression()
+ * @generated
+ */
+ EAttribute getCastExpression_IsAny();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.CastExpression#type() <em>Type</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Type</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.CastExpression#type()
+ * @generated
+ */
+ EOperation getCastExpression__Type();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.CastExpression#lower() <em>Lower</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Lower</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.CastExpression#lower()
+ * @generated
+ */
+ EOperation getCastExpression__Lower();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.CastExpression#upper() <em>Upper</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Upper</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.CastExpression#upper()
+ * @generated
+ */
+ EOperation getCastExpression__Upper();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.CastExpression#castExpressionTypeDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Cast Expression Type Derivation</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Cast Expression Type Derivation</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.CastExpression#castExpressionTypeDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getCastExpression__CastExpressionTypeDerivation__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.CastExpression#castExpressionLowerDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Cast Expression Lower Derivation</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Cast Expression Lower Derivation</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.CastExpression#castExpressionLowerDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getCastExpression__CastExpressionLowerDerivation__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.CastExpression#castExpressionUpperDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Cast Expression Upper Derivation</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Cast Expression Upper Derivation</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.CastExpression#castExpressionUpperDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getCastExpression__CastExpressionUpperDerivation__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.CastExpression#castExpressionTypeResolution(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Cast Expression Type Resolution</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Cast Expression Type Resolution</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.CastExpression#castExpressionTypeResolution(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getCastExpression__CastExpressionTypeResolution__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.CastExpression#castExpressionAssignmentsBefore(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Cast Expression Assignments Before</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Cast Expression Assignments Before</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.CastExpression#castExpressionAssignmentsBefore(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getCastExpression__CastExpressionAssignmentsBefore__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.CastExpression#updateAssignments() <em>Update Assignments</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Update Assignments</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.CastExpression#updateAssignments()
+ * @generated
+ */
+ EOperation getCastExpression__UpdateAssignments();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.uml.alf.PositionalTuple <em>Positional Tuple</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for class '<em>Positional Tuple</em>'.
+ * @see org.eclipse.papyrus.uml.alf.PositionalTuple
+ * @generated
+ */
+ EClass getPositionalTuple();
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.eclipse.papyrus.uml.alf.PositionalTuple#getExpression <em>Expression</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the containment reference list '<em>Expression</em>'.
+ * @see org.eclipse.papyrus.uml.alf.PositionalTuple#getExpression()
+ * @see #getPositionalTuple()
+ * @generated
+ */
+ EReference getPositionalTuple_Expression();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.PositionalTuple#size() <em>Size</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Size</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.PositionalTuple#size()
+ * @generated
+ */
+ EOperation getPositionalTuple__Size();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.PositionalTuple#inputFor(org.eclipse.emf.common.util.EList) <em>Input For</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Input For</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.PositionalTuple#inputFor(org.eclipse.emf.common.util.EList)
+ * @generated
+ */
+ EOperation getPositionalTuple__InputFor__EList();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.PositionalTuple#outputFor(org.eclipse.emf.common.util.EList) <em>Output For</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Output For</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.PositionalTuple#outputFor(org.eclipse.emf.common.util.EList)
+ * @generated
+ */
+ EOperation getPositionalTuple__OutputFor__EList();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.PositionalTuple#positionalTupleArguments(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Positional Tuple Arguments</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Positional Tuple Arguments</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.PositionalTuple#positionalTupleArguments(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getPositionalTuple__PositionalTupleArguments__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.uml.alf.Tuple <em>Tuple</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for class '<em>Tuple</em>'.
+ * @see org.eclipse.papyrus.uml.alf.Tuple
+ * @generated
+ */
+ EClass getTuple();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.uml.alf.Tuple#getInput <em>Input</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the reference list '<em>Input</em>'.
+ * @see org.eclipse.papyrus.uml.alf.Tuple#getInput()
+ * @see #getTuple()
+ * @generated
+ */
+ EReference getTuple_Input();
+
+ /**
+ * Returns the meta object for the container reference '{@link org.eclipse.papyrus.uml.alf.Tuple#getInvocation <em>Invocation</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the container reference '<em>Invocation</em>'.
+ * @see org.eclipse.papyrus.uml.alf.Tuple#getInvocation()
+ * @see #getTuple()
+ * @generated
+ */
+ EReference getTuple_Invocation();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.uml.alf.Tuple#getOutput <em>Output</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the reference list '<em>Output</em>'.
+ * @see org.eclipse.papyrus.uml.alf.Tuple#getOutput()
+ * @see #getTuple()
+ * @generated
+ */
+ EReference getTuple_Output();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.Tuple#size() <em>Size</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Size</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.Tuple#size()
+ * @generated
+ */
+ EOperation getTuple__Size();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.Tuple#inputCached() <em>Input Cached</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Input Cached</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.Tuple#inputCached()
+ * @generated
+ */
+ EOperation getTuple__InputCached();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.Tuple#input() <em>Input</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Input</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.Tuple#input()
+ * @generated
+ */
+ EOperation getTuple__Input();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.Tuple#inputFor(org.eclipse.emf.common.util.EList) <em>Input For</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Input For</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.Tuple#inputFor(org.eclipse.emf.common.util.EList)
+ * @generated
+ */
+ EOperation getTuple__InputFor__EList();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.Tuple#outputCached() <em>Output Cached</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Output Cached</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.Tuple#outputCached()
+ * @generated
+ */
+ EOperation getTuple__OutputCached();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.Tuple#output() <em>Output</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Output</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.Tuple#output()
+ * @generated
+ */
+ EOperation getTuple__Output();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.Tuple#outputFor(org.eclipse.emf.common.util.EList) <em>Output For</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Output For</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.Tuple#outputFor(org.eclipse.emf.common.util.EList)
+ * @generated
+ */
+ EOperation getTuple__OutputFor__EList();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.Tuple#assignmentsBefore(org.eclipse.papyrus.uml.alf.SyntaxElement) <em>Assignments Before</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Assignments Before</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.Tuple#assignmentsBefore(org.eclipse.papyrus.uml.alf.SyntaxElement)
+ * @generated
+ */
+ EOperation getTuple__AssignmentsBefore__SyntaxElement();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.Tuple#assignmentsAfter() <em>Assignments After</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Assignments After</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.Tuple#assignmentsAfter()
+ * @generated
+ */
+ EOperation getTuple__AssignmentsAfter();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.Tuple#newAssignments() <em>New Assignments</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>New Assignments</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.Tuple#newAssignments()
+ * @generated
+ */
+ EOperation getTuple__NewAssignments();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.Tuple#updateFor(org.eclipse.emf.common.util.EList, org.eclipse.papyrus.uml.alf.OutputNamedExpression) <em>Update For</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Update For</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.Tuple#updateFor(org.eclipse.emf.common.util.EList, org.eclipse.papyrus.uml.alf.OutputNamedExpression)
+ * @generated
+ */
+ EOperation getTuple__UpdateFor__EList_OutputNamedExpression();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.Tuple#tupleInputDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Tuple Input Derivation</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Tuple Input Derivation</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.Tuple#tupleInputDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getTuple__TupleInputDerivation__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.Tuple#tupleOutputDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Tuple Output Derivation</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Tuple Output Derivation</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.Tuple#tupleOutputDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getTuple__TupleOutputDerivation__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.Tuple#tupleNullInputs(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Tuple Null Inputs</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Tuple Null Inputs</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.Tuple#tupleNullInputs(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getTuple__TupleNullInputs__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.Tuple#tupleOutputs(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Tuple Outputs</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Tuple Outputs</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.Tuple#tupleOutputs(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getTuple__TupleOutputs__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.Tuple#tupleAssignmentsBefore(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Tuple Assignments Before</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Tuple Assignments Before</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.Tuple#tupleAssignmentsBefore(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getTuple__TupleAssignmentsBefore__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.Tuple#tupleAssignmentsAfter(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Tuple Assignments After</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Tuple Assignments After</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.Tuple#tupleAssignmentsAfter(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getTuple__TupleAssignmentsAfter__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.uml.alf.NamedExpression <em>Named Expression</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for class '<em>Named Expression</em>'.
+ * @see org.eclipse.papyrus.uml.alf.NamedExpression
+ * @generated
+ */
+ EClass getNamedExpression();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.uml.alf.NamedExpression#getName <em>Name</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the attribute '<em>Name</em>'.
+ * @see org.eclipse.papyrus.uml.alf.NamedExpression#getName()
+ * @see #getNamedExpression()
+ * @generated
+ */
+ EAttribute getNamedExpression_Name();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.papyrus.uml.alf.NamedExpression#getExpression <em>Expression</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the containment reference '<em>Expression</em>'.
+ * @see org.eclipse.papyrus.uml.alf.NamedExpression#getExpression()
+ * @see #getNamedExpression()
+ * @generated
+ */
+ EReference getNamedExpression_Expression();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.papyrus.uml.alf.NamedExpression#getIndex <em>Index</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the containment reference '<em>Index</em>'.
+ * @see org.eclipse.papyrus.uml.alf.NamedExpression#getIndex()
+ * @see #getNamedExpression()
+ * @generated
+ */
+ EReference getNamedExpression_Index();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.NamedExpression#actualName() <em>Actual Name</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Actual Name</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.NamedExpression#actualName()
+ * @generated
+ */
+ EOperation getNamedExpression__ActualName();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.uml.alf.InputNamedExpression <em>Input Named Expression</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for class '<em>Input Named Expression</em>'.
+ * @see org.eclipse.papyrus.uml.alf.InputNamedExpression
+ * @generated
+ */
+ EClass getInputNamedExpression();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.uml.alf.InputNamedExpression#getName <em>Name</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the attribute '<em>Name</em>'.
+ * @see org.eclipse.papyrus.uml.alf.InputNamedExpression#getName()
+ * @see #getInputNamedExpression()
+ * @generated
+ */
+ EAttribute getInputNamedExpression_Name();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.uml.alf.InputNamedExpression#getExpression <em>Expression</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the reference '<em>Expression</em>'.
+ * @see org.eclipse.papyrus.uml.alf.InputNamedExpression#getExpression()
+ * @see #getInputNamedExpression()
+ * @generated
+ */
+ EReference getInputNamedExpression_Expression();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.uml.alf.InputNamedExpression#getIndex <em>Index</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the reference '<em>Index</em>'.
+ * @see org.eclipse.papyrus.uml.alf.InputNamedExpression#getIndex()
+ * @see #getInputNamedExpression()
+ * @generated
+ */
+ EReference getInputNamedExpression_Index();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.uml.alf.InputNamedExpression#isIsCollectionConversion <em>Is Collection Conversion</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the attribute '<em>Is Collection Conversion</em>'.
+ * @see org.eclipse.papyrus.uml.alf.InputNamedExpression#isIsCollectionConversion()
+ * @see #getInputNamedExpression()
+ * @generated
+ */
+ EAttribute getInputNamedExpression_IsCollectionConversion();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.uml.alf.InputNamedExpression#isIsBitStringConversion <em>Is Bit String Conversion</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the attribute '<em>Is Bit String Conversion</em>'.
+ * @see org.eclipse.papyrus.uml.alf.InputNamedExpression#isIsBitStringConversion()
+ * @see #getInputNamedExpression()
+ * @generated
+ */
+ EAttribute getInputNamedExpression_IsBitStringConversion();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.InputNamedExpression#tuple() <em>Tuple</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Tuple</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.InputNamedExpression#tuple()
+ * @generated
+ */
+ EOperation getInputNamedExpression__Tuple();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.InputNamedExpression#namedExpressionIsCollectionConversionDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * <em>Named Expression Is Collection Conversion Derivation</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Named Expression Is Collection Conversion Derivation</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.InputNamedExpression#namedExpressionIsCollectionConversionDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getInputNamedExpression__NamedExpressionIsCollectionConversionDerivation__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.InputNamedExpression#namedExpressionIsBitStringConversionDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * <em>Named Expression Is Bit String Conversion Derivation</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Named Expression Is Bit String Conversion Derivation</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.InputNamedExpression#namedExpressionIsBitStringConversionDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getInputNamedExpression__NamedExpressionIsBitStringConversionDerivation__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.uml.alf.InvocationExpression <em>Invocation Expression</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for class '<em>Invocation Expression</em>'.
+ * @see org.eclipse.papyrus.uml.alf.InvocationExpression
+ * @generated
+ */
+ EClass getInvocationExpression();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.uml.alf.InvocationExpression#isIsBehavior <em>Is Behavior</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the attribute '<em>Is Behavior</em>'.
+ * @see org.eclipse.papyrus.uml.alf.InvocationExpression#isIsBehavior()
+ * @see #getInvocationExpression()
+ * @generated
+ */
+ EAttribute getInvocationExpression_IsBehavior();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.uml.alf.InvocationExpression#isIsAssociationEnd <em>Is Association End</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the attribute '<em>Is Association End</em>'.
+ * @see org.eclipse.papyrus.uml.alf.InvocationExpression#isIsAssociationEnd()
+ * @see #getInvocationExpression()
+ * @generated
+ */
+ EAttribute getInvocationExpression_IsAssociationEnd();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.uml.alf.InvocationExpression#getFeature <em>Feature</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the reference '<em>Feature</em>'.
+ * @see org.eclipse.papyrus.uml.alf.InvocationExpression#getFeature()
+ * @see #getInvocationExpression()
+ * @generated
+ */
+ EReference getInvocationExpression_Feature();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.uml.alf.InvocationExpression#isIsOperation <em>Is Operation</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the attribute '<em>Is Operation</em>'.
+ * @see org.eclipse.papyrus.uml.alf.InvocationExpression#isIsOperation()
+ * @see #getInvocationExpression()
+ * @generated
+ */
+ EAttribute getInvocationExpression_IsOperation();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.uml.alf.InvocationExpression#isIsDestructor <em>Is Destructor</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the attribute '<em>Is Destructor</em>'.
+ * @see org.eclipse.papyrus.uml.alf.InvocationExpression#isIsDestructor()
+ * @see #getInvocationExpression()
+ * @generated
+ */
+ EAttribute getInvocationExpression_IsDestructor();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.uml.alf.InvocationExpression#isIsImplicit <em>Is Implicit</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the attribute '<em>Is Implicit</em>'.
+ * @see org.eclipse.papyrus.uml.alf.InvocationExpression#isIsImplicit()
+ * @see #getInvocationExpression()
+ * @generated
+ */
+ EAttribute getInvocationExpression_IsImplicit();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.uml.alf.InvocationExpression#getReferent <em>Referent</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the reference '<em>Referent</em>'.
+ * @see org.eclipse.papyrus.uml.alf.InvocationExpression#getReferent()
+ * @see #getInvocationExpression()
+ * @generated
+ */
+ EReference getInvocationExpression_Referent();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.uml.alf.InvocationExpression#getParameter <em>Parameter</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the reference list '<em>Parameter</em>'.
+ * @see org.eclipse.papyrus.uml.alf.InvocationExpression#getParameter()
+ * @see #getInvocationExpression()
+ * @generated
+ */
+ EReference getInvocationExpression_Parameter();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.uml.alf.InvocationExpression#isIsSignal <em>Is Signal</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the attribute '<em>Is Signal</em>'.
+ * @see org.eclipse.papyrus.uml.alf.InvocationExpression#isIsSignal()
+ * @see #getInvocationExpression()
+ * @generated
+ */
+ EAttribute getInvocationExpression_IsSignal();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.papyrus.uml.alf.InvocationExpression#getTuple <em>Tuple</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the containment reference '<em>Tuple</em>'.
+ * @see org.eclipse.papyrus.uml.alf.InvocationExpression#getTuple()
+ * @see #getInvocationExpression()
+ * @generated
+ */
+ EReference getInvocationExpression_Tuple();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.InvocationExpression#assignmentsBefore(org.eclipse.papyrus.uml.alf.SyntaxElement) <em>Assignments Before</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Assignments Before</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.InvocationExpression#assignmentsBefore(org.eclipse.papyrus.uml.alf.SyntaxElement)
+ * @generated
+ */
+ EOperation getInvocationExpression__AssignmentsBefore__SyntaxElement();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.InvocationExpression#feature() <em>Feature</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Feature</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.InvocationExpression#feature()
+ * @generated
+ */
+ EOperation getInvocationExpression__Feature();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.InvocationExpression#type() <em>Type</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Type</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.InvocationExpression#type()
+ * @generated
+ */
+ EOperation getInvocationExpression__Type();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.InvocationExpression#InvocationExpression_type() <em>Invocation Expression type</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Invocation Expression type</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.InvocationExpression#InvocationExpression_type()
+ * @generated
+ */
+ EOperation getInvocationExpression__InvocationExpression_type();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.InvocationExpression#upper() <em>Upper</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Upper</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.InvocationExpression#upper()
+ * @generated
+ */
+ EOperation getInvocationExpression__Upper();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.InvocationExpression#InvocationExpression_upper() <em>Invocation Expression upper</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Invocation Expression upper</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.InvocationExpression#InvocationExpression_upper()
+ * @generated
+ */
+ EOperation getInvocationExpression__InvocationExpression_upper();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.InvocationExpression#lower() <em>Lower</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Lower</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.InvocationExpression#lower()
+ * @generated
+ */
+ EOperation getInvocationExpression__Lower();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.InvocationExpression#InvocationExpression_lower() <em>Invocation Expression lower</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Invocation Expression lower</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.InvocationExpression#InvocationExpression_lower()
+ * @generated
+ */
+ EOperation getInvocationExpression__InvocationExpression_lower();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.InvocationExpression#parameterNamed(java.lang.String) <em>Parameter Named</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Parameter Named</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.InvocationExpression#parameterNamed(java.lang.String)
+ * @generated
+ */
+ EOperation getInvocationExpression__ParameterNamed__String();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.InvocationExpression#parameterCount() <em>Parameter Count</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Parameter Count</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.InvocationExpression#parameterCount()
+ * @generated
+ */
+ EOperation getInvocationExpression__ParameterCount();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.InvocationExpression#parameterIsAssignableFrom(org.eclipse.papyrus.uml.alf.InputNamedExpression) <em>Parameter Is Assignable From</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Parameter Is Assignable From</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.InvocationExpression#parameterIsAssignableFrom(org.eclipse.papyrus.uml.alf.InputNamedExpression)
+ * @generated
+ */
+ EOperation getInvocationExpression__ParameterIsAssignableFrom__InputNamedExpression();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.InvocationExpression#parameterIsAssignableTo(org.eclipse.papyrus.uml.alf.OutputNamedExpression) <em>Parameter Is Assignable To</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Parameter Is Assignable To</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.InvocationExpression#parameterIsAssignableTo(org.eclipse.papyrus.uml.alf.OutputNamedExpression)
+ * @generated
+ */
+ EOperation getInvocationExpression__ParameterIsAssignableTo__OutputNamedExpression();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.InvocationExpression#alternativeConstructorIsValid() <em>Alternative Constructor Is Valid</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Alternative Constructor Is Valid</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.InvocationExpression#alternativeConstructorIsValid()
+ * @generated
+ */
+ EOperation getInvocationExpression__AlternativeConstructorIsValid();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.InvocationExpression#bindTemplateImplicitArguments(org.eclipse.papyrus.uml.alf.ElementReference, org.eclipse.papyrus.uml.alf.Expression) <em>Bind Template Implicit Arguments</em>}'
+ * operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Bind Template Implicit Arguments</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.InvocationExpression#bindTemplateImplicitArguments(org.eclipse.papyrus.uml.alf.ElementReference, org.eclipse.papyrus.uml.alf.Expression)
+ * @generated
+ */
+ EOperation getInvocationExpression__BindTemplateImplicitArguments__ElementReference_Expression();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.InvocationExpression#bindTemplateImplicitArguments1(org.eclipse.papyrus.uml.alf.ElementReference, org.eclipse.papyrus.uml.alf.Expression) <em>Bind Template Implicit Arguments1</em>}'
+ * operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Bind Template Implicit Arguments1</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.InvocationExpression#bindTemplateImplicitArguments1(org.eclipse.papyrus.uml.alf.ElementReference, org.eclipse.papyrus.uml.alf.Expression)
+ * @generated
+ */
+ EOperation getInvocationExpression__BindTemplateImplicitArguments1__ElementReference_Expression();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.InvocationExpression#effectiveType(org.eclipse.papyrus.uml.alf.ElementReference, org.eclipse.papyrus.uml.alf.Expression) <em>Effective Type</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Effective Type</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.InvocationExpression#effectiveType(org.eclipse.papyrus.uml.alf.ElementReference, org.eclipse.papyrus.uml.alf.Expression)
+ * @generated
+ */
+ EOperation getInvocationExpression__EffectiveType__ElementReference_Expression();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.InvocationExpression#parameterElements() <em>Parameter Elements</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Parameter Elements</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.InvocationExpression#parameterElements()
+ * @generated
+ */
+ EOperation getInvocationExpression__ParameterElements();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.InvocationExpression#InvocationExpression_parameterElements() <em>Invocation Expression parameter Elements</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Invocation Expression parameter Elements</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.InvocationExpression#InvocationExpression_parameterElements()
+ * @generated
+ */
+ EOperation getInvocationExpression__InvocationExpression_parameterElements();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.InvocationExpression#parameterFromProperty(org.eclipse.papyrus.uml.alf.ElementReference) <em>Parameter From Property</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Parameter From Property</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.InvocationExpression#parameterFromProperty(org.eclipse.papyrus.uml.alf.ElementReference)
+ * @generated
+ */
+ EOperation getInvocationExpression__ParameterFromProperty__ElementReference();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.InvocationExpression#parameterFromPropertyWithMultiplicity(org.eclipse.papyrus.uml.alf.ElementReference, java.lang.String, java.lang.String)
+ * <em>Parameter From Property With Multiplicity</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Parameter From Property With Multiplicity</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.InvocationExpression#parameterFromPropertyWithMultiplicity(org.eclipse.papyrus.uml.alf.ElementReference, java.lang.String, java.lang.String)
+ * @generated
+ */
+ EOperation getInvocationExpression__ParameterFromPropertyWithMultiplicity__ElementReference_String_String();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.InvocationExpression#referent() <em>Referent</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Referent</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.InvocationExpression#referent()
+ * @generated
+ */
+ EOperation getInvocationExpression__Referent();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.InvocationExpression#referentCached() <em>Referent Cached</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Referent Cached</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.InvocationExpression#referentCached()
+ * @generated
+ */
+ EOperation getInvocationExpression__ReferentCached();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.InvocationExpression#invocationExpressionIsBehaviorDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Invocation Expression Is Behavior Derivation</em>}'
+ * operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Invocation Expression Is Behavior Derivation</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.InvocationExpression#invocationExpressionIsBehaviorDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getInvocationExpression__InvocationExpressionIsBehaviorDerivation__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.InvocationExpression#invocationExpressionIsAssociationEndDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * <em>Invocation Expression Is Association End Derivation</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Invocation Expression Is Association End Derivation</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.InvocationExpression#invocationExpressionIsAssociationEndDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getInvocationExpression__InvocationExpressionIsAssociationEndDerivation__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.InvocationExpression#invocationExpressionIsOperationDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Invocation Expression Is Operation Derivation</em>}'
+ * operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Invocation Expression Is Operation Derivation</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.InvocationExpression#invocationExpressionIsOperationDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getInvocationExpression__InvocationExpressionIsOperationDerivation__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.InvocationExpression#invocationExpressionIsDestructorDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Invocation Expression Is Destructor Derivation</em>}'
+ * operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Invocation Expression Is Destructor Derivation</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.InvocationExpression#invocationExpressionIsDestructorDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getInvocationExpression__InvocationExpressionIsDestructorDerivation__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.InvocationExpression#invocationExpressionIsImplicitDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Invocation Expression Is Implicit Derivation</em>}'
+ * operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Invocation Expression Is Implicit Derivation</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.InvocationExpression#invocationExpressionIsImplicitDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getInvocationExpression__InvocationExpressionIsImplicitDerivation__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.InvocationExpression#invocationExpressionIsSignalDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Invocation Expression Is Signal Derivation</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Invocation Expression Is Signal Derivation</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.InvocationExpression#invocationExpressionIsSignalDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getInvocationExpression__InvocationExpressionIsSignalDerivation__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.InvocationExpression#invocationExpressionParameterDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Invocation Expression Parameter Derivation</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Invocation Expression Parameter Derivation</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.InvocationExpression#invocationExpressionParameterDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getInvocationExpression__InvocationExpressionParameterDerivation__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.InvocationExpression#invocationExpressionTypeDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Invocation Expression Type Derivation</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Invocation Expression Type Derivation</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.InvocationExpression#invocationExpressionTypeDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getInvocationExpression__InvocationExpressionTypeDerivation__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.InvocationExpression#invocationExpressionUpperDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Invocation Expression Upper Derivation</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Invocation Expression Upper Derivation</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.InvocationExpression#invocationExpressionUpperDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getInvocationExpression__InvocationExpressionUpperDerivation__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.InvocationExpression#invocationExpressionLowerDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Invocation Expression Lower Derivation</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Invocation Expression Lower Derivation</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.InvocationExpression#invocationExpressionLowerDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getInvocationExpression__InvocationExpressionLowerDerivation__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.InvocationExpression#invocationExpressionAssignmentsBefore(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Invocation Expression Assignments Before</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Invocation Expression Assignments Before</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.InvocationExpression#invocationExpressionAssignmentsBefore(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getInvocationExpression__InvocationExpressionAssignmentsBefore__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.InvocationExpression#updateAssignments() <em>Update Assignments</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Update Assignments</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.InvocationExpression#updateAssignments()
+ * @generated
+ */
+ EOperation getInvocationExpression__UpdateAssignments();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.InvocationExpression#invocationExpressionTemplateParameters(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Invocation Expression Template Parameters</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Invocation Expression Template Parameters</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.InvocationExpression#invocationExpressionTemplateParameters(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getInvocationExpression__InvocationExpressionTemplateParameters__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.uml.alf.OutputNamedExpression <em>Output Named Expression</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for class '<em>Output Named Expression</em>'.
+ * @see org.eclipse.papyrus.uml.alf.OutputNamedExpression
+ * @generated
+ */
+ EClass getOutputNamedExpression();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.uml.alf.OutputNamedExpression#getLeftHandSide <em>Left Hand Side</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the reference '<em>Left Hand Side</em>'.
+ * @see org.eclipse.papyrus.uml.alf.OutputNamedExpression#getLeftHandSide()
+ * @see #getOutputNamedExpression()
+ * @generated
+ */
+ EReference getOutputNamedExpression_LeftHandSide();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.OutputNamedExpression#outputNamedExpressionLeftHandSideDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Output Named Expression Left Hand Side Derivation</em>}
+ * ' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Output Named Expression Left Hand Side Derivation</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.OutputNamedExpression#outputNamedExpressionLeftHandSideDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getOutputNamedExpression__OutputNamedExpressionLeftHandSideDerivation__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.OutputNamedExpression#outputNamedExpressionForm(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Output Named Expression Form</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Output Named Expression Form</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.OutputNamedExpression#outputNamedExpressionForm(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getOutputNamedExpression__OutputNamedExpressionForm__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.OutputNamedExpression#hasLegalExpression() <em>Has Legal Expression</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Has Legal Expression</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.OutputNamedExpression#hasLegalExpression()
+ * @generated
+ */
+ EOperation getOutputNamedExpression__HasLegalExpression();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.uml.alf.LeftHandSide <em>Left Hand Side</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for class '<em>Left Hand Side</em>'.
+ * @see org.eclipse.papyrus.uml.alf.LeftHandSide
+ * @generated
+ */
+ EClass getLeftHandSide();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.uml.alf.LeftHandSide#getAssignmentBefore <em>Assignment Before</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the reference list '<em>Assignment Before</em>'.
+ * @see org.eclipse.papyrus.uml.alf.LeftHandSide#getAssignmentBefore()
+ * @see #getLeftHandSide()
+ * @generated
+ */
+ EReference getLeftHandSide_AssignmentBefore();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.uml.alf.LeftHandSide#getAssignmentAfter <em>Assignment After</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the reference list '<em>Assignment After</em>'.
+ * @see org.eclipse.papyrus.uml.alf.LeftHandSide#getAssignmentAfter()
+ * @see #getLeftHandSide()
+ * @generated
+ */
+ EReference getLeftHandSide_AssignmentAfter();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.uml.alf.LeftHandSide#getReferent <em>Referent</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the reference '<em>Referent</em>'.
+ * @see org.eclipse.papyrus.uml.alf.LeftHandSide#getReferent()
+ * @see #getLeftHandSide()
+ * @generated
+ */
+ EReference getLeftHandSide_Referent();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.LeftHandSide#assignmentsBefore(org.eclipse.papyrus.uml.alf.SyntaxElement) <em>Assignments Before</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Assignments Before</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.LeftHandSide#assignmentsBefore(org.eclipse.papyrus.uml.alf.SyntaxElement)
+ * @generated
+ */
+ EOperation getLeftHandSide__AssignmentsBefore__SyntaxElement();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.LeftHandSide#assignmentsAfter() <em>Assignments After</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Assignments After</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.LeftHandSide#assignmentsAfter()
+ * @generated
+ */
+ EOperation getLeftHandSide__AssignmentsAfter();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.LeftHandSide#type() <em>Type</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Type</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.LeftHandSide#type()
+ * @generated
+ */
+ EOperation getLeftHandSide__Type();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.LeftHandSide#LeftHandSide_type() <em>Left Hand Side type</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Left Hand Side type</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.LeftHandSide#LeftHandSide_type()
+ * @generated
+ */
+ EOperation getLeftHandSide__LeftHandSide_type();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.LeftHandSide#upper() <em>Upper</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Upper</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.LeftHandSide#upper()
+ * @generated
+ */
+ EOperation getLeftHandSide__Upper();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.LeftHandSide#LeftHandSide_upper() <em>Left Hand Side upper</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Left Hand Side upper</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.LeftHandSide#LeftHandSide_upper()
+ * @generated
+ */
+ EOperation getLeftHandSide__LeftHandSide_upper();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.LeftHandSide#lower() <em>Lower</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Lower</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.LeftHandSide#lower()
+ * @generated
+ */
+ EOperation getLeftHandSide__Lower();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.LeftHandSide#LeftHandSide_lower() <em>Left Hand Side lower</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Left Hand Side lower</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.LeftHandSide#LeftHandSide_lower()
+ * @generated
+ */
+ EOperation getLeftHandSide__LeftHandSide_lower();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.LeftHandSide#referent() <em>Referent</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Referent</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.LeftHandSide#referent()
+ * @generated
+ */
+ EOperation getLeftHandSide__Referent();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.LeftHandSide#assignedName() <em>Assigned Name</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Assigned Name</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.LeftHandSide#assignedName()
+ * @generated
+ */
+ EOperation getLeftHandSide__AssignedName();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.LeftHandSide#localName() <em>Local Name</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Local Name</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.LeftHandSide#localName()
+ * @generated
+ */
+ EOperation getLeftHandSide__LocalName();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.LeftHandSide#feature() <em>Feature</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Feature</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.LeftHandSide#feature()
+ * @generated
+ */
+ EOperation getLeftHandSide__Feature();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.LeftHandSide#expression() <em>Expression</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Expression</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.LeftHandSide#expression()
+ * @generated
+ */
+ EOperation getLeftHandSide__Expression();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.LeftHandSide#isDataValueUpdate() <em>Is Data Value Update</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Is Data Value Update</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.LeftHandSide#isDataValueUpdate()
+ * @generated
+ */
+ EOperation getLeftHandSide__IsDataValueUpdate();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.LeftHandSide#leftHandSideIndexExpression(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Left Hand Side Index Expression</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Left Hand Side Index Expression</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.LeftHandSide#leftHandSideIndexExpression(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getLeftHandSide__LeftHandSideIndexExpression__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.LeftHandSide#index() <em>Index</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Index</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.LeftHandSide#index()
+ * @generated
+ */
+ EOperation getLeftHandSide__Index();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.uml.alf.SequenceAccessExpression <em>Sequence Access Expression</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for class '<em>Sequence Access Expression</em>'.
+ * @see org.eclipse.papyrus.uml.alf.SequenceAccessExpression
+ * @generated
+ */
+ EClass getSequenceAccessExpression();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.papyrus.uml.alf.SequenceAccessExpression#getPrimary <em>Primary</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the containment reference '<em>Primary</em>'.
+ * @see org.eclipse.papyrus.uml.alf.SequenceAccessExpression#getPrimary()
+ * @see #getSequenceAccessExpression()
+ * @generated
+ */
+ EReference getSequenceAccessExpression_Primary();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.papyrus.uml.alf.SequenceAccessExpression#getIndex <em>Index</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the containment reference '<em>Index</em>'.
+ * @see org.eclipse.papyrus.uml.alf.SequenceAccessExpression#getIndex()
+ * @see #getSequenceAccessExpression()
+ * @generated
+ */
+ EReference getSequenceAccessExpression_Index();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.SequenceAccessExpression#type() <em>Type</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Type</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.SequenceAccessExpression#type()
+ * @generated
+ */
+ EOperation getSequenceAccessExpression__Type();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.SequenceAccessExpression#lower() <em>Lower</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Lower</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.SequenceAccessExpression#lower()
+ * @generated
+ */
+ EOperation getSequenceAccessExpression__Lower();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.SequenceAccessExpression#upper() <em>Upper</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Upper</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.SequenceAccessExpression#upper()
+ * @generated
+ */
+ EOperation getSequenceAccessExpression__Upper();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.SequenceAccessExpression#updateAssignments() <em>Update Assignments</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Update Assignments</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.SequenceAccessExpression#updateAssignments()
+ * @generated
+ */
+ EOperation getSequenceAccessExpression__UpdateAssignments();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.SequenceAccessExpression#sequenceAccessExpressionTypeDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Sequence Access Expression Type Derivation</em>}'
+ * operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Sequence Access Expression Type Derivation</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.SequenceAccessExpression#sequenceAccessExpressionTypeDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getSequenceAccessExpression__SequenceAccessExpressionTypeDerivation__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.SequenceAccessExpression#sequenceAccessExpressionLowerDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Sequence Access Expression Lower Derivation</em>}'
+ * operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Sequence Access Expression Lower Derivation</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.SequenceAccessExpression#sequenceAccessExpressionLowerDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getSequenceAccessExpression__SequenceAccessExpressionLowerDerivation__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.SequenceAccessExpression#sequenceAccessExpressionUpperDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Sequence Access Expression Upper Derivation</em>}'
+ * operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Sequence Access Expression Upper Derivation</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.SequenceAccessExpression#sequenceAccessExpressionUpperDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getSequenceAccessExpression__SequenceAccessExpressionUpperDerivation__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.SequenceAccessExpression#sequenceAccessExpressionIndexType(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Sequence Access Expression Index Type</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Sequence Access Expression Index Type</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.SequenceAccessExpression#sequenceAccessExpressionIndexType(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getSequenceAccessExpression__SequenceAccessExpressionIndexType__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.SequenceAccessExpression#sequenceAccessExpressionIndexMultiplicity(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Sequence Access Expression Index Multiplicity</em>}'
+ * operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Sequence Access Expression Index Multiplicity</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.SequenceAccessExpression#sequenceAccessExpressionIndexMultiplicity(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getSequenceAccessExpression__SequenceAccessExpressionIndexMultiplicity__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.uml.alf.StringLiteralExpression <em>String Literal Expression</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for class '<em>String Literal Expression</em>'.
+ * @see org.eclipse.papyrus.uml.alf.StringLiteralExpression
+ * @generated
+ */
+ EClass getStringLiteralExpression();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.uml.alf.StringLiteralExpression#getImage <em>Image</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the attribute '<em>Image</em>'.
+ * @see org.eclipse.papyrus.uml.alf.StringLiteralExpression#getImage()
+ * @see #getStringLiteralExpression()
+ * @generated
+ */
+ EAttribute getStringLiteralExpression_Image();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.StringLiteralExpression#type() <em>Type</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Type</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.StringLiteralExpression#type()
+ * @generated
+ */
+ EOperation getStringLiteralExpression__Type();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.StringLiteralExpression#stringLiteralExpressionTypeDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>String Literal Expression Type Derivation</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>String Literal Expression Type Derivation</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.StringLiteralExpression#stringLiteralExpressionTypeDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getStringLiteralExpression__StringLiteralExpressionTypeDerivation__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.uml.alf.LiteralExpression <em>Literal Expression</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for class '<em>Literal Expression</em>'.
+ * @see org.eclipse.papyrus.uml.alf.LiteralExpression
+ * @generated
+ */
+ EClass getLiteralExpression();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.LiteralExpression#upper() <em>Upper</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Upper</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.LiteralExpression#upper()
+ * @generated
+ */
+ EOperation getLiteralExpression__Upper();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.LiteralExpression#lower() <em>Lower</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Lower</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.LiteralExpression#lower()
+ * @generated
+ */
+ EOperation getLiteralExpression__Lower();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.LiteralExpression#literalExpressionUpperDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Literal Expression Upper Derivation</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Literal Expression Upper Derivation</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.LiteralExpression#literalExpressionUpperDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getLiteralExpression__LiteralExpressionUpperDerivation__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.LiteralExpression#literalExpressionLowerDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Literal Expression Lower Derivation</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Literal Expression Lower Derivation</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.LiteralExpression#literalExpressionLowerDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getLiteralExpression__LiteralExpressionLowerDerivation__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.uml.alf.SequenceOperationExpression <em>Sequence Operation Expression</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for class '<em>Sequence Operation Expression</em>'.
+ * @see org.eclipse.papyrus.uml.alf.SequenceOperationExpression
+ * @generated
+ */
+ EClass getSequenceOperationExpression();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.papyrus.uml.alf.SequenceOperationExpression#getPrimary <em>Primary</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the containment reference '<em>Primary</em>'.
+ * @see org.eclipse.papyrus.uml.alf.SequenceOperationExpression#getPrimary()
+ * @see #getSequenceOperationExpression()
+ * @generated
+ */
+ EReference getSequenceOperationExpression_Primary();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.papyrus.uml.alf.SequenceOperationExpression#getOperation <em>Operation</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the containment reference '<em>Operation</em>'.
+ * @see org.eclipse.papyrus.uml.alf.SequenceOperationExpression#getOperation()
+ * @see #getSequenceOperationExpression()
+ * @generated
+ */
+ EReference getSequenceOperationExpression_Operation();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.uml.alf.SequenceOperationExpression#isIsCollectionConversion <em>Is Collection Conversion</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the attribute '<em>Is Collection Conversion</em>'.
+ * @see org.eclipse.papyrus.uml.alf.SequenceOperationExpression#isIsCollectionConversion()
+ * @see #getSequenceOperationExpression()
+ * @generated
+ */
+ EAttribute getSequenceOperationExpression_IsCollectionConversion();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.uml.alf.SequenceOperationExpression#isIsBitStringConversion <em>Is Bit String Conversion</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the attribute '<em>Is Bit String Conversion</em>'.
+ * @see org.eclipse.papyrus.uml.alf.SequenceOperationExpression#isIsBitStringConversion()
+ * @see #getSequenceOperationExpression()
+ * @generated
+ */
+ EAttribute getSequenceOperationExpression_IsBitStringConversion();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.uml.alf.SequenceOperationExpression#getLeftHandSide <em>Left Hand Side</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the reference '<em>Left Hand Side</em>'.
+ * @see org.eclipse.papyrus.uml.alf.SequenceOperationExpression#getLeftHandSide()
+ * @see #getSequenceOperationExpression()
+ * @generated
+ */
+ EReference getSequenceOperationExpression_LeftHandSide();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.SequenceOperationExpression#feature() <em>Feature</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Feature</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.SequenceOperationExpression#feature()
+ * @generated
+ */
+ EOperation getSequenceOperationExpression__Feature();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.SequenceOperationExpression#referent() <em>Referent</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Referent</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.SequenceOperationExpression#referent()
+ * @generated
+ */
+ EOperation getSequenceOperationExpression__Referent();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.SequenceOperationExpression#isAddTarget(org.eclipse.papyrus.uml.alf.Expression) <em>Is Add Target</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Is Add Target</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.SequenceOperationExpression#isAddTarget(org.eclipse.papyrus.uml.alf.Expression)
+ * @generated
+ */
+ EOperation getSequenceOperationExpression__IsAddTarget__Expression();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.SequenceOperationExpression#firstParameter() <em>First Parameter</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>First Parameter</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.SequenceOperationExpression#firstParameter()
+ * @generated
+ */
+ EOperation getSequenceOperationExpression__FirstParameter();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.SequenceOperationExpression#sequenceOperationExpressionReferentDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * <em>Sequence Operation Expression Referent Derivation</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Sequence Operation Expression Referent Derivation</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.SequenceOperationExpression#sequenceOperationExpressionReferentDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getSequenceOperationExpression__SequenceOperationExpressionReferentDerivation__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.SequenceOperationExpression#sequenceOperationExpressionFeatureDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * <em>Sequence Operation Expression Feature Derivation</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Sequence Operation Expression Feature Derivation</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.SequenceOperationExpression#sequenceOperationExpressionFeatureDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getSequenceOperationExpression__SequenceOperationExpressionFeatureDerivation__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.SequenceOperationExpression#sequenceOperationExpressionOperationReferent(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * <em>Sequence Operation Expression Operation Referent</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Sequence Operation Expression Operation Referent</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.SequenceOperationExpression#sequenceOperationExpressionOperationReferent(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getSequenceOperationExpression__SequenceOperationExpressionOperationReferent__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.SequenceOperationExpression#sequenceOperationExpressionTargetCompatibility(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * <em>Sequence Operation Expression Target Compatibility</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Sequence Operation Expression Target Compatibility</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.SequenceOperationExpression#sequenceOperationExpressionTargetCompatibility(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getSequenceOperationExpression__SequenceOperationExpressionTargetCompatibility__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.SequenceOperationExpression#sequenceOperationExpressionArgumentCompatibility(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * <em>Sequence Operation Expression Argument Compatibility</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Sequence Operation Expression Argument Compatibility</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.SequenceOperationExpression#sequenceOperationExpressionArgumentCompatibility(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getSequenceOperationExpression__SequenceOperationExpressionArgumentCompatibility__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.SequenceOperationExpression#sequenceOperationExpressionAssignmentsBefore(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * <em>Sequence Operation Expression Assignments Before</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Sequence Operation Expression Assignments Before</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.SequenceOperationExpression#sequenceOperationExpressionAssignmentsBefore(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getSequenceOperationExpression__SequenceOperationExpressionAssignmentsBefore__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.SequenceOperationExpression#sequenceOperationExpressionIsCollectionConversionDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * <em>Sequence Operation Expression Is Collection Conversion Derivation</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Sequence Operation Expression Is Collection Conversion Derivation</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.SequenceOperationExpression#sequenceOperationExpressionIsCollectionConversionDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getSequenceOperationExpression__SequenceOperationExpressionIsCollectionConversionDerivation__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.SequenceOperationExpression#sequenceOperationExpressionIsBitStringConversionDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * <em>Sequence Operation Expression Is Bit String Conversion Derivation</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Sequence Operation Expression Is Bit String Conversion Derivation</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.SequenceOperationExpression#sequenceOperationExpressionIsBitStringConversionDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getSequenceOperationExpression__SequenceOperationExpressionIsBitStringConversionDerivation__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.SequenceOperationExpression#sequenceOperationExpressionAssignmentsAfter(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * <em>Sequence Operation Expression Assignments After</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Sequence Operation Expression Assignments After</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.SequenceOperationExpression#sequenceOperationExpressionAssignmentsAfter(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getSequenceOperationExpression__SequenceOperationExpressionAssignmentsAfter__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.SequenceOperationExpression#sequenceOperationExpressionLeftHandSideDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * <em>Sequence Operation Expression Left Hand Side Derivation</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Sequence Operation Expression Left Hand Side Derivation</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.SequenceOperationExpression#sequenceOperationExpressionLeftHandSideDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getSequenceOperationExpression__SequenceOperationExpressionLeftHandSideDerivation__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.SequenceOperationExpression#updateAssignments() <em>Update Assignments</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Update Assignments</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.SequenceOperationExpression#updateAssignments()
+ * @generated
+ */
+ EOperation getSequenceOperationExpression__UpdateAssignments();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.SequenceOperationExpression#parameterElements() <em>Parameter Elements</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Parameter Elements</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.SequenceOperationExpression#parameterElements()
+ * @generated
+ */
+ EOperation getSequenceOperationExpression__ParameterElements();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.uml.alf.SelectOrRejectExpression <em>Select Or Reject Expression</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for class '<em>Select Or Reject Expression</em>'.
+ * @see org.eclipse.papyrus.uml.alf.SelectOrRejectExpression
+ * @generated
+ */
+ EClass getSelectOrRejectExpression();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.SelectOrRejectExpression#selectOrRejectExpressionTypeDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Select Or Reject Expression Type Derivation</em>}'
+ * operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Select Or Reject Expression Type Derivation</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.SelectOrRejectExpression#selectOrRejectExpressionTypeDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getSelectOrRejectExpression__SelectOrRejectExpressionTypeDerivation__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.SelectOrRejectExpression#selectOrRejectExpressionLowerDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Select Or Reject Expression Lower Derivation</em>}'
+ * operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Select Or Reject Expression Lower Derivation</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.SelectOrRejectExpression#selectOrRejectExpressionLowerDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getSelectOrRejectExpression__SelectOrRejectExpressionLowerDerivation__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.SelectOrRejectExpression#selectOrRejectExpressionUpperDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Select Or Reject Expression Upper Derivation</em>}'
+ * operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Select Or Reject Expression Upper Derivation</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.SelectOrRejectExpression#selectOrRejectExpressionUpperDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getSelectOrRejectExpression__SelectOrRejectExpressionUpperDerivation__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.SelectOrRejectExpression#selectOrRejectExpressionArgument(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Select Or Reject Expression Argument</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Select Or Reject Expression Argument</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.SelectOrRejectExpression#selectOrRejectExpressionArgument(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getSelectOrRejectExpression__SelectOrRejectExpressionArgument__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.uml.alf.ClassExtentExpression <em>Class Extent Expression</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for class '<em>Class Extent Expression</em>'.
+ * @see org.eclipse.papyrus.uml.alf.ClassExtentExpression
+ * @generated
+ */
+ EClass getClassExtentExpression();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.papyrus.uml.alf.ClassExtentExpression#getClassName <em>Class Name</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the containment reference '<em>Class Name</em>'.
+ * @see org.eclipse.papyrus.uml.alf.ClassExtentExpression#getClassName()
+ * @see #getClassExtentExpression()
+ * @generated
+ */
+ EReference getClassExtentExpression_ClassName();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.ClassExtentExpression#type() <em>Type</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Type</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.ClassExtentExpression#type()
+ * @generated
+ */
+ EOperation getClassExtentExpression__Type();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.ClassExtentExpression#upper() <em>Upper</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Upper</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.ClassExtentExpression#upper()
+ * @generated
+ */
+ EOperation getClassExtentExpression__Upper();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.ClassExtentExpression#lower() <em>Lower</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Lower</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.ClassExtentExpression#lower()
+ * @generated
+ */
+ EOperation getClassExtentExpression__Lower();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.ClassExtentExpression#classExtentExpressionTypeDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Class Extent Expression Type Derivation</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Class Extent Expression Type Derivation</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.ClassExtentExpression#classExtentExpressionTypeDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getClassExtentExpression__ClassExtentExpressionTypeDerivation__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.ClassExtentExpression#classExtentExpressionUpperDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Class Extent Expression Upper Derivation</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Class Extent Expression Upper Derivation</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.ClassExtentExpression#classExtentExpressionUpperDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getClassExtentExpression__ClassExtentExpressionUpperDerivation__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.ClassExtentExpression#classExtentExpressionLowerDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Class Extent Expression Lower Derivation</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Class Extent Expression Lower Derivation</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.ClassExtentExpression#classExtentExpressionLowerDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getClassExtentExpression__ClassExtentExpressionLowerDerivation__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.ClassExtentExpression#classExtentExpressionExtentType(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Class Extent Expression Extent Type</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Class Extent Expression Extent Type</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.ClassExtentExpression#classExtentExpressionExtentType(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getClassExtentExpression__ClassExtentExpressionExtentType__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.ClassExtentExpression#validateClassExtentExpressionExtentType() <em>Validate Class Extent Expression Extent Type</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Validate Class Extent Expression Extent Type</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.ClassExtentExpression#validateClassExtentExpressionExtentType()
+ * @generated
+ */
+ EOperation getClassExtentExpression__ValidateClassExtentExpressionExtentType();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.uml.alf.PositionalTemplateBinding <em>Positional Template Binding</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for class '<em>Positional Template Binding</em>'.
+ * @see org.eclipse.papyrus.uml.alf.PositionalTemplateBinding
+ * @generated
+ */
+ EClass getPositionalTemplateBinding();
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.eclipse.papyrus.uml.alf.PositionalTemplateBinding#getArgumentName <em>Argument Name</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the containment reference list '<em>Argument Name</em>'.
+ * @see org.eclipse.papyrus.uml.alf.PositionalTemplateBinding#getArgumentName()
+ * @see #getPositionalTemplateBinding()
+ * @generated
+ */
+ EReference getPositionalTemplateBinding_ArgumentName();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.PositionalTemplateBinding#toString() <em>To String</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>To String</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.PositionalTemplateBinding#toString()
+ * @generated
+ */
+ EOperation getPositionalTemplateBinding__ToString();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.PositionalTemplateBinding#matches(org.eclipse.papyrus.uml.alf.ElementReference) <em>Matches</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Matches</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.PositionalTemplateBinding#matches(org.eclipse.papyrus.uml.alf.ElementReference)
+ * @generated
+ */
+ EOperation getPositionalTemplateBinding__Matches__ElementReference();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.PositionalTemplateBinding#matches(org.eclipse.papyrus.uml.alf.ElementReference, org.eclipse.papyrus.uml.alf.QualifiedName) <em>Matches</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Matches</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.PositionalTemplateBinding#matches(org.eclipse.papyrus.uml.alf.ElementReference, org.eclipse.papyrus.uml.alf.QualifiedName)
+ * @generated
+ */
+ EOperation getPositionalTemplateBinding__Matches__ElementReference_QualifiedName();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.PositionalTemplateBinding#bindTo(org.eclipse.papyrus.uml.alf.ElementReference) <em>Bind To</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Bind To</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.PositionalTemplateBinding#bindTo(org.eclipse.papyrus.uml.alf.ElementReference)
+ * @generated
+ */
+ EOperation getPositionalTemplateBinding__BindTo__ElementReference();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.PositionalTemplateBinding#copy() <em>Copy</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Copy</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.PositionalTemplateBinding#copy()
+ * @generated
+ */
+ EOperation getPositionalTemplateBinding__Copy();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.uml.alf.ConditionalLogicalExpression <em>Conditional Logical Expression</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for class '<em>Conditional Logical Expression</em>'.
+ * @see org.eclipse.papyrus.uml.alf.ConditionalLogicalExpression
+ * @generated
+ */
+ EClass getConditionalLogicalExpression();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.ConditionalLogicalExpression#type() <em>Type</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Type</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.ConditionalLogicalExpression#type()
+ * @generated
+ */
+ EOperation getConditionalLogicalExpression__Type();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.ConditionalLogicalExpression#lower() <em>Lower</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Lower</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.ConditionalLogicalExpression#lower()
+ * @generated
+ */
+ EOperation getConditionalLogicalExpression__Lower();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.ConditionalLogicalExpression#upper() <em>Upper</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Upper</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.ConditionalLogicalExpression#upper()
+ * @generated
+ */
+ EOperation getConditionalLogicalExpression__Upper();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.ConditionalLogicalExpression#conditionalLogicalExpressionTypeDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * <em>Conditional Logical Expression Type Derivation</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Conditional Logical Expression Type Derivation</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.ConditionalLogicalExpression#conditionalLogicalExpressionTypeDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getConditionalLogicalExpression__ConditionalLogicalExpressionTypeDerivation__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.ConditionalLogicalExpression#conditionalLogicalExpressionLower(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Conditional Logical Expression Lower</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Conditional Logical Expression Lower</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.ConditionalLogicalExpression#conditionalLogicalExpressionLower(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getConditionalLogicalExpression__ConditionalLogicalExpressionLower__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.ConditionalLogicalExpression#conditionalLogicalExpressionUpper(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Conditional Logical Expression Upper</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Conditional Logical Expression Upper</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.ConditionalLogicalExpression#conditionalLogicalExpressionUpper(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getConditionalLogicalExpression__ConditionalLogicalExpressionUpper__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.ConditionalLogicalExpression#conditionalLogicalExpressionOperands(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Conditional Logical Expression Operands</em>}'
+ * operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Conditional Logical Expression Operands</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.ConditionalLogicalExpression#conditionalLogicalExpressionOperands(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getConditionalLogicalExpression__ConditionalLogicalExpressionOperands__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.ConditionalLogicalExpression#validateAssignments() <em>Validate Assignments</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Validate Assignments</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.ConditionalLogicalExpression#validateAssignments()
+ * @generated
+ */
+ EOperation getConditionalLogicalExpression__ValidateAssignments();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.ConditionalLogicalExpression#assignmentsBefore(org.eclipse.papyrus.uml.alf.SyntaxElement) <em>Assignments Before</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Assignments Before</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.ConditionalLogicalExpression#assignmentsBefore(org.eclipse.papyrus.uml.alf.SyntaxElement)
+ * @generated
+ */
+ EOperation getConditionalLogicalExpression__AssignmentsBefore__SyntaxElement();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.ConditionalLogicalExpression#updateAssignments() <em>Update Assignments</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Update Assignments</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.ConditionalLogicalExpression#updateAssignments()
+ * @generated
+ */
+ EOperation getConditionalLogicalExpression__UpdateAssignments();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.uml.alf.LinkOperationExpression <em>Link Operation Expression</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for class '<em>Link Operation Expression</em>'.
+ * @see org.eclipse.papyrus.uml.alf.LinkOperationExpression
+ * @generated
+ */
+ EClass getLinkOperationExpression();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.uml.alf.LinkOperationExpression#getOperation <em>Operation</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the attribute '<em>Operation</em>'.
+ * @see org.eclipse.papyrus.uml.alf.LinkOperationExpression#getOperation()
+ * @see #getLinkOperationExpression()
+ * @generated
+ */
+ EAttribute getLinkOperationExpression_Operation();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.uml.alf.LinkOperationExpression#isIsCreation <em>Is Creation</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the attribute '<em>Is Creation</em>'.
+ * @see org.eclipse.papyrus.uml.alf.LinkOperationExpression#isIsCreation()
+ * @see #getLinkOperationExpression()
+ * @generated
+ */
+ EAttribute getLinkOperationExpression_IsCreation();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.uml.alf.LinkOperationExpression#isIsClear <em>Is Clear</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the attribute '<em>Is Clear</em>'.
+ * @see org.eclipse.papyrus.uml.alf.LinkOperationExpression#isIsClear()
+ * @see #getLinkOperationExpression()
+ * @generated
+ */
+ EAttribute getLinkOperationExpression_IsClear();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.papyrus.uml.alf.LinkOperationExpression#getAssociationName <em>Association Name</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the containment reference '<em>Association Name</em>'.
+ * @see org.eclipse.papyrus.uml.alf.LinkOperationExpression#getAssociationName()
+ * @see #getLinkOperationExpression()
+ * @generated
+ */
+ EReference getLinkOperationExpression_AssociationName();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.LinkOperationExpression#referent() <em>Referent</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Referent</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.LinkOperationExpression#referent()
+ * @generated
+ */
+ EOperation getLinkOperationExpression__Referent();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.LinkOperationExpression#feature() <em>Feature</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Feature</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.LinkOperationExpression#feature()
+ * @generated
+ */
+ EOperation getLinkOperationExpression__Feature();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.LinkOperationExpression#linkOperationExpressionIsCreationDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * <em>Link Operation Expression Is Creation Derivation</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Link Operation Expression Is Creation Derivation</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.LinkOperationExpression#linkOperationExpressionIsCreationDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getLinkOperationExpression__LinkOperationExpressionIsCreationDerivation__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.LinkOperationExpression#linkOperationExpressionIsClearDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Link Operation Expression Is Clear Derivation</em>}'
+ * operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Link Operation Expression Is Clear Derivation</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.LinkOperationExpression#linkOperationExpressionIsClearDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getLinkOperationExpression__LinkOperationExpressionIsClearDerivation__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.LinkOperationExpression#linkOperationExpressionReferentDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Link Operation Expression Referent Derivation</em>}'
+ * operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Link Operation Expression Referent Derivation</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.LinkOperationExpression#linkOperationExpressionReferentDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getLinkOperationExpression__LinkOperationExpressionReferentDerivation__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.LinkOperationExpression#linkOperationExpressionFeatureDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Link Operation Expression Feature Derivation</em>}'
+ * operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Link Operation Expression Feature Derivation</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.LinkOperationExpression#linkOperationExpressionFeatureDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getLinkOperationExpression__LinkOperationExpressionFeatureDerivation__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.LinkOperationExpression#linkOperationExpressionAssociationReference(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Link Operation Expression Association Reference</em>}
+ * ' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Link Operation Expression Association Reference</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.LinkOperationExpression#linkOperationExpressionAssociationReference(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getLinkOperationExpression__LinkOperationExpressionAssociationReference__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.LinkOperationExpression#linkOperationExpressionArgumentCompatibility(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * <em>Link Operation Expression Argument Compatibility</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Link Operation Expression Argument Compatibility</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.LinkOperationExpression#linkOperationExpressionArgumentCompatibility(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getLinkOperationExpression__LinkOperationExpressionArgumentCompatibility__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.LinkOperationExpression#parameterElements() <em>Parameter Elements</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Parameter Elements</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.LinkOperationExpression#parameterElements()
+ * @generated
+ */
+ EOperation getLinkOperationExpression__ParameterElements();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.uml.alf.EqualityExpression <em>Equality Expression</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for class '<em>Equality Expression</em>'.
+ * @see org.eclipse.papyrus.uml.alf.EqualityExpression
+ * @generated
+ */
+ EClass getEqualityExpression();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.uml.alf.EqualityExpression#isIsNegated <em>Is Negated</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the attribute '<em>Is Negated</em>'.
+ * @see org.eclipse.papyrus.uml.alf.EqualityExpression#isIsNegated()
+ * @see #getEqualityExpression()
+ * @generated
+ */
+ EAttribute getEqualityExpression_IsNegated();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.EqualityExpression#type() <em>Type</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Type</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.EqualityExpression#type()
+ * @generated
+ */
+ EOperation getEqualityExpression__Type();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.EqualityExpression#lower() <em>Lower</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Lower</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.EqualityExpression#lower()
+ * @generated
+ */
+ EOperation getEqualityExpression__Lower();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.EqualityExpression#upper() <em>Upper</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Upper</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.EqualityExpression#upper()
+ * @generated
+ */
+ EOperation getEqualityExpression__Upper();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.EqualityExpression#equalityExpressionIsNegatedDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Equality Expression Is Negated Derivation</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Equality Expression Is Negated Derivation</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.EqualityExpression#equalityExpressionIsNegatedDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getEqualityExpression__EqualityExpressionIsNegatedDerivation__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.EqualityExpression#equalityExpressionTypeDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Equality Expression Type Derivation</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Equality Expression Type Derivation</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.EqualityExpression#equalityExpressionTypeDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getEqualityExpression__EqualityExpressionTypeDerivation__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.EqualityExpression#equalityExpressionLowerDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Equality Expression Lower Derivation</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Equality Expression Lower Derivation</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.EqualityExpression#equalityExpressionLowerDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getEqualityExpression__EqualityExpressionLowerDerivation__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.EqualityExpression#equalityExpressionUpperDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Equality Expression Upper Derivation</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Equality Expression Upper Derivation</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.EqualityExpression#equalityExpressionUpperDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getEqualityExpression__EqualityExpressionUpperDerivation__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.EqualityExpression#noNullArguments() <em>No Null Arguments</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>No Null Arguments</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.EqualityExpression#noNullArguments()
+ * @generated
+ */
+ EOperation getEqualityExpression__NoNullArguments();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.uml.alf.AssignmentExpression <em>Assignment Expression</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for class '<em>Assignment Expression</em>'.
+ * @see org.eclipse.papyrus.uml.alf.AssignmentExpression
+ * @generated
+ */
+ EClass getAssignmentExpression();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.uml.alf.AssignmentExpression#getOperator <em>Operator</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the attribute '<em>Operator</em>'.
+ * @see org.eclipse.papyrus.uml.alf.AssignmentExpression#getOperator()
+ * @see #getAssignmentExpression()
+ * @generated
+ */
+ EAttribute getAssignmentExpression_Operator();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.papyrus.uml.alf.AssignmentExpression#getLeftHandSide <em>Left Hand Side</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the containment reference '<em>Left Hand Side</em>'.
+ * @see org.eclipse.papyrus.uml.alf.AssignmentExpression#getLeftHandSide()
+ * @see #getAssignmentExpression()
+ * @generated
+ */
+ EReference getAssignmentExpression_LeftHandSide();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.papyrus.uml.alf.AssignmentExpression#getRightHandSide <em>Right Hand Side</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the containment reference '<em>Right Hand Side</em>'.
+ * @see org.eclipse.papyrus.uml.alf.AssignmentExpression#getRightHandSide()
+ * @see #getAssignmentExpression()
+ * @generated
+ */
+ EReference getAssignmentExpression_RightHandSide();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.uml.alf.AssignmentExpression#getAssignment <em>Assignment</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the reference '<em>Assignment</em>'.
+ * @see org.eclipse.papyrus.uml.alf.AssignmentExpression#getAssignment()
+ * @see #getAssignmentExpression()
+ * @generated
+ */
+ EReference getAssignmentExpression_Assignment();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.uml.alf.AssignmentExpression#getFeature <em>Feature</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the reference '<em>Feature</em>'.
+ * @see org.eclipse.papyrus.uml.alf.AssignmentExpression#getFeature()
+ * @see #getAssignmentExpression()
+ * @generated
+ */
+ EReference getAssignmentExpression_Feature();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.uml.alf.AssignmentExpression#isIsIndexed <em>Is Indexed</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the attribute '<em>Is Indexed</em>'.
+ * @see org.eclipse.papyrus.uml.alf.AssignmentExpression#isIsIndexed()
+ * @see #getAssignmentExpression()
+ * @generated
+ */
+ EAttribute getAssignmentExpression_IsIndexed();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.uml.alf.AssignmentExpression#isIsArithmetic <em>Is Arithmetic</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the attribute '<em>Is Arithmetic</em>'.
+ * @see org.eclipse.papyrus.uml.alf.AssignmentExpression#isIsArithmetic()
+ * @see #getAssignmentExpression()
+ * @generated
+ */
+ EAttribute getAssignmentExpression_IsArithmetic();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.uml.alf.AssignmentExpression#isIsLogical <em>Is Logical</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the attribute '<em>Is Logical</em>'.
+ * @see org.eclipse.papyrus.uml.alf.AssignmentExpression#isIsLogical()
+ * @see #getAssignmentExpression()
+ * @generated
+ */
+ EAttribute getAssignmentExpression_IsLogical();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.uml.alf.AssignmentExpression#isIsShift <em>Is Shift</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the attribute '<em>Is Shift</em>'.
+ * @see org.eclipse.papyrus.uml.alf.AssignmentExpression#isIsShift()
+ * @see #getAssignmentExpression()
+ * @generated
+ */
+ EAttribute getAssignmentExpression_IsShift();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.uml.alf.AssignmentExpression#isIsConcatenation <em>Is Concatenation</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the attribute '<em>Is Concatenation</em>'.
+ * @see org.eclipse.papyrus.uml.alf.AssignmentExpression#isIsConcatenation()
+ * @see #getAssignmentExpression()
+ * @generated
+ */
+ EAttribute getAssignmentExpression_IsConcatenation();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.uml.alf.AssignmentExpression#isIsDefinition <em>Is Definition</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the attribute '<em>Is Definition</em>'.
+ * @see org.eclipse.papyrus.uml.alf.AssignmentExpression#isIsDefinition()
+ * @see #getAssignmentExpression()
+ * @generated
+ */
+ EAttribute getAssignmentExpression_IsDefinition();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.uml.alf.AssignmentExpression#isIsSimple <em>Is Simple</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the attribute '<em>Is Simple</em>'.
+ * @see org.eclipse.papyrus.uml.alf.AssignmentExpression#isIsSimple()
+ * @see #getAssignmentExpression()
+ * @generated
+ */
+ EAttribute getAssignmentExpression_IsSimple();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.uml.alf.AssignmentExpression#getExpression <em>Expression</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the reference '<em>Expression</em>'.
+ * @see org.eclipse.papyrus.uml.alf.AssignmentExpression#getExpression()
+ * @see #getAssignmentExpression()
+ * @generated
+ */
+ EReference getAssignmentExpression_Expression();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.uml.alf.AssignmentExpression#isIsFeature <em>Is Feature</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the attribute '<em>Is Feature</em>'.
+ * @see org.eclipse.papyrus.uml.alf.AssignmentExpression#isIsFeature()
+ * @see #getAssignmentExpression()
+ * @generated
+ */
+ EAttribute getAssignmentExpression_IsFeature();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.uml.alf.AssignmentExpression#isIsDataValueUpdate <em>Is Data Value Update</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the attribute '<em>Is Data Value Update</em>'.
+ * @see org.eclipse.papyrus.uml.alf.AssignmentExpression#isIsDataValueUpdate()
+ * @see #getAssignmentExpression()
+ * @generated
+ */
+ EAttribute getAssignmentExpression_IsDataValueUpdate();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.uml.alf.AssignmentExpression#isIsCollectionConversion <em>Is Collection Conversion</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the attribute '<em>Is Collection Conversion</em>'.
+ * @see org.eclipse.papyrus.uml.alf.AssignmentExpression#isIsCollectionConversion()
+ * @see #getAssignmentExpression()
+ * @generated
+ */
+ EAttribute getAssignmentExpression_IsCollectionConversion();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.uml.alf.AssignmentExpression#isIsBitStringConversion <em>Is Bit String Conversion</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the attribute '<em>Is Bit String Conversion</em>'.
+ * @see org.eclipse.papyrus.uml.alf.AssignmentExpression#isIsBitStringConversion()
+ * @see #getAssignmentExpression()
+ * @generated
+ */
+ EAttribute getAssignmentExpression_IsBitStringConversion();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.AssignmentExpression#type() <em>Type</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Type</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.AssignmentExpression#type()
+ * @generated
+ */
+ EOperation getAssignmentExpression__Type();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.AssignmentExpression#upper() <em>Upper</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Upper</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.AssignmentExpression#upper()
+ * @generated
+ */
+ EOperation getAssignmentExpression__Upper();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.AssignmentExpression#lower() <em>Lower</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Lower</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.AssignmentExpression#lower()
+ * @generated
+ */
+ EOperation getAssignmentExpression__Lower();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.AssignmentExpression#assignmentsBefore(org.eclipse.papyrus.uml.alf.SyntaxElement) <em>Assignments Before</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Assignments Before</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.AssignmentExpression#assignmentsBefore(org.eclipse.papyrus.uml.alf.SyntaxElement)
+ * @generated
+ */
+ EOperation getAssignmentExpression__AssignmentsBefore__SyntaxElement();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.AssignmentExpression#assignmentExpressionIsSimpleDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Assignment Expression Is Simple Derivation</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Assignment Expression Is Simple Derivation</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.AssignmentExpression#assignmentExpressionIsSimpleDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getAssignmentExpression__AssignmentExpressionIsSimpleDerivation__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.AssignmentExpression#assignmentExpressionIsArithmeticDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Assignment Expression Is Arithmetic Derivation</em>}'
+ * operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Assignment Expression Is Arithmetic Derivation</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.AssignmentExpression#assignmentExpressionIsArithmeticDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getAssignmentExpression__AssignmentExpressionIsArithmeticDerivation__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.AssignmentExpression#assignmentExpressionIsDefinitionDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Assignment Expression Is Definition Derivation</em>}'
+ * operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Assignment Expression Is Definition Derivation</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.AssignmentExpression#assignmentExpressionIsDefinitionDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getAssignmentExpression__AssignmentExpressionIsDefinitionDerivation__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.AssignmentExpression#assignmentExpressionIsFeatureDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Assignment Expression Is Feature Derivation</em>}'
+ * operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Assignment Expression Is Feature Derivation</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.AssignmentExpression#assignmentExpressionIsFeatureDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getAssignmentExpression__AssignmentExpressionIsFeatureDerivation__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.AssignmentExpression#assignmentExpressionIsIndexedDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Assignment Expression Is Indexed Derivation</em>}'
+ * operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Assignment Expression Is Indexed Derivation</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.AssignmentExpression#assignmentExpressionIsIndexedDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getAssignmentExpression__AssignmentExpressionIsIndexedDerivation__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.AssignmentExpression#assignmentExpressionIsDataValueUpdateDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * <em>Assignment Expression Is Data Value Update Derivation</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Assignment Expression Is Data Value Update Derivation</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.AssignmentExpression#assignmentExpressionIsDataValueUpdateDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getAssignmentExpression__AssignmentExpressionIsDataValueUpdateDerivation__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.AssignmentExpression#assignmentExpressionAssignmentDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Assignment Expression Assignment Derivation</em>}'
+ * operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Assignment Expression Assignment Derivation</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.AssignmentExpression#assignmentExpressionAssignmentDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getAssignmentExpression__AssignmentExpressionAssignmentDerivation__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.AssignmentExpression#assignmentExpressionFeatureDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Assignment Expression Feature Derivation</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Assignment Expression Feature Derivation</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.AssignmentExpression#assignmentExpressionFeatureDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getAssignmentExpression__AssignmentExpressionFeatureDerivation__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.AssignmentExpression#assignmentExpressionExpressionDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Assignment Expression Expression Derivation</em>}'
+ * operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Assignment Expression Expression Derivation</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.AssignmentExpression#assignmentExpressionExpressionDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getAssignmentExpression__AssignmentExpressionExpressionDerivation__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.AssignmentExpression#assignmentExpressionTypeDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Assignment Expression Type Derivation</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Assignment Expression Type Derivation</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.AssignmentExpression#assignmentExpressionTypeDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getAssignmentExpression__AssignmentExpressionTypeDerivation__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.AssignmentExpression#assignmentExpressionUpperDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Assignment Expression Upper Derivation</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Assignment Expression Upper Derivation</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.AssignmentExpression#assignmentExpressionUpperDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getAssignmentExpression__AssignmentExpressionUpperDerivation__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.AssignmentExpression#assignmentExpressionLowerDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Assignment Expression Lower Derivation</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Assignment Expression Lower Derivation</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.AssignmentExpression#assignmentExpressionLowerDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getAssignmentExpression__AssignmentExpressionLowerDerivation__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.AssignmentExpression#assignmentExpressionSimpleAssignmentTypeConformance(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * <em>Assignment Expression Simple Assignment Type Conformance</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Assignment Expression Simple Assignment Type Conformance</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.AssignmentExpression#assignmentExpressionSimpleAssignmentTypeConformance(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getAssignmentExpression__AssignmentExpressionSimpleAssignmentTypeConformance__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.AssignmentExpression#assignmentExpressionSimpleAssignmentMultiplicityConformance(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * <em>Assignment Expression Simple Assignment Multiplicity Conformance</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Assignment Expression Simple Assignment Multiplicity Conformance</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.AssignmentExpression#assignmentExpressionSimpleAssignmentMultiplicityConformance(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getAssignmentExpression__AssignmentExpressionSimpleAssignmentMultiplicityConformance__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.AssignmentExpression#assignmentExpressionCompoundAssignmentTypeConformance(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * <em>Assignment Expression Compound Assignment Type Conformance</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Assignment Expression Compound Assignment Type Conformance</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.AssignmentExpression#assignmentExpressionCompoundAssignmentTypeConformance(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getAssignmentExpression__AssignmentExpressionCompoundAssignmentTypeConformance__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.AssignmentExpression#assignmentExpressionCompoundAssignmentMultiplicityConformance(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * <em>Assignment Expression Compound Assignment Multiplicity Conformance</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Assignment Expression Compound Assignment Multiplicity Conformance</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.AssignmentExpression#assignmentExpressionCompoundAssignmentMultiplicityConformance(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getAssignmentExpression__AssignmentExpressionCompoundAssignmentMultiplicityConformance__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.AssignmentExpression#assignmentExpressionAssignmentsBefore(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Assignment Expression Assignments Before</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Assignment Expression Assignments Before</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.AssignmentExpression#assignmentExpressionAssignmentsBefore(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getAssignmentExpression__AssignmentExpressionAssignmentsBefore__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.AssignmentExpression#assignmentExpressionIsCollectionConversionDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * <em>Assignment Expression Is Collection Conversion Derivation</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Assignment Expression Is Collection Conversion Derivation</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.AssignmentExpression#assignmentExpressionIsCollectionConversionDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getAssignmentExpression__AssignmentExpressionIsCollectionConversionDerivation__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.AssignmentExpression#assignmentExpressionIsBitStringConversionDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * <em>Assignment Expression Is Bit String Conversion Derivation</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Assignment Expression Is Bit String Conversion Derivation</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.AssignmentExpression#assignmentExpressionIsBitStringConversionDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getAssignmentExpression__AssignmentExpressionIsBitStringConversionDerivation__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.AssignmentExpression#assignmentExpressionDataValueUpdateLegality(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Assignment Expression Data Value Update Legality</em>}'
+ * operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Assignment Expression Data Value Update Legality</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.AssignmentExpression#assignmentExpressionDataValueUpdateLegality(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getAssignmentExpression__AssignmentExpressionDataValueUpdateLegality__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.AssignmentExpression#updateAssignments() <em>Update Assignments</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Update Assignments</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.AssignmentExpression#updateAssignments()
+ * @generated
+ */
+ EOperation getAssignmentExpression__UpdateAssignments();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.uml.alf.LogicalExpression <em>Logical Expression</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for class '<em>Logical Expression</em>'.
+ * @see org.eclipse.papyrus.uml.alf.LogicalExpression
+ * @generated
+ */
+ EClass getLogicalExpression();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.uml.alf.LogicalExpression#isIsBitWise <em>Is Bit Wise</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the attribute '<em>Is Bit Wise</em>'.
+ * @see org.eclipse.papyrus.uml.alf.LogicalExpression#isIsBitWise()
+ * @see #getLogicalExpression()
+ * @generated
+ */
+ EAttribute getLogicalExpression_IsBitWise();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.uml.alf.LogicalExpression#isIsBitStringConversion1 <em>Is Bit String Conversion1</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the attribute '<em>Is Bit String Conversion1</em>'.
+ * @see org.eclipse.papyrus.uml.alf.LogicalExpression#isIsBitStringConversion1()
+ * @see #getLogicalExpression()
+ * @generated
+ */
+ EAttribute getLogicalExpression_IsBitStringConversion1();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.uml.alf.LogicalExpression#isIsBitStringConversion2 <em>Is Bit String Conversion2</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the attribute '<em>Is Bit String Conversion2</em>'.
+ * @see org.eclipse.papyrus.uml.alf.LogicalExpression#isIsBitStringConversion2()
+ * @see #getLogicalExpression()
+ * @generated
+ */
+ EAttribute getLogicalExpression_IsBitStringConversion2();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.LogicalExpression#type() <em>Type</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Type</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.LogicalExpression#type()
+ * @generated
+ */
+ EOperation getLogicalExpression__Type();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.LogicalExpression#lower() <em>Lower</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Lower</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.LogicalExpression#lower()
+ * @generated
+ */
+ EOperation getLogicalExpression__Lower();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.LogicalExpression#upper() <em>Upper</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Upper</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.LogicalExpression#upper()
+ * @generated
+ */
+ EOperation getLogicalExpression__Upper();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.LogicalExpression#logicalExpressionTypeDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Logical Expression Type Derivation</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Logical Expression Type Derivation</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.LogicalExpression#logicalExpressionTypeDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getLogicalExpression__LogicalExpressionTypeDerivation__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.LogicalExpression#logicalExpressionLowerDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Logical Expression Lower Derivation</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Logical Expression Lower Derivation</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.LogicalExpression#logicalExpressionLowerDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getLogicalExpression__LogicalExpressionLowerDerivation__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.LogicalExpression#logicalExpressionUpperDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Logical Expression Upper Derivation</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Logical Expression Upper Derivation</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.LogicalExpression#logicalExpressionUpperDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getLogicalExpression__LogicalExpressionUpperDerivation__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.LogicalExpression#logicalExpressionOperands(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Logical Expression Operands</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Logical Expression Operands</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.LogicalExpression#logicalExpressionOperands(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getLogicalExpression__LogicalExpressionOperands__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.LogicalExpression#logicalExpressionIsBitStringConversion1Derivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * <em>Logical Expression Is Bit String Conversion1 Derivation</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Logical Expression Is Bit String Conversion1 Derivation</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.LogicalExpression#logicalExpressionIsBitStringConversion1Derivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getLogicalExpression__LogicalExpressionIsBitStringConversion1Derivation__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.LogicalExpression#logicalExpressionIsBitStringConversion2Derivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * <em>Logical Expression Is Bit String Conversion2 Derivation</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Logical Expression Is Bit String Conversion2 Derivation</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.LogicalExpression#logicalExpressionIsBitStringConversion2Derivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getLogicalExpression__LogicalExpressionIsBitStringConversion2Derivation__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.LogicalExpression#logicalExpressionIsBitWiseDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Logical Expression Is Bit Wise Derivation</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Logical Expression Is Bit Wise Derivation</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.LogicalExpression#logicalExpressionIsBitWiseDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getLogicalExpression__LogicalExpressionIsBitWiseDerivation__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.uml.alf.SequenceConstructionExpression <em>Sequence Construction Expression</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for class '<em>Sequence Construction Expression</em>'.
+ * @see org.eclipse.papyrus.uml.alf.SequenceConstructionExpression
+ * @generated
+ */
+ EClass getSequenceConstructionExpression();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.papyrus.uml.alf.SequenceConstructionExpression#getElements <em>Elements</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the containment reference '<em>Elements</em>'.
+ * @see org.eclipse.papyrus.uml.alf.SequenceConstructionExpression#getElements()
+ * @see #getSequenceConstructionExpression()
+ * @generated
+ */
+ EReference getSequenceConstructionExpression_Elements();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.uml.alf.SequenceConstructionExpression#isHasMultiplicity <em>Has Multiplicity</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the attribute '<em>Has Multiplicity</em>'.
+ * @see org.eclipse.papyrus.uml.alf.SequenceConstructionExpression#isHasMultiplicity()
+ * @see #getSequenceConstructionExpression()
+ * @generated
+ */
+ EAttribute getSequenceConstructionExpression_HasMultiplicity();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.papyrus.uml.alf.SequenceConstructionExpression#getTypeName <em>Type Name</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the containment reference '<em>Type Name</em>'.
+ * @see org.eclipse.papyrus.uml.alf.SequenceConstructionExpression#getTypeName()
+ * @see #getSequenceConstructionExpression()
+ * @generated
+ */
+ EReference getSequenceConstructionExpression_TypeName();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.uml.alf.SequenceConstructionExpression#isIsAny <em>Is Any</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the attribute '<em>Is Any</em>'.
+ * @see org.eclipse.papyrus.uml.alf.SequenceConstructionExpression#isIsAny()
+ * @see #getSequenceConstructionExpression()
+ * @generated
+ */
+ EAttribute getSequenceConstructionExpression_IsAny();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.SequenceConstructionExpression#collectionType() <em>Collection Type</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Collection Type</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.SequenceConstructionExpression#collectionType()
+ * @generated
+ */
+ EOperation getSequenceConstructionExpression__CollectionType();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.SequenceConstructionExpression#type() <em>Type</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Type</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.SequenceConstructionExpression#type()
+ * @generated
+ */
+ EOperation getSequenceConstructionExpression__Type();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.SequenceConstructionExpression#upper() <em>Upper</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Upper</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.SequenceConstructionExpression#upper()
+ * @generated
+ */
+ EOperation getSequenceConstructionExpression__Upper();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.SequenceConstructionExpression#lower() <em>Lower</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Lower</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.SequenceConstructionExpression#lower()
+ * @generated
+ */
+ EOperation getSequenceConstructionExpression__Lower();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.SequenceConstructionExpression#sequenceConstructionExpressionTypeDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * <em>Sequence Construction Expression Type Derivation</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Sequence Construction Expression Type Derivation</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.SequenceConstructionExpression#sequenceConstructionExpressionTypeDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getSequenceConstructionExpression__SequenceConstructionExpressionTypeDerivation__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.SequenceConstructionExpression#sequenceConstructionExpressionUpperDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * <em>Sequence Construction Expression Upper Derivation</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Sequence Construction Expression Upper Derivation</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.SequenceConstructionExpression#sequenceConstructionExpressionUpperDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getSequenceConstructionExpression__SequenceConstructionExpressionUpperDerivation__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.SequenceConstructionExpression#sequenceConstructionExpressionLowerDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * <em>Sequence Construction Expression Lower Derivation</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Sequence Construction Expression Lower Derivation</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.SequenceConstructionExpression#sequenceConstructionExpressionLowerDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getSequenceConstructionExpression__SequenceConstructionExpressionLowerDerivation__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.SequenceConstructionExpression#sequenceConstructionExpressionType(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Sequence Construction Expression Type</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Sequence Construction Expression Type</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.SequenceConstructionExpression#sequenceConstructionExpressionType(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getSequenceConstructionExpression__SequenceConstructionExpressionType__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.SequenceConstructionExpression#sequenceConstructionExpressionElementType(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * <em>Sequence Construction Expression Element Type</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Sequence Construction Expression Element Type</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.SequenceConstructionExpression#sequenceConstructionExpressionElementType(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getSequenceConstructionExpression__SequenceConstructionExpressionElementType__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.SequenceConstructionExpression#sequenceConstructionExpressionAssignmentsBefore(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * <em>Sequence Construction Expression Assignments Before</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Sequence Construction Expression Assignments Before</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.SequenceConstructionExpression#sequenceConstructionExpressionAssignmentsBefore(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getSequenceConstructionExpression__SequenceConstructionExpressionAssignmentsBefore__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.SequenceConstructionExpression#updateAssignments() <em>Update Assignments</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Update Assignments</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.SequenceConstructionExpression#updateAssignments()
+ * @generated
+ */
+ EOperation getSequenceConstructionExpression__UpdateAssignments();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.uml.alf.SequenceElements <em>Sequence Elements</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for class '<em>Sequence Elements</em>'.
+ * @see org.eclipse.papyrus.uml.alf.SequenceElements
+ * @generated
+ */
+ EClass getSequenceElements();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.uml.alf.SequenceElements#getUpper <em>Upper</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the attribute '<em>Upper</em>'.
+ * @see org.eclipse.papyrus.uml.alf.SequenceElements#getUpper()
+ * @see #getSequenceElements()
+ * @generated
+ */
+ EAttribute getSequenceElements_Upper();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.uml.alf.SequenceElements#getLower <em>Lower</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the attribute '<em>Lower</em>'.
+ * @see org.eclipse.papyrus.uml.alf.SequenceElements#getLower()
+ * @see #getSequenceElements()
+ * @generated
+ */
+ EAttribute getSequenceElements_Lower();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.SequenceElements#conformsTo(org.eclipse.papyrus.uml.alf.ElementReference) <em>Conforms To</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Conforms To</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.SequenceElements#conformsTo(org.eclipse.papyrus.uml.alf.ElementReference)
+ * @generated
+ */
+ EOperation getSequenceElements__ConformsTo__ElementReference();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.SequenceElements#assignmentsAfter() <em>Assignments After</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Assignments After</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.SequenceElements#assignmentsAfter()
+ * @generated
+ */
+ EOperation getSequenceElements__AssignmentsAfter();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.SequenceElements#upper() <em>Upper</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Upper</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.SequenceElements#upper()
+ * @generated
+ */
+ EOperation getSequenceElements__Upper();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.SequenceElements#lower() <em>Lower</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Lower</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.SequenceElements#lower()
+ * @generated
+ */
+ EOperation getSequenceElements__Lower();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.uml.alf.CollectOrIterateExpression <em>Collect Or Iterate Expression</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for class '<em>Collect Or Iterate Expression</em>'.
+ * @see org.eclipse.papyrus.uml.alf.CollectOrIterateExpression
+ * @generated
+ */
+ EClass getCollectOrIterateExpression();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.CollectOrIterateExpression#collectOrIterateExpressionTypeDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Collect Or Iterate Expression Type Derivation</em>}'
+ * operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Collect Or Iterate Expression Type Derivation</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.CollectOrIterateExpression#collectOrIterateExpressionTypeDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getCollectOrIterateExpression__CollectOrIterateExpressionTypeDerivation__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.CollectOrIterateExpression#collectOrIterateExpressionLowerDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Collect Or Iterate Expression Lower Derivation</em>}
+ * ' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Collect Or Iterate Expression Lower Derivation</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.CollectOrIterateExpression#collectOrIterateExpressionLowerDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getCollectOrIterateExpression__CollectOrIterateExpressionLowerDerivation__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.CollectOrIterateExpression#collectOrIterateExpressionUpperDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Collect Or Iterate Expression Upper Derivation</em>}
+ * ' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Collect Or Iterate Expression Upper Derivation</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.CollectOrIterateExpression#collectOrIterateExpressionUpperDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getCollectOrIterateExpression__CollectOrIterateExpressionUpperDerivation__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.uml.alf.IsUniqueExpression <em>Is Unique Expression</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for class '<em>Is Unique Expression</em>'.
+ * @see org.eclipse.papyrus.uml.alf.IsUniqueExpression
+ * @generated
+ */
+ EClass getIsUniqueExpression();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.IsUniqueExpression#isUniqueExpressionTypeDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Is Unique Expression Type Derivation</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Is Unique Expression Type Derivation</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.IsUniqueExpression#isUniqueExpressionTypeDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getIsUniqueExpression__IsUniqueExpressionTypeDerivation__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.IsUniqueExpression#isUniqueExpressionLowerDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Is Unique Expression Lower Derivation</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Is Unique Expression Lower Derivation</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.IsUniqueExpression#isUniqueExpressionLowerDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getIsUniqueExpression__IsUniqueExpressionLowerDerivation__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.IsUniqueExpression#isUniqueExpressionUpperDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Is Unique Expression Upper Derivation</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Is Unique Expression Upper Derivation</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.IsUniqueExpression#isUniqueExpressionUpperDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getIsUniqueExpression__IsUniqueExpressionUpperDerivation__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.IsUniqueExpression#isUniqueExpressionExpressionArgument(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Is Unique Expression Expression Argument</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Is Unique Expression Expression Argument</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.IsUniqueExpression#isUniqueExpressionExpressionArgument(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getIsUniqueExpression__IsUniqueExpressionExpressionArgument__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.uml.alf.ArithmeticExpression <em>Arithmetic Expression</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for class '<em>Arithmetic Expression</em>'.
+ * @see org.eclipse.papyrus.uml.alf.ArithmeticExpression
+ * @generated
+ */
+ EClass getArithmeticExpression();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.uml.alf.ArithmeticExpression#isIsConcatenation <em>Is Concatenation</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the attribute '<em>Is Concatenation</em>'.
+ * @see org.eclipse.papyrus.uml.alf.ArithmeticExpression#isIsConcatenation()
+ * @see #getArithmeticExpression()
+ * @generated
+ */
+ EAttribute getArithmeticExpression_IsConcatenation();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.ArithmeticExpression#type() <em>Type</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Type</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.ArithmeticExpression#type()
+ * @generated
+ */
+ EOperation getArithmeticExpression__Type();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.ArithmeticExpression#lower() <em>Lower</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Lower</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.ArithmeticExpression#lower()
+ * @generated
+ */
+ EOperation getArithmeticExpression__Lower();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.ArithmeticExpression#upper() <em>Upper</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Upper</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.ArithmeticExpression#upper()
+ * @generated
+ */
+ EOperation getArithmeticExpression__Upper();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.ArithmeticExpression#arithmeticExpressionIsConcatenationDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * <em>Arithmetic Expression Is Concatenation Derivation</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Arithmetic Expression Is Concatenation Derivation</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.ArithmeticExpression#arithmeticExpressionIsConcatenationDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getArithmeticExpression__ArithmeticExpressionIsConcatenationDerivation__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.ArithmeticExpression#arithmeticExpressionTypeDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Arithmetic Expression Type Derivation</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Arithmetic Expression Type Derivation</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.ArithmeticExpression#arithmeticExpressionTypeDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getArithmeticExpression__ArithmeticExpressionTypeDerivation__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.ArithmeticExpression#arithmeticExpressionLowerDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Arithmetic Expression Lower Derivation</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Arithmetic Expression Lower Derivation</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.ArithmeticExpression#arithmeticExpressionLowerDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getArithmeticExpression__ArithmeticExpressionLowerDerivation__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.ArithmeticExpression#arithmeticExpressionUpperDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Arithmetic Expression Upper Derivation</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Arithmetic Expression Upper Derivation</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.ArithmeticExpression#arithmeticExpressionUpperDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getArithmeticExpression__ArithmeticExpressionUpperDerivation__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.ArithmeticExpression#arithmeticExpressionOperandTypes(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Arithmetic Expression Operand Types</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Arithmetic Expression Operand Types</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.ArithmeticExpression#arithmeticExpressionOperandTypes(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getArithmeticExpression__ArithmeticExpressionOperandTypes__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.uml.alf.FeatureLeftHandSide <em>Feature Left Hand Side</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for class '<em>Feature Left Hand Side</em>'.
+ * @see org.eclipse.papyrus.uml.alf.FeatureLeftHandSide
+ * @generated
+ */
+ EClass getFeatureLeftHandSide();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.papyrus.uml.alf.FeatureLeftHandSide#getExpression <em>Expression</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the containment reference '<em>Expression</em>'.
+ * @see org.eclipse.papyrus.uml.alf.FeatureLeftHandSide#getExpression()
+ * @see #getFeatureLeftHandSide()
+ * @generated
+ */
+ EReference getFeatureLeftHandSide_Expression();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.FeatureLeftHandSide#referent() <em>Referent</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Referent</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.FeatureLeftHandSide#referent()
+ * @generated
+ */
+ EOperation getFeatureLeftHandSide__Referent();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.FeatureLeftHandSide#feature() <em>Feature</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Feature</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.FeatureLeftHandSide#feature()
+ * @generated
+ */
+ EOperation getFeatureLeftHandSide__Feature();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.FeatureLeftHandSide#index() <em>Index</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Index</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.FeatureLeftHandSide#index()
+ * @generated
+ */
+ EOperation getFeatureLeftHandSide__Index();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.FeatureLeftHandSide#localName() <em>Local Name</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Local Name</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.FeatureLeftHandSide#localName()
+ * @generated
+ */
+ EOperation getFeatureLeftHandSide__LocalName();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.FeatureLeftHandSide#featureLeftHandSideAssignmentBeforeDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * <em>Feature Left Hand Side Assignment Before Derivation</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Feature Left Hand Side Assignment Before Derivation</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.FeatureLeftHandSide#featureLeftHandSideAssignmentBeforeDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getFeatureLeftHandSide__FeatureLeftHandSideAssignmentBeforeDerivation__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.FeatureLeftHandSide#featureLeftHandSideAssignmentAfterDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Feature Left Hand Side Assignment After Derivation</em>}
+ * ' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Feature Left Hand Side Assignment After Derivation</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.FeatureLeftHandSide#featureLeftHandSideAssignmentAfterDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getFeatureLeftHandSide__FeatureLeftHandSideAssignmentAfterDerivation__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.FeatureLeftHandSide#featureLeftHandSideFeatureExpression(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Feature Left Hand Side Feature Expression</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Feature Left Hand Side Feature Expression</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.FeatureLeftHandSide#featureLeftHandSideFeatureExpression(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getFeatureLeftHandSide__FeatureLeftHandSideFeatureExpression__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.FeatureLeftHandSide#featureLeftHandSideAssignmentsBefore(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Feature Left Hand Side Assignments Before</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Feature Left Hand Side Assignments Before</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.FeatureLeftHandSide#featureLeftHandSideAssignmentsBefore(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getFeatureLeftHandSide__FeatureLeftHandSideAssignmentsBefore__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.FeatureLeftHandSide#featureLeftHandSideReferentDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Feature Left Hand Side Referent Derivation</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Feature Left Hand Side Referent Derivation</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.FeatureLeftHandSide#featureLeftHandSideReferentDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getFeatureLeftHandSide__FeatureLeftHandSideReferentDerivation__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.FeatureLeftHandSide#featureLeftHandSideTypeDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Feature Left Hand Side Type Derivation</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Feature Left Hand Side Type Derivation</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.FeatureLeftHandSide#featureLeftHandSideTypeDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getFeatureLeftHandSide__FeatureLeftHandSideTypeDerivation__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.FeatureLeftHandSide#featureLeftHandSideLowerDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Feature Left Hand Side Lower Derivation</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Feature Left Hand Side Lower Derivation</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.FeatureLeftHandSide#featureLeftHandSideLowerDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getFeatureLeftHandSide__FeatureLeftHandSideLowerDerivation__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.FeatureLeftHandSide#featureLeftHandSideUpperDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Feature Left Hand Side Upper Derivation</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Feature Left Hand Side Upper Derivation</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.FeatureLeftHandSide#featureLeftHandSideUpperDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getFeatureLeftHandSide__FeatureLeftHandSideUpperDerivation__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.FeatureLeftHandSide#featureLeftHandSideReferentConstraint(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Feature Left Hand Side Referent Constraint</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Feature Left Hand Side Referent Constraint</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.FeatureLeftHandSide#featureLeftHandSideReferentConstraint(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getFeatureLeftHandSide__FeatureLeftHandSideReferentConstraint__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.FeatureLeftHandSide#featureLeftHandSideIndexedFeature(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Feature Left Hand Side Indexed Feature</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Feature Left Hand Side Indexed Feature</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.FeatureLeftHandSide#featureLeftHandSideIndexedFeature(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getFeatureLeftHandSide__FeatureLeftHandSideIndexedFeature__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.uml.alf.ConditionalTestExpression <em>Conditional Test Expression</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for class '<em>Conditional Test Expression</em>'.
+ * @see org.eclipse.papyrus.uml.alf.ConditionalTestExpression
+ * @generated
+ */
+ EClass getConditionalTestExpression();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.papyrus.uml.alf.ConditionalTestExpression#getOperand1 <em>Operand1</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the containment reference '<em>Operand1</em>'.
+ * @see org.eclipse.papyrus.uml.alf.ConditionalTestExpression#getOperand1()
+ * @see #getConditionalTestExpression()
+ * @generated
+ */
+ EReference getConditionalTestExpression_Operand1();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.papyrus.uml.alf.ConditionalTestExpression#getOperand2 <em>Operand2</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the containment reference '<em>Operand2</em>'.
+ * @see org.eclipse.papyrus.uml.alf.ConditionalTestExpression#getOperand2()
+ * @see #getConditionalTestExpression()
+ * @generated
+ */
+ EReference getConditionalTestExpression_Operand2();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.papyrus.uml.alf.ConditionalTestExpression#getOperand3 <em>Operand3</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the containment reference '<em>Operand3</em>'.
+ * @see org.eclipse.papyrus.uml.alf.ConditionalTestExpression#getOperand3()
+ * @see #getConditionalTestExpression()
+ * @generated
+ */
+ EReference getConditionalTestExpression_Operand3();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.ConditionalTestExpression#type() <em>Type</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Type</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.ConditionalTestExpression#type()
+ * @generated
+ */
+ EOperation getConditionalTestExpression__Type();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.ConditionalTestExpression#lower() <em>Lower</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Lower</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.ConditionalTestExpression#lower()
+ * @generated
+ */
+ EOperation getConditionalTestExpression__Lower();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.ConditionalTestExpression#upper() <em>Upper</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Upper</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.ConditionalTestExpression#upper()
+ * @generated
+ */
+ EOperation getConditionalTestExpression__Upper();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.ConditionalTestExpression#assignmentsBefore(org.eclipse.papyrus.uml.alf.SyntaxElement) <em>Assignments Before</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Assignments Before</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.ConditionalTestExpression#assignmentsBefore(org.eclipse.papyrus.uml.alf.SyntaxElement)
+ * @generated
+ */
+ EOperation getConditionalTestExpression__AssignmentsBefore__SyntaxElement();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.ConditionalTestExpression#conditionalTestExpressionTypeDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Conditional Test Expression Type Derivation</em>}'
+ * operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Conditional Test Expression Type Derivation</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.ConditionalTestExpression#conditionalTestExpressionTypeDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getConditionalTestExpression__ConditionalTestExpressionTypeDerivation__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.ConditionalTestExpression#conditionalTestExpressionLowerDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Conditional Test Expression Lower Derivation</em>}'
+ * operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Conditional Test Expression Lower Derivation</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.ConditionalTestExpression#conditionalTestExpressionLowerDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getConditionalTestExpression__ConditionalTestExpressionLowerDerivation__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.ConditionalTestExpression#conditionalTestExpressionUpperDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Conditional Test Expression Upper Derivation</em>}'
+ * operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Conditional Test Expression Upper Derivation</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.ConditionalTestExpression#conditionalTestExpressionUpperDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getConditionalTestExpression__ConditionalTestExpressionUpperDerivation__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.ConditionalTestExpression#conditionalTestExpressionCondition(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Conditional Test Expression Condition</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Conditional Test Expression Condition</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.ConditionalTestExpression#conditionalTestExpressionCondition(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getConditionalTestExpression__ConditionalTestExpressionCondition__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.ConditionalTestExpression#conditionalTestExpressionAssignmentsBefore(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Conditional Test Expression Assignments Before</em>}
+ * ' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Conditional Test Expression Assignments Before</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.ConditionalTestExpression#conditionalTestExpressionAssignmentsBefore(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getConditionalTestExpression__ConditionalTestExpressionAssignmentsBefore__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.ConditionalTestExpression#conditionalTestExpressionAssignmentsAfter(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Conditional Test Expression Assignments After</em>}'
+ * operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Conditional Test Expression Assignments After</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.ConditionalTestExpression#conditionalTestExpressionAssignmentsAfter(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getConditionalTestExpression__ConditionalTestExpressionAssignmentsAfter__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.ConditionalTestExpression#updateAssignments() <em>Update Assignments</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Update Assignments</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.ConditionalTestExpression#updateAssignments()
+ * @generated
+ */
+ EOperation getConditionalTestExpression__UpdateAssignments();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.uml.alf.InstanceCreationExpression <em>Instance Creation Expression</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for class '<em>Instance Creation Expression</em>'.
+ * @see org.eclipse.papyrus.uml.alf.InstanceCreationExpression
+ * @generated
+ */
+ EClass getInstanceCreationExpression();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.uml.alf.InstanceCreationExpression#isIsConstructorless <em>Is Constructorless</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the attribute '<em>Is Constructorless</em>'.
+ * @see org.eclipse.papyrus.uml.alf.InstanceCreationExpression#isIsConstructorless()
+ * @see #getInstanceCreationExpression()
+ * @generated
+ */
+ EAttribute getInstanceCreationExpression_IsConstructorless();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.uml.alf.InstanceCreationExpression#isIsObjectCreation <em>Is Object Creation</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the attribute '<em>Is Object Creation</em>'.
+ * @see org.eclipse.papyrus.uml.alf.InstanceCreationExpression#isIsObjectCreation()
+ * @see #getInstanceCreationExpression()
+ * @generated
+ */
+ EAttribute getInstanceCreationExpression_IsObjectCreation();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.papyrus.uml.alf.InstanceCreationExpression#getConstructor <em>Constructor</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the containment reference '<em>Constructor</em>'.
+ * @see org.eclipse.papyrus.uml.alf.InstanceCreationExpression#getConstructor()
+ * @see #getInstanceCreationExpression()
+ * @generated
+ */
+ EReference getInstanceCreationExpression_Constructor();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.InstanceCreationExpression#referent() <em>Referent</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Referent</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.InstanceCreationExpression#referent()
+ * @generated
+ */
+ EOperation getInstanceCreationExpression__Referent();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.InstanceCreationExpression#feature() <em>Feature</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Feature</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.InstanceCreationExpression#feature()
+ * @generated
+ */
+ EOperation getInstanceCreationExpression__Feature();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.InstanceCreationExpression#type() <em>Type</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Type</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.InstanceCreationExpression#type()
+ * @generated
+ */
+ EOperation getInstanceCreationExpression__Type();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.InstanceCreationExpression#lower() <em>Lower</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Lower</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.InstanceCreationExpression#lower()
+ * @generated
+ */
+ EOperation getInstanceCreationExpression__Lower();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.InstanceCreationExpression#upper() <em>Upper</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Upper</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.InstanceCreationExpression#upper()
+ * @generated
+ */
+ EOperation getInstanceCreationExpression__Upper();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.InstanceCreationExpression#instanceCreationExpressionIsObjectCreationDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * <em>Instance Creation Expression Is Object Creation Derivation</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Instance Creation Expression Is Object Creation Derivation</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.InstanceCreationExpression#instanceCreationExpressionIsObjectCreationDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getInstanceCreationExpression__InstanceCreationExpressionIsObjectCreationDerivation__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.InstanceCreationExpression#instanceCreationExpressionIsConstructorlessDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * <em>Instance Creation Expression Is Constructorless Derivation</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Instance Creation Expression Is Constructorless Derivation</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.InstanceCreationExpression#instanceCreationExpressionIsConstructorlessDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getInstanceCreationExpression__InstanceCreationExpressionIsConstructorlessDerivation__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.InstanceCreationExpression#instanceCreationExpressionReferentDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * <em>Instance Creation Expression Referent Derivation</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Instance Creation Expression Referent Derivation</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.InstanceCreationExpression#instanceCreationExpressionReferentDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getInstanceCreationExpression__InstanceCreationExpressionReferentDerivation__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.InstanceCreationExpression#instanceCreationExpressionFeatureDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * <em>Instance Creation Expression Feature Derivation</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Instance Creation Expression Feature Derivation</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.InstanceCreationExpression#instanceCreationExpressionFeatureDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getInstanceCreationExpression__InstanceCreationExpressionFeatureDerivation__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.InstanceCreationExpression#instanceCreationExpressionConstructor(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Instance Creation Expression Constructor</em>}'
+ * operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Instance Creation Expression Constructor</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.InstanceCreationExpression#instanceCreationExpressionConstructor(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getInstanceCreationExpression__InstanceCreationExpressionConstructor__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.InstanceCreationExpression#instanceCreationExpressionConstructorlessLegality(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * <em>Instance Creation Expression Constructorless Legality</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Instance Creation Expression Constructorless Legality</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.InstanceCreationExpression#instanceCreationExpressionConstructorlessLegality(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getInstanceCreationExpression__InstanceCreationExpressionConstructorlessLegality__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.InstanceCreationExpression#instanceCreationExpressionDataTypeCompatibility(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * <em>Instance Creation Expression Data Type Compatibility</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Instance Creation Expression Data Type Compatibility</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.InstanceCreationExpression#instanceCreationExpressionDataTypeCompatibility(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getInstanceCreationExpression__InstanceCreationExpressionDataTypeCompatibility__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.InstanceCreationExpression#instanceCreationExpressionReferent(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Instance Creation Expression Referent</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Instance Creation Expression Referent</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.InstanceCreationExpression#instanceCreationExpressionReferent(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getInstanceCreationExpression__InstanceCreationExpressionReferent__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.InstanceCreationExpression#parameterElements() <em>Parameter Elements</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Parameter Elements</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.InstanceCreationExpression#parameterElements()
+ * @generated
+ */
+ EOperation getInstanceCreationExpression__ParameterElements();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.uml.alf.PropertyAccessExpression <em>Property Access Expression</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for class '<em>Property Access Expression</em>'.
+ * @see org.eclipse.papyrus.uml.alf.PropertyAccessExpression
+ * @generated
+ */
+ EClass getPropertyAccessExpression();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.papyrus.uml.alf.PropertyAccessExpression#getFeatureReference <em>Feature Reference</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the containment reference '<em>Feature Reference</em>'.
+ * @see org.eclipse.papyrus.uml.alf.PropertyAccessExpression#getFeatureReference()
+ * @see #getPropertyAccessExpression()
+ * @generated
+ */
+ EReference getPropertyAccessExpression_FeatureReference();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.uml.alf.PropertyAccessExpression#getFeature <em>Feature</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the reference '<em>Feature</em>'.
+ * @see org.eclipse.papyrus.uml.alf.PropertyAccessExpression#getFeature()
+ * @see #getPropertyAccessExpression()
+ * @generated
+ */
+ EReference getPropertyAccessExpression_Feature();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.PropertyAccessExpression#type() <em>Type</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Type</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.PropertyAccessExpression#type()
+ * @generated
+ */
+ EOperation getPropertyAccessExpression__Type();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.PropertyAccessExpression#upper() <em>Upper</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Upper</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.PropertyAccessExpression#upper()
+ * @generated
+ */
+ EOperation getPropertyAccessExpression__Upper();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.PropertyAccessExpression#lower() <em>Lower</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Lower</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.PropertyAccessExpression#lower()
+ * @generated
+ */
+ EOperation getPropertyAccessExpression__Lower();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.PropertyAccessExpression#propertyAccessExpressionFeatureDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Property Access Expression Feature Derivation</em>}'
+ * operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Property Access Expression Feature Derivation</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.PropertyAccessExpression#propertyAccessExpressionFeatureDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getPropertyAccessExpression__PropertyAccessExpressionFeatureDerivation__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.PropertyAccessExpression#propertyAccessExpressionTypeDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Property Access Expression Type Derivation</em>}'
+ * operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Property Access Expression Type Derivation</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.PropertyAccessExpression#propertyAccessExpressionTypeDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getPropertyAccessExpression__PropertyAccessExpressionTypeDerivation__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.PropertyAccessExpression#propertyAccessExpressionUpperDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Property Access Expression Upper Derivation</em>}'
+ * operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Property Access Expression Upper Derivation</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.PropertyAccessExpression#propertyAccessExpressionUpperDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getPropertyAccessExpression__PropertyAccessExpressionUpperDerivation__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.PropertyAccessExpression#propertyAccessExpressionLowerDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Property Access Expression Lower Derivation</em>}'
+ * operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Property Access Expression Lower Derivation</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.PropertyAccessExpression#propertyAccessExpressionLowerDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getPropertyAccessExpression__PropertyAccessExpressionLowerDerivation__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.PropertyAccessExpression#propertyAccessExpressionFeatureResolution(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Property Access Expression Feature Resolution</em>}'
+ * operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Property Access Expression Feature Resolution</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.PropertyAccessExpression#propertyAccessExpressionFeatureResolution(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getPropertyAccessExpression__PropertyAccessExpressionFeatureResolution__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.PropertyAccessExpression#propertyAccessExpressionAssignmentsBefore(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Property Access Expression Assignments Before</em>}'
+ * operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Property Access Expression Assignments Before</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.PropertyAccessExpression#propertyAccessExpressionAssignmentsBefore(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getPropertyAccessExpression__PropertyAccessExpressionAssignmentsBefore__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.PropertyAccessExpression#updateAssignments() <em>Update Assignments</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Update Assignments</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.PropertyAccessExpression#updateAssignments()
+ * @generated
+ */
+ EOperation getPropertyAccessExpression__UpdateAssignments();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.uml.alf.NameExpression <em>Name Expression</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for class '<em>Name Expression</em>'.
+ * @see org.eclipse.papyrus.uml.alf.NameExpression
+ * @generated
+ */
+ EClass getNameExpression();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.uml.alf.NameExpression#getEnumerationLiteral <em>Enumeration Literal</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the reference '<em>Enumeration Literal</em>'.
+ * @see org.eclipse.papyrus.uml.alf.NameExpression#getEnumerationLiteral()
+ * @see #getNameExpression()
+ * @generated
+ */
+ EReference getNameExpression_EnumerationLiteral();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.uml.alf.NameExpression#getAssignment <em>Assignment</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the reference '<em>Assignment</em>'.
+ * @see org.eclipse.papyrus.uml.alf.NameExpression#getAssignment()
+ * @see #getNameExpression()
+ * @generated
+ */
+ EReference getNameExpression_Assignment();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.uml.alf.NameExpression#getPropertyAccess <em>Property Access</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the reference '<em>Property Access</em>'.
+ * @see org.eclipse.papyrus.uml.alf.NameExpression#getPropertyAccess()
+ * @see #getNameExpression()
+ * @generated
+ */
+ EReference getNameExpression_PropertyAccess();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.papyrus.uml.alf.NameExpression#getName <em>Name</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the containment reference '<em>Name</em>'.
+ * @see org.eclipse.papyrus.uml.alf.NameExpression#getName()
+ * @see #getNameExpression()
+ * @generated
+ */
+ EReference getNameExpression_Name();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.NameExpression#type() <em>Type</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Type</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.NameExpression#type()
+ * @generated
+ */
+ EOperation getNameExpression__Type();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.NameExpression#upper() <em>Upper</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Upper</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.NameExpression#upper()
+ * @generated
+ */
+ EOperation getNameExpression__Upper();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.NameExpression#lower() <em>Lower</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Lower</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.NameExpression#lower()
+ * @generated
+ */
+ EOperation getNameExpression__Lower();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.NameExpression#parameterReferent() <em>Parameter Referent</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Parameter Referent</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.NameExpression#parameterReferent()
+ * @generated
+ */
+ EOperation getNameExpression__ParameterReferent();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.NameExpression#assignmentFor(java.lang.String) <em>Assignment For</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Assignment For</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.NameExpression#assignmentFor(java.lang.String)
+ * @generated
+ */
+ EOperation getNameExpression__AssignmentFor__String();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.NameExpression#assignmentFor_(java.lang.String) <em>Assignment For </em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Assignment For </em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.NameExpression#assignmentFor_(java.lang.String)
+ * @generated
+ */
+ EOperation getNameExpression__AssignmentFor___String();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.NameExpression#isAddTarget() <em>Is Add Target</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Is Add Target</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.NameExpression#isAddTarget()
+ * @generated
+ */
+ EOperation getNameExpression__IsAddTarget();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.NameExpression#nameExpressionAssignmentDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Name Expression Assignment Derivation</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Name Expression Assignment Derivation</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.NameExpression#nameExpressionAssignmentDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getNameExpression__NameExpressionAssignmentDerivation__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.NameExpression#nameExpressionEnumerationLiteralDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Name Expression Enumeration Literal Derivation</em>}'
+ * operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Name Expression Enumeration Literal Derivation</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.NameExpression#nameExpressionEnumerationLiteralDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getNameExpression__NameExpressionEnumerationLiteralDerivation__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.NameExpression#nameExpressionPropertyAccessDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Name Expression Property Access Derivation</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Name Expression Property Access Derivation</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.NameExpression#nameExpressionPropertyAccessDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getNameExpression__NameExpressionPropertyAccessDerivation__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.NameExpression#nameExpressionTypeDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Name Expression Type Derivation</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Name Expression Type Derivation</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.NameExpression#nameExpressionTypeDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getNameExpression__NameExpressionTypeDerivation__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.NameExpression#nameExpressionUpperDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Name Expression Upper Derivation</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Name Expression Upper Derivation</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.NameExpression#nameExpressionUpperDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getNameExpression__NameExpressionUpperDerivation__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.NameExpression#nameExpressionLowerDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Name Expression Lower Derivation</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Name Expression Lower Derivation</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.NameExpression#nameExpressionLowerDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getNameExpression__NameExpressionLowerDerivation__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.NameExpression#nameExpressionResolution(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Name Expression Resolution</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Name Expression Resolution</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.NameExpression#nameExpressionResolution(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getNameExpression__NameExpressionResolution__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.NameExpression#validateNameExpressionResolution() <em>Validate Name Expression Resolution</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Validate Name Expression Resolution</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.NameExpression#validateNameExpressionResolution()
+ * @generated
+ */
+ EOperation getNameExpression__ValidateNameExpressionResolution();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.NameExpression#updateAssignments() <em>Update Assignments</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Update Assignments</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.NameExpression#updateAssignments()
+ * @generated
+ */
+ EOperation getNameExpression__UpdateAssignments();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.uml.alf.BitStringUnaryExpression <em>Bit String Unary Expression</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for class '<em>Bit String Unary Expression</em>'.
+ * @see org.eclipse.papyrus.uml.alf.BitStringUnaryExpression
+ * @generated
+ */
+ EClass getBitStringUnaryExpression();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.uml.alf.BitStringUnaryExpression#isIsBitStringConversion <em>Is Bit String Conversion</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the attribute '<em>Is Bit String Conversion</em>'.
+ * @see org.eclipse.papyrus.uml.alf.BitStringUnaryExpression#isIsBitStringConversion()
+ * @see #getBitStringUnaryExpression()
+ * @generated
+ */
+ EAttribute getBitStringUnaryExpression_IsBitStringConversion();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.BitStringUnaryExpression#type() <em>Type</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Type</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.BitStringUnaryExpression#type()
+ * @generated
+ */
+ EOperation getBitStringUnaryExpression__Type();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.BitStringUnaryExpression#lower() <em>Lower</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Lower</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.BitStringUnaryExpression#lower()
+ * @generated
+ */
+ EOperation getBitStringUnaryExpression__Lower();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.BitStringUnaryExpression#upper() <em>Upper</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Upper</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.BitStringUnaryExpression#upper()
+ * @generated
+ */
+ EOperation getBitStringUnaryExpression__Upper();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.BitStringUnaryExpression#bitStringUnaryExpressionTypeDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Bit String Unary Expression Type Derivation</em>}'
+ * operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Bit String Unary Expression Type Derivation</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.BitStringUnaryExpression#bitStringUnaryExpressionTypeDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getBitStringUnaryExpression__BitStringUnaryExpressionTypeDerivation__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.BitStringUnaryExpression#bitStringUnaryExpressionLowerDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Bit String Unary Expression Lower Derivation</em>}'
+ * operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Bit String Unary Expression Lower Derivation</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.BitStringUnaryExpression#bitStringUnaryExpressionLowerDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getBitStringUnaryExpression__BitStringUnaryExpressionLowerDerivation__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.BitStringUnaryExpression#bitStringUnaryExpressionUpperDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Bit String Unary Expression Upper Derivation</em>}'
+ * operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Bit String Unary Expression Upper Derivation</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.BitStringUnaryExpression#bitStringUnaryExpressionUpperDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getBitStringUnaryExpression__BitStringUnaryExpressionUpperDerivation__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.BitStringUnaryExpression#bitStringUnaryExpressionOperand(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Bit String Unary Expression Operand</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Bit String Unary Expression Operand</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.BitStringUnaryExpression#bitStringUnaryExpressionOperand(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getBitStringUnaryExpression__BitStringUnaryExpressionOperand__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.BitStringUnaryExpression#bitStringUnaryExpressionIsBitStringConversionDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * <em>Bit String Unary Expression Is Bit String Conversion Derivation</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Bit String Unary Expression Is Bit String Conversion Derivation</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.BitStringUnaryExpression#bitStringUnaryExpressionIsBitStringConversionDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getBitStringUnaryExpression__BitStringUnaryExpressionIsBitStringConversionDerivation__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.uml.alf.FeatureInvocationExpression <em>Feature Invocation Expression</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for class '<em>Feature Invocation Expression</em>'.
+ * @see org.eclipse.papyrus.uml.alf.FeatureInvocationExpression
+ * @generated
+ */
+ EClass getFeatureInvocationExpression();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.papyrus.uml.alf.FeatureInvocationExpression#getTarget <em>Target</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the containment reference '<em>Target</em>'.
+ * @see org.eclipse.papyrus.uml.alf.FeatureInvocationExpression#getTarget()
+ * @see #getFeatureInvocationExpression()
+ * @generated
+ */
+ EReference getFeatureInvocationExpression_Target();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.FeatureInvocationExpression#feature() <em>Feature</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Feature</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.FeatureInvocationExpression#feature()
+ * @generated
+ */
+ EOperation getFeatureInvocationExpression__Feature();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.FeatureInvocationExpression#referent() <em>Referent</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Referent</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.FeatureInvocationExpression#referent()
+ * @generated
+ */
+ EOperation getFeatureInvocationExpression__Referent();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.FeatureInvocationExpression#featureInvocationExpressionReferentDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * <em>Feature Invocation Expression Referent Derivation</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Feature Invocation Expression Referent Derivation</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.FeatureInvocationExpression#featureInvocationExpressionReferentDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getFeatureInvocationExpression__FeatureInvocationExpressionReferentDerivation__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.FeatureInvocationExpression#featureInvocationExpressionFeatureDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * <em>Feature Invocation Expression Feature Derivation</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Feature Invocation Expression Feature Derivation</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.FeatureInvocationExpression#featureInvocationExpressionFeatureDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getFeatureInvocationExpression__FeatureInvocationExpressionFeatureDerivation__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.FeatureInvocationExpression#featureInvocationExpressionReferentExists(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Feature Invocation Expression Referent Exists</em>}
+ * ' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Feature Invocation Expression Referent Exists</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.FeatureInvocationExpression#featureInvocationExpressionReferentExists(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getFeatureInvocationExpression__FeatureInvocationExpressionReferentExists__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.FeatureInvocationExpression#featureInvocationExpressionAlternativeConstructor(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * <em>Feature Invocation Expression Alternative Constructor</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Feature Invocation Expression Alternative Constructor</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.FeatureInvocationExpression#featureInvocationExpressionAlternativeConstructor(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getFeatureInvocationExpression__FeatureInvocationExpressionAlternativeConstructor__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.FeatureInvocationExpression#featureInvocationExpressionImplicitAlternativeConstructor(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * <em>Feature Invocation Expression Implicit Alternative Constructor</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Feature Invocation Expression Implicit Alternative Constructor</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.FeatureInvocationExpression#featureInvocationExpressionImplicitAlternativeConstructor(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getFeatureInvocationExpression__FeatureInvocationExpressionImplicitAlternativeConstructor__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.uml.alf.BehaviorInvocationExpression <em>Behavior Invocation Expression</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for class '<em>Behavior Invocation Expression</em>'.
+ * @see org.eclipse.papyrus.uml.alf.BehaviorInvocationExpression
+ * @generated
+ */
+ EClass getBehaviorInvocationExpression();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.papyrus.uml.alf.BehaviorInvocationExpression#getTarget <em>Target</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the containment reference '<em>Target</em>'.
+ * @see org.eclipse.papyrus.uml.alf.BehaviorInvocationExpression#getTarget()
+ * @see #getBehaviorInvocationExpression()
+ * @generated
+ */
+ EReference getBehaviorInvocationExpression_Target();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.BehaviorInvocationExpression#isAddTarget(org.eclipse.papyrus.uml.alf.Expression) <em>Is Add Target</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Is Add Target</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.BehaviorInvocationExpression#isAddTarget(org.eclipse.papyrus.uml.alf.Expression)
+ * @generated
+ */
+ EOperation getBehaviorInvocationExpression__IsAddTarget__Expression();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.BehaviorInvocationExpression#referent() <em>Referent</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Referent</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.BehaviorInvocationExpression#referent()
+ * @generated
+ */
+ EOperation getBehaviorInvocationExpression__Referent();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.BehaviorInvocationExpression#referent1() <em>Referent1</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Referent1</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.BehaviorInvocationExpression#referent1()
+ * @generated
+ */
+ EOperation getBehaviorInvocationExpression__Referent1();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.BehaviorInvocationExpression#BehaviorInvocation_referent() <em>Behavior Invocation referent</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Behavior Invocation referent</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.BehaviorInvocationExpression#BehaviorInvocation_referent()
+ * @generated
+ */
+ EOperation getBehaviorInvocationExpression__BehaviorInvocation_referent();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.BehaviorInvocationExpression#feature() <em>Feature</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Feature</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.BehaviorInvocationExpression#feature()
+ * @generated
+ */
+ EOperation getBehaviorInvocationExpression__Feature();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.BehaviorInvocationExpression#behaviorInvocationExpressionReferentDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * <em>Behavior Invocation Expression Referent Derivation</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Behavior Invocation Expression Referent Derivation</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.BehaviorInvocationExpression#behaviorInvocationExpressionReferentDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getBehaviorInvocationExpression__BehaviorInvocationExpressionReferentDerivation__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.BehaviorInvocationExpression#behaviorInvocationExpressionFeatureDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * <em>Behavior Invocation Expression Feature Derivation</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Behavior Invocation Expression Feature Derivation</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.BehaviorInvocationExpression#behaviorInvocationExpressionFeatureDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getBehaviorInvocationExpression__BehaviorInvocationExpressionFeatureDerivation__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.BehaviorInvocationExpression#behaviorInvocationExpressionReferentConstraint(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * <em>Behavior Invocation Expression Referent Constraint</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Behavior Invocation Expression Referent Constraint</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.BehaviorInvocationExpression#behaviorInvocationExpressionReferentConstraint(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getBehaviorInvocationExpression__BehaviorInvocationExpressionReferentConstraint__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.BehaviorInvocationExpression#behaviorInvocationExpressionArgumentCompatibility(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * <em>Behavior Invocation Expression Argument Compatibility</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Behavior Invocation Expression Argument Compatibility</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.BehaviorInvocationExpression#behaviorInvocationExpressionArgumentCompatibility(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getBehaviorInvocationExpression__BehaviorInvocationExpressionArgumentCompatibility__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.BehaviorInvocationExpression#behaviorInvocationExpressionAlternativeConstructor(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * <em>Behavior Invocation Expression Alternative Constructor</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Behavior Invocation Expression Alternative Constructor</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.BehaviorInvocationExpression#behaviorInvocationExpressionAlternativeConstructor(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getBehaviorInvocationExpression__BehaviorInvocationExpressionAlternativeConstructor__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.uml.alf.ShiftExpression <em>Shift Expression</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for class '<em>Shift Expression</em>'.
+ * @see org.eclipse.papyrus.uml.alf.ShiftExpression
+ * @generated
+ */
+ EClass getShiftExpression();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.uml.alf.ShiftExpression#isIsBitStringConversion <em>Is Bit String Conversion</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the attribute '<em>Is Bit String Conversion</em>'.
+ * @see org.eclipse.papyrus.uml.alf.ShiftExpression#isIsBitStringConversion()
+ * @see #getShiftExpression()
+ * @generated
+ */
+ EAttribute getShiftExpression_IsBitStringConversion();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.ShiftExpression#type() <em>Type</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Type</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.ShiftExpression#type()
+ * @generated
+ */
+ EOperation getShiftExpression__Type();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.ShiftExpression#lower() <em>Lower</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Lower</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.ShiftExpression#lower()
+ * @generated
+ */
+ EOperation getShiftExpression__Lower();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.ShiftExpression#upper() <em>Upper</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Upper</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.ShiftExpression#upper()
+ * @generated
+ */
+ EOperation getShiftExpression__Upper();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.ShiftExpression#shiftExpressionTypeDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Shift Expression Type Derivation</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Shift Expression Type Derivation</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.ShiftExpression#shiftExpressionTypeDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getShiftExpression__ShiftExpressionTypeDerivation__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.ShiftExpression#shiftExpressionLowerDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Shift Expression Lower Derivation</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Shift Expression Lower Derivation</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.ShiftExpression#shiftExpressionLowerDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getShiftExpression__ShiftExpressionLowerDerivation__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.ShiftExpression#shiftExpressionUpperDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Shift Expression Upper Derivation</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Shift Expression Upper Derivation</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.ShiftExpression#shiftExpressionUpperDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getShiftExpression__ShiftExpressionUpperDerivation__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.ShiftExpression#shiftExpressionOperands(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Shift Expression Operands</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Shift Expression Operands</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.ShiftExpression#shiftExpressionOperands(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getShiftExpression__ShiftExpressionOperands__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.ShiftExpression#shiftExpressionIsBitStringConversionDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Shift Expression Is Bit String Conversion Derivation</em>}
+ * ' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Shift Expression Is Bit String Conversion Derivation</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.ShiftExpression#shiftExpressionIsBitStringConversionDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getShiftExpression__ShiftExpressionIsBitStringConversionDerivation__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.uml.alf.UnboundedLiteralExpression <em>Unbounded Literal Expression</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for class '<em>Unbounded Literal Expression</em>'.
+ * @see org.eclipse.papyrus.uml.alf.UnboundedLiteralExpression
+ * @generated
+ */
+ EClass getUnboundedLiteralExpression();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.UnboundedLiteralExpression#type() <em>Type</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Type</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.UnboundedLiteralExpression#type()
+ * @generated
+ */
+ EOperation getUnboundedLiteralExpression__Type();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.UnboundedLiteralExpression#unboundedLiteralExpressionTypeDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Unbounded Literal Expression Type Derivation</em>}'
+ * operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Unbounded Literal Expression Type Derivation</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.UnboundedLiteralExpression#unboundedLiteralExpressionTypeDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getUnboundedLiteralExpression__UnboundedLiteralExpressionTypeDerivation__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.uml.alf.ThisExpression <em>This Expression</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for class '<em>This Expression</em>'.
+ * @see org.eclipse.papyrus.uml.alf.ThisExpression
+ * @generated
+ */
+ EClass getThisExpression();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.ThisExpression#type() <em>Type</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Type</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.ThisExpression#type()
+ * @generated
+ */
+ EOperation getThisExpression__Type();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.ThisExpression#upper() <em>Upper</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Upper</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.ThisExpression#upper()
+ * @generated
+ */
+ EOperation getThisExpression__Upper();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.ThisExpression#lower() <em>Lower</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Lower</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.ThisExpression#lower()
+ * @generated
+ */
+ EOperation getThisExpression__Lower();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.ThisExpression#thisExpressionTypeDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>This Expression Type Derivation</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>This Expression Type Derivation</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.ThisExpression#thisExpressionTypeDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getThisExpression__ThisExpressionTypeDerivation__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.ThisExpression#thisExpressionUpperDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>This Expression Upper Derivation</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>This Expression Upper Derivation</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.ThisExpression#thisExpressionUpperDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getThisExpression__ThisExpressionUpperDerivation__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.ThisExpression#thisExpressionLowerDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>This Expression Lower Derivation</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>This Expression Lower Derivation</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.ThisExpression#thisExpressionLowerDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getThisExpression__ThisExpressionLowerDerivation__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.uml.alf.ClassificationExpression <em>Classification Expression</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for class '<em>Classification Expression</em>'.
+ * @see org.eclipse.papyrus.uml.alf.ClassificationExpression
+ * @generated
+ */
+ EClass getClassificationExpression();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.uml.alf.ClassificationExpression#getReferent <em>Referent</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the reference '<em>Referent</em>'.
+ * @see org.eclipse.papyrus.uml.alf.ClassificationExpression#getReferent()
+ * @see #getClassificationExpression()
+ * @generated
+ */
+ EReference getClassificationExpression_Referent();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.uml.alf.ClassificationExpression#isIsDirect <em>Is Direct</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the attribute '<em>Is Direct</em>'.
+ * @see org.eclipse.papyrus.uml.alf.ClassificationExpression#isIsDirect()
+ * @see #getClassificationExpression()
+ * @generated
+ */
+ EAttribute getClassificationExpression_IsDirect();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.papyrus.uml.alf.ClassificationExpression#getTypeName <em>Type Name</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the containment reference '<em>Type Name</em>'.
+ * @see org.eclipse.papyrus.uml.alf.ClassificationExpression#getTypeName()
+ * @see #getClassificationExpression()
+ * @generated
+ */
+ EReference getClassificationExpression_TypeName();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.ClassificationExpression#type() <em>Type</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Type</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.ClassificationExpression#type()
+ * @generated
+ */
+ EOperation getClassificationExpression__Type();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.ClassificationExpression#lower() <em>Lower</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Lower</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.ClassificationExpression#lower()
+ * @generated
+ */
+ EOperation getClassificationExpression__Lower();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.ClassificationExpression#upper() <em>Upper</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Upper</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.ClassificationExpression#upper()
+ * @generated
+ */
+ EOperation getClassificationExpression__Upper();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.ClassificationExpression#classificationExpressionIsDirectDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Classification Expression Is Direct Derivation</em>}'
+ * operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Classification Expression Is Direct Derivation</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.ClassificationExpression#classificationExpressionIsDirectDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getClassificationExpression__ClassificationExpressionIsDirectDerivation__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.ClassificationExpression#classificationExpressionReferentDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Classification Expression Referent Derivation</em>}'
+ * operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Classification Expression Referent Derivation</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.ClassificationExpression#classificationExpressionReferentDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getClassificationExpression__ClassificationExpressionReferentDerivation__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.ClassificationExpression#classificationExpressionTypeDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Classification Expression Type Derivation</em>}'
+ * operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Classification Expression Type Derivation</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.ClassificationExpression#classificationExpressionTypeDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getClassificationExpression__ClassificationExpressionTypeDerivation__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.ClassificationExpression#classificationExpressionLowerDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Classification Expression Lower Derivation</em>}'
+ * operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Classification Expression Lower Derivation</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.ClassificationExpression#classificationExpressionLowerDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getClassificationExpression__ClassificationExpressionLowerDerivation__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.ClassificationExpression#classificationExpressionUpperDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Classification Expression Upper Derivation</em>}'
+ * operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Classification Expression Upper Derivation</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.ClassificationExpression#classificationExpressionUpperDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getClassificationExpression__ClassificationExpressionUpperDerivation__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.ClassificationExpression#classificationExpressionTypeName(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Classification Expression Type Name</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Classification Expression Type Name</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.ClassificationExpression#classificationExpressionTypeName(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getClassificationExpression__ClassificationExpressionTypeName__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.ClassificationExpression#classificationExpressionOperand(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Classification Expression Operand</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Classification Expression Operand</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.ClassificationExpression#classificationExpressionOperand(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getClassificationExpression__ClassificationExpressionOperand__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.uml.alf.SuperInvocationExpression <em>Super Invocation Expression</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for class '<em>Super Invocation Expression</em>'.
+ * @see org.eclipse.papyrus.uml.alf.SuperInvocationExpression
+ * @generated
+ */
+ EClass getSuperInvocationExpression();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.papyrus.uml.alf.SuperInvocationExpression#getTarget <em>Target</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the containment reference '<em>Target</em>'.
+ * @see org.eclipse.papyrus.uml.alf.SuperInvocationExpression#getTarget()
+ * @see #getSuperInvocationExpression()
+ * @generated
+ */
+ EReference getSuperInvocationExpression_Target();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.SuperInvocationExpression#referent() <em>Referent</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Referent</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.SuperInvocationExpression#referent()
+ * @generated
+ */
+ EOperation getSuperInvocationExpression__Referent();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.SuperInvocationExpression#feature() <em>Feature</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Feature</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.SuperInvocationExpression#feature()
+ * @generated
+ */
+ EOperation getSuperInvocationExpression__Feature();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.SuperInvocationExpression#context() <em>Context</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Context</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.SuperInvocationExpression#context()
+ * @generated
+ */
+ EOperation getSuperInvocationExpression__Context();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.SuperInvocationExpression#superInvocationExpressionReferentDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * <em>Super Invocation Expression Referent Derivation</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Super Invocation Expression Referent Derivation</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.SuperInvocationExpression#superInvocationExpressionReferentDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getSuperInvocationExpression__SuperInvocationExpressionReferentDerivation__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.SuperInvocationExpression#superInvocationExpressionFeatureDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Super Invocation Expression Feature Derivation</em>}
+ * ' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Super Invocation Expression Feature Derivation</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.SuperInvocationExpression#superInvocationExpressionFeatureDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getSuperInvocationExpression__SuperInvocationExpressionFeatureDerivation__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.SuperInvocationExpression#superInvocationExpressionQualification(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Super Invocation Expression Qualification</em>}'
+ * operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Super Invocation Expression Qualification</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.SuperInvocationExpression#superInvocationExpressionQualification(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getSuperInvocationExpression__SuperInvocationExpressionQualification__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.SuperInvocationExpression#superInvocationExpressionImplicitTarget(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Super Invocation Expression Implicit Target</em>}'
+ * operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Super Invocation Expression Implicit Target</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.SuperInvocationExpression#superInvocationExpressionImplicitTarget(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getSuperInvocationExpression__SuperInvocationExpressionImplicitTarget__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.SuperInvocationExpression#superInvocationExpressionConstructorCall(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Super Invocation Expression Constructor Call</em>}'
+ * operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Super Invocation Expression Constructor Call</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.SuperInvocationExpression#superInvocationExpressionConstructorCall(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getSuperInvocationExpression__SuperInvocationExpressionConstructorCall__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.SuperInvocationExpression#superInvocationExpressionDestructorCall(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Super Invocation Expression Destructor Call</em>}'
+ * operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Super Invocation Expression Destructor Call</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.SuperInvocationExpression#superInvocationExpressionDestructorCall(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getSuperInvocationExpression__SuperInvocationExpressionDestructorCall__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.SuperInvocationExpression#superInvocationExpressionOperation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Super Invocation Expression Operation</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Super Invocation Expression Operation</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.SuperInvocationExpression#superInvocationExpressionOperation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getSuperInvocationExpression__SuperInvocationExpressionOperation__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.uml.alf.IncrementOrDecrementExpression <em>Increment Or Decrement Expression</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for class '<em>Increment Or Decrement Expression</em>'.
+ * @see org.eclipse.papyrus.uml.alf.IncrementOrDecrementExpression
+ * @generated
+ */
+ EClass getIncrementOrDecrementExpression();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.uml.alf.IncrementOrDecrementExpression#getAssignment <em>Assignment</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the reference '<em>Assignment</em>'.
+ * @see org.eclipse.papyrus.uml.alf.IncrementOrDecrementExpression#getAssignment()
+ * @see #getIncrementOrDecrementExpression()
+ * @generated
+ */
+ EReference getIncrementOrDecrementExpression_Assignment();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.papyrus.uml.alf.IncrementOrDecrementExpression#getOperand <em>Operand</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the containment reference '<em>Operand</em>'.
+ * @see org.eclipse.papyrus.uml.alf.IncrementOrDecrementExpression#getOperand()
+ * @see #getIncrementOrDecrementExpression()
+ * @generated
+ */
+ EReference getIncrementOrDecrementExpression_Operand();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.uml.alf.IncrementOrDecrementExpression#getExpression <em>Expression</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the reference '<em>Expression</em>'.
+ * @see org.eclipse.papyrus.uml.alf.IncrementOrDecrementExpression#getExpression()
+ * @see #getIncrementOrDecrementExpression()
+ * @generated
+ */
+ EReference getIncrementOrDecrementExpression_Expression();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.uml.alf.IncrementOrDecrementExpression#getFeature <em>Feature</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the reference '<em>Feature</em>'.
+ * @see org.eclipse.papyrus.uml.alf.IncrementOrDecrementExpression#getFeature()
+ * @see #getIncrementOrDecrementExpression()
+ * @generated
+ */
+ EReference getIncrementOrDecrementExpression_Feature();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.uml.alf.IncrementOrDecrementExpression#isIsPrefix <em>Is Prefix</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the attribute '<em>Is Prefix</em>'.
+ * @see org.eclipse.papyrus.uml.alf.IncrementOrDecrementExpression#isIsPrefix()
+ * @see #getIncrementOrDecrementExpression()
+ * @generated
+ */
+ EAttribute getIncrementOrDecrementExpression_IsPrefix();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.uml.alf.IncrementOrDecrementExpression#isIsFeature <em>Is Feature</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the attribute '<em>Is Feature</em>'.
+ * @see org.eclipse.papyrus.uml.alf.IncrementOrDecrementExpression#isIsFeature()
+ * @see #getIncrementOrDecrementExpression()
+ * @generated
+ */
+ EAttribute getIncrementOrDecrementExpression_IsFeature();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.uml.alf.IncrementOrDecrementExpression#isIsIndexed <em>Is Indexed</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the attribute '<em>Is Indexed</em>'.
+ * @see org.eclipse.papyrus.uml.alf.IncrementOrDecrementExpression#isIsIndexed()
+ * @see #getIncrementOrDecrementExpression()
+ * @generated
+ */
+ EAttribute getIncrementOrDecrementExpression_IsIndexed();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.uml.alf.IncrementOrDecrementExpression#isIsDataValueUpdate <em>Is Data Value Update</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the attribute '<em>Is Data Value Update</em>'.
+ * @see org.eclipse.papyrus.uml.alf.IncrementOrDecrementExpression#isIsDataValueUpdate()
+ * @see #getIncrementOrDecrementExpression()
+ * @generated
+ */
+ EAttribute getIncrementOrDecrementExpression_IsDataValueUpdate();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.uml.alf.IncrementOrDecrementExpression#getOperator <em>Operator</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the attribute '<em>Operator</em>'.
+ * @see org.eclipse.papyrus.uml.alf.IncrementOrDecrementExpression#getOperator()
+ * @see #getIncrementOrDecrementExpression()
+ * @generated
+ */
+ EAttribute getIncrementOrDecrementExpression_Operator();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.IncrementOrDecrementExpression#type() <em>Type</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Type</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.IncrementOrDecrementExpression#type()
+ * @generated
+ */
+ EOperation getIncrementOrDecrementExpression__Type();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.IncrementOrDecrementExpression#lower() <em>Lower</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Lower</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.IncrementOrDecrementExpression#lower()
+ * @generated
+ */
+ EOperation getIncrementOrDecrementExpression__Lower();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.IncrementOrDecrementExpression#upper() <em>Upper</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Upper</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.IncrementOrDecrementExpression#upper()
+ * @generated
+ */
+ EOperation getIncrementOrDecrementExpression__Upper();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.IncrementOrDecrementExpression#incrementOrDecrementExpressionAssignmentDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * <em>Increment Or Decrement Expression Assignment Derivation</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Increment Or Decrement Expression Assignment Derivation</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.IncrementOrDecrementExpression#incrementOrDecrementExpressionAssignmentDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getIncrementOrDecrementExpression__IncrementOrDecrementExpressionAssignmentDerivation__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.IncrementOrDecrementExpression#incrementOrDecrementExpressionIsFeatureDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * <em>Increment Or Decrement Expression Is Feature Derivation</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Increment Or Decrement Expression Is Feature Derivation</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.IncrementOrDecrementExpression#incrementOrDecrementExpressionIsFeatureDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getIncrementOrDecrementExpression__IncrementOrDecrementExpressionIsFeatureDerivation__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.IncrementOrDecrementExpression#incrementOrDecrementExpressionIsIndexedDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * <em>Increment Or Decrement Expression Is Indexed Derivation</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Increment Or Decrement Expression Is Indexed Derivation</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.IncrementOrDecrementExpression#incrementOrDecrementExpressionIsIndexedDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getIncrementOrDecrementExpression__IncrementOrDecrementExpressionIsIndexedDerivation__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.IncrementOrDecrementExpression#incrementOrDecrementExpressionIsDataValueUpdateDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * <em>Increment Or Decrement Expression Is Data Value Update Derivation</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Increment Or Decrement Expression Is Data Value Update Derivation</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.IncrementOrDecrementExpression#incrementOrDecrementExpressionIsDataValueUpdateDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getIncrementOrDecrementExpression__IncrementOrDecrementExpressionIsDataValueUpdateDerivation__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.IncrementOrDecrementExpression#incrementOrDecrementExpressionFeatureDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * <em>Increment Or Decrement Expression Feature Derivation</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Increment Or Decrement Expression Feature Derivation</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.IncrementOrDecrementExpression#incrementOrDecrementExpressionFeatureDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getIncrementOrDecrementExpression__IncrementOrDecrementExpressionFeatureDerivation__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.IncrementOrDecrementExpression#incrementOrDecrementExpressionExpressionDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * <em>Increment Or Decrement Expression Expression Derivation</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Increment Or Decrement Expression Expression Derivation</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.IncrementOrDecrementExpression#incrementOrDecrementExpressionExpressionDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getIncrementOrDecrementExpression__IncrementOrDecrementExpressionExpressionDerivation__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.IncrementOrDecrementExpression#incrementOrDecrementExpressionTypeDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * <em>Increment Or Decrement Expression Type Derivation</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Increment Or Decrement Expression Type Derivation</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.IncrementOrDecrementExpression#incrementOrDecrementExpressionTypeDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getIncrementOrDecrementExpression__IncrementOrDecrementExpressionTypeDerivation__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.IncrementOrDecrementExpression#incrementOrDecrementExpressionLowerDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * <em>Increment Or Decrement Expression Lower Derivation</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Increment Or Decrement Expression Lower Derivation</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.IncrementOrDecrementExpression#incrementOrDecrementExpressionLowerDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getIncrementOrDecrementExpression__IncrementOrDecrementExpressionLowerDerivation__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.IncrementOrDecrementExpression#incrementOrDecrementExpressionUpperDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * <em>Increment Or Decrement Expression Upper Derivation</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Increment Or Decrement Expression Upper Derivation</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.IncrementOrDecrementExpression#incrementOrDecrementExpressionUpperDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getIncrementOrDecrementExpression__IncrementOrDecrementExpressionUpperDerivation__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.IncrementOrDecrementExpression#incrementOrDecrementExpressionOperand(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Increment Or Decrement Expression Operand</em>}'
+ * operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Increment Or Decrement Expression Operand</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.IncrementOrDecrementExpression#incrementOrDecrementExpressionOperand(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getIncrementOrDecrementExpression__IncrementOrDecrementExpressionOperand__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.IncrementOrDecrementExpression#incrementOrDecrementExpressionAssignmentsBefore(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * <em>Increment Or Decrement Expression Assignments Before</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Increment Or Decrement Expression Assignments Before</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.IncrementOrDecrementExpression#incrementOrDecrementExpressionAssignmentsBefore(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getIncrementOrDecrementExpression__IncrementOrDecrementExpressionAssignmentsBefore__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.IncrementOrDecrementExpression#updateAssignments() <em>Update Assignments</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Update Assignments</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.IncrementOrDecrementExpression#updateAssignments()
+ * @generated
+ */
+ EOperation getIncrementOrDecrementExpression__UpdateAssignments();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.uml.alf.BooleanLiteralExpression <em>Boolean Literal Expression</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for class '<em>Boolean Literal Expression</em>'.
+ * @see org.eclipse.papyrus.uml.alf.BooleanLiteralExpression
+ * @generated
+ */
+ EClass getBooleanLiteralExpression();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.uml.alf.BooleanLiteralExpression#getImage <em>Image</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the attribute '<em>Image</em>'.
+ * @see org.eclipse.papyrus.uml.alf.BooleanLiteralExpression#getImage()
+ * @see #getBooleanLiteralExpression()
+ * @generated
+ */
+ EAttribute getBooleanLiteralExpression_Image();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.BooleanLiteralExpression#type() <em>Type</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Type</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.BooleanLiteralExpression#type()
+ * @generated
+ */
+ EOperation getBooleanLiteralExpression__Type();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.BooleanLiteralExpression#booleanLiteralExpressionTypeDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Boolean Literal Expression Type Derivation</em>}'
+ * operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Boolean Literal Expression Type Derivation</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.BooleanLiteralExpression#booleanLiteralExpressionTypeDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getBooleanLiteralExpression__BooleanLiteralExpressionTypeDerivation__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.uml.alf.NamedTuple <em>Named Tuple</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for class '<em>Named Tuple</em>'.
+ * @see org.eclipse.papyrus.uml.alf.NamedTuple
+ * @generated
+ */
+ EClass getNamedTuple();
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.eclipse.papyrus.uml.alf.NamedTuple#getNamedExpression <em>Named Expression</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the containment reference list '<em>Named Expression</em>'.
+ * @see org.eclipse.papyrus.uml.alf.NamedTuple#getNamedExpression()
+ * @see #getNamedTuple()
+ * @generated
+ */
+ EReference getNamedTuple_NamedExpression();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.NamedTuple#size() <em>Size</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Size</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.NamedTuple#size()
+ * @generated
+ */
+ EOperation getNamedTuple__Size();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.NamedTuple#inputFor(org.eclipse.emf.common.util.EList) <em>Input For</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Input For</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.NamedTuple#inputFor(org.eclipse.emf.common.util.EList)
+ * @generated
+ */
+ EOperation getNamedTuple__InputFor__EList();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.NamedTuple#outputFor(org.eclipse.emf.common.util.EList) <em>Output For</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Output For</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.NamedTuple#outputFor(org.eclipse.emf.common.util.EList)
+ * @generated
+ */
+ EOperation getNamedTuple__OutputFor__EList();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.NamedTuple#namedTupleArgumentNames(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Named Tuple Argument Names</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Named Tuple Argument Names</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.NamedTuple#namedTupleArgumentNames(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getNamedTuple__NamedTupleArgumentNames__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.uml.alf.NaturalLiteralExpression <em>Natural Literal Expression</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for class '<em>Natural Literal Expression</em>'.
+ * @see org.eclipse.papyrus.uml.alf.NaturalLiteralExpression
+ * @generated
+ */
+ EClass getNaturalLiteralExpression();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.uml.alf.NaturalLiteralExpression#getImage <em>Image</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the attribute '<em>Image</em>'.
+ * @see org.eclipse.papyrus.uml.alf.NaturalLiteralExpression#getImage()
+ * @see #getNaturalLiteralExpression()
+ * @generated
+ */
+ EAttribute getNaturalLiteralExpression_Image();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.NaturalLiteralExpression#type() <em>Type</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Type</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.NaturalLiteralExpression#type()
+ * @generated
+ */
+ EOperation getNaturalLiteralExpression__Type();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.NaturalLiteralExpression#naturalLiteralExpressionTypeDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Natural Literal Expression Type Derivation</em>}'
+ * operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Natural Literal Expression Type Derivation</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.NaturalLiteralExpression#naturalLiteralExpressionTypeDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getNaturalLiteralExpression__NaturalLiteralExpressionTypeDerivation__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.uml.alf.SequenceRange <em>Sequence Range</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for class '<em>Sequence Range</em>'.
+ * @see org.eclipse.papyrus.uml.alf.SequenceRange
+ * @generated
+ */
+ EClass getSequenceRange();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.papyrus.uml.alf.SequenceRange#getRangeLower <em>Range Lower</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the containment reference '<em>Range Lower</em>'.
+ * @see org.eclipse.papyrus.uml.alf.SequenceRange#getRangeLower()
+ * @see #getSequenceRange()
+ * @generated
+ */
+ EReference getSequenceRange_RangeLower();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.papyrus.uml.alf.SequenceRange#getRangeUpper <em>Range Upper</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the containment reference '<em>Range Upper</em>'.
+ * @see org.eclipse.papyrus.uml.alf.SequenceRange#getRangeUpper()
+ * @see #getSequenceRange()
+ * @generated
+ */
+ EReference getSequenceRange_RangeUpper();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.SequenceRange#conformsTo(org.eclipse.papyrus.uml.alf.ElementReference) <em>Conforms To</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Conforms To</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.SequenceRange#conformsTo(org.eclipse.papyrus.uml.alf.ElementReference)
+ * @generated
+ */
+ EOperation getSequenceRange__ConformsTo__ElementReference();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.SequenceRange#assignmentsAfter() <em>Assignments After</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Assignments After</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.SequenceRange#assignmentsAfter()
+ * @generated
+ */
+ EOperation getSequenceRange__AssignmentsAfter();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.SequenceRange#upper() <em>Upper</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Upper</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.SequenceRange#upper()
+ * @generated
+ */
+ EOperation getSequenceRange__Upper();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.SequenceRange#lower() <em>Lower</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Lower</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.SequenceRange#lower()
+ * @generated
+ */
+ EOperation getSequenceRange__Lower();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.SequenceRange#sequenceRangeLowerDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Sequence Range Lower Derivation</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Sequence Range Lower Derivation</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.SequenceRange#sequenceRangeLowerDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getSequenceRange__SequenceRangeLowerDerivation__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.SequenceRange#sequenceRangeUpperDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Sequence Range Upper Derivation</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Sequence Range Upper Derivation</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.SequenceRange#sequenceRangeUpperDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getSequenceRange__SequenceRangeUpperDerivation__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.SequenceRange#sequenceRangeExpressionMultiplicity(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Sequence Range Expression Multiplicity</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Sequence Range Expression Multiplicity</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.SequenceRange#sequenceRangeExpressionMultiplicity(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getSequenceRange__SequenceRangeExpressionMultiplicity__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.SequenceRange#sequenceRangeAssignments(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Sequence Range Assignments</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Sequence Range Assignments</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.SequenceRange#sequenceRangeAssignments(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getSequenceRange__SequenceRangeAssignments__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.uml.alf.NameLeftHandSide <em>Name Left Hand Side</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for class '<em>Name Left Hand Side</em>'.
+ * @see org.eclipse.papyrus.uml.alf.NameLeftHandSide
+ * @generated
+ */
+ EClass getNameLeftHandSide();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.papyrus.uml.alf.NameLeftHandSide#getTarget <em>Target</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the containment reference '<em>Target</em>'.
+ * @see org.eclipse.papyrus.uml.alf.NameLeftHandSide#getTarget()
+ * @see #getNameLeftHandSide()
+ * @generated
+ */
+ EReference getNameLeftHandSide_Target();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.papyrus.uml.alf.NameLeftHandSide#getIndex <em>Index</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the containment reference '<em>Index</em>'.
+ * @see org.eclipse.papyrus.uml.alf.NameLeftHandSide#getIndex()
+ * @see #getNameLeftHandSide()
+ * @generated
+ */
+ EReference getNameLeftHandSide_Index();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.NameLeftHandSide#target() <em>Target</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Target</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.NameLeftHandSide#target()
+ * @generated
+ */
+ EOperation getNameLeftHandSide__Target();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.NameLeftHandSide#index() <em>Index</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Index</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.NameLeftHandSide#index()
+ * @generated
+ */
+ EOperation getNameLeftHandSide__Index();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.NameLeftHandSide#referent() <em>Referent</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Referent</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.NameLeftHandSide#referent()
+ * @generated
+ */
+ EOperation getNameLeftHandSide__Referent();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.NameLeftHandSide#parameterReferent() <em>Parameter Referent</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Parameter Referent</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.NameLeftHandSide#parameterReferent()
+ * @generated
+ */
+ EOperation getNameLeftHandSide__ParameterReferent();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.NameLeftHandSide#type() <em>Type</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Type</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.NameLeftHandSide#type()
+ * @generated
+ */
+ EOperation getNameLeftHandSide__Type();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.NameLeftHandSide#upper() <em>Upper</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Upper</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.NameLeftHandSide#upper()
+ * @generated
+ */
+ EOperation getNameLeftHandSide__Upper();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.NameLeftHandSide#lower() <em>Lower</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Lower</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.NameLeftHandSide#lower()
+ * @generated
+ */
+ EOperation getNameLeftHandSide__Lower();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.NameLeftHandSide#oldAssignment() <em>Old Assignment</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Old Assignment</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.NameLeftHandSide#oldAssignment()
+ * @generated
+ */
+ EOperation getNameLeftHandSide__OldAssignment();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.NameLeftHandSide#feature() <em>Feature</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Feature</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.NameLeftHandSide#feature()
+ * @generated
+ */
+ EOperation getNameLeftHandSide__Feature();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.NameLeftHandSide#localName() <em>Local Name</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Local Name</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.NameLeftHandSide#localName()
+ * @generated
+ */
+ EOperation getNameLeftHandSide__LocalName();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.NameLeftHandSide#nameLeftHandSideAssignmentAfterDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Name Left Hand Side Assignment After Derivation</em>}'
+ * operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Name Left Hand Side Assignment After Derivation</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.NameLeftHandSide#nameLeftHandSideAssignmentAfterDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getNameLeftHandSide__NameLeftHandSideAssignmentAfterDerivation__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.NameLeftHandSide#nameLeftHandSideTargetAssignment(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Name Left Hand Side Target Assignment</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Name Left Hand Side Target Assignment</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.NameLeftHandSide#nameLeftHandSideTargetAssignment(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getNameLeftHandSide__NameLeftHandSideTargetAssignment__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.NameLeftHandSide#nameLeftHandSideAssignmentsBefore(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Name Left Hand Side Assignments Before</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Name Left Hand Side Assignments Before</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.NameLeftHandSide#nameLeftHandSideAssignmentsBefore(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getNameLeftHandSide__NameLeftHandSideAssignmentsBefore__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.NameLeftHandSide#nameLeftHandSideReferentDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Name Left Hand Side Referent Derivation</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Name Left Hand Side Referent Derivation</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.NameLeftHandSide#nameLeftHandSideReferentDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getNameLeftHandSide__NameLeftHandSideReferentDerivation__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.NameLeftHandSide#nameLeftHandSideLowerDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Name Left Hand Side Lower Derivation</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Name Left Hand Side Lower Derivation</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.NameLeftHandSide#nameLeftHandSideLowerDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getNameLeftHandSide__NameLeftHandSideLowerDerivation__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.NameLeftHandSide#nameLeftHandSideUpperDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Name Left Hand Side Upper Derivation</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Name Left Hand Side Upper Derivation</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.NameLeftHandSide#nameLeftHandSideUpperDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getNameLeftHandSide__NameLeftHandSideUpperDerivation__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.NameLeftHandSide#nameLeftHandSideTypeDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Name Left Hand Side Type Derivation</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Name Left Hand Side Type Derivation</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.NameLeftHandSide#nameLeftHandSideTypeDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getNameLeftHandSide__NameLeftHandSideTypeDerivation__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.NameLeftHandSide#nameLeftHandSideTargetResolution(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Name Left Hand Side Target Resolution</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Name Left Hand Side Target Resolution</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.NameLeftHandSide#nameLeftHandSideTargetResolution(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getNameLeftHandSide__NameLeftHandSideTargetResolution__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.NameLeftHandSide#nameLeftHandSideIndexedFeature(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Name Left Hand Side Indexed Feature</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Name Left Hand Side Indexed Feature</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.NameLeftHandSide#nameLeftHandSideIndexedFeature(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getNameLeftHandSide__NameLeftHandSideIndexedFeature__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.NameLeftHandSide#nameLeftHandSideNontemplateTarget(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Name Left Hand Side Nontemplate Target</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Name Left Hand Side Nontemplate Target</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.NameLeftHandSide#nameLeftHandSideNontemplateTarget(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getNameLeftHandSide__NameLeftHandSideNontemplateTarget__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.uml.alf.EffectiveLeftHandSide <em>Effective Left Hand Side</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for class '<em>Effective Left Hand Side</em>'.
+ * @see org.eclipse.papyrus.uml.alf.EffectiveLeftHandSide
+ * @generated
+ */
+ EClass getEffectiveLeftHandSide();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.uml.alf.EffectiveLeftHandSide#getExpression <em>Expression</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the reference '<em>Expression</em>'.
+ * @see org.eclipse.papyrus.uml.alf.EffectiveLeftHandSide#getExpression()
+ * @see #getEffectiveLeftHandSide()
+ * @generated
+ */
+ EReference getEffectiveLeftHandSide_Expression();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.EffectiveLeftHandSide#target() <em>Target</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Target</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.EffectiveLeftHandSide#target()
+ * @generated
+ */
+ EOperation getEffectiveLeftHandSide__Target();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.EffectiveLeftHandSide#index() <em>Index</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Index</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.EffectiveLeftHandSide#index()
+ * @generated
+ */
+ EOperation getEffectiveLeftHandSide__Index();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.EffectiveLeftHandSide#feature() <em>Feature</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Feature</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.EffectiveLeftHandSide#feature()
+ * @generated
+ */
+ EOperation getEffectiveLeftHandSide__Feature();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.EffectiveLeftHandSide#primary() <em>Primary</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Primary</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.EffectiveLeftHandSide#primary()
+ * @generated
+ */
+ EOperation getEffectiveLeftHandSide__Primary();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.uml.alf.SequenceReductionExpression <em>Sequence Reduction Expression</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for class '<em>Sequence Reduction Expression</em>'.
+ * @see org.eclipse.papyrus.uml.alf.SequenceReductionExpression
+ * @generated
+ */
+ EClass getSequenceReductionExpression();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.uml.alf.SequenceReductionExpression#getReferent <em>Referent</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the reference '<em>Referent</em>'.
+ * @see org.eclipse.papyrus.uml.alf.SequenceReductionExpression#getReferent()
+ * @see #getSequenceReductionExpression()
+ * @generated
+ */
+ EReference getSequenceReductionExpression_Referent();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.uml.alf.SequenceReductionExpression#isIsOrdered <em>Is Ordered</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the attribute '<em>Is Ordered</em>'.
+ * @see org.eclipse.papyrus.uml.alf.SequenceReductionExpression#isIsOrdered()
+ * @see #getSequenceReductionExpression()
+ * @generated
+ */
+ EAttribute getSequenceReductionExpression_IsOrdered();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.papyrus.uml.alf.SequenceReductionExpression#getPrimary <em>Primary</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the containment reference '<em>Primary</em>'.
+ * @see org.eclipse.papyrus.uml.alf.SequenceReductionExpression#getPrimary()
+ * @see #getSequenceReductionExpression()
+ * @generated
+ */
+ EReference getSequenceReductionExpression_Primary();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.papyrus.uml.alf.SequenceReductionExpression#getBehaviorName <em>Behavior Name</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the containment reference '<em>Behavior Name</em>'.
+ * @see org.eclipse.papyrus.uml.alf.SequenceReductionExpression#getBehaviorName()
+ * @see #getSequenceReductionExpression()
+ * @generated
+ */
+ EReference getSequenceReductionExpression_BehaviorName();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.SequenceReductionExpression#type() <em>Type</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Type</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.SequenceReductionExpression#type()
+ * @generated
+ */
+ EOperation getSequenceReductionExpression__Type();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.SequenceReductionExpression#upper() <em>Upper</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Upper</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.SequenceReductionExpression#upper()
+ * @generated
+ */
+ EOperation getSequenceReductionExpression__Upper();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.SequenceReductionExpression#lower() <em>Lower</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Lower</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.SequenceReductionExpression#lower()
+ * @generated
+ */
+ EOperation getSequenceReductionExpression__Lower();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.SequenceReductionExpression#sequenceReductionExpressionReferentDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * <em>Sequence Reduction Expression Referent Derivation</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Sequence Reduction Expression Referent Derivation</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.SequenceReductionExpression#sequenceReductionExpressionReferentDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getSequenceReductionExpression__SequenceReductionExpressionReferentDerivation__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.SequenceReductionExpression#sequenceReductionExpressionTypeDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Sequence Reduction Expression Type Derivation</em>}
+ * ' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Sequence Reduction Expression Type Derivation</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.SequenceReductionExpression#sequenceReductionExpressionTypeDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getSequenceReductionExpression__SequenceReductionExpressionTypeDerivation__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.SequenceReductionExpression#sequenceReductionExpressionUpperDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * <em>Sequence Reduction Expression Upper Derivation</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Sequence Reduction Expression Upper Derivation</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.SequenceReductionExpression#sequenceReductionExpressionUpperDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getSequenceReductionExpression__SequenceReductionExpressionUpperDerivation__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.SequenceReductionExpression#sequenceReductionExpressionLowerDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * <em>Sequence Reduction Expression Lower Derivation</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Sequence Reduction Expression Lower Derivation</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.SequenceReductionExpression#sequenceReductionExpressionLowerDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getSequenceReductionExpression__SequenceReductionExpressionLowerDerivation__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.SequenceReductionExpression#sequenceReductionExpressionBehavior(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Sequence Reduction Expression Behavior</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Sequence Reduction Expression Behavior</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.SequenceReductionExpression#sequenceReductionExpressionBehavior(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getSequenceReductionExpression__SequenceReductionExpressionBehavior__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.SequenceReductionExpression#sequenceReductionExpressionBehaviorParameters(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * <em>Sequence Reduction Expression Behavior Parameters</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Sequence Reduction Expression Behavior Parameters</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.SequenceReductionExpression#sequenceReductionExpressionBehaviorParameters(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getSequenceReductionExpression__SequenceReductionExpressionBehaviorParameters__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.SequenceReductionExpression#sequenceReductionExpressionAssignmentsBefore(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * <em>Sequence Reduction Expression Assignments Before</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Sequence Reduction Expression Assignments Before</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.SequenceReductionExpression#sequenceReductionExpressionAssignmentsBefore(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getSequenceReductionExpression__SequenceReductionExpressionAssignmentsBefore__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.SequenceReductionExpression#updateAssignments() <em>Update Assignments</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Update Assignments</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.SequenceReductionExpression#updateAssignments()
+ * @generated
+ */
+ EOperation getSequenceReductionExpression__UpdateAssignments();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.uml.alf.SequenceExpressionList <em>Sequence Expression List</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for class '<em>Sequence Expression List</em>'.
+ * @see org.eclipse.papyrus.uml.alf.SequenceExpressionList
+ * @generated
+ */
+ EClass getSequenceExpressionList();
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.eclipse.papyrus.uml.alf.SequenceExpressionList#getElement <em>Element</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the containment reference list '<em>Element</em>'.
+ * @see org.eclipse.papyrus.uml.alf.SequenceExpressionList#getElement()
+ * @see #getSequenceExpressionList()
+ * @generated
+ */
+ EReference getSequenceExpressionList_Element();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.SequenceExpressionList#conformsTo(org.eclipse.papyrus.uml.alf.ElementReference) <em>Conforms To</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Conforms To</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.SequenceExpressionList#conformsTo(org.eclipse.papyrus.uml.alf.ElementReference)
+ * @generated
+ */
+ EOperation getSequenceExpressionList__ConformsTo__ElementReference();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.SequenceExpressionList#assignmentsBefore(org.eclipse.papyrus.uml.alf.SyntaxElement) <em>Assignments Before</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Assignments Before</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.SequenceExpressionList#assignmentsBefore(org.eclipse.papyrus.uml.alf.SyntaxElement)
+ * @generated
+ */
+ EOperation getSequenceExpressionList__AssignmentsBefore__SyntaxElement();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.SequenceExpressionList#assignmentsAfter() <em>Assignments After</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Assignments After</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.SequenceExpressionList#assignmentsAfter()
+ * @generated
+ */
+ EOperation getSequenceExpressionList__AssignmentsAfter();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.SequenceExpressionList#lower() <em>Lower</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Lower</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.SequenceExpressionList#lower()
+ * @generated
+ */
+ EOperation getSequenceExpressionList__Lower();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.SequenceExpressionList#upper() <em>Upper</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Upper</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.SequenceExpressionList#upper()
+ * @generated
+ */
+ EOperation getSequenceExpressionList__Upper();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.SequenceExpressionList#sequenceExpressionListLowerDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Sequence Expression List Lower Derivation</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Sequence Expression List Lower Derivation</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.SequenceExpressionList#sequenceExpressionListLowerDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getSequenceExpressionList__SequenceExpressionListLowerDerivation__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.SequenceExpressionList#sequenceExpressionListUpperDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Sequence Expression List Upper Derivation</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Sequence Expression List Upper Derivation</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.SequenceExpressionList#sequenceExpressionListUpperDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getSequenceExpressionList__SequenceExpressionListUpperDerivation__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.uml.alf.RelationalExpression <em>Relational Expression</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for class '<em>Relational Expression</em>'.
+ * @see org.eclipse.papyrus.uml.alf.RelationalExpression
+ * @generated
+ */
+ EClass getRelationalExpression();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.uml.alf.RelationalExpression#isIsUnlimitedNatural <em>Is Unlimited Natural</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the attribute '<em>Is Unlimited Natural</em>'.
+ * @see org.eclipse.papyrus.uml.alf.RelationalExpression#isIsUnlimitedNatural()
+ * @see #getRelationalExpression()
+ * @generated
+ */
+ EAttribute getRelationalExpression_IsUnlimitedNatural();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.RelationalExpression#type() <em>Type</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Type</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.RelationalExpression#type()
+ * @generated
+ */
+ EOperation getRelationalExpression__Type();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.RelationalExpression#lower() <em>Lower</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Lower</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.RelationalExpression#lower()
+ * @generated
+ */
+ EOperation getRelationalExpression__Lower();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.RelationalExpression#upper() <em>Upper</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Upper</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.RelationalExpression#upper()
+ * @generated
+ */
+ EOperation getRelationalExpression__Upper();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.RelationalExpression#relationalExpressionIsUnlimitedNaturalDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * <em>Relational Expression Is Unlimited Natural Derivation</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Relational Expression Is Unlimited Natural Derivation</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.RelationalExpression#relationalExpressionIsUnlimitedNaturalDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getRelationalExpression__RelationalExpressionIsUnlimitedNaturalDerivation__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.RelationalExpression#relationalExpressionTypeDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Relational Expression Type Derivation</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Relational Expression Type Derivation</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.RelationalExpression#relationalExpressionTypeDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getRelationalExpression__RelationalExpressionTypeDerivation__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.RelationalExpression#relationalExpressionLowerDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Relational Expression Lower Derivation</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Relational Expression Lower Derivation</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.RelationalExpression#relationalExpressionLowerDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getRelationalExpression__RelationalExpressionLowerDerivation__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.RelationalExpression#relationalExpressionUpperDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Relational Expression Upper Derivation</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Relational Expression Upper Derivation</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.RelationalExpression#relationalExpressionUpperDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getRelationalExpression__RelationalExpressionUpperDerivation__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.RelationalExpression#relationalExpressionOperandTypes(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Relational Expression Operand Types</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Relational Expression Operand Types</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.RelationalExpression#relationalExpressionOperandTypes(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getRelationalExpression__RelationalExpressionOperandTypes__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.uml.alf.LocalNameDeclarationStatement <em>Local Name Declaration Statement</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for class '<em>Local Name Declaration Statement</em>'.
+ * @see org.eclipse.papyrus.uml.alf.LocalNameDeclarationStatement
+ * @generated
+ */
+ EClass getLocalNameDeclarationStatement();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.uml.alf.LocalNameDeclarationStatement#getName <em>Name</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the attribute '<em>Name</em>'.
+ * @see org.eclipse.papyrus.uml.alf.LocalNameDeclarationStatement#getName()
+ * @see #getLocalNameDeclarationStatement()
+ * @generated
+ */
+ EAttribute getLocalNameDeclarationStatement_Name();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.papyrus.uml.alf.LocalNameDeclarationStatement#getExpression <em>Expression</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the containment reference '<em>Expression</em>'.
+ * @see org.eclipse.papyrus.uml.alf.LocalNameDeclarationStatement#getExpression()
+ * @see #getLocalNameDeclarationStatement()
+ * @generated
+ */
+ EReference getLocalNameDeclarationStatement_Expression();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.uml.alf.LocalNameDeclarationStatement#isHasMultiplicity <em>Has Multiplicity</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the attribute '<em>Has Multiplicity</em>'.
+ * @see org.eclipse.papyrus.uml.alf.LocalNameDeclarationStatement#isHasMultiplicity()
+ * @see #getLocalNameDeclarationStatement()
+ * @generated
+ */
+ EAttribute getLocalNameDeclarationStatement_HasMultiplicity();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.papyrus.uml.alf.LocalNameDeclarationStatement#getTypeName <em>Type Name</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the containment reference '<em>Type Name</em>'.
+ * @see org.eclipse.papyrus.uml.alf.LocalNameDeclarationStatement#getTypeName()
+ * @see #getLocalNameDeclarationStatement()
+ * @generated
+ */
+ EReference getLocalNameDeclarationStatement_TypeName();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.uml.alf.LocalNameDeclarationStatement#getType <em>Type</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the reference '<em>Type</em>'.
+ * @see org.eclipse.papyrus.uml.alf.LocalNameDeclarationStatement#getType()
+ * @see #getLocalNameDeclarationStatement()
+ * @generated
+ */
+ EReference getLocalNameDeclarationStatement_Type();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.uml.alf.LocalNameDeclarationStatement#isIsAny <em>Is Any</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the attribute '<em>Is Any</em>'.
+ * @see org.eclipse.papyrus.uml.alf.LocalNameDeclarationStatement#isIsAny()
+ * @see #getLocalNameDeclarationStatement()
+ * @generated
+ */
+ EAttribute getLocalNameDeclarationStatement_IsAny();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.LocalNameDeclarationStatement#actualName() <em>Actual Name</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Actual Name</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.LocalNameDeclarationStatement#actualName()
+ * @generated
+ */
+ EOperation getLocalNameDeclarationStatement__ActualName();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.LocalNameDeclarationStatement#assignmentsAfter() <em>Assignments After</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Assignments After</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.LocalNameDeclarationStatement#assignmentsAfter()
+ * @generated
+ */
+ EOperation getLocalNameDeclarationStatement__AssignmentsAfter();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.LocalNameDeclarationStatement#localNameDeclarationStatementAssignmentsBefore(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * <em>Local Name Declaration Statement Assignments Before</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Local Name Declaration Statement Assignments Before</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.LocalNameDeclarationStatement#localNameDeclarationStatementAssignmentsBefore(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getLocalNameDeclarationStatement__LocalNameDeclarationStatementAssignmentsBefore__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.LocalNameDeclarationStatement#localNameDeclarationStatementType(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Local Name Declaration Statement Type</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Local Name Declaration Statement Type</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.LocalNameDeclarationStatement#localNameDeclarationStatementType(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getLocalNameDeclarationStatement__LocalNameDeclarationStatementType__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.LocalNameDeclarationStatement#localNameDeclarationStatementLocalName(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Local Name Declaration Statement Local Name</em>}'
+ * operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Local Name Declaration Statement Local Name</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.LocalNameDeclarationStatement#localNameDeclarationStatementLocalName(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getLocalNameDeclarationStatement__LocalNameDeclarationStatementLocalName__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.LocalNameDeclarationStatement#localNameDeclarationStatementAssignmentsAfter(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * <em>Local Name Declaration Statement Assignments After</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Local Name Declaration Statement Assignments After</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.LocalNameDeclarationStatement#localNameDeclarationStatementAssignmentsAfter(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getLocalNameDeclarationStatement__LocalNameDeclarationStatementAssignmentsAfter__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.LocalNameDeclarationStatement#localNameDeclarationStatementExpressionMultiplicity(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * <em>Local Name Declaration Statement Expression Multiplicity</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Local Name Declaration Statement Expression Multiplicity</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.LocalNameDeclarationStatement#localNameDeclarationStatementExpressionMultiplicity(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getLocalNameDeclarationStatement__LocalNameDeclarationStatementExpressionMultiplicity__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.LocalNameDeclarationStatement#localNameDeclarationStatementTypeDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * <em>Local Name Declaration Statement Type Derivation</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Local Name Declaration Statement Type Derivation</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.LocalNameDeclarationStatement#localNameDeclarationStatementTypeDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getLocalNameDeclarationStatement__LocalNameDeclarationStatementTypeDerivation__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.LocalNameDeclarationStatement#typeCached() <em>Type Cached</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Type Cached</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.LocalNameDeclarationStatement#typeCached()
+ * @generated
+ */
+ EOperation getLocalNameDeclarationStatement__TypeCached();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.LocalNameDeclarationStatement#type() <em>Type</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Type</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.LocalNameDeclarationStatement#type()
+ * @generated
+ */
+ EOperation getLocalNameDeclarationStatement__Type();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.uml.alf.AssignableLocalNameDeclaration <em>Assignable Local Name Declaration</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for class '<em>Assignable Local Name Declaration</em>'.
+ * @see org.eclipse.papyrus.uml.alf.AssignableLocalNameDeclaration
+ * @generated
+ */
+ EClass getAssignableLocalNameDeclaration();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.uml.alf.AssignableLocalNameDeclaration#getLocalNameDeclaration <em>Local Name Declaration</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the reference '<em>Local Name Declaration</em>'.
+ * @see org.eclipse.papyrus.uml.alf.AssignableLocalNameDeclaration#getLocalNameDeclaration()
+ * @see #getAssignableLocalNameDeclaration()
+ * @generated
+ */
+ EReference getAssignableLocalNameDeclaration_LocalNameDeclaration();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.AssignableLocalNameDeclaration#type() <em>Type</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Type</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.AssignableLocalNameDeclaration#type()
+ * @generated
+ */
+ EOperation getAssignableLocalNameDeclaration__Type();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.AssignableLocalNameDeclaration#lower() <em>Lower</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Lower</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.AssignableLocalNameDeclaration#lower()
+ * @generated
+ */
+ EOperation getAssignableLocalNameDeclaration__Lower();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.AssignableLocalNameDeclaration#upper() <em>Upper</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Upper</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.AssignableLocalNameDeclaration#upper()
+ * @generated
+ */
+ EOperation getAssignableLocalNameDeclaration__Upper();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.uml.alf.Statement <em>Statement</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for class '<em>Statement</em>'.
+ * @see org.eclipse.papyrus.uml.alf.Statement
+ * @generated
+ */
+ EClass getStatement();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.uml.alf.Statement#getAssignmentBefore <em>Assignment Before</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the reference list '<em>Assignment Before</em>'.
+ * @see org.eclipse.papyrus.uml.alf.Statement#getAssignmentBefore()
+ * @see #getStatement()
+ * @generated
+ */
+ EReference getStatement_AssignmentBefore();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.uml.alf.Statement#getAssignmentAfter <em>Assignment After</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the reference list '<em>Assignment After</em>'.
+ * @see org.eclipse.papyrus.uml.alf.Statement#getAssignmentAfter()
+ * @see #getStatement()
+ * @generated
+ */
+ EReference getStatement_AssignmentAfter();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.uml.alf.Statement#getEnclosingStatement <em>Enclosing Statement</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the reference '<em>Enclosing Statement</em>'.
+ * @see org.eclipse.papyrus.uml.alf.Statement#getEnclosingStatement()
+ * @see #getStatement()
+ * @generated
+ */
+ EReference getStatement_EnclosingStatement();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.uml.alf.Statement#isIsIsolated <em>Is Isolated</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the attribute '<em>Is Isolated</em>'.
+ * @see org.eclipse.papyrus.uml.alf.Statement#isIsIsolated()
+ * @see #getStatement()
+ * @generated
+ */
+ EAttribute getStatement_IsIsolated();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.Statement#enclosingLoopStatement() <em>Enclosing Loop Statement</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Enclosing Loop Statement</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.Statement#enclosingLoopStatement()
+ * @generated
+ */
+ EOperation getStatement__EnclosingLoopStatement();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.Statement#annotationAllowed(org.eclipse.papyrus.uml.alf.Annotation) <em>Annotation Allowed</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Annotation Allowed</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.Statement#annotationAllowed(org.eclipse.papyrus.uml.alf.Annotation)
+ * @generated
+ */
+ EOperation getStatement__AnnotationAllowed__Annotation();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.Statement#Statement_annotationAllowed(org.eclipse.papyrus.uml.alf.Annotation) <em>Statement annotation Allowed</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Statement annotation Allowed</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.Statement#Statement_annotationAllowed(org.eclipse.papyrus.uml.alf.Annotation)
+ * @generated
+ */
+ EOperation getStatement__Statement_annotationAllowed__Annotation();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.Statement#annotation() <em>Annotation</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Annotation</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.Statement#annotation()
+ * @generated
+ */
+ EOperation getStatement__Annotation();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.Statement#hasAnnotation(java.lang.String) <em>Has Annotation</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Has Annotation</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.Statement#hasAnnotation(java.lang.String)
+ * @generated
+ */
+ EOperation getStatement__HasAnnotation__String();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.Statement#newAssignments() <em>New Assignments</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>New Assignments</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.Statement#newAssignments()
+ * @generated
+ */
+ EOperation getStatement__NewAssignments();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.Statement#resolve(java.lang.String) <em>Resolve</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Resolve</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.Statement#resolve(java.lang.String)
+ * @generated
+ */
+ EOperation getStatement__Resolve__String();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.Statement#assignmentsAfter() <em>Assignments After</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Assignments After</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.Statement#assignmentsAfter()
+ * @generated
+ */
+ EOperation getStatement__AssignmentsAfter();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.Statement#Statement_assignmentsAfter() <em>Statement assignments After</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Statement assignments After</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.Statement#Statement_assignmentsAfter()
+ * @generated
+ */
+ EOperation getStatement__Statement_assignmentsAfter();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.Statement#assignmentsAfterCached() <em>Assignments After Cached</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Assignments After Cached</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.Statement#assignmentsAfterCached()
+ * @generated
+ */
+ EOperation getStatement__AssignmentsAfterCached();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.Statement#mergeAssignments(org.eclipse.emf.common.util.EList) <em>Merge Assignments</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Merge Assignments</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.Statement#mergeAssignments(org.eclipse.emf.common.util.EList)
+ * @generated
+ */
+ EOperation getStatement__MergeAssignments__EList();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.Statement#merge(java.lang.String, org.eclipse.emf.common.util.EList) <em>Merge</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Merge</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.Statement#merge(java.lang.String, org.eclipse.emf.common.util.EList)
+ * @generated
+ */
+ EOperation getStatement__Merge__String_EList();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.Statement#statementAnnotationsAllowed(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Statement Annotations Allowed</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Statement Annotations Allowed</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.Statement#statementAnnotationsAllowed(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getStatement__StatementAnnotationsAllowed__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.Statement#statementUniqueAssignments(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Statement Unique Assignments</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Statement Unique Assignments</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.Statement#statementUniqueAssignments(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getStatement__StatementUniqueAssignments__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.Statement#statementIsIsolatedDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Statement Is Isolated Derivation</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Statement Is Isolated Derivation</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.Statement#statementIsIsolatedDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getStatement__StatementIsIsolatedDerivation__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.uml.alf.Annotation <em>Annotation</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for class '<em>Annotation</em>'.
+ * @see org.eclipse.papyrus.uml.alf.Annotation
+ * @generated
+ */
+ EClass getAnnotation();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.uml.alf.Annotation#getText <em>Text</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the attribute '<em>Text</em>'.
+ * @see org.eclipse.papyrus.uml.alf.Annotation#getText()
+ * @see #getAnnotation()
+ * @generated
+ */
+ EAttribute getAnnotation_Text();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.uml.alf.Annotation#getIdentifier <em>Identifier</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the attribute '<em>Identifier</em>'.
+ * @see org.eclipse.papyrus.uml.alf.Annotation#getIdentifier()
+ * @see #getAnnotation()
+ * @generated
+ */
+ EAttribute getAnnotation_Identifier();
+
+ /**
+ * Returns the meta object for the attribute list '{@link org.eclipse.papyrus.uml.alf.Annotation#getArgument <em>Argument</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the attribute list '<em>Argument</em>'.
+ * @see org.eclipse.papyrus.uml.alf.Annotation#getArgument()
+ * @see #getAnnotation()
+ * @generated
+ */
+ EAttribute getAnnotation_Argument();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.Annotation#identifier() <em>Identifier</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Identifier</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.Annotation#identifier()
+ * @generated
+ */
+ EOperation getAnnotation__Identifier();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.Annotation#arguments() <em>Arguments</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Arguments</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.Annotation#arguments()
+ * @generated
+ */
+ EOperation getAnnotation__Arguments();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.uml.alf.QualifiedNameList <em>Qualified Name List</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for class '<em>Qualified Name List</em>'.
+ * @see org.eclipse.papyrus.uml.alf.QualifiedNameList
+ * @generated
+ */
+ EClass getQualifiedNameList();
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.eclipse.papyrus.uml.alf.QualifiedNameList#getName <em>Name</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the containment reference list '<em>Name</em>'.
+ * @see org.eclipse.papyrus.uml.alf.QualifiedNameList#getName()
+ * @see #getQualifiedNameList()
+ * @generated
+ */
+ EReference getQualifiedNameList_Name();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.QualifiedNameList#currentScope() <em>Current Scope</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Current Scope</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.QualifiedNameList#currentScope()
+ * @generated
+ */
+ EOperation getQualifiedNameList__CurrentScope();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.uml.alf.NonFinalClause <em>Non Final Clause</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for class '<em>Non Final Clause</em>'.
+ * @see org.eclipse.papyrus.uml.alf.NonFinalClause
+ * @generated
+ */
+ EClass getNonFinalClause();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.papyrus.uml.alf.NonFinalClause#getCondition <em>Condition</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the containment reference '<em>Condition</em>'.
+ * @see org.eclipse.papyrus.uml.alf.NonFinalClause#getCondition()
+ * @see #getNonFinalClause()
+ * @generated
+ */
+ EReference getNonFinalClause_Condition();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.papyrus.uml.alf.NonFinalClause#getBody <em>Body</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the containment reference '<em>Body</em>'.
+ * @see org.eclipse.papyrus.uml.alf.NonFinalClause#getBody()
+ * @see #getNonFinalClause()
+ * @generated
+ */
+ EReference getNonFinalClause_Body();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.NonFinalClause#assignmentsBefore(org.eclipse.papyrus.uml.alf.SyntaxElement) <em>Assignments Before</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Assignments Before</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.NonFinalClause#assignmentsBefore(org.eclipse.papyrus.uml.alf.SyntaxElement)
+ * @generated
+ */
+ EOperation getNonFinalClause__AssignmentsBefore__SyntaxElement();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.NonFinalClause#assignmentsBefore() <em>Assignments Before</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Assignments Before</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.NonFinalClause#assignmentsBefore()
+ * @generated
+ */
+ EOperation getNonFinalClause__AssignmentsBefore();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.NonFinalClause#assignmentsAfter() <em>Assignments After</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Assignments After</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.NonFinalClause#assignmentsAfter()
+ * @generated
+ */
+ EOperation getNonFinalClause__AssignmentsAfter();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.NonFinalClause#nonFinalClauseAssignmentsBeforeBody(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Non Final Clause Assignments Before Body</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Non Final Clause Assignments Before Body</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.NonFinalClause#nonFinalClauseAssignmentsBeforeBody(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getNonFinalClause__NonFinalClauseAssignmentsBeforeBody__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.NonFinalClause#nonFinalClauseConditionLocalNames(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Non Final Clause Condition Local Names</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Non Final Clause Condition Local Names</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.NonFinalClause#nonFinalClauseConditionLocalNames(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getNonFinalClause__NonFinalClauseConditionLocalNames__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.NonFinalClause#nonFinalClauseConditionType(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Non Final Clause Condition Type</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Non Final Clause Condition Type</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.NonFinalClause#nonFinalClauseConditionType(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getNonFinalClause__NonFinalClauseConditionType__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.uml.alf.Block <em>Block</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for class '<em>Block</em>'.
+ * @see org.eclipse.papyrus.uml.alf.Block
+ * @generated
+ */
+ EClass getBlock();
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.eclipse.papyrus.uml.alf.Block#getStatement <em>Statement</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the containment reference list '<em>Statement</em>'.
+ * @see org.eclipse.papyrus.uml.alf.Block#getStatement()
+ * @see #getBlock()
+ * @generated
+ */
+ EReference getBlock_Statement();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.uml.alf.Block#getAssignmentAfter <em>Assignment After</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the reference list '<em>Assignment After</em>'.
+ * @see org.eclipse.papyrus.uml.alf.Block#getAssignmentAfter()
+ * @see #getBlock()
+ * @generated
+ */
+ EReference getBlock_AssignmentAfter();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.uml.alf.Block#getAssignmentBefore <em>Assignment Before</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the reference list '<em>Assignment Before</em>'.
+ * @see org.eclipse.papyrus.uml.alf.Block#getAssignmentBefore()
+ * @see #getBlock()
+ * @generated
+ */
+ EReference getBlock_AssignmentBefore();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.Block#assignmentsBefore(org.eclipse.papyrus.uml.alf.SyntaxElement) <em>Assignments Before</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Assignments Before</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.Block#assignmentsBefore(org.eclipse.papyrus.uml.alf.SyntaxElement)
+ * @generated
+ */
+ EOperation getBlock__AssignmentsBefore__SyntaxElement();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.Block#newAssignments() <em>New Assignments</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>New Assignments</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.Block#newAssignments()
+ * @generated
+ */
+ EOperation getBlock__NewAssignments();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.Block#blockAssignmentsBeforeStatements(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Block Assignments Before Statements</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Block Assignments Before Statements</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.Block#blockAssignmentsBeforeStatements(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getBlock__BlockAssignmentsBeforeStatements__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.Block#blockAssignmentsBefore(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Block Assignments Before</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Block Assignments Before</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.Block#blockAssignmentsBefore(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getBlock__BlockAssignmentsBefore__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.Block#blockAssignmentAfterDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Block Assignment After Derivation</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Block Assignment After Derivation</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.Block#blockAssignmentAfterDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getBlock__BlockAssignmentAfterDerivation__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.uml.alf.BlockStatement <em>Block Statement</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for class '<em>Block Statement</em>'.
+ * @see org.eclipse.papyrus.uml.alf.BlockStatement
+ * @generated
+ */
+ EClass getBlockStatement();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.papyrus.uml.alf.BlockStatement#getBlock <em>Block</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the containment reference '<em>Block</em>'.
+ * @see org.eclipse.papyrus.uml.alf.BlockStatement#getBlock()
+ * @see #getBlockStatement()
+ * @generated
+ */
+ EReference getBlockStatement_Block();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.uml.alf.BlockStatement#isIsParallel <em>Is Parallel</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the attribute '<em>Is Parallel</em>'.
+ * @see org.eclipse.papyrus.uml.alf.BlockStatement#isIsParallel()
+ * @see #getBlockStatement()
+ * @generated
+ */
+ EAttribute getBlockStatement_IsParallel();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.BlockStatement#assignmentsAfter() <em>Assignments After</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Assignments After</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.BlockStatement#assignmentsAfter()
+ * @generated
+ */
+ EOperation getBlockStatement__AssignmentsAfter();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.BlockStatement#blockStatementParallelAssignments(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Block Statement Parallel Assignments</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Block Statement Parallel Assignments</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.BlockStatement#blockStatementParallelAssignments(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getBlockStatement__BlockStatementParallelAssignments__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.BlockStatement#blockStatementAssignmentsBefore(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Block Statement Assignments Before</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Block Statement Assignments Before</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.BlockStatement#blockStatementAssignmentsBefore(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getBlockStatement__BlockStatementAssignmentsBefore__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.BlockStatement#blockStatementAssignmentsAfter(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Block Statement Assignments After</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Block Statement Assignments After</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.BlockStatement#blockStatementAssignmentsAfter(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getBlockStatement__BlockStatementAssignmentsAfter__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.BlockStatement#blockStatementEnclosedStatements(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Block Statement Enclosed Statements</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Block Statement Enclosed Statements</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.BlockStatement#blockStatementEnclosedStatements(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getBlockStatement__BlockStatementEnclosedStatements__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.BlockStatement#blockStatementIsParallelDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Block Statement Is Parallel Derivation</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Block Statement Is Parallel Derivation</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.BlockStatement#blockStatementIsParallelDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getBlockStatement__BlockStatementIsParallelDerivation__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.BlockStatement#annotationAllowed(org.eclipse.papyrus.uml.alf.Annotation) <em>Annotation Allowed</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Annotation Allowed</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.BlockStatement#annotationAllowed(org.eclipse.papyrus.uml.alf.Annotation)
+ * @generated
+ */
+ EOperation getBlockStatement__AnnotationAllowed__Annotation();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.uml.alf.DoStatement <em>Do Statement</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for class '<em>Do Statement</em>'.
+ * @see org.eclipse.papyrus.uml.alf.DoStatement
+ * @generated
+ */
+ EClass getDoStatement();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.papyrus.uml.alf.DoStatement#getCondition <em>Condition</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the containment reference '<em>Condition</em>'.
+ * @see org.eclipse.papyrus.uml.alf.DoStatement#getCondition()
+ * @see #getDoStatement()
+ * @generated
+ */
+ EReference getDoStatement_Condition();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.papyrus.uml.alf.DoStatement#getBody <em>Body</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the containment reference '<em>Body</em>'.
+ * @see org.eclipse.papyrus.uml.alf.DoStatement#getBody()
+ * @see #getDoStatement()
+ * @generated
+ */
+ EReference getDoStatement_Body();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.DoStatement#enclosingLoopStatement() <em>Enclosing Loop Statement</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Enclosing Loop Statement</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.DoStatement#enclosingLoopStatement()
+ * @generated
+ */
+ EOperation getDoStatement__EnclosingLoopStatement();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.DoStatement#assignmentsBefore(org.eclipse.papyrus.uml.alf.SyntaxElement) <em>Assignments Before</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Assignments Before</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.DoStatement#assignmentsBefore(org.eclipse.papyrus.uml.alf.SyntaxElement)
+ * @generated
+ */
+ EOperation getDoStatement__AssignmentsBefore__SyntaxElement();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.DoStatement#assignmentsAfter() <em>Assignments After</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Assignments After</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.DoStatement#assignmentsAfter()
+ * @generated
+ */
+ EOperation getDoStatement__AssignmentsAfter();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.DoStatement#doStatementAssignmentsBefore(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Do Statement Assignments Before</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Do Statement Assignments Before</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.DoStatement#doStatementAssignmentsBefore(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getDoStatement__DoStatementAssignmentsBefore__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.DoStatement#doStatementAssignmentsAfter(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Do Statement Assignments After</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Do Statement Assignments After</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.DoStatement#doStatementAssignmentsAfter(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getDoStatement__DoStatementAssignmentsAfter__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.DoStatement#doStatementCondition(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Do Statement Condition</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Do Statement Condition</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.DoStatement#doStatementCondition(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getDoStatement__DoStatementCondition__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.DoStatement#doStatementEnclosedStatements(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Do Statement Enclosed Statements</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Do Statement Enclosed Statements</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.DoStatement#doStatementEnclosedStatements(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getDoStatement__DoStatementEnclosedStatements__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.uml.alf.ConcurrentClauses <em>Concurrent Clauses</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for class '<em>Concurrent Clauses</em>'.
+ * @see org.eclipse.papyrus.uml.alf.ConcurrentClauses
+ * @generated
+ */
+ EClass getConcurrentClauses();
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.eclipse.papyrus.uml.alf.ConcurrentClauses#getClause <em>Clause</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the containment reference list '<em>Clause</em>'.
+ * @see org.eclipse.papyrus.uml.alf.ConcurrentClauses#getClause()
+ * @see #getConcurrentClauses()
+ * @generated
+ */
+ EReference getConcurrentClauses_Clause();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.ConcurrentClauses#concurrentClausesAssignmentsBefore(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Concurrent Clauses Assignments Before</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Concurrent Clauses Assignments Before</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.ConcurrentClauses#concurrentClausesAssignmentsBefore(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getConcurrentClauses__ConcurrentClausesAssignmentsBefore__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.ConcurrentClauses#concurrentClausesConditionAssignments(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Concurrent Clauses Condition Assignments</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Concurrent Clauses Condition Assignments</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.ConcurrentClauses#concurrentClausesConditionAssignments(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getConcurrentClauses__ConcurrentClausesConditionAssignments__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.uml.alf.BreakStatement <em>Break Statement</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for class '<em>Break Statement</em>'.
+ * @see org.eclipse.papyrus.uml.alf.BreakStatement
+ * @generated
+ */
+ EClass getBreakStatement();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.uml.alf.BreakStatement#getTarget <em>Target</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the reference '<em>Target</em>'.
+ * @see org.eclipse.papyrus.uml.alf.BreakStatement#getTarget()
+ * @see #getBreakStatement()
+ * @generated
+ */
+ EReference getBreakStatement_Target();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.BreakStatement#breakStatementTargetDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Break Statement Target Derivation</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Break Statement Target Derivation</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.BreakStatement#breakStatementTargetDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getBreakStatement__BreakStatementTargetDerivation__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.BreakStatement#breakStatementNonparallelTarget(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Break Statement Nonparallel Target</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Break Statement Nonparallel Target</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.BreakStatement#breakStatementNonparallelTarget(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getBreakStatement__BreakStatementNonparallelTarget__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.BreakStatement#annotationAllowed(org.eclipse.papyrus.uml.alf.Annotation) <em>Annotation Allowed</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Annotation Allowed</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.BreakStatement#annotationAllowed(org.eclipse.papyrus.uml.alf.Annotation)
+ * @generated
+ */
+ EOperation getBreakStatement__AnnotationAllowed__Annotation();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.uml.alf.ExpressionStatement <em>Expression Statement</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for class '<em>Expression Statement</em>'.
+ * @see org.eclipse.papyrus.uml.alf.ExpressionStatement
+ * @generated
+ */
+ EClass getExpressionStatement();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.papyrus.uml.alf.ExpressionStatement#getExpression <em>Expression</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the containment reference '<em>Expression</em>'.
+ * @see org.eclipse.papyrus.uml.alf.ExpressionStatement#getExpression()
+ * @see #getExpressionStatement()
+ * @generated
+ */
+ EReference getExpressionStatement_Expression();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.ExpressionStatement#assignmentsAfter() <em>Assignments After</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Assignments After</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.ExpressionStatement#assignmentsAfter()
+ * @generated
+ */
+ EOperation getExpressionStatement__AssignmentsAfter();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.ExpressionStatement#expressionStatementAssignmentsBefore(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Expression Statement Assignments Before</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Expression Statement Assignments Before</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.ExpressionStatement#expressionStatementAssignmentsBefore(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getExpressionStatement__ExpressionStatementAssignmentsBefore__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.ExpressionStatement#expressionStatementAssignmentsAfter(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Expression Statement Assignments After</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Expression Statement Assignments After</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.ExpressionStatement#expressionStatementAssignmentsAfter(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getExpressionStatement__ExpressionStatementAssignmentsAfter__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.uml.alf.ClassifyStatement <em>Classify Statement</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for class '<em>Classify Statement</em>'.
+ * @see org.eclipse.papyrus.uml.alf.ClassifyStatement
+ * @generated
+ */
+ EClass getClassifyStatement();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.papyrus.uml.alf.ClassifyStatement#getExpression <em>Expression</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the containment reference '<em>Expression</em>'.
+ * @see org.eclipse.papyrus.uml.alf.ClassifyStatement#getExpression()
+ * @see #getClassifyStatement()
+ * @generated
+ */
+ EReference getClassifyStatement_Expression();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.papyrus.uml.alf.ClassifyStatement#getFromList <em>From List</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the containment reference '<em>From List</em>'.
+ * @see org.eclipse.papyrus.uml.alf.ClassifyStatement#getFromList()
+ * @see #getClassifyStatement()
+ * @generated
+ */
+ EReference getClassifyStatement_FromList();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.papyrus.uml.alf.ClassifyStatement#getToList <em>To List</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the containment reference '<em>To List</em>'.
+ * @see org.eclipse.papyrus.uml.alf.ClassifyStatement#getToList()
+ * @see #getClassifyStatement()
+ * @generated
+ */
+ EReference getClassifyStatement_ToList();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.uml.alf.ClassifyStatement#getFromClass <em>From Class</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the reference list '<em>From Class</em>'.
+ * @see org.eclipse.papyrus.uml.alf.ClassifyStatement#getFromClass()
+ * @see #getClassifyStatement()
+ * @generated
+ */
+ EReference getClassifyStatement_FromClass();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.uml.alf.ClassifyStatement#getToClass <em>To Class</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the reference list '<em>To Class</em>'.
+ * @see org.eclipse.papyrus.uml.alf.ClassifyStatement#getToClass()
+ * @see #getClassifyStatement()
+ * @generated
+ */
+ EReference getClassifyStatement_ToClass();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.uml.alf.ClassifyStatement#isIsReclassifyAll <em>Is Reclassify All</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the attribute '<em>Is Reclassify All</em>'.
+ * @see org.eclipse.papyrus.uml.alf.ClassifyStatement#isIsReclassifyAll()
+ * @see #getClassifyStatement()
+ * @generated
+ */
+ EAttribute getClassifyStatement_IsReclassifyAll();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.ClassifyStatement#assignmentAfter() <em>Assignment After</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Assignment After</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.ClassifyStatement#assignmentAfter()
+ * @generated
+ */
+ EOperation getClassifyStatement__AssignmentAfter();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.ClassifyStatement#classifyStatementExpression(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Classify Statement Expression</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Classify Statement Expression</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.ClassifyStatement#classifyStatementExpression(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getClassifyStatement__ClassifyStatementExpression__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.ClassifyStatement#classifyStatementClassNames(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Classify Statement Class Names</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Classify Statement Class Names</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.ClassifyStatement#classifyStatementClassNames(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getClassifyStatement__ClassifyStatementClassNames__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.ClassifyStatement#classifyStatementClasses(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Classify Statement Classes</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Classify Statement Classes</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.ClassifyStatement#classifyStatementClasses(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getClassifyStatement__ClassifyStatementClasses__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.ClassifyStatement#classifyStatementAssignmentsBefore(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Classify Statement Assignments Before</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Classify Statement Assignments Before</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.ClassifyStatement#classifyStatementAssignmentsBefore(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getClassifyStatement__ClassifyStatementAssignmentsBefore__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.ClassifyStatement#classifyStatementAssignmentsAfter(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Classify Statement Assignments After</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Classify Statement Assignments After</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.ClassifyStatement#classifyStatementAssignmentsAfter(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getClassifyStatement__ClassifyStatementAssignmentsAfter__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.ClassifyStatement#classifyStatementFromClassDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Classify Statement From Class Derivation</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Classify Statement From Class Derivation</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.ClassifyStatement#classifyStatementFromClassDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getClassifyStatement__ClassifyStatementFromClassDerivation__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.ClassifyStatement#classifyStatementToClassDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Classify Statement To Class Derivation</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Classify Statement To Class Derivation</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.ClassifyStatement#classifyStatementToClassDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getClassifyStatement__ClassifyStatementToClassDerivation__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.uml.alf.ForStatement <em>For Statement</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for class '<em>For Statement</em>'.
+ * @see org.eclipse.papyrus.uml.alf.ForStatement
+ * @generated
+ */
+ EClass getForStatement();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.papyrus.uml.alf.ForStatement#getBody <em>Body</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the containment reference '<em>Body</em>'.
+ * @see org.eclipse.papyrus.uml.alf.ForStatement#getBody()
+ * @see #getForStatement()
+ * @generated
+ */
+ EReference getForStatement_Body();
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.eclipse.papyrus.uml.alf.ForStatement#getVariableDefinition <em>Variable Definition</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the containment reference list '<em>Variable Definition</em>'.
+ * @see org.eclipse.papyrus.uml.alf.ForStatement#getVariableDefinition()
+ * @see #getForStatement()
+ * @generated
+ */
+ EReference getForStatement_VariableDefinition();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.uml.alf.ForStatement#isIsParallel <em>Is Parallel</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the attribute '<em>Is Parallel</em>'.
+ * @see org.eclipse.papyrus.uml.alf.ForStatement#isIsParallel()
+ * @see #getForStatement()
+ * @generated
+ */
+ EAttribute getForStatement_IsParallel();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.ForStatement#enclosingLoopStatement() <em>Enclosing Loop Statement</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Enclosing Loop Statement</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.ForStatement#enclosingLoopStatement()
+ * @generated
+ */
+ EOperation getForStatement__EnclosingLoopStatement();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.ForStatement#assignmentsBefore(org.eclipse.papyrus.uml.alf.SyntaxElement) <em>Assignments Before</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Assignments Before</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.ForStatement#assignmentsBefore(org.eclipse.papyrus.uml.alf.SyntaxElement)
+ * @generated
+ */
+ EOperation getForStatement__AssignmentsBefore__SyntaxElement();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.ForStatement#assignmentsAfterVariables() <em>Assignments After Variables</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Assignments After Variables</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.ForStatement#assignmentsAfterVariables()
+ * @generated
+ */
+ EOperation getForStatement__AssignmentsAfterVariables();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.ForStatement#assignmentsAfter() <em>Assignments After</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Assignments After</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.ForStatement#assignmentsAfter()
+ * @generated
+ */
+ EOperation getForStatement__AssignmentsAfter();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.ForStatement#parallelNames() <em>Parallel Names</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Parallel Names</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.ForStatement#parallelNames()
+ * @generated
+ */
+ EOperation getForStatement__ParallelNames();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.ForStatement#forStatementAssignmentsBefore(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>For Statement Assignments Before</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>For Statement Assignments Before</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.ForStatement#forStatementAssignmentsBefore(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getForStatement__ForStatementAssignmentsBefore__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.ForStatement#forStatementAssignmentsAfter(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>For Statement Assignments After</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>For Statement Assignments After</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.ForStatement#forStatementAssignmentsAfter(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getForStatement__ForStatementAssignmentsAfter__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.ForStatement#forStatementParallelAnnotationNames(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>For Statement Parallel Annotation Names</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>For Statement Parallel Annotation Names</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.ForStatement#forStatementParallelAnnotationNames(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getForStatement__ForStatementParallelAnnotationNames__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.ForStatement#forStatementParallelAssignmentsAfter(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>For Statement Parallel Assignments After</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>For Statement Parallel Assignments After</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.ForStatement#forStatementParallelAssignmentsAfter(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getForStatement__ForStatementParallelAssignmentsAfter__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.ForStatement#forStatementVariableDefinitions(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>For Statement Variable Definitions</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>For Statement Variable Definitions</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.ForStatement#forStatementVariableDefinitions(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getForStatement__ForStatementVariableDefinitions__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.ForStatement#forStatementLoopVariables(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>For Statement Loop Variables</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>For Statement Loop Variables</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.ForStatement#forStatementLoopVariables(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getForStatement__ForStatementLoopVariables__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.ForStatement#forStatementIsParallelDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>For Statement Is Parallel Derivation</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>For Statement Is Parallel Derivation</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.ForStatement#forStatementIsParallelDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getForStatement__ForStatementIsParallelDerivation__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.ForStatement#forStatementEnclosedStatements(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>For Statement Enclosed Statements</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>For Statement Enclosed Statements</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.ForStatement#forStatementEnclosedStatements(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getForStatement__ForStatementEnclosedStatements__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.ForStatement#annotationAllowed(org.eclipse.papyrus.uml.alf.Annotation) <em>Annotation Allowed</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Annotation Allowed</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.ForStatement#annotationAllowed(org.eclipse.papyrus.uml.alf.Annotation)
+ * @generated
+ */
+ EOperation getForStatement__AnnotationAllowed__Annotation();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.uml.alf.LoopVariableDefinition <em>Loop Variable Definition</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for class '<em>Loop Variable Definition</em>'.
+ * @see org.eclipse.papyrus.uml.alf.LoopVariableDefinition
+ * @generated
+ */
+ EClass getLoopVariableDefinition();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.uml.alf.LoopVariableDefinition#getVariable <em>Variable</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the attribute '<em>Variable</em>'.
+ * @see org.eclipse.papyrus.uml.alf.LoopVariableDefinition#getVariable()
+ * @see #getLoopVariableDefinition()
+ * @generated
+ */
+ EAttribute getLoopVariableDefinition_Variable();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.papyrus.uml.alf.LoopVariableDefinition#getExpression1 <em>Expression1</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the containment reference '<em>Expression1</em>'.
+ * @see org.eclipse.papyrus.uml.alf.LoopVariableDefinition#getExpression1()
+ * @see #getLoopVariableDefinition()
+ * @generated
+ */
+ EReference getLoopVariableDefinition_Expression1();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.papyrus.uml.alf.LoopVariableDefinition#getExpression2 <em>Expression2</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the containment reference '<em>Expression2</em>'.
+ * @see org.eclipse.papyrus.uml.alf.LoopVariableDefinition#getExpression2()
+ * @see #getLoopVariableDefinition()
+ * @generated
+ */
+ EReference getLoopVariableDefinition_Expression2();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.papyrus.uml.alf.LoopVariableDefinition#getTypeName <em>Type Name</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the containment reference '<em>Type Name</em>'.
+ * @see org.eclipse.papyrus.uml.alf.LoopVariableDefinition#getTypeName()
+ * @see #getLoopVariableDefinition()
+ * @generated
+ */
+ EReference getLoopVariableDefinition_TypeName();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.uml.alf.LoopVariableDefinition#isTypeIsInferred <em>Type Is Inferred</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the attribute '<em>Type Is Inferred</em>'.
+ * @see org.eclipse.papyrus.uml.alf.LoopVariableDefinition#isTypeIsInferred()
+ * @see #getLoopVariableDefinition()
+ * @generated
+ */
+ EAttribute getLoopVariableDefinition_TypeIsInferred();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.uml.alf.LoopVariableDefinition#isIsCollectionConversion <em>Is Collection Conversion</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the attribute '<em>Is Collection Conversion</em>'.
+ * @see org.eclipse.papyrus.uml.alf.LoopVariableDefinition#isIsCollectionConversion()
+ * @see #getLoopVariableDefinition()
+ * @generated
+ */
+ EAttribute getLoopVariableDefinition_IsCollectionConversion();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.uml.alf.LoopVariableDefinition#getType <em>Type</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the reference '<em>Type</em>'.
+ * @see org.eclipse.papyrus.uml.alf.LoopVariableDefinition#getType()
+ * @see #getLoopVariableDefinition()
+ * @generated
+ */
+ EReference getLoopVariableDefinition_Type();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.uml.alf.LoopVariableDefinition#isIsFirst <em>Is First</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the attribute '<em>Is First</em>'.
+ * @see org.eclipse.papyrus.uml.alf.LoopVariableDefinition#isIsFirst()
+ * @see #getLoopVariableDefinition()
+ * @generated
+ */
+ EAttribute getLoopVariableDefinition_IsFirst();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.uml.alf.LoopVariableDefinition#getAssignmentBefore <em>Assignment Before</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the reference list '<em>Assignment Before</em>'.
+ * @see org.eclipse.papyrus.uml.alf.LoopVariableDefinition#getAssignmentBefore()
+ * @see #getLoopVariableDefinition()
+ * @generated
+ */
+ EReference getLoopVariableDefinition_AssignmentBefore();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.uml.alf.LoopVariableDefinition#getAssignmentAfter <em>Assignment After</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the reference list '<em>Assignment After</em>'.
+ * @see org.eclipse.papyrus.uml.alf.LoopVariableDefinition#getAssignmentAfter()
+ * @see #getLoopVariableDefinition()
+ * @generated
+ */
+ EReference getLoopVariableDefinition_AssignmentAfter();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.uml.alf.LoopVariableDefinition#isIsAny <em>Is Any</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the attribute '<em>Is Any</em>'.
+ * @see org.eclipse.papyrus.uml.alf.LoopVariableDefinition#isIsAny()
+ * @see #getLoopVariableDefinition()
+ * @generated
+ */
+ EAttribute getLoopVariableDefinition_IsAny();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.LoopVariableDefinition#actualName() <em>Actual Name</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Actual Name</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.LoopVariableDefinition#actualName()
+ * @generated
+ */
+ EOperation getLoopVariableDefinition__ActualName();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.LoopVariableDefinition#newAssignments() <em>New Assignments</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>New Assignments</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.LoopVariableDefinition#newAssignments()
+ * @generated
+ */
+ EOperation getLoopVariableDefinition__NewAssignments();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.LoopVariableDefinition#loopVariableDefinitionAssignmentAfterDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * <em>Loop Variable Definition Assignment After Derivation</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Loop Variable Definition Assignment After Derivation</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.LoopVariableDefinition#loopVariableDefinitionAssignmentAfterDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getLoopVariableDefinition__LoopVariableDefinitionAssignmentAfterDerivation__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.LoopVariableDefinition#loopVariableDefinitionAssignmentsBefore(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Loop Variable Definition Assignments Before</em>}'
+ * operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Loop Variable Definition Assignments Before</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.LoopVariableDefinition#loopVariableDefinitionAssignmentsBefore(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getLoopVariableDefinition__LoopVariableDefinitionAssignmentsBefore__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.LoopVariableDefinition#loopVariableDefinitionRangeExpressions(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Loop Variable Definition Range Expressions</em>}'
+ * operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Loop Variable Definition Range Expressions</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.LoopVariableDefinition#loopVariableDefinitionRangeExpressions(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getLoopVariableDefinition__LoopVariableDefinitionRangeExpressions__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.LoopVariableDefinition#loopVariableDefinitionTypeName(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Loop Variable Definition Type Name</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Loop Variable Definition Type Name</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.LoopVariableDefinition#loopVariableDefinitionTypeName(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getLoopVariableDefinition__LoopVariableDefinitionTypeName__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.LoopVariableDefinition#loopVariableDefinitionTypeDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Loop Variable Definition Type Derivation</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Loop Variable Definition Type Derivation</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.LoopVariableDefinition#loopVariableDefinitionTypeDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getLoopVariableDefinition__LoopVariableDefinitionTypeDerivation__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.LoopVariableDefinition#loopVariableDefinitionDeclaredType(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Loop Variable Definition Declared Type</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Loop Variable Definition Declared Type</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.LoopVariableDefinition#loopVariableDefinitionDeclaredType(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getLoopVariableDefinition__LoopVariableDefinitionDeclaredType__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.LoopVariableDefinition#loopVariableDefinitionIsCollectionConversionDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * <em>Loop Variable Definition Is Collection Conversion Derivation</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Loop Variable Definition Is Collection Conversion Derivation</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.LoopVariableDefinition#loopVariableDefinitionIsCollectionConversionDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getLoopVariableDefinition__LoopVariableDefinitionIsCollectionConversionDerivation__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.LoopVariableDefinition#loopVariableDefinitionVariable(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Loop Variable Definition Variable</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Loop Variable Definition Variable</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.LoopVariableDefinition#loopVariableDefinitionVariable(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getLoopVariableDefinition__LoopVariableDefinitionVariable__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.uml.alf.IfStatement <em>If Statement</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for class '<em>If Statement</em>'.
+ * @see org.eclipse.papyrus.uml.alf.IfStatement
+ * @generated
+ */
+ EClass getIfStatement();
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.eclipse.papyrus.uml.alf.IfStatement#getNonFinalClauses <em>Non Final Clauses</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the containment reference list '<em>Non Final Clauses</em>'.
+ * @see org.eclipse.papyrus.uml.alf.IfStatement#getNonFinalClauses()
+ * @see #getIfStatement()
+ * @generated
+ */
+ EReference getIfStatement_NonFinalClauses();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.papyrus.uml.alf.IfStatement#getFinalClause <em>Final Clause</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the containment reference '<em>Final Clause</em>'.
+ * @see org.eclipse.papyrus.uml.alf.IfStatement#getFinalClause()
+ * @see #getIfStatement()
+ * @generated
+ */
+ EReference getIfStatement_FinalClause();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.uml.alf.IfStatement#isIsAssured <em>Is Assured</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the attribute '<em>Is Assured</em>'.
+ * @see org.eclipse.papyrus.uml.alf.IfStatement#isIsAssured()
+ * @see #getIfStatement()
+ * @generated
+ */
+ EAttribute getIfStatement_IsAssured();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.uml.alf.IfStatement#isIsDeterminate <em>Is Determinate</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the attribute '<em>Is Determinate</em>'.
+ * @see org.eclipse.papyrus.uml.alf.IfStatement#isIsDeterminate()
+ * @see #getIfStatement()
+ * @generated
+ */
+ EAttribute getIfStatement_IsDeterminate();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.IfStatement#assignmentsAfter() <em>Assignments After</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Assignments After</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.IfStatement#assignmentsAfter()
+ * @generated
+ */
+ EOperation getIfStatement__AssignmentsAfter();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.IfStatement#ifStatementAssignmentsBefore(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>If Statement Assignments Before</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>If Statement Assignments Before</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.IfStatement#ifStatementAssignmentsBefore(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getIfStatement__IfStatementAssignmentsBefore__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.IfStatement#ifStatementAssignmentsAfter(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>If Statement Assignments After</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>If Statement Assignments After</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.IfStatement#ifStatementAssignmentsAfter(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getIfStatement__IfStatementAssignmentsAfter__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.IfStatement#ifStatementEnclosedStatements(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>If Statement Enclosed Statements</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>If Statement Enclosed Statements</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.IfStatement#ifStatementEnclosedStatements(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getIfStatement__IfStatementEnclosedStatements__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.IfStatement#ifStatementIsAssuredDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>If Statement Is Assured Derivation</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>If Statement Is Assured Derivation</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.IfStatement#ifStatementIsAssuredDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getIfStatement__IfStatementIsAssuredDerivation__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.IfStatement#ifStatementIsDeterminateDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>If Statement Is Determinate Derivation</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>If Statement Is Determinate Derivation</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.IfStatement#ifStatementIsDeterminateDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getIfStatement__IfStatementIsDeterminateDerivation__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.IfStatement#annotationAllowed(org.eclipse.papyrus.uml.alf.Annotation) <em>Annotation Allowed</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Annotation Allowed</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.IfStatement#annotationAllowed(org.eclipse.papyrus.uml.alf.Annotation)
+ * @generated
+ */
+ EOperation getIfStatement__AnnotationAllowed__Annotation();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.uml.alf.SwitchStatement <em>Switch Statement</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for class '<em>Switch Statement</em>'.
+ * @see org.eclipse.papyrus.uml.alf.SwitchStatement
+ * @generated
+ */
+ EClass getSwitchStatement();
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.eclipse.papyrus.uml.alf.SwitchStatement#getNonDefaultClause <em>Non Default Clause</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the containment reference list '<em>Non Default Clause</em>'.
+ * @see org.eclipse.papyrus.uml.alf.SwitchStatement#getNonDefaultClause()
+ * @see #getSwitchStatement()
+ * @generated
+ */
+ EReference getSwitchStatement_NonDefaultClause();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.papyrus.uml.alf.SwitchStatement#getExpression <em>Expression</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the containment reference '<em>Expression</em>'.
+ * @see org.eclipse.papyrus.uml.alf.SwitchStatement#getExpression()
+ * @see #getSwitchStatement()
+ * @generated
+ */
+ EReference getSwitchStatement_Expression();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.papyrus.uml.alf.SwitchStatement#getDefaultClause <em>Default Clause</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the containment reference '<em>Default Clause</em>'.
+ * @see org.eclipse.papyrus.uml.alf.SwitchStatement#getDefaultClause()
+ * @see #getSwitchStatement()
+ * @generated
+ */
+ EReference getSwitchStatement_DefaultClause();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.uml.alf.SwitchStatement#isIsAssured <em>Is Assured</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the attribute '<em>Is Assured</em>'.
+ * @see org.eclipse.papyrus.uml.alf.SwitchStatement#isIsAssured()
+ * @see #getSwitchStatement()
+ * @generated
+ */
+ EAttribute getSwitchStatement_IsAssured();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.uml.alf.SwitchStatement#isIsDeterminate <em>Is Determinate</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the attribute '<em>Is Determinate</em>'.
+ * @see org.eclipse.papyrus.uml.alf.SwitchStatement#isIsDeterminate()
+ * @see #getSwitchStatement()
+ * @generated
+ */
+ EAttribute getSwitchStatement_IsDeterminate();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.SwitchStatement#assignmentsBefore(org.eclipse.papyrus.uml.alf.SyntaxElement) <em>Assignments Before</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Assignments Before</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.SwitchStatement#assignmentsBefore(org.eclipse.papyrus.uml.alf.SyntaxElement)
+ * @generated
+ */
+ EOperation getSwitchStatement__AssignmentsBefore__SyntaxElement();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.SwitchStatement#assignmentsAfter() <em>Assignments After</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Assignments After</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.SwitchStatement#assignmentsAfter()
+ * @generated
+ */
+ EOperation getSwitchStatement__AssignmentsAfter();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.SwitchStatement#switchStatementAssignmentsBefore(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Switch Statement Assignments Before</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Switch Statement Assignments Before</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.SwitchStatement#switchStatementAssignmentsBefore(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getSwitchStatement__SwitchStatementAssignmentsBefore__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.SwitchStatement#switchStatementCaseAssignments(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Switch Statement Case Assignments</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Switch Statement Case Assignments</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.SwitchStatement#switchStatementCaseAssignments(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getSwitchStatement__SwitchStatementCaseAssignments__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.SwitchStatement#switchStatementAssignmentsAfter(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Switch Statement Assignments After</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Switch Statement Assignments After</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.SwitchStatement#switchStatementAssignmentsAfter(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getSwitchStatement__SwitchStatementAssignmentsAfter__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.SwitchStatement#switchStatementAssignments(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Switch Statement Assignments</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Switch Statement Assignments</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.SwitchStatement#switchStatementAssignments(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getSwitchStatement__SwitchStatementAssignments__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.SwitchStatement#switchStatementExpression(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Switch Statement Expression</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Switch Statement Expression</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.SwitchStatement#switchStatementExpression(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getSwitchStatement__SwitchStatementExpression__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.SwitchStatement#switchStatementEnclosedStatements(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Switch Statement Enclosed Statements</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Switch Statement Enclosed Statements</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.SwitchStatement#switchStatementEnclosedStatements(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getSwitchStatement__SwitchStatementEnclosedStatements__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.SwitchStatement#switchStatementIsDeterminateDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Switch Statement Is Determinate Derivation</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Switch Statement Is Determinate Derivation</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.SwitchStatement#switchStatementIsDeterminateDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getSwitchStatement__SwitchStatementIsDeterminateDerivation__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.SwitchStatement#switchStatementIsAssuredDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Switch Statement Is Assured Derivation</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Switch Statement Is Assured Derivation</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.SwitchStatement#switchStatementIsAssuredDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getSwitchStatement__SwitchStatementIsAssuredDerivation__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.SwitchStatement#annotationAllowed(org.eclipse.papyrus.uml.alf.Annotation) <em>Annotation Allowed</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Annotation Allowed</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.SwitchStatement#annotationAllowed(org.eclipse.papyrus.uml.alf.Annotation)
+ * @generated
+ */
+ EOperation getSwitchStatement__AnnotationAllowed__Annotation();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.uml.alf.SwitchClause <em>Switch Clause</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for class '<em>Switch Clause</em>'.
+ * @see org.eclipse.papyrus.uml.alf.SwitchClause
+ * @generated
+ */
+ EClass getSwitchClause();
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.eclipse.papyrus.uml.alf.SwitchClause#getCase <em>Case</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the containment reference list '<em>Case</em>'.
+ * @see org.eclipse.papyrus.uml.alf.SwitchClause#getCase()
+ * @see #getSwitchClause()
+ * @generated
+ */
+ EReference getSwitchClause_Case();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.papyrus.uml.alf.SwitchClause#getBlock <em>Block</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the containment reference '<em>Block</em>'.
+ * @see org.eclipse.papyrus.uml.alf.SwitchClause#getBlock()
+ * @see #getSwitchClause()
+ * @generated
+ */
+ EReference getSwitchClause_Block();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.SwitchClause#assignmentsBefore(org.eclipse.papyrus.uml.alf.SyntaxElement) <em>Assignments Before</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Assignments Before</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.SwitchClause#assignmentsBefore(org.eclipse.papyrus.uml.alf.SyntaxElement)
+ * @generated
+ */
+ EOperation getSwitchClause__AssignmentsBefore__SyntaxElement();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.SwitchClause#assignmentsBefore() <em>Assignments Before</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Assignments Before</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.SwitchClause#assignmentsBefore()
+ * @generated
+ */
+ EOperation getSwitchClause__AssignmentsBefore();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.SwitchClause#assignmentsAfter() <em>Assignments After</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Assignments After</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.SwitchClause#assignmentsAfter()
+ * @generated
+ */
+ EOperation getSwitchClause__AssignmentsAfter();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.SwitchClause#switchClauseAssignmentsBefore(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Switch Clause Assignments Before</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Switch Clause Assignments Before</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.SwitchClause#switchClauseAssignmentsBefore(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getSwitchClause__SwitchClauseAssignmentsBefore__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.SwitchClause#switchClauseCaseLocalNames(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Switch Clause Case Local Names</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Switch Clause Case Local Names</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.SwitchClause#switchClauseCaseLocalNames(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getSwitchClause__SwitchClauseCaseLocalNames__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.SwitchClause#switchClauseCases(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Switch Clause Cases</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Switch Clause Cases</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.SwitchClause#switchClauseCases(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getSwitchClause__SwitchClauseCases__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.uml.alf.WhileStatement <em>While Statement</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for class '<em>While Statement</em>'.
+ * @see org.eclipse.papyrus.uml.alf.WhileStatement
+ * @generated
+ */
+ EClass getWhileStatement();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.papyrus.uml.alf.WhileStatement#getBody <em>Body</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the containment reference '<em>Body</em>'.
+ * @see org.eclipse.papyrus.uml.alf.WhileStatement#getBody()
+ * @see #getWhileStatement()
+ * @generated
+ */
+ EReference getWhileStatement_Body();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.papyrus.uml.alf.WhileStatement#getCondition <em>Condition</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the containment reference '<em>Condition</em>'.
+ * @see org.eclipse.papyrus.uml.alf.WhileStatement#getCondition()
+ * @see #getWhileStatement()
+ * @generated
+ */
+ EReference getWhileStatement_Condition();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.WhileStatement#enclosingLoopStatement() <em>Enclosing Loop Statement</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Enclosing Loop Statement</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.WhileStatement#enclosingLoopStatement()
+ * @generated
+ */
+ EOperation getWhileStatement__EnclosingLoopStatement();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.WhileStatement#assignmentsBefore(org.eclipse.papyrus.uml.alf.SyntaxElement) <em>Assignments Before</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Assignments Before</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.WhileStatement#assignmentsBefore(org.eclipse.papyrus.uml.alf.SyntaxElement)
+ * @generated
+ */
+ EOperation getWhileStatement__AssignmentsBefore__SyntaxElement();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.WhileStatement#assignmentsAfter() <em>Assignments After</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Assignments After</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.WhileStatement#assignmentsAfter()
+ * @generated
+ */
+ EOperation getWhileStatement__AssignmentsAfter();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.WhileStatement#whileStatementAssignmentsBefore(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>While Statement Assignments Before</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>While Statement Assignments Before</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.WhileStatement#whileStatementAssignmentsBefore(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getWhileStatement__WhileStatementAssignmentsBefore__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.WhileStatement#whileStatementAssignmentsAfter(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>While Statement Assignments After</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>While Statement Assignments After</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.WhileStatement#whileStatementAssignmentsAfter(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getWhileStatement__WhileStatementAssignmentsAfter__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.WhileStatement#whileStatementCondition(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>While Statement Condition</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>While Statement Condition</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.WhileStatement#whileStatementCondition(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getWhileStatement__WhileStatementCondition__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.WhileStatement#whileStatementEnclosedStatements(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>While Statement Enclosed Statements</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>While Statement Enclosed Statements</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.WhileStatement#whileStatementEnclosedStatements(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getWhileStatement__WhileStatementEnclosedStatements__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.uml.alf.ReturnStatement <em>Return Statement</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for class '<em>Return Statement</em>'.
+ * @see org.eclipse.papyrus.uml.alf.ReturnStatement
+ * @generated
+ */
+ EClass getReturnStatement();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.papyrus.uml.alf.ReturnStatement#getExpression <em>Expression</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the containment reference '<em>Expression</em>'.
+ * @see org.eclipse.papyrus.uml.alf.ReturnStatement#getExpression()
+ * @see #getReturnStatement()
+ * @generated
+ */
+ EReference getReturnStatement_Expression();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.uml.alf.ReturnStatement#getBehavior <em>Behavior</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the reference '<em>Behavior</em>'.
+ * @see org.eclipse.papyrus.uml.alf.ReturnStatement#getBehavior()
+ * @see #getReturnStatement()
+ * @generated
+ */
+ EReference getReturnStatement_Behavior();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.ReturnStatement#assignmentsAfter() <em>Assignments After</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Assignments After</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.ReturnStatement#assignmentsAfter()
+ * @generated
+ */
+ EOperation getReturnStatement__AssignmentsAfter();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.ReturnStatement#returnStatementContext(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Return Statement Context</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Return Statement Context</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.ReturnStatement#returnStatementContext(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getReturnStatement__ReturnStatementContext__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.ReturnStatement#returnStatementAssignmentsBefore(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Return Statement Assignments Before</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Return Statement Assignments Before</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.ReturnStatement#returnStatementAssignmentsBefore(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getReturnStatement__ReturnStatementAssignmentsBefore__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.ReturnStatement#returnStatementAssignmentsAfter(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Return Statement Assignments After</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Return Statement Assignments After</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.ReturnStatement#returnStatementAssignmentsAfter(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getReturnStatement__ReturnStatementAssignmentsAfter__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.uml.alf.InLineStatement <em>In Line Statement</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for class '<em>In Line Statement</em>'.
+ * @see org.eclipse.papyrus.uml.alf.InLineStatement
+ * @generated
+ */
+ EClass getInLineStatement();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.uml.alf.InLineStatement#getLanguage <em>Language</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the attribute '<em>Language</em>'.
+ * @see org.eclipse.papyrus.uml.alf.InLineStatement#getLanguage()
+ * @see #getInLineStatement()
+ * @generated
+ */
+ EAttribute getInLineStatement_Language();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.uml.alf.InLineStatement#getCode <em>Code</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the attribute '<em>Code</em>'.
+ * @see org.eclipse.papyrus.uml.alf.InLineStatement#getCode()
+ * @see #getInLineStatement()
+ * @generated
+ */
+ EAttribute getInLineStatement_Code();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.InLineStatement#inLineStatementAssignmentsAfter(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>In Line Statement Assignments After</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>In Line Statement Assignments After</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.InLineStatement#inLineStatementAssignmentsAfter(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getInLineStatement__InLineStatementAssignmentsAfter__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.uml.alf.AcceptStatement <em>Accept Statement</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for class '<em>Accept Statement</em>'.
+ * @see org.eclipse.papyrus.uml.alf.AcceptStatement
+ * @generated
+ */
+ EClass getAcceptStatement();
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.eclipse.papyrus.uml.alf.AcceptStatement#getAcceptBlock <em>Accept Block</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the containment reference list '<em>Accept Block</em>'.
+ * @see org.eclipse.papyrus.uml.alf.AcceptStatement#getAcceptBlock()
+ * @see #getAcceptStatement()
+ * @generated
+ */
+ EReference getAcceptStatement_AcceptBlock();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.uml.alf.AcceptStatement#getBehavior <em>Behavior</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the reference '<em>Behavior</em>'.
+ * @see org.eclipse.papyrus.uml.alf.AcceptStatement#getBehavior()
+ * @see #getAcceptStatement()
+ * @generated
+ */
+ EReference getAcceptStatement_Behavior();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.uml.alf.AcceptStatement#isIsSimple <em>Is Simple</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the attribute '<em>Is Simple</em>'.
+ * @see org.eclipse.papyrus.uml.alf.AcceptStatement#isIsSimple()
+ * @see #getAcceptStatement()
+ * @generated
+ */
+ EAttribute getAcceptStatement_IsSimple();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.AcceptStatement#assignmentsAfter() <em>Assignments After</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Assignments After</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.AcceptStatement#assignmentsAfter()
+ * @generated
+ */
+ EOperation getAcceptStatement__AssignmentsAfter();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.AcceptStatement#effectiveBehavior() <em>Effective Behavior</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Effective Behavior</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.AcceptStatement#effectiveBehavior()
+ * @generated
+ */
+ EOperation getAcceptStatement__EffectiveBehavior();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.AcceptStatement#effectiveBehavior_() <em>Effective Behavior </em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Effective Behavior </em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.AcceptStatement#effectiveBehavior_()
+ * @generated
+ */
+ EOperation getAcceptStatement__EffectiveBehavior_();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.AcceptStatement#acceptStatementContext(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Accept Statement Context</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Accept Statement Context</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.AcceptStatement#acceptStatementContext(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getAcceptStatement__AcceptStatementContext__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.AcceptStatement#acceptStatementSignals(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Accept Statement Signals</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Accept Statement Signals</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.AcceptStatement#acceptStatementSignals(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getAcceptStatement__AcceptStatementSignals__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.AcceptStatement#receivedSignals(org.eclipse.papyrus.uml.alf.ElementReference) <em>Received Signals</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Received Signals</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.AcceptStatement#receivedSignals(org.eclipse.papyrus.uml.alf.ElementReference)
+ * @generated
+ */
+ EOperation getAcceptStatement__ReceivedSignals__ElementReference();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.AcceptStatement#receivedSignals_(org.eclipse.papyrus.uml.alf.ElementReference) <em>Received Signals </em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Received Signals </em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.AcceptStatement#receivedSignals_(org.eclipse.papyrus.uml.alf.ElementReference)
+ * @generated
+ */
+ EOperation getAcceptStatement__ReceivedSignals___ElementReference();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.AcceptStatement#acceptStatementNames(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Accept Statement Names</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Accept Statement Names</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.AcceptStatement#acceptStatementNames(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getAcceptStatement__AcceptStatementNames__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.AcceptStatement#acceptStatementSimpleAcceptLocalName(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Accept Statement Simple Accept Local Name</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Accept Statement Simple Accept Local Name</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.AcceptStatement#acceptStatementSimpleAcceptLocalName(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getAcceptStatement__AcceptStatementSimpleAcceptLocalName__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.AcceptStatement#acceptStatementCompoundAcceptLocalName(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Accept Statement Compound Accept Local Name</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Accept Statement Compound Accept Local Name</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.AcceptStatement#acceptStatementCompoundAcceptLocalName(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getAcceptStatement__AcceptStatementCompoundAcceptLocalName__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.AcceptStatement#acceptStatementAssignmentsBefore(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Accept Statement Assignments Before</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Accept Statement Assignments Before</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.AcceptStatement#acceptStatementAssignmentsBefore(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getAcceptStatement__AcceptStatementAssignmentsBefore__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.AcceptStatement#acceptStatementAssignmentsAfter(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Accept Statement Assignments After</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Accept Statement Assignments After</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.AcceptStatement#acceptStatementAssignmentsAfter(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getAcceptStatement__AcceptStatementAssignmentsAfter__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.AcceptStatement#acceptStatementNewAssignments(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Accept Statement New Assignments</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Accept Statement New Assignments</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.AcceptStatement#acceptStatementNewAssignments(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getAcceptStatement__AcceptStatementNewAssignments__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.AcceptStatement#acceptStatementIsSimpleDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Accept Statement Is Simple Derivation</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Accept Statement Is Simple Derivation</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.AcceptStatement#acceptStatementIsSimpleDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getAcceptStatement__AcceptStatementIsSimpleDerivation__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.AcceptStatement#acceptStatementEnclosedStatements(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Accept Statement Enclosed Statements</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Accept Statement Enclosed Statements</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.AcceptStatement#acceptStatementEnclosedStatements(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getAcceptStatement__AcceptStatementEnclosedStatements__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.uml.alf.AcceptBlock <em>Accept Block</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for class '<em>Accept Block</em>'.
+ * @see org.eclipse.papyrus.uml.alf.AcceptBlock
+ * @generated
+ */
+ EClass getAcceptBlock();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.uml.alf.AcceptBlock#getName <em>Name</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the attribute '<em>Name</em>'.
+ * @see org.eclipse.papyrus.uml.alf.AcceptBlock#getName()
+ * @see #getAcceptBlock()
+ * @generated
+ */
+ EAttribute getAcceptBlock_Name();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.papyrus.uml.alf.AcceptBlock#getBlock <em>Block</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the containment reference '<em>Block</em>'.
+ * @see org.eclipse.papyrus.uml.alf.AcceptBlock#getBlock()
+ * @see #getAcceptBlock()
+ * @generated
+ */
+ EReference getAcceptBlock_Block();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.papyrus.uml.alf.AcceptBlock#getSignalNames <em>Signal Names</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the containment reference '<em>Signal Names</em>'.
+ * @see org.eclipse.papyrus.uml.alf.AcceptBlock#getSignalNames()
+ * @see #getAcceptBlock()
+ * @generated
+ */
+ EReference getAcceptBlock_SignalNames();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.uml.alf.AcceptBlock#getSignal <em>Signal</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the reference list '<em>Signal</em>'.
+ * @see org.eclipse.papyrus.uml.alf.AcceptBlock#getSignal()
+ * @see #getAcceptBlock()
+ * @generated
+ */
+ EReference getAcceptBlock_Signal();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.AcceptBlock#actualName() <em>Actual Name</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Actual Name</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.AcceptBlock#actualName()
+ * @generated
+ */
+ EOperation getAcceptBlock__ActualName();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.AcceptBlock#assignmentsBefore(org.eclipse.papyrus.uml.alf.SyntaxElement) <em>Assignments Before</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Assignments Before</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.AcceptBlock#assignmentsBefore(org.eclipse.papyrus.uml.alf.SyntaxElement)
+ * @generated
+ */
+ EOperation getAcceptBlock__AssignmentsBefore__SyntaxElement();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.AcceptBlock#acceptBlockSignalDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Accept Block Signal Derivation</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Accept Block Signal Derivation</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.AcceptBlock#acceptBlockSignalDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getAcceptBlock__AcceptBlockSignalDerivation__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.AcceptBlock#acceptBlockSignalNames(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Accept Block Signal Names</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Accept Block Signal Names</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.AcceptBlock#acceptBlockSignalNames(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getAcceptBlock__AcceptBlockSignalNames__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.uml.alf.EmptyStatement <em>Empty Statement</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for class '<em>Empty Statement</em>'.
+ * @see org.eclipse.papyrus.uml.alf.EmptyStatement
+ * @generated
+ */
+ EClass getEmptyStatement();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.EmptyStatement#emptyStatementAssignmentsAfter(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Empty Statement Assignments After</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Empty Statement Assignments After</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.EmptyStatement#emptyStatementAssignmentsAfter(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getEmptyStatement__EmptyStatementAssignmentsAfter__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.uml.alf.ModelNamespace <em>Model Namespace</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for class '<em>Model Namespace</em>'.
+ * @see org.eclipse.papyrus.uml.alf.ModelNamespace
+ * @generated
+ */
+ EClass getModelNamespace();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.ModelNamespace#outerScope() <em>Outer Scope</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Outer Scope</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.ModelNamespace#outerScope()
+ * @generated
+ */
+ EOperation getModelNamespace__OuterScope();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.ModelNamespace#modelScope() <em>Model Scope</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Model Scope</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.ModelNamespace#modelScope()
+ * @generated
+ */
+ EOperation getModelNamespace__ModelScope();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.ModelNamespace#qualifiedName() <em>Qualified Name</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Qualified Name</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.ModelNamespace#qualifiedName()
+ * @generated
+ */
+ EOperation getModelNamespace__QualifiedName();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.ModelNamespace#resolveInScope(java.lang.String) <em>Resolve In Scope</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Resolve In Scope</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.ModelNamespace#resolveInScope(java.lang.String)
+ * @generated
+ */
+ EOperation getModelNamespace__ResolveInScope__String();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.ModelNamespace#resolveInRoot(java.lang.String) <em>Resolve In Root</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Resolve In Root</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.ModelNamespace#resolveInRoot(java.lang.String)
+ * @generated
+ */
+ EOperation getModelNamespace__ResolveInRoot__String();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.ModelNamespace#resolvePathName(java.lang.String) <em>Resolve Path Name</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Resolve Path Name</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.ModelNamespace#resolvePathName(java.lang.String)
+ * @generated
+ */
+ EOperation getModelNamespace__ResolvePathName__String();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.ModelNamespace#resolveAssociationEnd(org.eclipse.papyrus.uml.alf.ElementReference, java.lang.String) <em>Resolve Association End</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Resolve Association End</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.ModelNamespace#resolveAssociationEnd(org.eclipse.papyrus.uml.alf.ElementReference, java.lang.String)
+ * @generated
+ */
+ EOperation getModelNamespace__ResolveAssociationEnd__ElementReference_String();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.ModelNamespace#appliedProfiles() <em>Applied Profiles</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Applied Profiles</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.ModelNamespace#appliedProfiles()
+ * @generated
+ */
+ EOperation getModelNamespace__AppliedProfiles();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.ModelNamespace#stubFor(org.eclipse.papyrus.uml.alf.UnitDefinition) <em>Stub For</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Stub For</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.ModelNamespace#stubFor(org.eclipse.papyrus.uml.alf.UnitDefinition)
+ * @generated
+ */
+ EOperation getModelNamespace__StubFor__UnitDefinition();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.ModelNamespace#ModelNamespace_stubFor(org.eclipse.papyrus.uml.alf.UnitDefinition) <em>Model Namespace stub For</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Model Namespace stub For</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.ModelNamespace#ModelNamespace_stubFor(org.eclipse.papyrus.uml.alf.UnitDefinition)
+ * @generated
+ */
+ EOperation getModelNamespace__ModelNamespace_stubFor__UnitDefinition();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.ModelNamespace#ModelNamespace_appliedProfiles() <em>Model Namespace applied Profiles</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Model Namespace applied Profiles</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.ModelNamespace#ModelNamespace_appliedProfiles()
+ * @generated
+ */
+ EOperation getModelNamespace__ModelNamespace_appliedProfiles();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.uml.alf.NamespaceDefinition <em>Namespace Definition</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for class '<em>Namespace Definition</em>'.
+ * @see org.eclipse.papyrus.uml.alf.NamespaceDefinition
+ * @generated
+ */
+ EClass getNamespaceDefinition();
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.eclipse.papyrus.uml.alf.NamespaceDefinition#getOwnedMember <em>Owned Member</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the containment reference list '<em>Owned Member</em>'.
+ * @see org.eclipse.papyrus.uml.alf.NamespaceDefinition#getOwnedMember()
+ * @see #getNamespaceDefinition()
+ * @generated
+ */
+ EReference getNamespaceDefinition_OwnedMember();
+
+ /**
+ * Returns the meta object for the container reference '{@link org.eclipse.papyrus.uml.alf.NamespaceDefinition#getUnit <em>Unit</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the container reference '<em>Unit</em>'.
+ * @see org.eclipse.papyrus.uml.alf.NamespaceDefinition#getUnit()
+ * @see #getNamespaceDefinition()
+ * @generated
+ */
+ EReference getNamespaceDefinition_Unit();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.uml.alf.NamespaceDefinition#getMember <em>Member</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the reference list '<em>Member</em>'.
+ * @see org.eclipse.papyrus.uml.alf.NamespaceDefinition#getMember()
+ * @see #getNamespaceDefinition()
+ * @generated
+ */
+ EReference getNamespaceDefinition_Member();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.NamespaceDefinition#currentScope() <em>Current Scope</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Current Scope</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.NamespaceDefinition#currentScope()
+ * @generated
+ */
+ EOperation getNamespaceDefinition__CurrentScope();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.NamespaceDefinition#outerScope() <em>Outer Scope</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Outer Scope</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.NamespaceDefinition#outerScope()
+ * @generated
+ */
+ EOperation getNamespaceDefinition__OuterScope();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.NamespaceDefinition#NamespaceDefinition_outerScope() <em>Namespace Definition outer Scope</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Namespace Definition outer Scope</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.NamespaceDefinition#NamespaceDefinition_outerScope()
+ * @generated
+ */
+ EOperation getNamespaceDefinition__NamespaceDefinition_outerScope();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.NamespaceDefinition#modelNamespace() <em>Model Namespace</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Model Namespace</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.NamespaceDefinition#modelNamespace()
+ * @generated
+ */
+ EOperation getNamespaceDefinition__ModelNamespace();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.NamespaceDefinition#modelScope() <em>Model Scope</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Model Scope</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.NamespaceDefinition#modelScope()
+ * @generated
+ */
+ EOperation getNamespaceDefinition__ModelScope();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.NamespaceDefinition#resolveInScope(java.lang.String) <em>Resolve In Scope</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Resolve In Scope</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.NamespaceDefinition#resolveInScope(java.lang.String)
+ * @generated
+ */
+ EOperation getNamespaceDefinition__ResolveInScope__String();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.NamespaceDefinition#appliedProfiles() <em>Applied Profiles</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Applied Profiles</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.NamespaceDefinition#appliedProfiles()
+ * @generated
+ */
+ EOperation getNamespaceDefinition__AppliedProfiles();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.NamespaceDefinition#NamespaceDefinition_appliedProfiles() <em>Namespace Definition applied Profiles</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Namespace Definition applied Profiles</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.NamespaceDefinition#NamespaceDefinition_appliedProfiles()
+ * @generated
+ */
+ EOperation getNamespaceDefinition__NamespaceDefinition_appliedProfiles();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.NamespaceDefinition#parameters() <em>Parameters</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Parameters</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.NamespaceDefinition#parameters()
+ * @generated
+ */
+ EOperation getNamespaceDefinition__Parameters();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.NamespaceDefinition#returnParameter() <em>Return Parameter</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Return Parameter</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.NamespaceDefinition#returnParameter()
+ * @generated
+ */
+ EOperation getNamespaceDefinition__ReturnParameter();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.NamespaceDefinition#NamespaceDefinition_returnParameter() <em>Namespace Definition return Parameter</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Namespace Definition return Parameter</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.NamespaceDefinition#NamespaceDefinition_returnParameter()
+ * @generated
+ */
+ EOperation getNamespaceDefinition__NamespaceDefinition_returnParameter();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.NamespaceDefinition#subunitOwnedMembers() <em>Subunit Owned Members</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Subunit Owned Members</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.NamespaceDefinition#subunitOwnedMembers()
+ * @generated
+ */
+ EOperation getNamespaceDefinition__SubunitOwnedMembers();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.NamespaceDefinition#annotationAllowed(org.eclipse.papyrus.uml.alf.StereotypeAnnotation) <em>Annotation Allowed</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Annotation Allowed</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.NamespaceDefinition#annotationAllowed(org.eclipse.papyrus.uml.alf.StereotypeAnnotation)
+ * @generated
+ */
+ EOperation getNamespaceDefinition__AnnotationAllowed__StereotypeAnnotation();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.NamespaceDefinition#NamespaceDefinition_annotationAllowed(org.eclipse.papyrus.uml.alf.StereotypeAnnotation) <em>Namespace Definition annotation Allowed</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Namespace Definition annotation Allowed</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.NamespaceDefinition#NamespaceDefinition_annotationAllowed(org.eclipse.papyrus.uml.alf.StereotypeAnnotation)
+ * @generated
+ */
+ EOperation getNamespaceDefinition__NamespaceDefinition_annotationAllowed__StereotypeAnnotation();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.NamespaceDefinition#templateParameters() <em>Template Parameters</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Template Parameters</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.NamespaceDefinition#templateParameters()
+ * @generated
+ */
+ EOperation getNamespaceDefinition__TemplateParameters();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.NamespaceDefinition#membersCached() <em>Members Cached</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Members Cached</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.NamespaceDefinition#membersCached()
+ * @generated
+ */
+ EOperation getNamespaceDefinition__MembersCached();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.NamespaceDefinition#members() <em>Members</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Members</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.NamespaceDefinition#members()
+ * @generated
+ */
+ EOperation getNamespaceDefinition__Members();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.NamespaceDefinition#NamespaceDefinition_members() <em>Namespace Definition members</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Namespace Definition members</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.NamespaceDefinition#NamespaceDefinition_members()
+ * @generated
+ */
+ EOperation getNamespaceDefinition__NamespaceDefinition_members();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.NamespaceDefinition#importedMembers() <em>Imported Members</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Imported Members</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.NamespaceDefinition#importedMembers()
+ * @generated
+ */
+ EOperation getNamespaceDefinition__ImportedMembers();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.NamespaceDefinition#importMembers(org.eclipse.emf.common.util.EList) <em>Import Members</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Import Members</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.NamespaceDefinition#importMembers(org.eclipse.emf.common.util.EList)
+ * @generated
+ */
+ EOperation getNamespaceDefinition__ImportMembers__EList();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.NamespaceDefinition#excludeCollisions(org.eclipse.emf.common.util.EList) <em>Exclude Collisions</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Exclude Collisions</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.NamespaceDefinition#excludeCollisions(org.eclipse.emf.common.util.EList)
+ * @generated
+ */
+ EOperation getNamespaceDefinition__ExcludeCollisions__EList();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.NamespaceDefinition#removeDuplicates(org.eclipse.emf.common.util.EList) <em>Remove Duplicates</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Remove Duplicates</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.NamespaceDefinition#removeDuplicates(org.eclipse.emf.common.util.EList)
+ * @generated
+ */
+ EOperation getNamespaceDefinition__RemoveDuplicates__EList();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.NamespaceDefinition#includeDistinguishableCaching(org.eclipse.emf.common.util.EList) <em>Include Distinguishable Caching</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Include Distinguishable Caching</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.NamespaceDefinition#includeDistinguishableCaching(org.eclipse.emf.common.util.EList)
+ * @generated
+ */
+ EOperation getNamespaceDefinition__IncludeDistinguishableCaching__EList();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.NamespaceDefinition#includeDistinguishable(org.eclipse.emf.common.util.EList) <em>Include Distinguishable</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Include Distinguishable</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.NamespaceDefinition#includeDistinguishable(org.eclipse.emf.common.util.EList)
+ * @generated
+ */
+ EOperation getNamespaceDefinition__IncludeDistinguishable__EList();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.NamespaceDefinition#stub() <em>Stub</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Stub</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.NamespaceDefinition#stub()
+ * @generated
+ */
+ EOperation getNamespaceDefinition__Stub();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.NamespaceDefinition#stubFor(org.eclipse.papyrus.uml.alf.UnitDefinition) <em>Stub For</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Stub For</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.NamespaceDefinition#stubFor(org.eclipse.papyrus.uml.alf.UnitDefinition)
+ * @generated
+ */
+ EOperation getNamespaceDefinition__StubFor__UnitDefinition();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.NamespaceDefinition#namespaceDefinitionMemberDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Namespace Definition Member Derivation</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Namespace Definition Member Derivation</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.NamespaceDefinition#namespaceDefinitionMemberDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getNamespaceDefinition__NamespaceDefinitionMemberDerivation__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.NamespaceDefinition#namespaceDefinitionMemberDistinguishability(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Namespace Definition Member Distinguishability</em>}'
+ * operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Namespace Definition Member Distinguishability</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.NamespaceDefinition#namespaceDefinitionMemberDistinguishability(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getNamespaceDefinition__NamespaceDefinitionMemberDistinguishability__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.uml.alf.MemberDefinition <em>Member Definition</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for class '<em>Member Definition</em>'.
+ * @see org.eclipse.papyrus.uml.alf.MemberDefinition
+ * @generated
+ */
+ EClass getMemberDefinition();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.uml.alf.MemberDefinition#getName <em>Name</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the attribute '<em>Name</em>'.
+ * @see org.eclipse.papyrus.uml.alf.MemberDefinition#getName()
+ * @see #getMemberDefinition()
+ * @generated
+ */
+ EAttribute getMemberDefinition_Name();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.uml.alf.MemberDefinition#isIsStub <em>Is Stub</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the attribute '<em>Is Stub</em>'.
+ * @see org.eclipse.papyrus.uml.alf.MemberDefinition#isIsStub()
+ * @see #getMemberDefinition()
+ * @generated
+ */
+ EAttribute getMemberDefinition_IsStub();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.uml.alf.MemberDefinition#isIsFeature <em>Is Feature</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the attribute '<em>Is Feature</em>'.
+ * @see org.eclipse.papyrus.uml.alf.MemberDefinition#isIsFeature()
+ * @see #getMemberDefinition()
+ * @generated
+ */
+ EAttribute getMemberDefinition_IsFeature();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.uml.alf.MemberDefinition#isIsPrimitive <em>Is Primitive</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the attribute '<em>Is Primitive</em>'.
+ * @see org.eclipse.papyrus.uml.alf.MemberDefinition#isIsPrimitive()
+ * @see #getMemberDefinition()
+ * @generated
+ */
+ EAttribute getMemberDefinition_IsPrimitive();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.uml.alf.MemberDefinition#isIsExternal <em>Is External</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the attribute '<em>Is External</em>'.
+ * @see org.eclipse.papyrus.uml.alf.MemberDefinition#isIsExternal()
+ * @see #getMemberDefinition()
+ * @generated
+ */
+ EAttribute getMemberDefinition_IsExternal();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.uml.alf.MemberDefinition#getSubunit <em>Subunit</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the reference '<em>Subunit</em>'.
+ * @see org.eclipse.papyrus.uml.alf.MemberDefinition#getSubunit()
+ * @see #getMemberDefinition()
+ * @generated
+ */
+ EReference getMemberDefinition_Subunit();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.MemberDefinition#annotation() <em>Annotation</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Annotation</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.MemberDefinition#annotation()
+ * @generated
+ */
+ EOperation getMemberDefinition__Annotation();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.MemberDefinition#actualName() <em>Actual Name</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Actual Name</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.MemberDefinition#actualName()
+ * @generated
+ */
+ EOperation getMemberDefinition__ActualName();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.MemberDefinition#outerScope() <em>Outer Scope</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Outer Scope</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.MemberDefinition#outerScope()
+ * @generated
+ */
+ EOperation getMemberDefinition__OuterScope();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.MemberDefinition#MemberDefinition_outerScope() <em>Member Definition outer Scope</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Member Definition outer Scope</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.MemberDefinition#MemberDefinition_outerScope()
+ * @generated
+ */
+ EOperation getMemberDefinition__MemberDefinition_outerScope();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.MemberDefinition#qualifiedName() <em>Qualified Name</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Qualified Name</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.MemberDefinition#qualifiedName()
+ * @generated
+ */
+ EOperation getMemberDefinition__QualifiedName();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.MemberDefinition#namespaceReference() <em>Namespace Reference</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Namespace Reference</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.MemberDefinition#namespaceReference()
+ * @generated
+ */
+ EOperation getMemberDefinition__NamespaceReference();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.MemberDefinition#addToModel() <em>Add To Model</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Add To Model</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.MemberDefinition#addToModel()
+ * @generated
+ */
+ EOperation getMemberDefinition__AddToModel();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.MemberDefinition#annotationAllowed(org.eclipse.papyrus.uml.alf.StereotypeAnnotation) <em>Annotation Allowed</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Annotation Allowed</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.MemberDefinition#annotationAllowed(org.eclipse.papyrus.uml.alf.StereotypeAnnotation)
+ * @generated
+ */
+ EOperation getMemberDefinition__AnnotationAllowed__StereotypeAnnotation();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.MemberDefinition#matchForStub(org.eclipse.papyrus.uml.alf.UnitDefinition) <em>Match For Stub</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Match For Stub</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.MemberDefinition#matchForStub(org.eclipse.papyrus.uml.alf.UnitDefinition)
+ * @generated
+ */
+ EOperation getMemberDefinition__MatchForStub__UnitDefinition();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.MemberDefinition#isDistinguishableFrom(org.eclipse.papyrus.uml.alf.MemberDefinition) <em>Is Distinguishable From</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Is Distinguishable From</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.MemberDefinition#isDistinguishableFrom(org.eclipse.papyrus.uml.alf.MemberDefinition)
+ * @generated
+ */
+ EOperation getMemberDefinition__IsDistinguishableFrom__MemberDefinition();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.MemberDefinition#MemberDefinition_isDistinguishableFrom(org.eclipse.papyrus.uml.alf.MemberDefinition) <em>Member Definition is Distinguishable From</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Member Definition is Distinguishable From</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.MemberDefinition#MemberDefinition_isDistinguishableFrom(org.eclipse.papyrus.uml.alf.MemberDefinition)
+ * @generated
+ */
+ EOperation getMemberDefinition__MemberDefinition_isDistinguishableFrom__MemberDefinition();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.MemberDefinition#isSameKindAs(org.eclipse.papyrus.uml.alf.ElementReference) <em>Is Same Kind As</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Is Same Kind As</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.MemberDefinition#isSameKindAs(org.eclipse.papyrus.uml.alf.ElementReference)
+ * @generated
+ */
+ EOperation getMemberDefinition__IsSameKindAs__ElementReference();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.MemberDefinition#templateParameters() <em>Template Parameters</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Template Parameters</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.MemberDefinition#templateParameters()
+ * @generated
+ */
+ EOperation getMemberDefinition__TemplateParameters();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.MemberDefinition#isTemplate() <em>Is Template</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Is Template</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.MemberDefinition#isTemplate()
+ * @generated
+ */
+ EOperation getMemberDefinition__IsTemplate();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.MemberDefinition#isFeature() <em>Is Feature</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Is Feature</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.MemberDefinition#isFeature()
+ * @generated
+ */
+ EOperation getMemberDefinition__IsFeature();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.MemberDefinition#memberAnnotations(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Member Annotations</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Member Annotations</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.MemberDefinition#memberAnnotations(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getMemberDefinition__MemberAnnotations__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.MemberDefinition#memberIsPrimitiveDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Member Is Primitive Derivation</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Member Is Primitive Derivation</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.MemberDefinition#memberIsPrimitiveDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getMemberDefinition__MemberIsPrimitiveDerivation__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.MemberDefinition#memberIsExternalDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Member Is External Derivation</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Member Is External Derivation</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.MemberDefinition#memberIsExternalDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getMemberDefinition__MemberIsExternalDerivation__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.MemberDefinition#memberExternal(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Member External</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Member External</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.MemberDefinition#memberExternal(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getMemberDefinition__MemberExternal__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.MemberDefinition#memberStub(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Member Stub</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Member Stub</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.MemberDefinition#memberStub(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getMemberDefinition__MemberStub__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.MemberDefinition#memberSubunitDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Member Subunit Derivation</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Member Subunit Derivation</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.MemberDefinition#memberSubunitDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getMemberDefinition__MemberSubunitDerivation__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.MemberDefinition#memberStubStereotypes(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Member Stub Stereotypes</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Member Stub Stereotypes</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.MemberDefinition#memberStubStereotypes(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getMemberDefinition__MemberStubStereotypes__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.MemberDefinition#memberPrimitive(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Member Primitive</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Member Primitive</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.MemberDefinition#memberPrimitive(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getMemberDefinition__MemberPrimitive__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.MemberDefinition#containingMember() <em>Containing Member</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Containing Member</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.MemberDefinition#containingMember()
+ * @generated
+ */
+ EOperation getMemberDefinition__ContainingMember();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.uml.alf.StereotypeAnnotation <em>Stereotype Annotation</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for class '<em>Stereotype Annotation</em>'.
+ * @see org.eclipse.papyrus.uml.alf.StereotypeAnnotation
+ * @generated
+ */
+ EClass getStereotypeAnnotation();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.papyrus.uml.alf.StereotypeAnnotation#getTaggedValues <em>Tagged Values</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the containment reference '<em>Tagged Values</em>'.
+ * @see org.eclipse.papyrus.uml.alf.StereotypeAnnotation#getTaggedValues()
+ * @see #getStereotypeAnnotation()
+ * @generated
+ */
+ EReference getStereotypeAnnotation_TaggedValues();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.papyrus.uml.alf.StereotypeAnnotation#getNames <em>Names</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the containment reference '<em>Names</em>'.
+ * @see org.eclipse.papyrus.uml.alf.StereotypeAnnotation#getNames()
+ * @see #getStereotypeAnnotation()
+ * @generated
+ */
+ EReference getStereotypeAnnotation_Names();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.papyrus.uml.alf.StereotypeAnnotation#getStereotypeName <em>Stereotype Name</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the containment reference '<em>Stereotype Name</em>'.
+ * @see org.eclipse.papyrus.uml.alf.StereotypeAnnotation#getStereotypeName()
+ * @see #getStereotypeAnnotation()
+ * @generated
+ */
+ EReference getStereotypeAnnotation_StereotypeName();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.uml.alf.StereotypeAnnotation#getStereotype <em>Stereotype</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the reference '<em>Stereotype</em>'.
+ * @see org.eclipse.papyrus.uml.alf.StereotypeAnnotation#getStereotype()
+ * @see #getStereotypeAnnotation()
+ * @generated
+ */
+ EReference getStereotypeAnnotation_Stereotype();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.StereotypeAnnotation#stereotypeAnnotationStereotypeDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Stereotype Annotation Stereotype Derivation</em>}'
+ * operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Stereotype Annotation Stereotype Derivation</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.StereotypeAnnotation#stereotypeAnnotationStereotypeDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getStereotypeAnnotation__StereotypeAnnotationStereotypeDerivation__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.StereotypeAnnotation#stereotypeAnnotationStereotypeName(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Stereotype Annotation Stereotype Name</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Stereotype Annotation Stereotype Name</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.StereotypeAnnotation#stereotypeAnnotationStereotypeName(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getStereotypeAnnotation__StereotypeAnnotationStereotypeName__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.StereotypeAnnotation#stereotypeAnnotationApply(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Stereotype Annotation Apply</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Stereotype Annotation Apply</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.StereotypeAnnotation#stereotypeAnnotationApply(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getStereotypeAnnotation__StereotypeAnnotationApply__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.StereotypeAnnotation#stereotypeAnnotationPrimitive(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Stereotype Annotation Primitive</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Stereotype Annotation Primitive</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.StereotypeAnnotation#stereotypeAnnotationPrimitive(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getStereotypeAnnotation__StereotypeAnnotationPrimitive__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.StereotypeAnnotation#stereotypeAnnotationExternal(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Stereotype Annotation External</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Stereotype Annotation External</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.StereotypeAnnotation#stereotypeAnnotationExternal(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getStereotypeAnnotation__StereotypeAnnotationExternal__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.StereotypeAnnotation#stereotypeAnnotationTaggedValues(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Stereotype Annotation Tagged Values</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Stereotype Annotation Tagged Values</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.StereotypeAnnotation#stereotypeAnnotationTaggedValues(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getStereotypeAnnotation__StereotypeAnnotationTaggedValues__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.StereotypeAnnotation#stereotypeAnnotationNames(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Stereotype Annotation Names</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Stereotype Annotation Names</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.StereotypeAnnotation#stereotypeAnnotationNames(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getStereotypeAnnotation__StereotypeAnnotationNames__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.StereotypeAnnotation#appliedProfiles() <em>Applied Profiles</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Applied Profiles</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.StereotypeAnnotation#appliedProfiles()
+ * @generated
+ */
+ EOperation getStereotypeAnnotation__AppliedProfiles();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.uml.alf.TaggedValueList <em>Tagged Value List</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for class '<em>Tagged Value List</em>'.
+ * @see org.eclipse.papyrus.uml.alf.TaggedValueList
+ * @generated
+ */
+ EClass getTaggedValueList();
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.eclipse.papyrus.uml.alf.TaggedValueList#getTaggedValue <em>Tagged Value</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the containment reference list '<em>Tagged Value</em>'.
+ * @see org.eclipse.papyrus.uml.alf.TaggedValueList#getTaggedValue()
+ * @see #getTaggedValueList()
+ * @generated
+ */
+ EReference getTaggedValueList_TaggedValue();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.uml.alf.TaggedValue <em>Tagged Value</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for class '<em>Tagged Value</em>'.
+ * @see org.eclipse.papyrus.uml.alf.TaggedValue
+ * @generated
+ */
+ EClass getTaggedValue();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.uml.alf.TaggedValue#getName <em>Name</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the attribute '<em>Name</em>'.
+ * @see org.eclipse.papyrus.uml.alf.TaggedValue#getName()
+ * @see #getTaggedValue()
+ * @generated
+ */
+ EAttribute getTaggedValue_Name();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.uml.alf.TaggedValue#getValue <em>Value</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the attribute '<em>Value</em>'.
+ * @see org.eclipse.papyrus.uml.alf.TaggedValue#getValue()
+ * @see #getTaggedValue()
+ * @generated
+ */
+ EAttribute getTaggedValue_Value();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.uml.alf.TaggedValue#getOperator <em>Operator</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the attribute '<em>Operator</em>'.
+ * @see org.eclipse.papyrus.uml.alf.TaggedValue#getOperator()
+ * @see #getTaggedValue()
+ * @generated
+ */
+ EAttribute getTaggedValue_Operator();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.uml.alf.UnitDefinition <em>Unit Definition</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for class '<em>Unit Definition</em>'.
+ * @see org.eclipse.papyrus.uml.alf.UnitDefinition
+ * @generated
+ */
+ EClass getUnitDefinition();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.papyrus.uml.alf.UnitDefinition#getNamespaceName <em>Namespace Name</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the containment reference '<em>Namespace Name</em>'.
+ * @see org.eclipse.papyrus.uml.alf.UnitDefinition#getNamespaceName()
+ * @see #getUnitDefinition()
+ * @generated
+ */
+ EReference getUnitDefinition_NamespaceName();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.papyrus.uml.alf.UnitDefinition#getDefinition <em>Definition</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the containment reference '<em>Definition</em>'.
+ * @see org.eclipse.papyrus.uml.alf.UnitDefinition#getDefinition()
+ * @see #getUnitDefinition()
+ * @generated
+ */
+ EReference getUnitDefinition_Definition();
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.eclipse.papyrus.uml.alf.UnitDefinition#getImport <em>Import</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the containment reference list '<em>Import</em>'.
+ * @see org.eclipse.papyrus.uml.alf.UnitDefinition#getImport()
+ * @see #getUnitDefinition()
+ * @generated
+ */
+ EReference getUnitDefinition_Import();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.uml.alf.UnitDefinition#getNamespace <em>Namespace</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the reference '<em>Namespace</em>'.
+ * @see org.eclipse.papyrus.uml.alf.UnitDefinition#getNamespace()
+ * @see #getUnitDefinition()
+ * @generated
+ */
+ EReference getUnitDefinition_Namespace();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.uml.alf.UnitDefinition#isIsModelLibrary <em>Is Model Library</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the attribute '<em>Is Model Library</em>'.
+ * @see org.eclipse.papyrus.uml.alf.UnitDefinition#isIsModelLibrary()
+ * @see #getUnitDefinition()
+ * @generated
+ */
+ EAttribute getUnitDefinition_IsModelLibrary();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.uml.alf.UnitDefinition#getAppliedProfile <em>Applied Profile</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the reference list '<em>Applied Profile</em>'.
+ * @see org.eclipse.papyrus.uml.alf.UnitDefinition#getAppliedProfile()
+ * @see #getUnitDefinition()
+ * @generated
+ */
+ EReference getUnitDefinition_AppliedProfile();
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.eclipse.papyrus.uml.alf.UnitDefinition#getAnnotation <em>Annotation</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the containment reference list '<em>Annotation</em>'.
+ * @see org.eclipse.papyrus.uml.alf.UnitDefinition#getAnnotation()
+ * @see #getUnitDefinition()
+ * @generated
+ */
+ EReference getUnitDefinition_Annotation();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.UnitDefinition#imports() <em>Imports</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Imports</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.UnitDefinition#imports()
+ * @generated
+ */
+ EOperation getUnitDefinition__Imports();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.UnitDefinition#implicitImports() <em>Implicit Imports</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Implicit Imports</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.UnitDefinition#implicitImports()
+ * @generated
+ */
+ EOperation getUnitDefinition__ImplicitImports();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.UnitDefinition#implicitImportFor(java.lang.String) <em>Implicit Import For</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Implicit Import For</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.UnitDefinition#implicitImportFor(java.lang.String)
+ * @generated
+ */
+ EOperation getUnitDefinition__ImplicitImportFor__String();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.UnitDefinition#unitDefinitionNamespaceDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Unit Definition Namespace Derivation</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Unit Definition Namespace Derivation</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.UnitDefinition#unitDefinitionNamespaceDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getUnitDefinition__UnitDefinitionNamespaceDerivation__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.UnitDefinition#unitDefinitionNamespace(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Unit Definition Namespace</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Unit Definition Namespace</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.UnitDefinition#unitDefinitionNamespace(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getUnitDefinition__UnitDefinitionNamespace__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.UnitDefinition#unitDefinitionIsModelLibraryDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Unit Definition Is Model Library Derivation</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Unit Definition Is Model Library Derivation</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.UnitDefinition#unitDefinitionIsModelLibraryDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getUnitDefinition__UnitDefinitionIsModelLibraryDerivation__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.UnitDefinition#unitDefinitionImplicitImports(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Unit Definition Implicit Imports</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Unit Definition Implicit Imports</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.UnitDefinition#unitDefinitionImplicitImports(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getUnitDefinition__UnitDefinitionImplicitImports__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.UnitDefinition#unitDefinitionAppliedProfileDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Unit Definition Applied Profile Derivation</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Unit Definition Applied Profile Derivation</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.UnitDefinition#unitDefinitionAppliedProfileDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getUnitDefinition__UnitDefinitionAppliedProfileDerivation__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.uml.alf.ImportReference <em>Import Reference</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for class '<em>Import Reference</em>'.
+ * @see org.eclipse.papyrus.uml.alf.ImportReference
+ * @generated
+ */
+ EClass getImportReference();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.uml.alf.ImportReference#getVisibility <em>Visibility</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the attribute '<em>Visibility</em>'.
+ * @see org.eclipse.papyrus.uml.alf.ImportReference#getVisibility()
+ * @see #getImportReference()
+ * @generated
+ */
+ EAttribute getImportReference_Visibility();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.papyrus.uml.alf.ImportReference#getReferentName <em>Referent Name</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the containment reference '<em>Referent Name</em>'.
+ * @see org.eclipse.papyrus.uml.alf.ImportReference#getReferentName()
+ * @see #getImportReference()
+ * @generated
+ */
+ EReference getImportReference_ReferentName();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.uml.alf.ImportReference#getReferent <em>Referent</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the reference '<em>Referent</em>'.
+ * @see org.eclipse.papyrus.uml.alf.ImportReference#getReferent()
+ * @see #getImportReference()
+ * @generated
+ */
+ EReference getImportReference_Referent();
+
+ /**
+ * Returns the meta object for the container reference '{@link org.eclipse.papyrus.uml.alf.ImportReference#getUnit <em>Unit</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the container reference '<em>Unit</em>'.
+ * @see org.eclipse.papyrus.uml.alf.ImportReference#getUnit()
+ * @see #getImportReference()
+ * @generated
+ */
+ EReference getImportReference_Unit();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.ImportReference#importedMembers() <em>Imported Members</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Imported Members</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.ImportReference#importedMembers()
+ * @generated
+ */
+ EOperation getImportReference__ImportedMembers();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.ImportReference#importReferenceReferentDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Import Reference Referent Derivation</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Import Reference Referent Derivation</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.ImportReference#importReferenceReferentDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getImportReference__ImportReferenceReferentDerivation__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.ImportReference#importReferenceReferent(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Import Reference Referent</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Import Reference Referent</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.ImportReference#importReferenceReferent(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getImportReference__ImportReferenceReferent__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.uml.alf.ImportedMember <em>Imported Member</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for class '<em>Imported Member</em>'.
+ * @see org.eclipse.papyrus.uml.alf.ImportedMember
+ * @generated
+ */
+ EClass getImportedMember();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.uml.alf.ImportedMember#getReferent <em>Referent</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the reference '<em>Referent</em>'.
+ * @see org.eclipse.papyrus.uml.alf.ImportedMember#getReferent()
+ * @see #getImportedMember()
+ * @generated
+ */
+ EReference getImportedMember_Referent();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.ImportedMember#actualName() <em>Actual Name</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Actual Name</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.ImportedMember#actualName()
+ * @generated
+ */
+ EOperation getImportedMember__ActualName();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.ImportedMember#toReference() <em>To Reference</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>To Reference</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.ImportedMember#toReference()
+ * @generated
+ */
+ EOperation getImportedMember__ToReference();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.ImportedMember#annotationAllowed(org.eclipse.papyrus.uml.alf.StereotypeAnnotation) <em>Annotation Allowed</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Annotation Allowed</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.ImportedMember#annotationAllowed(org.eclipse.papyrus.uml.alf.StereotypeAnnotation)
+ * @generated
+ */
+ EOperation getImportedMember__AnnotationAllowed__StereotypeAnnotation();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.ImportedMember#isSameKindAs(org.eclipse.papyrus.uml.alf.ElementReference) <em>Is Same Kind As</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Is Same Kind As</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.ImportedMember#isSameKindAs(org.eclipse.papyrus.uml.alf.ElementReference)
+ * @generated
+ */
+ EOperation getImportedMember__IsSameKindAs__ElementReference();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.ImportedMember#isFeature() <em>Is Feature</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Is Feature</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.ImportedMember#isFeature()
+ * @generated
+ */
+ EOperation getImportedMember__IsFeature();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.ImportedMember#importedMemberNotStub(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Imported Member Not Stub</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Imported Member Not Stub</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.ImportedMember#importedMemberNotStub(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getImportedMember__ImportedMemberNotStub__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.ImportedMember#importedMemberIsFeatureDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Imported Member Is Feature Derivation</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Imported Member Is Feature Derivation</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.ImportedMember#importedMemberIsFeatureDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getImportedMember__ImportedMemberIsFeatureDerivation__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.uml.alf.EnumerationLiteralName <em>Enumeration Literal Name</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for class '<em>Enumeration Literal Name</em>'.
+ * @see org.eclipse.papyrus.uml.alf.EnumerationLiteralName
+ * @generated
+ */
+ EClass getEnumerationLiteralName();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.EnumerationLiteralName#annotationAllowed(org.eclipse.papyrus.uml.alf.StereotypeAnnotation) <em>Annotation Allowed</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Annotation Allowed</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.EnumerationLiteralName#annotationAllowed(org.eclipse.papyrus.uml.alf.StereotypeAnnotation)
+ * @generated
+ */
+ EOperation getEnumerationLiteralName__AnnotationAllowed__StereotypeAnnotation();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.uml.alf.OperationDefinition <em>Operation Definition</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for class '<em>Operation Definition</em>'.
+ * @see org.eclipse.papyrus.uml.alf.OperationDefinition
+ * @generated
+ */
+ EClass getOperationDefinition();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.papyrus.uml.alf.OperationDefinition#getRedefinition <em>Redefinition</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the containment reference '<em>Redefinition</em>'.
+ * @see org.eclipse.papyrus.uml.alf.OperationDefinition#getRedefinition()
+ * @see #getOperationDefinition()
+ * @generated
+ */
+ EReference getOperationDefinition_Redefinition();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.uml.alf.OperationDefinition#isIsAbstract <em>Is Abstract</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the attribute '<em>Is Abstract</em>'.
+ * @see org.eclipse.papyrus.uml.alf.OperationDefinition#isIsAbstract()
+ * @see #getOperationDefinition()
+ * @generated
+ */
+ EAttribute getOperationDefinition_IsAbstract();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.papyrus.uml.alf.OperationDefinition#getBody <em>Body</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the containment reference '<em>Body</em>'.
+ * @see org.eclipse.papyrus.uml.alf.OperationDefinition#getBody()
+ * @see #getOperationDefinition()
+ * @generated
+ */
+ EReference getOperationDefinition_Body();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.uml.alf.OperationDefinition#getRedefinedOperation <em>Redefined Operation</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the reference list '<em>Redefined Operation</em>'.
+ * @see org.eclipse.papyrus.uml.alf.OperationDefinition#getRedefinedOperation()
+ * @see #getOperationDefinition()
+ * @generated
+ */
+ EReference getOperationDefinition_RedefinedOperation();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.uml.alf.OperationDefinition#isIsConstructor <em>Is Constructor</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the attribute '<em>Is Constructor</em>'.
+ * @see org.eclipse.papyrus.uml.alf.OperationDefinition#isIsConstructor()
+ * @see #getOperationDefinition()
+ * @generated
+ */
+ EAttribute getOperationDefinition_IsConstructor();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.uml.alf.OperationDefinition#isIsDestructor <em>Is Destructor</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the attribute '<em>Is Destructor</em>'.
+ * @see org.eclipse.papyrus.uml.alf.OperationDefinition#isIsDestructor()
+ * @see #getOperationDefinition()
+ * @generated
+ */
+ EAttribute getOperationDefinition_IsDestructor();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.OperationDefinition#assignmentsBefore(org.eclipse.papyrus.uml.alf.SyntaxElement) <em>Assignments Before</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Assignments Before</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.OperationDefinition#assignmentsBefore(org.eclipse.papyrus.uml.alf.SyntaxElement)
+ * @generated
+ */
+ EOperation getOperationDefinition__AssignmentsBefore__SyntaxElement();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.OperationDefinition#annotationAllowed(org.eclipse.papyrus.uml.alf.StereotypeAnnotation) <em>Annotation Allowed</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Annotation Allowed</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.OperationDefinition#annotationAllowed(org.eclipse.papyrus.uml.alf.StereotypeAnnotation)
+ * @generated
+ */
+ EOperation getOperationDefinition__AnnotationAllowed__StereotypeAnnotation();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.OperationDefinition#matchForStub(org.eclipse.papyrus.uml.alf.UnitDefinition) <em>Match For Stub</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Match For Stub</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.OperationDefinition#matchForStub(org.eclipse.papyrus.uml.alf.UnitDefinition)
+ * @generated
+ */
+ EOperation getOperationDefinition__MatchForStub__UnitDefinition();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.OperationDefinition#isSameKindAs(org.eclipse.papyrus.uml.alf.ElementReference) <em>Is Same Kind As</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Is Same Kind As</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.OperationDefinition#isSameKindAs(org.eclipse.papyrus.uml.alf.ElementReference)
+ * @generated
+ */
+ EOperation getOperationDefinition__IsSameKindAs__ElementReference();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.OperationDefinition#parametersMatch(org.eclipse.papyrus.uml.alf.ElementReference) <em>Parameters Match</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Parameters Match</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.OperationDefinition#parametersMatch(org.eclipse.papyrus.uml.alf.ElementReference)
+ * @generated
+ */
+ EOperation getOperationDefinition__ParametersMatch__ElementReference();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.OperationDefinition#parametersMatchNameType(org.eclipse.papyrus.uml.alf.ElementReference) <em>Parameters Match Name Type</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Parameters Match Name Type</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.OperationDefinition#parametersMatchNameType(org.eclipse.papyrus.uml.alf.ElementReference)
+ * @generated
+ */
+ EOperation getOperationDefinition__ParametersMatchNameType__ElementReference();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.OperationDefinition#returnParameter() <em>Return Parameter</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Return Parameter</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.OperationDefinition#returnParameter()
+ * @generated
+ */
+ EOperation getOperationDefinition__ReturnParameter();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.OperationDefinition#specializationReferents() <em>Specialization Referents</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Specialization Referents</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.OperationDefinition#specializationReferents()
+ * @generated
+ */
+ EOperation getOperationDefinition__SpecializationReferents();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.OperationDefinition#operationDefinitionNamespace(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Operation Definition Namespace</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Operation Definition Namespace</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.OperationDefinition#operationDefinitionNamespace(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getOperationDefinition__OperationDefinitionNamespace__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.OperationDefinition#operationDefinitionRedefinedOperationDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * <em>Operation Definition Redefined Operation Derivation</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Operation Definition Redefined Operation Derivation</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.OperationDefinition#operationDefinitionRedefinedOperationDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getOperationDefinition__OperationDefinitionRedefinedOperationDerivation__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.OperationDefinition#operationDefinitionRedefinition(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Operation Definition Redefinition</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Operation Definition Redefinition</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.OperationDefinition#operationDefinitionRedefinition(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getOperationDefinition__OperationDefinitionRedefinition__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.OperationDefinition#operationDefinitionRedefinedOperations(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Operation Definition Redefined Operations</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Operation Definition Redefined Operations</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.OperationDefinition#operationDefinitionRedefinedOperations(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getOperationDefinition__OperationDefinitionRedefinedOperations__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.OperationDefinition#operationDefinitionIsFeatureDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Operation Definition Is Feature Derivation</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Operation Definition Is Feature Derivation</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.OperationDefinition#operationDefinitionIsFeatureDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getOperationDefinition__OperationDefinitionIsFeatureDerivation__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.OperationDefinition#operationDefinitionIsConstructorDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Operation Definition Is Constructor Derivation</em>}'
+ * operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Operation Definition Is Constructor Derivation</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.OperationDefinition#operationDefinitionIsConstructorDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getOperationDefinition__OperationDefinitionIsConstructorDerivation__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.OperationDefinition#operationDefinitionIsDestructorDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Operation Definition Is Destructor Derivation</em>}'
+ * operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Operation Definition Is Destructor Derivation</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.OperationDefinition#operationDefinitionIsDestructorDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getOperationDefinition__OperationDefinitionIsDestructorDerivation__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.OperationDefinition#operationDefinitionConstructorDestructor(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Operation Definition Constructor Destructor</em>}'
+ * operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Operation Definition Constructor Destructor</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.OperationDefinition#operationDefinitionConstructorDestructor(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getOperationDefinition__OperationDefinitionConstructorDestructor__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.OperationDefinition#operationDefinitionConstructor(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Operation Definition Constructor</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Operation Definition Constructor</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.OperationDefinition#operationDefinitionConstructor(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getOperationDefinition__OperationDefinitionConstructor__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.OperationDefinition#operationDefinitionDestructor(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Operation Definition Destructor</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Operation Definition Destructor</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.OperationDefinition#operationDefinitionDestructor(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getOperationDefinition__OperationDefinitionDestructor__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.uml.alf.AssociationDefinition <em>Association Definition</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for class '<em>Association Definition</em>'.
+ * @see org.eclipse.papyrus.uml.alf.AssociationDefinition
+ * @generated
+ */
+ EClass getAssociationDefinition();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.AssociationDefinition#matchForStub(org.eclipse.papyrus.uml.alf.UnitDefinition) <em>Match For Stub</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Match For Stub</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.AssociationDefinition#matchForStub(org.eclipse.papyrus.uml.alf.UnitDefinition)
+ * @generated
+ */
+ EOperation getAssociationDefinition__MatchForStub__UnitDefinition();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.AssociationDefinition#annotationAllowed(org.eclipse.papyrus.uml.alf.StereotypeAnnotation) <em>Annotation Allowed</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Annotation Allowed</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.AssociationDefinition#annotationAllowed(org.eclipse.papyrus.uml.alf.StereotypeAnnotation)
+ * @generated
+ */
+ EOperation getAssociationDefinition__AnnotationAllowed__StereotypeAnnotation();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.AssociationDefinition#isSameKindAs(org.eclipse.papyrus.uml.alf.ElementReference) <em>Is Same Kind As</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Is Same Kind As</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.AssociationDefinition#isSameKindAs(org.eclipse.papyrus.uml.alf.ElementReference)
+ * @generated
+ */
+ EOperation getAssociationDefinition__IsSameKindAs__ElementReference();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.AssociationDefinition#associationDefinitionSpecializationReferent(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Association Definition Specialization Referent</em>}'
+ * operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Association Definition Specialization Referent</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.AssociationDefinition#associationDefinitionSpecializationReferent(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getAssociationDefinition__AssociationDefinitionSpecializationReferent__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.uml.alf.ClassifierDefinition <em>Classifier Definition</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for class '<em>Classifier Definition</em>'.
+ * @see org.eclipse.papyrus.uml.alf.ClassifierDefinition
+ * @generated
+ */
+ EClass getClassifierDefinition();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.uml.alf.ClassifierDefinition#isIsAbstract <em>Is Abstract</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the attribute '<em>Is Abstract</em>'.
+ * @see org.eclipse.papyrus.uml.alf.ClassifierDefinition#isIsAbstract()
+ * @see #getClassifierDefinition()
+ * @generated
+ */
+ EAttribute getClassifierDefinition_IsAbstract();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.papyrus.uml.alf.ClassifierDefinition#getSpecialization <em>Specialization</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the containment reference '<em>Specialization</em>'.
+ * @see org.eclipse.papyrus.uml.alf.ClassifierDefinition#getSpecialization()
+ * @see #getClassifierDefinition()
+ * @generated
+ */
+ EReference getClassifierDefinition_Specialization();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.uml.alf.ClassifierDefinition#getSpecializationReferent <em>Specialization Referent</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the reference list '<em>Specialization Referent</em>'.
+ * @see org.eclipse.papyrus.uml.alf.ClassifierDefinition#getSpecializationReferent()
+ * @see #getClassifierDefinition()
+ * @generated
+ */
+ EReference getClassifierDefinition_SpecializationReferent();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.ClassifierDefinition#ClassifierDefinition_annotationAllowed(org.eclipse.papyrus.uml.alf.StereotypeAnnotation) <em>Classifier Definition annotation Allowed</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Classifier Definition annotation Allowed</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.ClassifierDefinition#ClassifierDefinition_annotationAllowed(org.eclipse.papyrus.uml.alf.StereotypeAnnotation)
+ * @generated
+ */
+ EOperation getClassifierDefinition__ClassifierDefinition_annotationAllowed__StereotypeAnnotation();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.ClassifierDefinition#matchForStub(org.eclipse.papyrus.uml.alf.UnitDefinition) <em>Match For Stub</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Match For Stub</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.ClassifierDefinition#matchForStub(org.eclipse.papyrus.uml.alf.UnitDefinition)
+ * @generated
+ */
+ EOperation getClassifierDefinition__MatchForStub__UnitDefinition();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.ClassifierDefinition#ClassifierDefinition_matchForStub(org.eclipse.papyrus.uml.alf.UnitDefinition) <em>Classifier Definition match For Stub</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Classifier Definition match For Stub</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.ClassifierDefinition#ClassifierDefinition_matchForStub(org.eclipse.papyrus.uml.alf.UnitDefinition)
+ * @generated
+ */
+ EOperation getClassifierDefinition__ClassifierDefinition_matchForStub__UnitDefinition();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.ClassifierDefinition#members() <em>Members</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Members</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.ClassifierDefinition#members()
+ * @generated
+ */
+ EOperation getClassifierDefinition__Members();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.ClassifierDefinition#inheritedMembers() <em>Inherited Members</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Inherited Members</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.ClassifierDefinition#inheritedMembers()
+ * @generated
+ */
+ EOperation getClassifierDefinition__InheritedMembers();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.ClassifierDefinition#inherit(org.eclipse.emf.common.util.EList) <em>Inherit</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Inherit</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.ClassifierDefinition#inherit(org.eclipse.emf.common.util.EList)
+ * @generated
+ */
+ EOperation getClassifierDefinition__Inherit__EList();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.ClassifierDefinition#classifierDefinitionSpecialization(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Classifier Definition Specialization</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Classifier Definition Specialization</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.ClassifierDefinition#classifierDefinitionSpecialization(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getClassifierDefinition__ClassifierDefinitionSpecialization__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.ClassifierDefinition#classifierDefinitionSpecializationReferentDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * <em>Classifier Definition Specialization Referent Derivation</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Classifier Definition Specialization Referent Derivation</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.ClassifierDefinition#classifierDefinitionSpecializationReferentDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getClassifierDefinition__ClassifierDefinitionSpecializationReferentDerivation__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.ClassifierDefinition#classifierDefinitionInheritedMembers(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Classifier Definition Inherited Members</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Classifier Definition Inherited Members</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.ClassifierDefinition#classifierDefinitionInheritedMembers(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getClassifierDefinition__ClassifierDefinitionInheritedMembers__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.uml.alf.ClassDefinition <em>Class Definition</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for class '<em>Class Definition</em>'.
+ * @see org.eclipse.papyrus.uml.alf.ClassDefinition
+ * @generated
+ */
+ EClass getClassDefinition();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.ClassDefinition#annotationAllowed(org.eclipse.papyrus.uml.alf.StereotypeAnnotation) <em>Annotation Allowed</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Annotation Allowed</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.ClassDefinition#annotationAllowed(org.eclipse.papyrus.uml.alf.StereotypeAnnotation)
+ * @generated
+ */
+ EOperation getClassDefinition__AnnotationAllowed__StereotypeAnnotation();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.ClassDefinition#matchForStub(org.eclipse.papyrus.uml.alf.UnitDefinition) <em>Match For Stub</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Match For Stub</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.ClassDefinition#matchForStub(org.eclipse.papyrus.uml.alf.UnitDefinition)
+ * @generated
+ */
+ EOperation getClassDefinition__MatchForStub__UnitDefinition();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.ClassDefinition#isSameKindAs(org.eclipse.papyrus.uml.alf.ElementReference) <em>Is Same Kind As</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Is Same Kind As</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.ClassDefinition#isSameKindAs(org.eclipse.papyrus.uml.alf.ElementReference)
+ * @generated
+ */
+ EOperation getClassDefinition__IsSameKindAs__ElementReference();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.ClassDefinition#needsDefaultConstructor() <em>Needs Default Constructor</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Needs Default Constructor</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.ClassDefinition#needsDefaultConstructor()
+ * @generated
+ */
+ EOperation getClassDefinition__NeedsDefaultConstructor();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.ClassDefinition#needsDefaultDestructor() <em>Needs Default Destructor</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Needs Default Destructor</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.ClassDefinition#needsDefaultDestructor()
+ * @generated
+ */
+ EOperation getClassDefinition__NeedsDefaultDestructor();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.ClassDefinition#inherit(org.eclipse.emf.common.util.EList) <em>Inherit</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Inherit</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.ClassDefinition#inherit(org.eclipse.emf.common.util.EList)
+ * @generated
+ */
+ EOperation getClassDefinition__Inherit__EList();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.ClassDefinition#inheritCached(org.eclipse.emf.common.util.EList) <em>Inherit Cached</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Inherit Cached</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.ClassDefinition#inheritCached(org.eclipse.emf.common.util.EList)
+ * @generated
+ */
+ EOperation getClassDefinition__InheritCached__EList();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.ClassDefinition#ClassDefinition_inherit(org.eclipse.emf.common.util.EList) <em>Class Definition inherit</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Class Definition inherit</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.ClassDefinition#ClassDefinition_inherit(org.eclipse.emf.common.util.EList)
+ * @generated
+ */
+ EOperation getClassDefinition__ClassDefinition_inherit__EList();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.ClassDefinition#classDefinitionSpecializationReferent(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Class Definition Specialization Referent</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Class Definition Specialization Referent</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.ClassDefinition#classDefinitionSpecializationReferent(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getClassDefinition__ClassDefinitionSpecializationReferent__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.ClassDefinition#classDefinitionAbstractMember(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Class Definition Abstract Member</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Class Definition Abstract Member</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.ClassDefinition#classDefinitionAbstractMember(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getClassDefinition__ClassDefinitionAbstractMember__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.uml.alf.TypedElementDefinition <em>Typed Element Definition</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for class '<em>Typed Element Definition</em>'.
+ * @see org.eclipse.papyrus.uml.alf.TypedElementDefinition
+ * @generated
+ */
+ EClass getTypedElementDefinition();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.uml.alf.TypedElementDefinition#getLowerBound <em>Lower Bound</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the attribute '<em>Lower Bound</em>'.
+ * @see org.eclipse.papyrus.uml.alf.TypedElementDefinition#getLowerBound()
+ * @see #getTypedElementDefinition()
+ * @generated
+ */
+ EAttribute getTypedElementDefinition_LowerBound();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.uml.alf.TypedElementDefinition#getUpperBound <em>Upper Bound</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the attribute '<em>Upper Bound</em>'.
+ * @see org.eclipse.papyrus.uml.alf.TypedElementDefinition#getUpperBound()
+ * @see #getTypedElementDefinition()
+ * @generated
+ */
+ EAttribute getTypedElementDefinition_UpperBound();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.uml.alf.TypedElementDefinition#isIsOrdered <em>Is Ordered</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the attribute '<em>Is Ordered</em>'.
+ * @see org.eclipse.papyrus.uml.alf.TypedElementDefinition#isIsOrdered()
+ * @see #getTypedElementDefinition()
+ * @generated
+ */
+ EAttribute getTypedElementDefinition_IsOrdered();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.uml.alf.TypedElementDefinition#isIsNonunique <em>Is Nonunique</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the attribute '<em>Is Nonunique</em>'.
+ * @see org.eclipse.papyrus.uml.alf.TypedElementDefinition#isIsNonunique()
+ * @see #getTypedElementDefinition()
+ * @generated
+ */
+ EAttribute getTypedElementDefinition_IsNonunique();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.papyrus.uml.alf.TypedElementDefinition#getTypeName <em>Type Name</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the containment reference '<em>Type Name</em>'.
+ * @see org.eclipse.papyrus.uml.alf.TypedElementDefinition#getTypeName()
+ * @see #getTypedElementDefinition()
+ * @generated
+ */
+ EReference getTypedElementDefinition_TypeName();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.uml.alf.TypedElementDefinition#getActualType <em>Actual Type</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the reference '<em>Actual Type</em>'.
+ * @see org.eclipse.papyrus.uml.alf.TypedElementDefinition#getActualType()
+ * @see #getTypedElementDefinition()
+ * @generated
+ */
+ EReference getTypedElementDefinition_ActualType();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.uml.alf.TypedElementDefinition#isIsAny <em>Is Any</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the attribute '<em>Is Any</em>'.
+ * @see org.eclipse.papyrus.uml.alf.TypedElementDefinition#isIsAny()
+ * @see #getTypedElementDefinition()
+ * @generated
+ */
+ EAttribute getTypedElementDefinition_IsAny();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.uml.alf.TypedElementDefinition#isIsSequence <em>Is Sequence</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the attribute '<em>Is Sequence</em>'.
+ * @see org.eclipse.papyrus.uml.alf.TypedElementDefinition#isIsSequence()
+ * @see #getTypedElementDefinition()
+ * @generated
+ */
+ EAttribute getTypedElementDefinition_IsSequence();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.uml.alf.TypedElementDefinition#isIsMultiplicity <em>Is Multiplicity</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the attribute '<em>Is Multiplicity</em>'.
+ * @see org.eclipse.papyrus.uml.alf.TypedElementDefinition#isIsMultiplicity()
+ * @see #getTypedElementDefinition()
+ * @generated
+ */
+ EAttribute getTypedElementDefinition_IsMultiplicity();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.TypedElementDefinition#isOrdered() <em>Is Ordered</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Is Ordered</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.TypedElementDefinition#isOrdered()
+ * @generated
+ */
+ EOperation getTypedElementDefinition__IsOrdered();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.TypedElementDefinition#isNonunique() <em>Is Nonunique</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Is Nonunique</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.TypedElementDefinition#isNonunique()
+ * @generated
+ */
+ EOperation getTypedElementDefinition__IsNonunique();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.TypedElementDefinition#typedElementDefinitionLowerDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Typed Element Definition Lower Derivation</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Typed Element Definition Lower Derivation</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.TypedElementDefinition#typedElementDefinitionLowerDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getTypedElementDefinition__TypedElementDefinitionLowerDerivation__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.TypedElementDefinition#typedElementDefinitionUpperDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Typed Element Definition Upper Derivation</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Typed Element Definition Upper Derivation</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.TypedElementDefinition#typedElementDefinitionUpperDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getTypedElementDefinition__TypedElementDefinitionUpperDerivation__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.TypedElementDefinition#typedElementDefinitionTypeDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Typed Element Definition Type Derivation</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Typed Element Definition Type Derivation</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.TypedElementDefinition#typedElementDefinitionTypeDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getTypedElementDefinition__TypedElementDefinitionTypeDerivation__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.TypedElementDefinition#typedElementDefinitionTypeName(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Typed Element Definition Type Name</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Typed Element Definition Type Name</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.TypedElementDefinition#typedElementDefinitionTypeName(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getTypedElementDefinition__TypedElementDefinitionTypeName__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.TypedElementDefinition#type() <em>Type</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Type</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.TypedElementDefinition#type()
+ * @generated
+ */
+ EOperation getTypedElementDefinition__Type();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.TypedElementDefinition#lower() <em>Lower</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Lower</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.TypedElementDefinition#lower()
+ * @generated
+ */
+ EOperation getTypedElementDefinition__Lower();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.TypedElementDefinition#upper() <em>Upper</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Upper</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.TypedElementDefinition#upper()
+ * @generated
+ */
+ EOperation getTypedElementDefinition__Upper();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.uml.alf.DataTypeDefinition <em>Data Type Definition</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for class '<em>Data Type Definition</em>'.
+ * @see org.eclipse.papyrus.uml.alf.DataTypeDefinition
+ * @generated
+ */
+ EClass getDataTypeDefinition();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.DataTypeDefinition#matchForStub(org.eclipse.papyrus.uml.alf.UnitDefinition) <em>Match For Stub</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Match For Stub</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.DataTypeDefinition#matchForStub(org.eclipse.papyrus.uml.alf.UnitDefinition)
+ * @generated
+ */
+ EOperation getDataTypeDefinition__MatchForStub__UnitDefinition();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.DataTypeDefinition#annotationAllowed(org.eclipse.papyrus.uml.alf.StereotypeAnnotation) <em>Annotation Allowed</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Annotation Allowed</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.DataTypeDefinition#annotationAllowed(org.eclipse.papyrus.uml.alf.StereotypeAnnotation)
+ * @generated
+ */
+ EOperation getDataTypeDefinition__AnnotationAllowed__StereotypeAnnotation();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.DataTypeDefinition#isSameKindAs(org.eclipse.papyrus.uml.alf.ElementReference) <em>Is Same Kind As</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Is Same Kind As</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.DataTypeDefinition#isSameKindAs(org.eclipse.papyrus.uml.alf.ElementReference)
+ * @generated
+ */
+ EOperation getDataTypeDefinition__IsSameKindAs__ElementReference();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.DataTypeDefinition#dataTypeDefinitionPrimitive(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Data Type Definition Primitive</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Data Type Definition Primitive</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.DataTypeDefinition#dataTypeDefinitionPrimitive(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getDataTypeDefinition__DataTypeDefinitionPrimitive__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.DataTypeDefinition#dataTypeDefinitionSpecializationReferent(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Data Type Definition Specialization Referent</em>}'
+ * operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Data Type Definition Specialization Referent</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.DataTypeDefinition#dataTypeDefinitionSpecializationReferent(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getDataTypeDefinition__DataTypeDefinitionSpecializationReferent__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.uml.alf.PackageDefinition <em>Package Definition</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for class '<em>Package Definition</em>'.
+ * @see org.eclipse.papyrus.uml.alf.PackageDefinition
+ * @generated
+ */
+ EClass getPackageDefinition();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.uml.alf.PackageDefinition#getAppliedProfile <em>Applied Profile</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the reference list '<em>Applied Profile</em>'.
+ * @see org.eclipse.papyrus.uml.alf.PackageDefinition#getAppliedProfile()
+ * @see #getPackageDefinition()
+ * @generated
+ */
+ EReference getPackageDefinition_AppliedProfile();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.PackageDefinition#allowPackageOnly() <em>Allow Package Only</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Allow Package Only</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.PackageDefinition#allowPackageOnly()
+ * @generated
+ */
+ EOperation getPackageDefinition__AllowPackageOnly();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.PackageDefinition#annotationAllowed(org.eclipse.papyrus.uml.alf.StereotypeAnnotation) <em>Annotation Allowed</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Annotation Allowed</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.PackageDefinition#annotationAllowed(org.eclipse.papyrus.uml.alf.StereotypeAnnotation)
+ * @generated
+ */
+ EOperation getPackageDefinition__AnnotationAllowed__StereotypeAnnotation();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.PackageDefinition#matchForStub(org.eclipse.papyrus.uml.alf.UnitDefinition) <em>Match For Stub</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Match For Stub</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.PackageDefinition#matchForStub(org.eclipse.papyrus.uml.alf.UnitDefinition)
+ * @generated
+ */
+ EOperation getPackageDefinition__MatchForStub__UnitDefinition();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.PackageDefinition#isSameKindAs(org.eclipse.papyrus.uml.alf.ElementReference) <em>Is Same Kind As</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Is Same Kind As</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.PackageDefinition#isSameKindAs(org.eclipse.papyrus.uml.alf.ElementReference)
+ * @generated
+ */
+ EOperation getPackageDefinition__IsSameKindAs__ElementReference();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.PackageDefinition#packageDefinitionAppliedProfileDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Package Definition Applied Profile Derivation</em>}'
+ * operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Package Definition Applied Profile Derivation</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.PackageDefinition#packageDefinitionAppliedProfileDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getPackageDefinition__PackageDefinitionAppliedProfileDerivation__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.PackageDefinition#appliedProfiles() <em>Applied Profiles</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Applied Profiles</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.PackageDefinition#appliedProfiles()
+ * @generated
+ */
+ EOperation getPackageDefinition__AppliedProfiles();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.uml.alf.PropertyDefinition <em>Property Definition</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for class '<em>Property Definition</em>'.
+ * @see org.eclipse.papyrus.uml.alf.PropertyDefinition
+ * @generated
+ */
+ EClass getPropertyDefinition();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.uml.alf.PropertyDefinition#isIsComposite <em>Is Composite</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the attribute '<em>Is Composite</em>'.
+ * @see org.eclipse.papyrus.uml.alf.PropertyDefinition#isIsComposite()
+ * @see #getPropertyDefinition()
+ * @generated
+ */
+ EAttribute getPropertyDefinition_IsComposite();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.papyrus.uml.alf.PropertyDefinition#getInitializer <em>Initializer</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the containment reference '<em>Initializer</em>'.
+ * @see org.eclipse.papyrus.uml.alf.PropertyDefinition#getInitializer()
+ * @see #getPropertyDefinition()
+ * @generated
+ */
+ EReference getPropertyDefinition_Initializer();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.uml.alf.PropertyDefinition#isIsCollectionConversion <em>Is Collection Conversion</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the attribute '<em>Is Collection Conversion</em>'.
+ * @see org.eclipse.papyrus.uml.alf.PropertyDefinition#isIsCollectionConversion()
+ * @see #getPropertyDefinition()
+ * @generated
+ */
+ EAttribute getPropertyDefinition_IsCollectionConversion();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.uml.alf.PropertyDefinition#isIsBitStringConversion <em>Is Bit String Conversion</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the attribute '<em>Is Bit String Conversion</em>'.
+ * @see org.eclipse.papyrus.uml.alf.PropertyDefinition#isIsBitStringConversion()
+ * @see #getPropertyDefinition()
+ * @generated
+ */
+ EAttribute getPropertyDefinition_IsBitStringConversion();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.papyrus.uml.alf.PropertyDefinition#getTypePart <em>Type Part</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the containment reference '<em>Type Part</em>'.
+ * @see org.eclipse.papyrus.uml.alf.PropertyDefinition#getTypePart()
+ * @see #getPropertyDefinition()
+ * @generated
+ */
+ EReference getPropertyDefinition_TypePart();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.PropertyDefinition#assignmentsBefore(org.eclipse.papyrus.uml.alf.SyntaxElement) <em>Assignments Before</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Assignments Before</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.PropertyDefinition#assignmentsBefore(org.eclipse.papyrus.uml.alf.SyntaxElement)
+ * @generated
+ */
+ EOperation getPropertyDefinition__AssignmentsBefore__SyntaxElement();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.PropertyDefinition#annotationAllowed(org.eclipse.papyrus.uml.alf.StereotypeAnnotation) <em>Annotation Allowed</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Annotation Allowed</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.PropertyDefinition#annotationAllowed(org.eclipse.papyrus.uml.alf.StereotypeAnnotation)
+ * @generated
+ */
+ EOperation getPropertyDefinition__AnnotationAllowed__StereotypeAnnotation();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.PropertyDefinition#isSameKindAs(org.eclipse.papyrus.uml.alf.ElementReference) <em>Is Same Kind As</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Is Same Kind As</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.PropertyDefinition#isSameKindAs(org.eclipse.papyrus.uml.alf.ElementReference)
+ * @generated
+ */
+ EOperation getPropertyDefinition__IsSameKindAs__ElementReference();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.PropertyDefinition#isFeature() <em>Is Feature</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Is Feature</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.PropertyDefinition#isFeature()
+ * @generated
+ */
+ EOperation getPropertyDefinition__IsFeature();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.PropertyDefinition#propertyDefinitionInitializer(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Property Definition Initializer</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Property Definition Initializer</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.PropertyDefinition#propertyDefinitionInitializer(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getPropertyDefinition__PropertyDefinitionInitializer__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.PropertyDefinition#propertyDefinitionIsCollectionConversionDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * <em>Property Definition Is Collection Conversion Derivation</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Property Definition Is Collection Conversion Derivation</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.PropertyDefinition#propertyDefinitionIsCollectionConversionDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getPropertyDefinition__PropertyDefinitionIsCollectionConversionDerivation__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.PropertyDefinition#propertyDefinitionIsBitStringConversionDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * <em>Property Definition Is Bit String Conversion Derivation</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Property Definition Is Bit String Conversion Derivation</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.PropertyDefinition#propertyDefinitionIsBitStringConversionDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getPropertyDefinition__PropertyDefinitionIsBitStringConversionDerivation__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.PropertyDefinition#propertyDefinitionIsFeatureDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Property Definition Is Feature Derivation</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Property Definition Is Feature Derivation</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.PropertyDefinition#propertyDefinitionIsFeatureDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getPropertyDefinition__PropertyDefinitionIsFeatureDerivation__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.uml.alf.SignalDefinition <em>Signal Definition</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for class '<em>Signal Definition</em>'.
+ * @see org.eclipse.papyrus.uml.alf.SignalDefinition
+ * @generated
+ */
+ EClass getSignalDefinition();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.SignalDefinition#matchForStub(org.eclipse.papyrus.uml.alf.UnitDefinition) <em>Match For Stub</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Match For Stub</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.SignalDefinition#matchForStub(org.eclipse.papyrus.uml.alf.UnitDefinition)
+ * @generated
+ */
+ EOperation getSignalDefinition__MatchForStub__UnitDefinition();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.SignalDefinition#annotationAllowed(org.eclipse.papyrus.uml.alf.StereotypeAnnotation) <em>Annotation Allowed</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Annotation Allowed</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.SignalDefinition#annotationAllowed(org.eclipse.papyrus.uml.alf.StereotypeAnnotation)
+ * @generated
+ */
+ EOperation getSignalDefinition__AnnotationAllowed__StereotypeAnnotation();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.SignalDefinition#isSameKindAs(org.eclipse.papyrus.uml.alf.ElementReference) <em>Is Same Kind As</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Is Same Kind As</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.SignalDefinition#isSameKindAs(org.eclipse.papyrus.uml.alf.ElementReference)
+ * @generated
+ */
+ EOperation getSignalDefinition__IsSameKindAs__ElementReference();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.SignalDefinition#signalDefinitionSpecializationReferent(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Signal Definition Specialization Referent</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Signal Definition Specialization Referent</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.SignalDefinition#signalDefinitionSpecializationReferent(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getSignalDefinition__SignalDefinitionSpecializationReferent__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.uml.alf.ActiveClassDefinition <em>Active Class Definition</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for class '<em>Active Class Definition</em>'.
+ * @see org.eclipse.papyrus.uml.alf.ActiveClassDefinition
+ * @generated
+ */
+ EClass getActiveClassDefinition();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.papyrus.uml.alf.ActiveClassDefinition#getClassifierBehavior <em>Classifier Behavior</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the containment reference '<em>Classifier Behavior</em>'.
+ * @see org.eclipse.papyrus.uml.alf.ActiveClassDefinition#getClassifierBehavior()
+ * @see #getActiveClassDefinition()
+ * @generated
+ */
+ EReference getActiveClassDefinition_ClassifierBehavior();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.ActiveClassDefinition#matchForStub(org.eclipse.papyrus.uml.alf.UnitDefinition) <em>Match For Stub</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Match For Stub</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.ActiveClassDefinition#matchForStub(org.eclipse.papyrus.uml.alf.UnitDefinition)
+ * @generated
+ */
+ EOperation getActiveClassDefinition__MatchForStub__UnitDefinition();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.ActiveClassDefinition#activeClassDefinitionClassifierBehavior(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Active Class Definition Classifier Behavior</em>}'
+ * operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Active Class Definition Classifier Behavior</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.ActiveClassDefinition#activeClassDefinitionClassifierBehavior(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getActiveClassDefinition__ActiveClassDefinitionClassifierBehavior__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.uml.alf.ActivityDefinition <em>Activity Definition</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for class '<em>Activity Definition</em>'.
+ * @see org.eclipse.papyrus.uml.alf.ActivityDefinition
+ * @generated
+ */
+ EClass getActivityDefinition();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.papyrus.uml.alf.ActivityDefinition#getBody <em>Body</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the containment reference '<em>Body</em>'.
+ * @see org.eclipse.papyrus.uml.alf.ActivityDefinition#getBody()
+ * @see #getActivityDefinition()
+ * @generated
+ */
+ EReference getActivityDefinition_Body();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.ActivityDefinition#assignmentsBefore(org.eclipse.papyrus.uml.alf.SyntaxElement) <em>Assignments Before</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Assignments Before</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.ActivityDefinition#assignmentsBefore(org.eclipse.papyrus.uml.alf.SyntaxElement)
+ * @generated
+ */
+ EOperation getActivityDefinition__AssignmentsBefore__SyntaxElement();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.ActivityDefinition#outerScope() <em>Outer Scope</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Outer Scope</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.ActivityDefinition#outerScope()
+ * @generated
+ */
+ EOperation getActivityDefinition__OuterScope();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.ActivityDefinition#annotationAllowed(org.eclipse.papyrus.uml.alf.StereotypeAnnotation) <em>Annotation Allowed</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Annotation Allowed</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.ActivityDefinition#annotationAllowed(org.eclipse.papyrus.uml.alf.StereotypeAnnotation)
+ * @generated
+ */
+ EOperation getActivityDefinition__AnnotationAllowed__StereotypeAnnotation();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.ActivityDefinition#matchForStub(org.eclipse.papyrus.uml.alf.UnitDefinition) <em>Match For Stub</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Match For Stub</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.ActivityDefinition#matchForStub(org.eclipse.papyrus.uml.alf.UnitDefinition)
+ * @generated
+ */
+ EOperation getActivityDefinition__MatchForStub__UnitDefinition();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.ActivityDefinition#isSameKindAs(org.eclipse.papyrus.uml.alf.ElementReference) <em>Is Same Kind As</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Is Same Kind As</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.ActivityDefinition#isSameKindAs(org.eclipse.papyrus.uml.alf.ElementReference)
+ * @generated
+ */
+ EOperation getActivityDefinition__IsSameKindAs__ElementReference();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.ActivityDefinition#activityDefinitionSpecialization(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Activity Definition Specialization</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Activity Definition Specialization</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.ActivityDefinition#activityDefinitionSpecialization(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getActivityDefinition__ActivityDefinitionSpecialization__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.ActivityDefinition#activityDefinitionPrimitive(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Activity Definition Primitive</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Activity Definition Primitive</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.ActivityDefinition#activityDefinitionPrimitive(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getActivityDefinition__ActivityDefinitionPrimitive__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.uml.alf.ElementImportReference <em>Element Import Reference</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for class '<em>Element Import Reference</em>'.
+ * @see org.eclipse.papyrus.uml.alf.ElementImportReference
+ * @generated
+ */
+ EClass getElementImportReference();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.uml.alf.ElementImportReference#getAlias <em>Alias</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the attribute '<em>Alias</em>'.
+ * @see org.eclipse.papyrus.uml.alf.ElementImportReference#getAlias()
+ * @see #getElementImportReference()
+ * @generated
+ */
+ EAttribute getElementImportReference_Alias();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.ElementImportReference#importedMembers() <em>Imported Members</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Imported Members</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.ElementImportReference#importedMembers()
+ * @generated
+ */
+ EOperation getElementImportReference__ImportedMembers();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.ElementImportReference#elementImportReferenceReferent(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Element Import Reference Referent</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Element Import Reference Referent</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.ElementImportReference#elementImportReferenceReferent(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getElementImportReference__ElementImportReferenceReferent__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.uml.alf.SignalReceptionDefinition <em>Signal Reception Definition</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for class '<em>Signal Reception Definition</em>'.
+ * @see org.eclipse.papyrus.uml.alf.SignalReceptionDefinition
+ * @generated
+ */
+ EClass getSignalReceptionDefinition();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.SignalReceptionDefinition#isFeature() <em>Is Feature</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Is Feature</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.SignalReceptionDefinition#isFeature()
+ * @generated
+ */
+ EOperation getSignalReceptionDefinition__IsFeature();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.SignalReceptionDefinition#signalReceptionDefinitionIsFeatureDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * <em>Signal Reception Definition Is Feature Derivation</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Signal Reception Definition Is Feature Derivation</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.SignalReceptionDefinition#signalReceptionDefinitionIsFeatureDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getSignalReceptionDefinition__SignalReceptionDefinitionIsFeatureDerivation__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.uml.alf.EnumerationDefinition <em>Enumeration Definition</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for class '<em>Enumeration Definition</em>'.
+ * @see org.eclipse.papyrus.uml.alf.EnumerationDefinition
+ * @generated
+ */
+ EClass getEnumerationDefinition();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.EnumerationDefinition#matchForStub(org.eclipse.papyrus.uml.alf.UnitDefinition) <em>Match For Stub</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Match For Stub</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.EnumerationDefinition#matchForStub(org.eclipse.papyrus.uml.alf.UnitDefinition)
+ * @generated
+ */
+ EOperation getEnumerationDefinition__MatchForStub__UnitDefinition();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.EnumerationDefinition#annotationAllowed(org.eclipse.papyrus.uml.alf.StereotypeAnnotation) <em>Annotation Allowed</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Annotation Allowed</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.EnumerationDefinition#annotationAllowed(org.eclipse.papyrus.uml.alf.StereotypeAnnotation)
+ * @generated
+ */
+ EOperation getEnumerationDefinition__AnnotationAllowed__StereotypeAnnotation();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.EnumerationDefinition#isSameKindAs(org.eclipse.papyrus.uml.alf.ElementReference) <em>Is Same Kind As</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Is Same Kind As</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.EnumerationDefinition#isSameKindAs(org.eclipse.papyrus.uml.alf.ElementReference)
+ * @generated
+ */
+ EOperation getEnumerationDefinition__IsSameKindAs__ElementReference();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.EnumerationDefinition#enumerationDefinitionSpecializationReferent(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Enumeration Definition Specialization Referent</em>}'
+ * operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Enumeration Definition Specialization Referent</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.EnumerationDefinition#enumerationDefinitionSpecializationReferent(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getEnumerationDefinition__EnumerationDefinitionSpecializationReferent__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.uml.alf.PackageImportReference <em>Package Import Reference</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for class '<em>Package Import Reference</em>'.
+ * @see org.eclipse.papyrus.uml.alf.PackageImportReference
+ * @generated
+ */
+ EClass getPackageImportReference();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.PackageImportReference#importedMembers() <em>Imported Members</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Imported Members</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.PackageImportReference#importedMembers()
+ * @generated
+ */
+ EOperation getPackageImportReference__ImportedMembers();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.PackageImportReference#packageImportReferenceReferent(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Package Import Reference Referent</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Package Import Reference Referent</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.PackageImportReference#packageImportReferenceReferent(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getPackageImportReference__PackageImportReferenceReferent__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.uml.alf.ClassifierTemplateParameter <em>Classifier Template Parameter</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for class '<em>Classifier Template Parameter</em>'.
+ * @see org.eclipse.papyrus.uml.alf.ClassifierTemplateParameter
+ * @generated
+ */
+ EClass getClassifierTemplateParameter();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.ClassifierTemplateParameter#annotationAllowed(org.eclipse.papyrus.uml.alf.StereotypeAnnotation) <em>Annotation Allowed</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Annotation Allowed</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.ClassifierTemplateParameter#annotationAllowed(org.eclipse.papyrus.uml.alf.StereotypeAnnotation)
+ * @generated
+ */
+ EOperation getClassifierTemplateParameter__AnnotationAllowed__StereotypeAnnotation();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.ClassifierTemplateParameter#matchForStub(org.eclipse.papyrus.uml.alf.UnitDefinition) <em>Match For Stub</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Match For Stub</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.ClassifierTemplateParameter#matchForStub(org.eclipse.papyrus.uml.alf.UnitDefinition)
+ * @generated
+ */
+ EOperation getClassifierTemplateParameter__MatchForStub__UnitDefinition();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.ClassifierTemplateParameter#isSameKindAs(org.eclipse.papyrus.uml.alf.ElementReference) <em>Is Same Kind As</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Is Same Kind As</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.ClassifierTemplateParameter#isSameKindAs(org.eclipse.papyrus.uml.alf.ElementReference)
+ * @generated
+ */
+ EOperation getClassifierTemplateParameter__IsSameKindAs__ElementReference();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.ClassifierTemplateParameter#matches(org.eclipse.papyrus.uml.alf.ClassifierTemplateParameter) <em>Matches</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Matches</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.ClassifierTemplateParameter#matches(org.eclipse.papyrus.uml.alf.ClassifierTemplateParameter)
+ * @generated
+ */
+ EOperation getClassifierTemplateParameter__Matches__ClassifierTemplateParameter();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.uml.alf.FormalParameter <em>Formal Parameter</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for class '<em>Formal Parameter</em>'.
+ * @see org.eclipse.papyrus.uml.alf.FormalParameter
+ * @generated
+ */
+ EClass getFormalParameter();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.uml.alf.FormalParameter#getDirection <em>Direction</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the attribute '<em>Direction</em>'.
+ * @see org.eclipse.papyrus.uml.alf.FormalParameter#getDirection()
+ * @see #getFormalParameter()
+ * @generated
+ */
+ EAttribute getFormalParameter_Direction();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.papyrus.uml.alf.FormalParameter#getTypePart <em>Type Part</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the containment reference '<em>Type Part</em>'.
+ * @see org.eclipse.papyrus.uml.alf.FormalParameter#getTypePart()
+ * @see #getFormalParameter()
+ * @generated
+ */
+ EReference getFormalParameter_TypePart();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.FormalParameter#currentScope() <em>Current Scope</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Current Scope</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.FormalParameter#currentScope()
+ * @generated
+ */
+ EOperation getFormalParameter__CurrentScope();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.FormalParameter#annotationAllowed(org.eclipse.papyrus.uml.alf.StereotypeAnnotation) <em>Annotation Allowed</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Annotation Allowed</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.FormalParameter#annotationAllowed(org.eclipse.papyrus.uml.alf.StereotypeAnnotation)
+ * @generated
+ */
+ EOperation getFormalParameter__AnnotationAllowed__StereotypeAnnotation();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.FormalParameter#isSameKindAs(org.eclipse.papyrus.uml.alf.ElementReference) <em>Is Same Kind As</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Is Same Kind As</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.FormalParameter#isSameKindAs(org.eclipse.papyrus.uml.alf.ElementReference)
+ * @generated
+ */
+ EOperation getFormalParameter__IsSameKindAs__ElementReference();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.FormalParameter#matches(org.eclipse.papyrus.uml.alf.FormalParameter) <em>Matches</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Matches</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.FormalParameter#matches(org.eclipse.papyrus.uml.alf.FormalParameter)
+ * @generated
+ */
+ EOperation getFormalParameter__Matches__FormalParameter();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.FormalParameter#matchesElement(org.eclipse.papyrus.uml.alf.ElementReference) <em>Matches Element</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Matches Element</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.FormalParameter#matchesElement(org.eclipse.papyrus.uml.alf.ElementReference)
+ * @generated
+ */
+ EOperation getFormalParameter__MatchesElement__ElementReference();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.FormalParameter#matchesNameType(org.eclipse.papyrus.uml.alf.ElementReference) <em>Matches Name Type</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Matches Name Type</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.FormalParameter#matchesNameType(org.eclipse.papyrus.uml.alf.ElementReference)
+ * @generated
+ */
+ EOperation getFormalParameter__MatchesNameType__ElementReference();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.FormalParameter#matchesType(org.eclipse.papyrus.uml.alf.ElementReference) <em>Matches Type</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Matches Type</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.FormalParameter#matchesType(org.eclipse.papyrus.uml.alf.ElementReference)
+ * @generated
+ */
+ EOperation getFormalParameter__MatchesType__ElementReference();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.uml.alf.ReceptionDefinition <em>Reception Definition</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for class '<em>Reception Definition</em>'.
+ * @see org.eclipse.papyrus.uml.alf.ReceptionDefinition
+ * @generated
+ */
+ EClass getReceptionDefinition();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.papyrus.uml.alf.ReceptionDefinition#getSignalName <em>Signal Name</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the containment reference '<em>Signal Name</em>'.
+ * @see org.eclipse.papyrus.uml.alf.ReceptionDefinition#getSignalName()
+ * @see #getReceptionDefinition()
+ * @generated
+ */
+ EReference getReceptionDefinition_SignalName();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.uml.alf.ReceptionDefinition#getSignal <em>Signal</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the reference '<em>Signal</em>'.
+ * @see org.eclipse.papyrus.uml.alf.ReceptionDefinition#getSignal()
+ * @see #getReceptionDefinition()
+ * @generated
+ */
+ EReference getReceptionDefinition_Signal();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.ReceptionDefinition#actualName() <em>Actual Name</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Actual Name</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.ReceptionDefinition#actualName()
+ * @generated
+ */
+ EOperation getReceptionDefinition__ActualName();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.ReceptionDefinition#annotationAllowed(org.eclipse.papyrus.uml.alf.StereotypeAnnotation) <em>Annotation Allowed</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Annotation Allowed</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.ReceptionDefinition#annotationAllowed(org.eclipse.papyrus.uml.alf.StereotypeAnnotation)
+ * @generated
+ */
+ EOperation getReceptionDefinition__AnnotationAllowed__StereotypeAnnotation();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.ReceptionDefinition#isSameKindAs(org.eclipse.papyrus.uml.alf.ElementReference) <em>Is Same Kind As</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Is Same Kind As</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.ReceptionDefinition#isSameKindAs(org.eclipse.papyrus.uml.alf.ElementReference)
+ * @generated
+ */
+ EOperation getReceptionDefinition__IsSameKindAs__ElementReference();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.ReceptionDefinition#isFeature() <em>Is Feature</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Is Feature</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.ReceptionDefinition#isFeature()
+ * @generated
+ */
+ EOperation getReceptionDefinition__IsFeature();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.ReceptionDefinition#receptionDefinitionSignalName(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Reception Definition Signal Name</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Reception Definition Signal Name</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.ReceptionDefinition#receptionDefinitionSignalName(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getReceptionDefinition__ReceptionDefinitionSignalName__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.ReceptionDefinition#receptionDefinitionSignalDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Reception Definition Signal Derivation</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Reception Definition Signal Derivation</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.ReceptionDefinition#receptionDefinitionSignalDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getReceptionDefinition__ReceptionDefinitionSignalDerivation__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.ReceptionDefinition#receptionDefinitionIsFeatureDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Reception Definition Is Feature Derivation</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Reception Definition Is Feature Derivation</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.ReceptionDefinition#receptionDefinitionIsFeatureDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getReceptionDefinition__ReceptionDefinitionIsFeatureDerivation__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.uml.alf.Member <em>Member</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for class '<em>Member</em>'.
+ * @see org.eclipse.papyrus.uml.alf.Member
+ * @generated
+ */
+ EClass getMember();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.papyrus.uml.alf.Member#getDefinition <em>Definition</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the containment reference '<em>Definition</em>'.
+ * @see org.eclipse.papyrus.uml.alf.Member#getDefinition()
+ * @see #getMember()
+ * @generated
+ */
+ EReference getMember_Definition();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.uml.alf.Member#getVisibility <em>Visibility</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the attribute '<em>Visibility</em>'.
+ * @see org.eclipse.papyrus.uml.alf.Member#getVisibility()
+ * @see #getMember()
+ * @generated
+ */
+ EAttribute getMember_Visibility();
+
+ /**
+ * Returns the meta object for the container reference '{@link org.eclipse.papyrus.uml.alf.Member#getNamespace <em>Namespace</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the container reference '<em>Namespace</em>'.
+ * @see org.eclipse.papyrus.uml.alf.Member#getNamespace()
+ * @see #getMember()
+ * @generated
+ */
+ EReference getMember_Namespace();
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.eclipse.papyrus.uml.alf.Member#getAnnotation <em>Annotation</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the containment reference list '<em>Annotation</em>'.
+ * @see org.eclipse.papyrus.uml.alf.Member#getAnnotation()
+ * @see #getMember()
+ * @generated
+ */
+ EReference getMember_Annotation();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.Member#toReference() <em>To Reference</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>To Reference</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.Member#toReference()
+ * @generated
+ */
+ EOperation getMember__ToReference();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.Member#visibility() <em>Visibility</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Visibility</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.Member#visibility()
+ * @generated
+ */
+ EOperation getMember__Visibility();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.uml.alf.AnnotatedStatement <em>Annotated Statement</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for class '<em>Annotated Statement</em>'.
+ * @see org.eclipse.papyrus.uml.alf.AnnotatedStatement
+ * @generated
+ */
+ EClass getAnnotatedStatement();
+
+ /**
+ * Returns the meta object for the attribute list '{@link org.eclipse.papyrus.uml.alf.AnnotatedStatement#getAnnotation <em>Annotation</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the attribute list '<em>Annotation</em>'.
+ * @see org.eclipse.papyrus.uml.alf.AnnotatedStatement#getAnnotation()
+ * @see #getAnnotatedStatement()
+ * @generated
+ */
+ EAttribute getAnnotatedStatement_Annotation();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.papyrus.uml.alf.AnnotatedStatement#getStatement <em>Statement</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the containment reference '<em>Statement</em>'.
+ * @see org.eclipse.papyrus.uml.alf.AnnotatedStatement#getStatement()
+ * @see #getAnnotatedStatement()
+ * @generated
+ */
+ EReference getAnnotatedStatement_Statement();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.AnnotatedStatement#annotations() <em>Annotations</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Annotations</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.AnnotatedStatement#annotations()
+ * @generated
+ */
+ EOperation getAnnotatedStatement__Annotations();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.uml.alf.BoundClassifier <em>Bound Classifier</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for class '<em>Bound Classifier</em>'.
+ * @see org.eclipse.papyrus.uml.alf.BoundClassifier
+ * @generated
+ */
+ EClass getBoundClassifier();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.uml.alf.BoundClassifier#getTemplate <em>Template</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the reference '<em>Template</em>'.
+ * @see org.eclipse.papyrus.uml.alf.BoundClassifier#getTemplate()
+ * @see #getBoundClassifier()
+ * @generated
+ */
+ EReference getBoundClassifier_Template();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.uml.alf.BoundClassifier#getActual <em>Actual</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the reference list '<em>Actual</em>'.
+ * @see org.eclipse.papyrus.uml.alf.BoundClassifier#getActual()
+ * @see #getBoundClassifier()
+ * @generated
+ */
+ EReference getBoundClassifier_Actual();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.BoundClassifier#toReference() <em>To Reference</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>To Reference</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.BoundClassifier#toReference()
+ * @generated
+ */
+ EOperation getBoundClassifier__ToReference();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.uml.alf.ReturnParameter <em>Return Parameter</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for class '<em>Return Parameter</em>'.
+ * @see org.eclipse.papyrus.uml.alf.ReturnParameter
+ * @generated
+ */
+ EClass getReturnParameter();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.uml.alf.NonReturnParameter <em>Non Return Parameter</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for class '<em>Non Return Parameter</em>'.
+ * @see org.eclipse.papyrus.uml.alf.NonReturnParameter
+ * @generated
+ */
+ EClass getNonReturnParameter();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.uml.alf.AnyType <em>Any Type</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for class '<em>Any Type</em>'.
+ * @see org.eclipse.papyrus.uml.alf.AnyType
+ * @generated
+ */
+ EClass getAnyType();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.uml.alf.AnyType#actualName() <em>Actual Name</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the '<em>Actual Name</em>' operation.
+ * @see org.eclipse.papyrus.uml.alf.AnyType#actualName()
+ * @generated
+ */
+ EOperation getAnyType__ActualName();
+
+ /**
+ * Returns the factory that creates the instances of the model.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the factory that creates the instances of the model.
+ * @generated
+ */
+ AlfFactory getAlfFactory();
+
+} // AlfPackage
diff --git a/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/AnnotatedStatement.java b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/AnnotatedStatement.java
new file mode 100644
index 00000000000..8d8c3a8ad50
--- /dev/null
+++ b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/AnnotatedStatement.java
@@ -0,0 +1,86 @@
+/**
+ */
+package org.eclipse.papyrus.uml.alf;
+
+import org.eclipse.emf.common.util.EList;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Annotated Statement</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ *
+ * <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.uml.alf.AnnotatedStatement#getAnnotation <em>Annotation</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.AnnotatedStatement#getStatement <em>Statement</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getAnnotatedStatement()
+ * @model
+ * @generated
+ */
+public interface AnnotatedStatement extends DocumentedElement {
+ /**
+ * Returns the value of the '<em><b>Annotation</b></em>' attribute list.
+ * The list contents are of type {@link java.lang.String}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The annotations applied to this statement.
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Annotation</em>' attribute list.
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getAnnotatedStatement_Annotation()
+ * @model ordered="false"
+ * annotation="http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeRoleName body='BoundClassifier' unique='false' upper='*'"
+ * @generated
+ */
+ EList<String> getAnnotation();
+
+ /**
+ * Returns the value of the '<em><b>Statement</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ *
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Statement</em>' containment reference.
+ * @see #setStatement(Statement)
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getAnnotatedStatement_Statement()
+ * @model containment="true" required="true"
+ * @generated
+ */
+ Statement getStatement();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.uml.alf.AnnotatedStatement#getStatement <em>Statement</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Statement</em>' containment reference.
+ * @see #getStatement()
+ * @generated
+ */
+ void setStatement(Statement value);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * External
+ * <!-- end-model-doc -->
+ *
+ * @model ordered="false"
+ * @generated
+ */
+ EList<String> annotations();
+
+} // AnnotatedStatement
diff --git a/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/Annotation.java b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/Annotation.java
new file mode 100644
index 00000000000..b6336f1ebac
--- /dev/null
+++ b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/Annotation.java
@@ -0,0 +1,122 @@
+/**
+ */
+package org.eclipse.papyrus.uml.alf;
+
+import org.eclipse.emf.common.util.EList;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Annotation</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * An identified modification to the behavior of an annotated statement.
+ * <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.uml.alf.Annotation#getText <em>Text</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.Annotation#getIdentifier <em>Identifier</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.Annotation#getArgument <em>Argument</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getAnnotation()
+ * @model
+ * @generated
+ */
+public interface Annotation extends SyntaxElement {
+ /**
+ * Returns the value of the '<em><b>Text</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The text line for the annotation.
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Text</em>' attribute.
+ * @see #setText(String)
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getAnnotation_Text()
+ * @model required="true"
+ * @generated
+ */
+ String getText();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.uml.alf.Annotation#getText <em>Text</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Text</em>' attribute.
+ * @see #getText()
+ * @generated
+ */
+ void setText(String value);
+
+ /**
+ * Returns the value of the '<em><b>Identifier</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The name of the annotation.
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Identifier</em>' attribute.
+ * @see #setIdentifier(String)
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getAnnotation_Identifier()
+ * @model transient="true" volatile="true" derived="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot derivation='self.identifier()'"
+ * @generated
+ */
+ String getIdentifier();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.uml.alf.Annotation#getIdentifier <em>Identifier</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Identifier</em>' attribute.
+ * @see #getIdentifier()
+ * @generated
+ */
+ void setIdentifier(String value);
+
+ /**
+ * Returns the value of the '<em><b>Argument</b></em>' attribute list.
+ * The list contents are of type {@link java.lang.String}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * If permitted by the annotation, an optional list of local names relevant to the annotation.
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Argument</em>' attribute list.
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getAnnotation_Argument()
+ * @model transient="true" volatile="true" derived="true" ordered="false"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot derivation='self.arguments()->collect(n | NameBinding{name = n}.toName())->asSet()'"
+ * @generated
+ */
+ EList<String> getArgument();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model required="true"
+ * @generated
+ */
+ String identifier();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model ordered="false"
+ * @generated
+ */
+ EList<String> arguments();
+
+} // Annotation
diff --git a/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/AnyType.java b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/AnyType.java
new file mode 100644
index 00000000000..3ae92f5f05f
--- /dev/null
+++ b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/AnyType.java
@@ -0,0 +1,31 @@
+/**
+ */
+package org.eclipse.papyrus.uml.alf;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Any Type</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * A classifier representing the null "any" type in a list of
+ * template paraemter actuals.
+ * <!-- end-model-doc -->
+ *
+ *
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getAnyType()
+ * @model
+ * @generated
+ */
+public interface AnyType extends ClassifierDefinition {
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\'any\''"
+ * @generated
+ */
+ String actualName();
+} // AnyType
diff --git a/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/ArithmeticExpression.java b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/ArithmeticExpression.java
new file mode 100644
index 00000000000..d5e52e2cac4
--- /dev/null
+++ b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/ArithmeticExpression.java
@@ -0,0 +1,158 @@
+/**
+ */
+package org.eclipse.papyrus.uml.alf;
+
+import java.math.BigInteger;
+import java.util.Map;
+
+import org.eclipse.emf.common.util.DiagnosticChain;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Arithmetic Expression</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * A binary expression with an arithmetic operator.
+ * <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.uml.alf.ArithmeticExpression#isIsConcatenation <em>Is Concatenation</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getArithmeticExpression()
+ * @model
+ * @generated
+ */
+public interface ArithmeticExpression extends BinaryExpression {
+ /**
+ * Returns the value of the '<em><b>Is Concatenation</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * Whether this is a string concatenation expression.
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Is Concatenation</em>' attribute.
+ * @see #setIsConcatenation(boolean)
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getArithmeticExpression_IsConcatenation()
+ * @model transient="true" volatile="true" derived="true"
+ * annotation="http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeRoleName body='FeatureLeftHandSide'"
+ * annotation="http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeRoleName body='FeatureLeftHandSide'"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot derivation='self.isStringType(self.type)'"
+ * @generated
+ */
+ boolean isIsConcatenation();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.uml.alf.ArithmeticExpression#isIsConcatenation <em>Is Concatenation</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Is Concatenation</em>' attribute.
+ * @see #isIsConcatenation()
+ * @generated
+ */
+ void setIsConcatenation(boolean value);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='self.operand1.type'"
+ * @generated
+ */
+ ElementReference type();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model required="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n if self.operand1.lower = 0 or self.operand2.lower = 0 then 0\n else 1\n endif'"
+ * @generated
+ */
+ BigInteger lower();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model required="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='1'"
+ * @generated
+ */
+ BigInteger upper();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * An arithmetic expression is a string concatenation expression if its type
+ * is String.
+ * <!-- end-model-doc -->
+ *
+ * @model
+ * @generated
+ */
+ boolean arithmeticExpressionIsConcatenationDerivation(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The type of an arithmetic expression is the same as the type of its operands.
+ * (See the type() operation.)
+ * <!-- end-model-doc -->
+ *
+ * @model
+ * @generated
+ */
+ boolean arithmeticExpressionTypeDerivation(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * An arithmetic expression has a multiplicity lower bound of 0 if the lower
+ * bound if either operand expression is 0 and 1 otherwise.
+ * (See the lower() operation.)
+ * <!-- end-model-doc -->
+ *
+ * @model
+ * @generated
+ */
+ boolean arithmeticExpressionLowerDerivation(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * An arithmetic expression has a multiplicity upper bound of 1.
+ * (See the upper() operation.)
+ * <!-- end-model-doc -->
+ *
+ * @model
+ * @generated
+ */
+ boolean arithmeticExpressionUpperDerivation(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The operands of an arithmetic expression must both have type Integer,
+ * unless the operator is +, in which case they may also both have type String.
+ * <!-- end-model-doc -->
+ *
+ * @model annotation=
+ * "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n self.isIntegerType(self.operand1.type) and self.isIntegerType(self.operand2.type) or\n self.operator = \'+\' and self.isStringType(self.operand1.type) and self.isStringType(self.operand2.type)'"
+ * @generated
+ */
+ boolean arithmeticExpressionOperandTypes(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+} // ArithmeticExpression
diff --git a/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/AssignableElement.java b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/AssignableElement.java
new file mode 100644
index 00000000000..346692aadae
--- /dev/null
+++ b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/AssignableElement.java
@@ -0,0 +1,220 @@
+/**
+ */
+package org.eclipse.papyrus.uml.alf;
+
+import java.math.BigInteger;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Assignable Element</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * An element that is or has an assignable value.
+ * <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.uml.alf.AssignableElement#getUpper <em>Upper</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.AssignableElement#getLower <em>Lower</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.AssignableElement#getType <em>Type</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getAssignableElement()
+ * @model abstract="true"
+ * @generated
+ */
+public interface AssignableElement extends SyntaxElement {
+ /**
+ * Returns the value of the '<em><b>Upper</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The statically determined upper bound of the multiplicity of this
+ * element.
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Upper</em>' attribute.
+ * @see #setUpper(BigInteger)
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getAssignableElement_Upper()
+ * @model transient="true" volatile="true" derived="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot derivation='self.upper()'"
+ * @generated
+ */
+ BigInteger getUpper();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.uml.alf.AssignableElement#getUpper <em>Upper</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Upper</em>' attribute.
+ * @see #getUpper()
+ * @generated
+ */
+ void setUpper(BigInteger value);
+
+ /**
+ * Returns the value of the '<em><b>Lower</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The statically determined lower bound of the multiplicity of this
+ * element.
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Lower</em>' attribute.
+ * @see #setLower(BigInteger)
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getAssignableElement_Lower()
+ * @model transient="true" volatile="true" derived="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot derivation='self.lower()'"
+ * @generated
+ */
+ BigInteger getLower();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.uml.alf.AssignableElement#getLower <em>Lower</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Lower</em>' attribute.
+ * @see #getLower()
+ * @generated
+ */
+ void setLower(BigInteger value);
+
+ /**
+ * Returns the value of the '<em><b>Type</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * A reference to the element that specifies the statically determined
+ * type for this element (if any).
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Type</em>' reference.
+ * @see #setType(ElementReference)
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getAssignableElement_Type()
+ * @model transient="true" volatile="true" derived="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot derivation='self.typeCached()'"
+ * @generated
+ */
+ ElementReference getType();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.uml.alf.AssignableElement#getType <em>Type</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Type</em>' reference.
+ * @see #getType()
+ * @generated
+ */
+ void setType(ElementReference value);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model
+ * @generated
+ */
+ ElementReference typeCached();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model
+ * @generated
+ */
+ ElementReference type();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model required="true"
+ * @generated
+ */
+ BigInteger lower();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model required="true"
+ * @generated
+ */
+ BigInteger upper();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model kind="operation" required="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='self.type = null and self.lower = 0 and self.upper = 0'"
+ * @generated
+ */
+ boolean isNull();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model required="true" elementRequired="true"
+ * annotation=
+ * "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n self.isAssignableFrom(\n AssignableElementReference{\n reference = element, owner = self.owner()\n }\n )'"
+ * @generated
+ */
+ boolean isAssignableFromElement(ElementReference element);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model required="true" sourceRequired="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n source = null or \n self.isTypeConformantWith(source) and \n self.isMultiplicityConformantWith(source)'"
+ * @generated
+ */
+ boolean isAssignableFrom(AssignableElement source);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model required="true" sourceRequired="true"
+ * annotation=
+ * "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n -- Null conversion\n source.isNull() or\n \n let sourceType = source.type in\n \n -- Type conformance\n self.isConformantWithType(sourceType) or\n \n -- Collection conversion\n sourceType <> null and self.isCollectionClass(sourceType) and\n source.upper = 1 and (self.upper = -1 or self.upper > 1) and\n self.isConformantWithType(sourceType.collectionArgument())'"
+ * @generated
+ */
+ boolean isTypeConformantWith(AssignableElement source);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model sourceTypeRequired="true"
+ * annotation=
+ * "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n let targetType = self.type in\n -- Untyped target is conformant with anything.\n targetType = null or\n \n -- Untyped source is only assignable to untyped target.\n sourceType <> null and (\n \n -- Basic type conformance.\n sourceType.conformsTo(targetType) or\n \n -- Bit string conversion.\n self.isIntegerType(sourceType) and self.isBitStringType(targetType)\n )'"
+ * @generated
+ */
+ void isConformantWithType(ElementReference sourceType);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model required="true" sourceRequired="true"
+ * annotation=
+ * "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n let targetUpper = self.upper in\n let sourceUpper = source.upper in\n targetUpper = -1 or targetUpper > 1 or\n sourceUpper <> -1 and sourceUpper <= targetUpper'"
+ * @generated
+ */
+ boolean isMultiplicityConformantWith(AssignableElement source);
+
+} // AssignableElement
diff --git a/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/AssignableElementReference.java b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/AssignableElementReference.java
new file mode 100644
index 00000000000..187b181fac6
--- /dev/null
+++ b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/AssignableElementReference.java
@@ -0,0 +1,89 @@
+/**
+ */
+package org.eclipse.papyrus.uml.alf;
+
+import java.math.BigInteger;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Assignable Element Reference</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * A wrapper for treating an element reference as an assignable element.
+ * This is necessary to tie into the ownership hierarchy, so library
+ * type resolution works correctly.
+ * <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.uml.alf.AssignableElementReference#getReference <em>Reference</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getAssignableElementReference()
+ * @model
+ * @generated
+ */
+public interface AssignableElementReference extends AssignableElement {
+ /**
+ * Returns the value of the '<em><b>Reference</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Reference</em>' reference isn't clear, there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ *
+ * @return the value of the '<em>Reference</em>' reference.
+ * @see #setReference(ElementReference)
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getAssignableElementReference_Reference()
+ * @model required="true"
+ * @generated
+ */
+ ElementReference getReference();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.uml.alf.AssignableElementReference#getReference <em>Reference</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Reference</em>' reference.
+ * @see #getReference()
+ * @generated
+ */
+ void setReference(ElementReference value);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model required="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='self.reference.type()'"
+ * @generated
+ */
+ ElementReference type();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model required="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='self.reference.lower()'"
+ * @generated
+ */
+ BigInteger lower();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model required="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='self.reference.upper()'"
+ * @generated
+ */
+ BigInteger upper();
+
+} // AssignableElementReference
diff --git a/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/AssignableLocalNameDeclaration.java b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/AssignableLocalNameDeclaration.java
new file mode 100644
index 00000000000..e8492480d13
--- /dev/null
+++ b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/AssignableLocalNameDeclaration.java
@@ -0,0 +1,81 @@
+/**
+ */
+package org.eclipse.papyrus.uml.alf;
+
+import java.math.BigInteger;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Assignable Local Name Declaration</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.uml.alf.AssignableLocalNameDeclaration#getLocalNameDeclaration <em>Local Name Declaration</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getAssignableLocalNameDeclaration()
+ * @model
+ * @generated
+ */
+public interface AssignableLocalNameDeclaration extends AssignableElement {
+ /**
+ * Returns the value of the '<em><b>Local Name Declaration</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Local Name Declaration</em>' reference isn't clear, there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ *
+ * @return the value of the '<em>Local Name Declaration</em>' reference.
+ * @see #setLocalNameDeclaration(LocalNameDeclarationStatement)
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getAssignableLocalNameDeclaration_LocalNameDeclaration()
+ * @model required="true"
+ * @generated
+ */
+ LocalNameDeclarationStatement getLocalNameDeclaration();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.uml.alf.AssignableLocalNameDeclaration#getLocalNameDeclaration <em>Local Name Declaration</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Local Name Declaration</em>' reference.
+ * @see #getLocalNameDeclaration()
+ * @generated
+ */
+ void setLocalNameDeclaration(LocalNameDeclarationStatement value);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='self.localNameDeclaration.type'"
+ * @generated
+ */
+ ElementReference type();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model required="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='0'"
+ * @generated
+ */
+ BigInteger lower();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model required="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='if self.localNameDeclaration.hasMultiplicity then -1 else 1 endif'"
+ * @generated
+ */
+ BigInteger upper();
+
+} // AssignableLocalNameDeclaration
diff --git a/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/AssignedSource.java b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/AssignedSource.java
new file mode 100644
index 00000000000..eb5b6734730
--- /dev/null
+++ b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/AssignedSource.java
@@ -0,0 +1,236 @@
+/**
+ */
+package org.eclipse.papyrus.uml.alf;
+
+import org.eclipse.emf.cdo.CDOObject;
+import org.eclipse.emf.common.util.EList;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Assigned Source</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * An assignment of a source element that gives the value of a local name, along with a record of the defined type (if any) and multiplicity of the local name.
+ * <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.uml.alf.AssignedSource#getName <em>Name</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.AssignedSource#getSource <em>Source</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.AssignedSource#getUpper <em>Upper</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.AssignedSource#getLower <em>Lower</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.AssignedSource#getType <em>Type</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.AssignedSource#isIsParallelLocalName <em>Is Parallel Local Name</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getAssignedSource()
+ * @model
+ * @extends CDOObject
+ * @generated
+ */
+public interface AssignedSource extends CDOObject {
+ /**
+ * Returns the value of the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The local name for which this is the assigned source.
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Name</em>' attribute.
+ * @see #setName(String)
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getAssignedSource_Name()
+ * @model required="true"
+ * @generated
+ */
+ String getName();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.uml.alf.AssignedSource#getName <em>Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Name</em>' attribute.
+ * @see #getName()
+ * @generated
+ */
+ void setName(String value);
+
+ /**
+ * Returns the value of the '<em><b>Source</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The syntax element that is to be the source for the assigned value of the given local name.
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Source</em>' reference.
+ * @see #setSource(SyntaxElement)
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getAssignedSource_Source()
+ * @model required="true"
+ * @generated
+ */
+ SyntaxElement getSource();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.uml.alf.AssignedSource#getSource <em>Source</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Source</em>' reference.
+ * @see #getSource()
+ * @generated
+ */
+ void setSource(SyntaxElement value);
+
+ /**
+ * Returns the value of the '<em><b>Upper</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The multiplicity upper bound for the local name.
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Upper</em>' attribute.
+ * @see #setUpper(Integer)
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getAssignedSource_Upper()
+ * @model required="true"
+ * @generated
+ */
+ Integer getUpper();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.uml.alf.AssignedSource#getUpper <em>Upper</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Upper</em>' attribute.
+ * @see #getUpper()
+ * @generated
+ */
+ void setUpper(Integer value);
+
+ /**
+ * Returns the value of the '<em><b>Lower</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The multiplicity lower bound for the name.
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Lower</em>' attribute.
+ * @see #setLower(Integer)
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getAssignedSource_Lower()
+ * @model required="true"
+ * @generated
+ */
+ Integer getLower();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.uml.alf.AssignedSource#getLower <em>Lower</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Lower</em>' attribute.
+ * @see #getLower()
+ * @generated
+ */
+ void setLower(Integer value);
+
+ /**
+ * Returns the value of the '<em><b>Type</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * A reference to the element that gives the type for the local name (if any).
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Type</em>' reference.
+ * @see #setType(ElementReference)
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getAssignedSource_Type()
+ * @model
+ * @generated
+ */
+ ElementReference getType();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.uml.alf.AssignedSource#getType <em>Type</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Type</em>' reference.
+ * @see #getType()
+ * @generated
+ */
+ void setType(ElementReference value);
+
+ /**
+ * Returns the value of the '<em><b>Is Parallel Local Name</b></em>' attribute.
+ * The default value is <code>"false"</code>.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * An indication whether this assignment is for a local name listed in a
+ *
+ * @parallel annotation of a for statement.
+ * <!-- end-model-doc -->
+ * @return the value of the '<em>Is Parallel Local Name</em>' attribute.
+ * @see #setIsParallelLocalName(boolean)
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getAssignedSource_IsParallelLocalName()
+ * @model default="false" required="true"
+ * @generated
+ */
+ boolean isIsParallelLocalName();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.uml.alf.AssignedSource#isIsParallelLocalName <em>Is Parallel Local Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Is Parallel Local Name</em>' attribute.
+ * @see #isIsParallelLocalName()
+ * @generated
+ */
+ void setIsParallelLocalName(boolean value);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model required="true" assignmentsBeforeMany="true" assignmentsBeforeOrdered="false"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n let assignment = assignmentsBefore->select(name = self.name) in\n assignment->isEmpty() or assignment.source->excludes(self.source)'"
+ * @generated
+ */
+ boolean isNew(EList<AssignedSource> assignmentsBefore);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model ordered="false" assignmentsMany="true" assignmentsOrdered="false"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='assignments->reject(a | a.name = self.name)->including(self)'"
+ * @generated
+ */
+ EList<AssignedSource> update(EList<AssignedSource> assignments);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model required="true"
+ * annotation=
+ * "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='AssignedSource{\n name = self.name,\n source = if newSource = null then self.source else newSource endif,\n upper = self.upper,\n lower = self.lower,\n type = self.type,\n isParallelLocalName = \n if isParallelLocal = null then self.isParallelLocalName \n else isParallelLocal endif\n }'"
+ * @generated
+ */
+ AssignedSource copy(SyntaxElement newSource, boolean isParallelLocal);
+
+} // AssignedSource
diff --git a/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/AssignmentExpression.java b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/AssignmentExpression.java
new file mode 100644
index 00000000000..09be4707c41
--- /dev/null
+++ b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/AssignmentExpression.java
@@ -0,0 +1,892 @@
+/**
+ */
+package org.eclipse.papyrus.uml.alf;
+
+import java.math.BigInteger;
+import java.util.Map;
+
+import org.eclipse.emf.common.util.DiagnosticChain;
+import org.eclipse.emf.common.util.EList;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Assignment Expression</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * An expression used to assign a value to a local name, parameter or property.
+ * <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.uml.alf.AssignmentExpression#getOperator <em>Operator</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.AssignmentExpression#getLeftHandSide <em>Left Hand Side</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.AssignmentExpression#getRightHandSide <em>Right Hand Side</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.AssignmentExpression#getAssignment <em>Assignment</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.AssignmentExpression#getFeature <em>Feature</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.AssignmentExpression#isIsIndexed <em>Is Indexed</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.AssignmentExpression#isIsArithmetic <em>Is Arithmetic</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.AssignmentExpression#isIsLogical <em>Is Logical</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.AssignmentExpression#isIsShift <em>Is Shift</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.AssignmentExpression#isIsConcatenation <em>Is Concatenation</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.AssignmentExpression#isIsDefinition <em>Is Definition</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.AssignmentExpression#isIsSimple <em>Is Simple</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.AssignmentExpression#getExpression <em>Expression</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.AssignmentExpression#isIsFeature <em>Is Feature</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.AssignmentExpression#isIsDataValueUpdate <em>Is Data Value Update</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.AssignmentExpression#isIsCollectionConversion <em>Is Collection Conversion</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.AssignmentExpression#isIsBitStringConversion <em>Is Bit String Conversion</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getAssignmentExpression()
+ * @model
+ * @generated
+ */
+public interface AssignmentExpression extends Expression {
+ /**
+ * Returns the value of the '<em><b>Operator</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The image of the assignment operator used in the expression.
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Operator</em>' attribute.
+ * @see #setOperator(String)
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getAssignmentExpression_Operator()
+ * @model required="true"
+ * @generated
+ */
+ String getOperator();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.uml.alf.AssignmentExpression#getOperator <em>Operator</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Operator</em>' attribute.
+ * @see #getOperator()
+ * @generated
+ */
+ void setOperator(String value);
+
+ /**
+ * Returns the value of the '<em><b>Left Hand Side</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The left-hand side of the assignment, to which a value is to be assigned.
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Left Hand Side</em>' containment reference.
+ * @see #setLeftHandSide(LeftHandSide)
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getAssignmentExpression_LeftHandSide()
+ * @model containment="true" required="true"
+ * @generated
+ */
+ LeftHandSide getLeftHandSide();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.uml.alf.AssignmentExpression#getLeftHandSide <em>Left Hand Side</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Left Hand Side</em>' containment reference.
+ * @see #getLeftHandSide()
+ * @generated
+ */
+ void setLeftHandSide(LeftHandSide value);
+
+ /**
+ * Returns the value of the '<em><b>Right Hand Side</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The right-hand side expression of the assignment, which produces the value being assigned.
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Right Hand Side</em>' containment reference.
+ * @see #setRightHandSide(Expression)
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getAssignmentExpression_RightHandSide()
+ * @model containment="true" required="true"
+ * @generated
+ */
+ Expression getRightHandSide();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.uml.alf.AssignmentExpression#getRightHandSide <em>Right Hand Side</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Right Hand Side</em>' containment reference.
+ * @see #getRightHandSide()
+ * @generated
+ */
+ void setRightHandSide(Expression value);
+
+ /**
+ * Returns the value of the '<em><b>Assignment</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * If the left-hand side is a name, then the new assigned source for that name.
+ * (Note: This also includes assignments to parameters and local names that
+ * are the source of data value updates.)
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Assignment</em>' reference.
+ * @see #setAssignment(AssignedSource)
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getAssignmentExpression_Assignment()
+ * @model transient="true" volatile="true" derived="true"
+ * annotation=
+ * "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot derivation='\n let name = self.leftHandSide.assignedName() in\n if name = null then null\n else if self.isDefinition then\n AssignedSource{\n name = name,\n source = self,\n type = self.rightHandSide.type,\n lower = 0,\n upper = if self.rightHandSide.upper = 1 then 1 else -1 endif\n }\n else\n let assignments = self.assignmentBefore->select(a | a.name = name) in\n if assignments->isEmpty() then null\n else\n let oldAssignment = assignments->any(true) in\n AssignedSource{\n name = name,\n source = self,\n type = oldAssignment.type,\n lower = oldAssignment.lower,\n upper = oldAssignment.upper\n }\n endif\n endif endif'"
+ * @generated
+ */
+ AssignedSource getAssignment();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.uml.alf.AssignmentExpression#getAssignment <em>Assignment</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Assignment</em>' reference.
+ * @see #getAssignment()
+ * @generated
+ */
+ void setAssignment(AssignedSource value);
+
+ /**
+ * Returns the value of the '<em><b>Feature</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * If the left-hand side is a feature, then the referent for that feature.
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Feature</em>' reference.
+ * @see #setFeature(ElementReference)
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getAssignmentExpression_Feature()
+ * @model transient="true" volatile="true" derived="true"
+ * annotation=
+ * "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot derivation='\n let feature = self.leftHandSide.feature() in\n if feature = null then null\n else\n let referents = feature.referent in\n if referents->isEmpty() then null\n else referents->any(true)\n endif\n endif'"
+ * @generated
+ */
+ ElementReference getFeature();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.uml.alf.AssignmentExpression#getFeature <em>Feature</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Feature</em>' reference.
+ * @see #getFeature()
+ * @generated
+ */
+ void setFeature(ElementReference value);
+
+ /**
+ * Returns the value of the '<em><b>Is Indexed</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * If the left-hand side is a feature, whether it has an index or not.
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Is Indexed</em>' attribute.
+ * @see #setIsIndexed(boolean)
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getAssignmentExpression_IsIndexed()
+ * @model transient="true" volatile="true" derived="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot derivation='self.leftHandSide.index() <> null'"
+ * @generated
+ */
+ boolean isIsIndexed();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.uml.alf.AssignmentExpression#isIsIndexed <em>Is Indexed</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Is Indexed</em>' attribute.
+ * @see #isIsIndexed()
+ * @generated
+ */
+ void setIsIndexed(boolean value);
+
+ /**
+ * Returns the value of the '<em><b>Is Arithmetic</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * If this is a compound assignment, whether the compound assignment
+ * operator is arithmetic or not.
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Is Arithmetic</em>' attribute.
+ * @see #setIsArithmetic(boolean)
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getAssignmentExpression_IsArithmetic()
+ * @model transient="true" volatile="true" derived="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot derivation='Set{\'+=\', \'-=\', \'*=\', \'/=\', \'%=\'}->includes(self.operator)'"
+ * @generated
+ */
+ boolean isIsArithmetic();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.uml.alf.AssignmentExpression#isIsArithmetic <em>Is Arithmetic</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Is Arithmetic</em>' attribute.
+ * @see #isIsArithmetic()
+ * @generated
+ */
+ void setIsArithmetic(boolean value);
+
+ /**
+ * Returns the value of the '<em><b>Is Logical</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Is Logical</em>' attribute isn't clear, there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ *
+ * @return the value of the '<em>Is Logical</em>' attribute.
+ * @see #setIsLogical(boolean)
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getAssignmentExpression_IsLogical()
+ * @model transient="true" volatile="true" derived="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot derivation='Set{\'&=\', \'|=\', \'^=\'}->includes(self.operator)'"
+ * @generated
+ */
+ boolean isIsLogical();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.uml.alf.AssignmentExpression#isIsLogical <em>Is Logical</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Is Logical</em>' attribute.
+ * @see #isIsLogical()
+ * @generated
+ */
+ void setIsLogical(boolean value);
+
+ /**
+ * Returns the value of the '<em><b>Is Shift</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Is Shift</em>' attribute isn't clear, there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ *
+ * @return the value of the '<em>Is Shift</em>' attribute.
+ * @see #setIsShift(boolean)
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getAssignmentExpression_IsShift()
+ * @model transient="true" volatile="true" derived="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot derivation='Set{\'<<=\', \'>>=\', \'>>>=\'}->includes(self.operator)'"
+ * @generated
+ */
+ boolean isIsShift();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.uml.alf.AssignmentExpression#isIsShift <em>Is Shift</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Is Shift</em>' attribute.
+ * @see #isIsShift()
+ * @generated
+ */
+ void setIsShift(boolean value);
+
+ /**
+ * Returns the value of the '<em><b>Is Concatenation</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Is Concatenation</em>' attribute isn't clear, there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ *
+ * @return the value of the '<em>Is Concatenation</em>' attribute.
+ * @see #setIsConcatenation(boolean)
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getAssignmentExpression_IsConcatenation()
+ * @model transient="true" volatile="true" derived="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot derivation='self.operator = \'+=\''"
+ * @generated
+ */
+ boolean isIsConcatenation();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.uml.alf.AssignmentExpression#isIsConcatenation <em>Is Concatenation</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Is Concatenation</em>' attribute.
+ * @see #isIsConcatenation()
+ * @generated
+ */
+ void setIsConcatenation(boolean value);
+
+ /**
+ * Returns the value of the '<em><b>Is Definition</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * Whether this assignment is the definition of a new local name or not.
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Is Definition</em>' attribute.
+ * @see #setIsDefinition(boolean)
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getAssignmentExpression_IsDefinition()
+ * @model transient="true" volatile="true" derived="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot derivation='self.isSimple and not self.isIndexed and \n self.leftHandSide.referent = null and self.leftHandSide.localName() <> null'"
+ * @generated
+ */
+ boolean isIsDefinition();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.uml.alf.AssignmentExpression#isIsDefinition <em>Is Definition</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Is Definition</em>' attribute.
+ * @see #isIsDefinition()
+ * @generated
+ */
+ void setIsDefinition(boolean value);
+
+ /**
+ * Returns the value of the '<em><b>Is Simple</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * Whether this is a simple assignment or not.
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Is Simple</em>' attribute.
+ * @see #setIsSimple(boolean)
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getAssignmentExpression_IsSimple()
+ * @model transient="true" volatile="true" derived="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot derivation='self.operator = \'=\''"
+ * @generated
+ */
+ boolean isIsSimple();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.uml.alf.AssignmentExpression#isIsSimple <em>Is Simple</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Is Simple</em>' attribute.
+ * @see #isIsSimple()
+ * @generated
+ */
+ void setIsSimple(boolean value);
+
+ /**
+ * Returns the value of the '<em><b>Expression</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * If this is a compound assignment, then the effective expression used to
+ * obtain the original value of the left-hand side to be updated.
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Expression</em>' reference.
+ * @see #setExpression(Expression)
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getAssignmentExpression_Expression()
+ * @model transient="true" volatile="true" derived="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot derivation='self.leftHandSide.expression()'"
+ * @generated
+ */
+ Expression getExpression();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.uml.alf.AssignmentExpression#getExpression <em>Expression</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Expression</em>' reference.
+ * @see #getExpression()
+ * @generated
+ */
+ void setExpression(Expression value);
+
+ /**
+ * Returns the value of the '<em><b>Is Feature</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * Whether the left-hand side is a feature or not.
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Is Feature</em>' attribute.
+ * @see #setIsFeature(boolean)
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getAssignmentExpression_IsFeature()
+ * @model transient="true" volatile="true" derived="true"
+ * @generated
+ */
+ boolean isIsFeature();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.uml.alf.AssignmentExpression#isIsFeature <em>Is Feature</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Is Feature</em>' attribute.
+ * @see #isIsFeature()
+ * @generated
+ */
+ void setIsFeature(boolean value);
+
+ /**
+ * Returns the value of the '<em><b>Is Data Value Update</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * Whether this assignment updates an attribute of a data value held in a
+ * local name or parameter.
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Is Data Value Update</em>' attribute.
+ * @see #setIsDataValueUpdate(boolean)
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getAssignmentExpression_IsDataValueUpdate()
+ * @model transient="true" volatile="true" derived="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot derivation='self.leftHandSide.isDataValueUpdate()'"
+ * @generated
+ */
+ boolean isIsDataValueUpdate();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.uml.alf.AssignmentExpression#isIsDataValueUpdate <em>Is Data Value Update</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Is Data Value Update</em>' attribute.
+ * @see #isIsDataValueUpdate()
+ * @generated
+ */
+ void setIsDataValueUpdate(boolean value);
+
+ /**
+ * Returns the value of the '<em><b>Is Collection Conversion</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * Whether collection conversion is required for this assignment.
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Is Collection Conversion</em>' attribute.
+ * @see #setIsCollectionConversion(boolean)
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getAssignmentExpression_IsCollectionConversion()
+ * @model transient="true" volatile="true" derived="true"
+ * annotation=
+ * "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot derivation='\n let lhsType = self.leftHandSide.type in\n let rhsType = self.rightHandSide.type in\n lhsType <> null and rhsType <> null and\n not self.isCollectionClass(lhsType) and\n self.isCollectionClass(rhsType) and \n self.rightHandSide.upper = 1'"
+ * @generated
+ */
+ boolean isIsCollectionConversion();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.uml.alf.AssignmentExpression#isIsCollectionConversion <em>Is Collection Conversion</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Is Collection Conversion</em>' attribute.
+ * @see #isIsCollectionConversion()
+ * @generated
+ */
+ void setIsCollectionConversion(boolean value);
+
+ /**
+ * Returns the value of the '<em><b>Is Bit String Conversion</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * Whether BitString conversion is required for this assignment.
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Is Bit String Conversion</em>' attribute.
+ * @see #setIsBitStringConversion(boolean)
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getAssignmentExpression_IsBitStringConversion()
+ * @model transient="true" volatile="true" derived="true"
+ * annotation=
+ * "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot derivation='\n let lhsType = self.leftHandSide.type in\n let rhsType = self.type in -- Note: This works for both simple and compound assignments.assignment.\n rhsType <> null and lhsType <> null and\n (self.isIntegerType(rhsType) or\n self.isCollectionConversion and self.isIntegerCollectionClass(rhsType)\n )'"
+ * @generated
+ */
+ boolean isIsBitStringConversion();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.uml.alf.AssignmentExpression#isIsBitStringConversion <em>Is Bit String Conversion</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Is Bit String Conversion</em>' attribute.
+ * @see #isIsBitStringConversion()
+ * @generated
+ */
+ void setIsBitStringConversion(boolean value);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n if self.isSimple then self.rightHandSide.type\n else self.leftHandSide.type\n endif'"
+ * @generated
+ */
+ ElementReference type();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model required="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='self.rightHandSide.upper'"
+ * @generated
+ */
+ BigInteger upper();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model required="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n if self.isSimple then self.rightHandSide.lower\n else self.leftHandSide.lower\n endif'"
+ * @generated
+ */
+ BigInteger lower();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model ordered="false" elementRequired="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n if element = self.leftHandSide then self.rightHandSide.assignmentAfter\n else self.assignmentBefore\n endif'"
+ * @generated
+ */
+ EList<AssignedSource> assignmentsBefore(SyntaxElement element);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * An assignment expression is a simple assignment if the assignment
+ * operator is "=".
+ * <!-- end-model-doc -->
+ *
+ * @model
+ * @generated
+ */
+ boolean assignmentExpressionIsSimpleDerivation(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * An assignment expression is an arithmetic assignment if its operator is a
+ * compound assignment operator for an arithmetic operation.
+ * <!-- end-model-doc -->
+ *
+ * @model
+ * @generated
+ */
+ boolean assignmentExpressionIsArithmeticDerivation(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * An assignment expression is a definition if it is a simple assignment and
+ * its left hand side is a local name for which there is no assignment
+ * before the expression.
+ * <!-- end-model-doc -->
+ *
+ * @model
+ * @generated
+ */
+ boolean assignmentExpressionIsDefinitionDerivation(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The left hand side of an assignment expression is a feature if it is a
+ * kind of FeatureLeftHandSide.
+ * <!-- end-model-doc -->
+ *
+ * @model
+ * @generated
+ */
+ boolean assignmentExpressionIsFeatureDerivation(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The left hand side of an assignment expression is indexed if it has an index.
+ * <!-- end-model-doc -->
+ *
+ * @model
+ * @generated
+ */
+ boolean assignmentExpressionIsIndexedDerivation(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * An assignment expression is a data value update if its left hand side is
+ * an attribute of a data value held in a local name or parameter.
+ * <!-- end-model-doc -->
+ *
+ * @model
+ * @generated
+ */
+ boolean assignmentExpressionIsDataValueUpdateDerivation(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The new assigned source for an assignment to a local name is the
+ * assignment expression. If the assignment is a definition, then the type
+ * is given by the right hand side, the multiplicity upper bound is 1 if the
+ * upper bound of the right hand side is 1 and otherwise * and the
+ * multiplicity lower bound is 0. Otherwise, the type is the same as the
+ * left-hand side and the multiplicity is also the same as the left-hand
+ * side, if the left-hand side is not indexed, and is * if it is indexed.
+ * <!-- end-model-doc -->
+ *
+ * @model
+ * @generated
+ */
+ boolean assignmentExpressionAssignmentDerivation(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * If the left-hand side of an assignment expression is a feature, then the
+ * feature of the assignment is the referent of the left-hand side.
+ * <!-- end-model-doc -->
+ *
+ * @model
+ * @generated
+ */
+ boolean assignmentExpressionFeatureDerivation(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * For a compound assignment, the effective expression is the left-hand side
+ * treated as a name expression, property access expression or sequence
+ * access expression, as appropriate for evaluation to obtain the original
+ * value to be updated.
+ * <!-- end-model-doc -->
+ *
+ * @model
+ * @generated
+ */
+ boolean assignmentExpressionExpressionDerivation(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * A simple assignment expression has the same type as its right-hand side
+ * expression. A compound assignment expression has the same type as its
+ * left-hand side.
+ * (See the type() operation.)
+ * <!-- end-model-doc -->
+ *
+ * @model
+ * @generated
+ */
+ boolean assignmentExpressionTypeDerivation(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * An assignment expression has the same multiplicity upper bound as its
+ * right-hand side expression.
+ * (See the upper() operation.)
+ * <!-- end-model-doc -->
+ *
+ * @model
+ * @generated
+ */
+ boolean assignmentExpressionUpperDerivation(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * A simple assignment expression has the same multiplicity lower bound as
+ * its right-hand side expression. A compound assignment expression has the
+ * same multiplicity as its left-hand side.
+ * (See the lower() operation.)
+ * <!-- end-model-doc -->
+ *
+ * @model
+ * @generated
+ */
+ boolean assignmentExpressionLowerDerivation(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * If the left-hand side of a simple assignment is not a new local name, and
+ * the right-hand side is not null, then the left-hand side must either be
+ * untyped or have a type that conforms to the type of the right-hand side
+ * expression.
+ * <!-- end-model-doc -->
+ *
+ * @model annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n (self.isSimple and not self.isDefinition) implies\n self.leftHandSide.isTypeConformantWith(self.rightHandSide)'"
+ * @generated
+ */
+ boolean assignmentExpressionSimpleAssignmentTypeConformance(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * If the left-hand side of a simple assignment is not a new local name and
+ * the multiplicity upper bound of the left-hand side is less than or equal
+ * to 1, then the multiplicity upper bound of the right-hand side cannot be
+ * greater than that of the left-hand side.
+ * <!-- end-model-doc -->
+ *
+ * @model annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n (self.isSimple and not self.isDefinition) implies\n self.leftHandSide.isMultiplicityConformantWith(self.rightHandSide)'"
+ * @generated
+ */
+ boolean assignmentExpressionSimpleAssignmentMultiplicityConformance(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * For a compound assignment, if the operator is an arithmetic operator,
+ * then either the left-hand side and the right-hand side both have type
+ * Integer or they both have type String and the operator is +. If the
+ * operator is a logical operator, then either the left-hand side and the
+ * right-hand side both have type Boolean or Bit String or the left-hand
+ * side has type Bit String and the right-hand side has type Integer. If the
+ * operator is a shift operator, then the left-hand side must have type
+ * BitString and the right-hand side must have type Integer.
+ * <!-- end-model-doc -->
+ *
+ * @model annotation=
+ * "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n not self.isSimple implies\n let lhsType = self.leftHandSide.type in\n let rhsType = self.rightHandSide.type in\n lhsType <> null and rhsType <> null and\n (self.isArithmetic and \n self.isIntegerType(lhsType) and self.isIntegerType(rhsType) or\n self.isLogical and\n (self.isBooleanType(lhsType) and self.isBooleanType(rhsType) or\n self.isBitStringType(lhsType) and \n (self.isBitStringType(rhsType) or self.isIntegerType(rhsType))\n ) or\n self.isShift and\n self.isBitStringType(lhsType) and self.isIntegerType(rhsType) or\n self.isConcatenation and\n self.isStringType(lhsType) and self.isStringType(rhsType)\n )'"
+ * @generated
+ */
+ boolean assignmentExpressionCompoundAssignmentTypeConformance(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * For a compound assignment, both the left-hand and right-hand sides must
+ * have a multiplicity upper bound of 1.
+ * <!-- end-model-doc -->
+ *
+ * @model annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='(not self.isSimple) implies \n (self.leftHandSide.upper = 1 and self.rightHandSide.upper = 1)'"
+ * @generated
+ */
+ boolean assignmentExpressionCompoundAssignmentMultiplicityConformance(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The assigned source of a name before the right-hand side expression of an
+ * assignment expression is the same as the assigned source before the
+ * assignment expression. The assigned source of a name before the left-hand
+ * side is the assigned source after the right-hand side expression.
+ * (See the assignmentsBefore(element) operation.)
+ * <!-- end-model-doc -->
+ *
+ * @model
+ * @generated
+ */
+ boolean assignmentExpressionAssignmentsBefore(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * An assignment requires collection conversion if the type of the
+ * right-hand side is a collection class and its multiplicity upper bound
+ * is 1, and the type of the left-hand side is not a collection class.
+ * <!-- end-model-doc -->
+ *
+ * @model
+ * @generated
+ */
+ boolean assignmentExpressionIsCollectionConversionDerivation(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * An assignment requires BitString conversion if the type of the left-hand
+ * side is BitString and either the type of the right-hand side is Integer
+ * or collection conversion is required and the type of the right-hand side
+ * is a collection class whose argument type is Integer.
+ * <!-- end-model-doc -->
+ *
+ * @model
+ * @generated
+ */
+ boolean assignmentExpressionIsBitStringConversionDerivation(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * If an assignment expression has a feature with a primary expression whose
+ * type is a data type, then the assignment expression must be a data value
+ * update.
+ * <!-- end-model-doc -->
+ *
+ * @model annotation=
+ * "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n let feature = self.leftHandSide.feature() in\n feature <> null implies\n let type = feature.expression.type in\n (type <> null and type.isDataType()) implies\n self.isDataValueUpdate'"
+ * @generated
+ */
+ boolean assignmentExpressionDataValueUpdateLegality(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The assignments after an assignment expression are the assignments after
+ * the left-hand side, updated by the assignment from the assignment
+ * expression, if any.
+ * <!-- end-model-doc -->
+ *
+ * @model ordered="false"
+ * annotation=
+ * "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n let assignment = self.assignment in\n if assignment = null then self.leftHandSide.assignmentAfter\n else assignment.update(self.leftHandSide.assignmentAfter)\n endif'"
+ * @generated
+ */
+ EList<AssignedSource> updateAssignments();
+
+} // AssignmentExpression
diff --git a/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/AssociationDefinition.java b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/AssociationDefinition.java
new file mode 100644
index 00000000000..f4a53256b69
--- /dev/null
+++ b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/AssociationDefinition.java
@@ -0,0 +1,78 @@
+/**
+ */
+package org.eclipse.papyrus.uml.alf;
+
+import java.util.Map;
+
+import org.eclipse.emf.common.util.DiagnosticChain;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Association Definition</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * The definition of an association, whose members must all be properties.
+ * <!-- end-model-doc -->
+ *
+ *
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getAssociationDefinition()
+ * @model
+ * @generated
+ */
+public interface AssociationDefinition extends ClassifierDefinition {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * Returns true if the given unit definition matches this association definition
+ * considered as a classifier definition and the subunit is for an association definition.
+ * <!-- end-model-doc -->
+ *
+ * @model required="true" unitRequired="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n self.ClassifierDefinition_matchForStub(unit) and\n unit.definition.oclIsKindOf(AssociationDefinition)'"
+ * @generated
+ */
+ boolean matchForStub(UnitDefinition unit);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * In addition to the annotations allowed for classifiers in general, an association
+ * definition allows an annotation for any stereotype whose metaclass is consistent with Association.
+ * <!-- end-model-doc -->
+ *
+ * @model required="true" annotationRequired="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n /* TODO: Handle association stereotype annotations. \052/\n self.ClassifierDefinition_annotationAllowed(annotation)'"
+ * @generated
+ */
+ boolean annotationAllowed(StereotypeAnnotation annotation);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * Return true if the given member is either an AssociationDefinition or an
+ * imported member whose referent is an AssociationDefinition or an Association.
+ * <!-- end-model-doc -->
+ *
+ * @model required="true" memberRequired="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='member.isAssociation()'"
+ * @generated
+ */
+ boolean isSameKindAs(ElementReference member);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The specialization referents of an association definition must all be associations.
+ * <!-- end-model-doc -->
+ *
+ * @model annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n self.specializationReferent->forAll(isAssociation())'"
+ * @generated
+ */
+ boolean associationDefinitionSpecializationReferent(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+} // AssociationDefinition
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
new file mode 100644
index 00000000000..f89d776078a
--- /dev/null
+++ b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/BehaviorInvocationExpression.java
@@ -0,0 +1,187 @@
+/**
+ */
+package org.eclipse.papyrus.uml.alf;
+
+import java.util.Map;
+
+import org.eclipse.emf.common.util.DiagnosticChain;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Behavior Invocation Expression</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * An invocation of a behavior referenced by name.
+ * <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.uml.alf.BehaviorInvocationExpression#getTarget <em>Target</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getBehaviorInvocationExpression()
+ * @model
+ * @generated
+ */
+public interface BehaviorInvocationExpression extends InvocationExpression {
+ /**
+ * Returns the value of the '<em><b>Target</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The qualified name of the behavior to be invoked.
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Target</em>' containment reference.
+ * @see #setTarget(QualifiedName)
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getBehaviorInvocationExpression_Target()
+ * @model containment="true" required="true"
+ * @generated
+ */
+ QualifiedName getTarget();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.uml.alf.BehaviorInvocationExpression#getTarget <em>Target</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Target</em>' containment reference.
+ * @see #getTarget()
+ * @generated
+ */
+ void setTarget(QualifiedName value);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model required="true" targetExpressionRequired="true"
+ * annotation=
+ * "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n if self.feature <> null then false\n else\n let collectionFunctionAdd = self.collectionFunctionAdd() in\n if collectionFunctionAdd = null then false\n else\n let parameters = collectionFunctionAdd.parameters() in\n if parameters->isEmpty() then false\n else\n collectionFunctionAdd.containedIn(self.target.referent->asBag()) and\n self.tuple.outputFor(parameters)->exists(\n name = parameters->at(1).name() and\n expression = targetExpression\n )\n endif\n endif\n endif'"
+ * @generated
+ */
+ boolean isAddTarget(Expression targetExpression);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='referent1()'"
+ * @generated
+ */
+ ElementReference referent();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model
+ * @generated
+ */
+ ElementReference referent1();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model annotation=
+ * "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n let feature = self.feature() in\n if feature <> null then feature.behavioralFeatureReferent(self)\n else\n let referents = self.target.referent in\n if referents->select(isBehavior())->size() = 1 then\n let referent = referents->any(isBehavior()) in\n if referent.isTemplate() then \n self.bindTemplateImplicitArguments(referent, null)\n else referent\n endif\n else if referents->select(isAssociationEnd())->size() = 1 then\n referents->any(isAssociationEnd())\n else\n null\n endif endif\n endif'"
+ * @generated
+ */
+ ElementReference BehaviorInvocation_referent();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='self.target.disambiguation'"
+ * @generated
+ */
+ FeatureReference feature();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * If the target of a behavior invocation expression resolves to a behavior,
+ * then the referent of the expression is that behavior. If the target
+ * disambiguates to a feature reference, then the reference is the operation
+ * or signal being invoked. Otherwise, if the target resolves to a property
+ * that is an association end, then the referent is that property.
+ * (See the referent() operation.)
+ * <!-- end-model-doc -->
+ *
+ * @model
+ * @generated
+ */
+ boolean behaviorInvocationExpressionReferentDerivation(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * If the target qualified name disambiguates to a feature reference, then
+ * the feature of a behavior invocation expression is that feature reference.
+ * (See the feature() operation.)
+ * <!-- end-model-doc -->
+ *
+ * @model
+ * @generated
+ */
+ boolean behaviorInvocationExpressionFeatureDerivation(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * 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).
+ * <!-- 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()'"
+ * @generated
+ */
+ boolean behaviorInvocationExpressionReferentConstraint(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * If the target qualified name does not disambiguate to a feature reference,
+ * then each input argument expression must be assignable to its corresponding
+ * parameter and each output argument expression must be assignable from its
+ * corresponding parameter. (Note that this implies that the type of an
+ * argument expression for an inout parameter must be the same as the type
+ * of that parameter.)
+ * <!-- end-model-doc -->
+ *
+ * @model annotation=
+ * "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n -- TODO: Handle overloading for feature invocations.\n self.tuple.size() <= self.parameterCount() and\n self.tuple.input->forAll(input | self.parameterIsAssignableFrom(input)) and\n self.tuple.output->forAll(output | self.parameterIsAssignableTo(output))'"
+ * @generated
+ */
+ boolean behaviorInvocationExpressionArgumentCompatibility(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The referent may only be a constructor (as a result of the target
+ * disambiguating to a feature reference) if this behavior invocation
+ * expression is the expression of an expression statement that is the first
+ * statement in the definition for the method of a constructor operation.
+ * <!-- end-model-doc -->
+ *
+ * @model annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n self.alternativeConstructorIsValid()'"
+ * @generated
+ */
+ boolean behaviorInvocationExpressionAlternativeConstructor(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+} // BehaviorInvocationExpression
diff --git a/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/BinaryExpression.java b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/BinaryExpression.java
new file mode 100644
index 00000000000..3de2de5ba4d
--- /dev/null
+++ b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/BinaryExpression.java
@@ -0,0 +1,191 @@
+/**
+ */
+package org.eclipse.papyrus.uml.alf;
+
+import java.util.Map;
+
+import org.eclipse.emf.common.util.DiagnosticChain;
+import org.eclipse.emf.common.util.EList;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Binary Expression</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * An expression consisting of an operator acting on two operand expressions.
+ * <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.uml.alf.BinaryExpression#getOperand1 <em>Operand1</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.BinaryExpression#getOperand2 <em>Operand2</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.BinaryExpression#getOperator <em>Operator</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getBinaryExpression()
+ * @model abstract="true"
+ * @generated
+ */
+public interface BinaryExpression extends Expression {
+ /**
+ * Returns the value of the '<em><b>Operand1</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The expression giving the first operand.
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Operand1</em>' containment reference.
+ * @see #setOperand1(Expression)
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getBinaryExpression_Operand1()
+ * @model containment="true" required="true"
+ * @generated
+ */
+ Expression getOperand1();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.uml.alf.BinaryExpression#getOperand1 <em>Operand1</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Operand1</em>' containment reference.
+ * @see #getOperand1()
+ * @generated
+ */
+ void setOperand1(Expression value);
+
+ /**
+ * Returns the value of the '<em><b>Operand2</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The expression giving the second operand.
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Operand2</em>' containment reference.
+ * @see #setOperand2(Expression)
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getBinaryExpression_Operand2()
+ * @model containment="true" required="true"
+ * @generated
+ */
+ Expression getOperand2();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.uml.alf.BinaryExpression#getOperand2 <em>Operand2</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Operand2</em>' containment reference.
+ * @see #getOperand2()
+ * @generated
+ */
+ void setOperand2(Expression value);
+
+ /**
+ * Returns the value of the '<em><b>Operator</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The symbol representing the operator.
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Operator</em>' attribute.
+ * @see #setOperator(String)
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getBinaryExpression_Operator()
+ * @model required="true"
+ * @generated
+ */
+ String getOperator();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.uml.alf.BinaryExpression#getOperator <em>Operator</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Operator</em>' attribute.
+ * @see #getOperator()
+ * @generated
+ */
+ void setOperator(String value);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * In general the assignments before the operand expressions of a binary
+ * expression are the same as those before the binary expression and, if an
+ * assignment for a name is changed in one operand expression, then the
+ * assignment for that name may not change in the other operand expression.
+ * (This is overridden for conditional logical expressions.)
+ * <!-- end-model-doc -->
+ *
+ * @model required="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='self.operand1.newAssignments().name->excludesAll(self.operand2.newAssignments().name)'"
+ * @generated
+ */
+ boolean validateAssignments();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * By default, null arguments are not allowed for binary expressions.
+ * (This is overridden for equality expressions.)
+ * <!-- end-model-doc -->
+ *
+ * @model required="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='true'"
+ * @generated
+ */
+ boolean noNullArguments();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The operands of a binary expression must both have a multiplicity upper
+ * bound no greater than 1. If null arguments are not allowed (as given by
+ * the noNullArguments helper operation), then the upper bounds must be
+ * exactly 1.
+ * <!-- end-model-doc -->
+ *
+ * @model annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n if self.noNullArguments() then\n self.operand1.upper = 1 and self.operand2.upper = 1\n else\n self.operand1.upper <= 1 and self.operand2.upper <= 2\n endif'"
+ * @generated
+ */
+ boolean binaryExpressionOperandMultiplicity(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The assignments in the operand expressions of a binary expression must be
+ * valid (as determined by the validateAssignments helper operation).
+ * <!-- end-model-doc -->
+ *
+ * @model annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='self.validateAssignments()'"
+ * @generated
+ */
+ boolean binaryExpressionOperandAssignments(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The assignments after a binary expression include all the assignments
+ * before the expression that are not reassigned in either operand
+ * expression, plus the new assignments from each of the operand expressions.
+ * <!-- end-model-doc -->
+ *
+ * @model ordered="false"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n self.updateAll(\n self.assignmentBefore,\n self.operand1.newAssignments()->union(operand2.newAssignments())\n )'"
+ * @generated
+ */
+ EList<AssignedSource> updateAssignments();
+
+} // BinaryExpression
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
new file mode 100644
index 00000000000..fd2da094e19
--- /dev/null
+++ b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/BitStringUnaryExpression.java
@@ -0,0 +1,154 @@
+/**
+ */
+package org.eclipse.papyrus.uml.alf;
+
+import java.math.BigInteger;
+import java.util.Map;
+
+import org.eclipse.emf.common.util.DiagnosticChain;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Bit String Unary Expression</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.uml.alf.BitStringUnaryExpression#isIsBitStringConversion <em>Is Bit String Conversion</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getBitStringUnaryExpression()
+ * @model
+ * @generated
+ */
+public interface BitStringUnaryExpression extends UnaryExpression {
+ /**
+ * Returns the value of the '<em><b>Is Bit String Conversion</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * Whether BitString conversion is required on the operand expression.
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Is Bit String Conversion</em>' attribute.
+ * @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
+ */
+ boolean isIsBitStringConversion();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.uml.alf.BitStringUnaryExpression#isIsBitStringConversion <em>Is Bit String Conversion</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Is Bit String Conversion</em>' attribute.
+ * @see #isIsBitStringConversion()
+ * @generated
+ */
+ void setIsBitStringConversion(boolean value);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='self.bitStringType()'"
+ * @generated
+ */
+ ElementReference type();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model required="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='self.operand.lower'"
+ * @generated
+ */
+ BigInteger lower();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model required="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='1'"
+ * @generated
+ */
+ BigInteger upper();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * A BitString unary expression has type BitString.
+ * (See the type() operation.)
+ * <!-- end-model-doc -->
+ *
+ * @model
+ * @generated
+ */
+ boolean bitStringUnaryExpressionTypeDerivation(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * A BitString unary expression has the same multiplicity lower bound as its
+ * operand expression.
+ * (See the lower() operation.)
+ * <!-- end-model-doc -->
+ *
+ * @model
+ * @generated
+ */
+ boolean bitStringUnaryExpressionLowerDerivation(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * A BitString unary expression has a multiplicity upper bound of 1.
+ * (See the upper() operation.)
+ * <!-- end-model-doc -->
+ *
+ * @model
+ * @generated
+ */
+ boolean bitStringUnaryExpressionUpperDerivation(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The operand expression of a BitString unary expression must have type
+ * BitString or Integer and a multiplicity upper bound of 1.
+ * <!-- end-model-doc -->
+ *
+ * @model annotation=
+ * "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n let operandType = self.operand.type in\n (self.isBitStringType(operandType) or self.isIntegerType(operandType)) and\n self.operand.upper = 1'"
+ * @generated
+ */
+ boolean bitStringUnaryExpressionOperand(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * BitString conversion is required if the operand expression of a BitString
+ * unary expression has type Integer.
+ * <!-- end-model-doc -->
+ *
+ * @model
+ * @generated
+ */
+ boolean bitStringUnaryExpressionIsBitStringConversionDerivation(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+} // BitStringUnaryExpression
diff --git a/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/Block.java b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/Block.java
new file mode 100644
index 00000000000..8acca82c5cf
--- /dev/null
+++ b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/Block.java
@@ -0,0 +1,150 @@
+/**
+ */
+package org.eclipse.papyrus.uml.alf;
+
+import java.util.Map;
+
+import org.eclipse.emf.common.util.DiagnosticChain;
+import org.eclipse.emf.common.util.EList;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Block</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * A grouped sequence of statements.
+ * <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.uml.alf.Block#getStatement <em>Statement</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.Block#getAssignmentAfter <em>Assignment After</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.Block#getAssignmentBefore <em>Assignment Before</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getBlock()
+ * @model
+ * @generated
+ */
+public interface Block extends SyntaxElement {
+ /**
+ * Returns the value of the '<em><b>Statement</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.uml.alf.AnnotatedStatement}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The ordered sequence of statements in the block.
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Statement</em>' containment reference list.
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getBlock_Statement()
+ * @model containment="true"
+ * @generated
+ */
+ EList<AnnotatedStatement> getStatement();
+
+ /**
+ * Returns the value of the '<em><b>Assignment After</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.uml.alf.AssignedSource}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The assigned sources for local names available lexically after this block.
+ * This includes not only any assignments made within the block, but also
+ * any assignments that are unchanged from before the block.
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Assignment After</em>' reference list.
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getBlock_AssignmentAfter()
+ * @model transient="true" volatile="true" derived="true" ordered="false"
+ * annotation=
+ * "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot derivation='\n if self.statement->isEmpty() then self.assignmentBefore\n else self.statement->last().statement.assignmentAfter\n endif'"
+ * @generated
+ */
+ EList<AssignedSource> getAssignmentAfter();
+
+ /**
+ * Returns the value of the '<em><b>Assignment Before</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.uml.alf.AssignedSource}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The assigned sources for local names available lexically before this block.
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Assignment Before</em>' reference list.
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getBlock_AssignmentBefore()
+ * @model transient="true" volatile="true" derived="true" ordered="false"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot derivation='self.assignmentsBefore()'"
+ * @generated
+ */
+ EList<AssignedSource> getAssignmentBefore();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model ordered="false" elementRequired="true"
+ * annotation=
+ * "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n if not self.statement->includes(element) then Set(AssignedSource){}\n else\n let i = self.statement->indexOf(element) in\n if i = 1 then self.assignmentBefore\n else \n let statementBefore = self.statement->at(i-1) in\n -- NOTE: Xtext editor will try to semantically validate even\n -- when there are syntax errors.\n if statementBefore.statement = null then\n self.assignmentsBefore(statementBefore)\n else\n statementBefore.statement.assignmentAfter\n endif\n endif\n endif'"
+ * @generated
+ */
+ EList<AssignedSource> assignmentsBefore(SyntaxElement element);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * Get the assigned sources for assignments made within this block.
+ * <!-- end-model-doc -->
+ *
+ * @model ordered="false"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n let assignmentsBefore = self.assignmentBefore in\n self.assignmentAfter->select(isNew(assignmentsBefore))'"
+ * @generated
+ */
+ EList<AssignedSource> newAssignments();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The assignments before each statement in a block other than the first are
+ * the same as the assignments after the previous statement.
+ * <!-- end-model-doc -->
+ *
+ * @model
+ * @generated
+ */
+ boolean blockAssignmentsBeforeStatements(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The assignments before the first statement of a block are the same as the
+ * assignments before the block.
+ * <!-- end-model-doc -->
+ *
+ * @model
+ * @generated
+ */
+ boolean blockAssignmentsBefore(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * If a block is not empty, then the assignments after the block are the same
+ * as the assignments after the last statement of the block. Otherwise they
+ * are the same as the assignments before the block.
+ * <!-- end-model-doc -->
+ *
+ * @model
+ * @generated
+ */
+ boolean blockAssignmentAfterDerivation(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+} // Block
diff --git a/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/BlockStatement.java b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/BlockStatement.java
new file mode 100644
index 00000000000..271764c732a
--- /dev/null
+++ b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/BlockStatement.java
@@ -0,0 +1,182 @@
+/**
+ */
+package org.eclipse.papyrus.uml.alf;
+
+import java.util.Map;
+
+import org.eclipse.emf.common.util.DiagnosticChain;
+import org.eclipse.emf.common.util.EList;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Block Statement</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * A statement that executes a block.
+ * <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.uml.alf.BlockStatement#getBlock <em>Block</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.BlockStatement#isIsParallel <em>Is Parallel</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getBlockStatement()
+ * @model
+ * @generated
+ */
+public interface BlockStatement extends Statement {
+ /**
+ * Returns the value of the '<em><b>Block</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The block to be executed.
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Block</em>' containment reference.
+ * @see #setBlock(Block)
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getBlockStatement_Block()
+ * @model containment="true" required="true"
+ * @generated
+ */
+ Block getBlock();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.uml.alf.BlockStatement#getBlock <em>Block</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Block</em>' containment reference.
+ * @see #getBlock()
+ * @generated
+ */
+ void setBlock(Block value);
+
+ /**
+ * Returns the value of the '<em><b>Is Parallel</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * Whether the statements in the block of this block statement should be
+ * executed concurrently.
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Is Parallel</em>' attribute.
+ * @see #setIsParallel(boolean)
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getBlockStatement_IsParallel()
+ * @model transient="true" volatile="true" derived="true"
+ * annotation="http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeRoleName body='DoStatement'"
+ * annotation="http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeRoleName body='DoStatement'"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot derivation='self.hasAnnotation(\'parallel\')'"
+ * @generated
+ */
+ boolean isIsParallel();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.uml.alf.BlockStatement#isIsParallel <em>Is Parallel</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Is Parallel</em>' attribute.
+ * @see #isIsParallel()
+ * @generated
+ */
+ void setIsParallel(boolean value);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model ordered="false"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='self.block.assignmentAfter'"
+ * @generated
+ */
+ EList<AssignedSource> assignmentsAfter();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * In a parallel block statement, any name assigned in one statement of the
+ * block may not be further assigned in any subsequent statement in the same
+ * block.
+ * <!-- end-model-doc -->
+ *
+ * @model annotation=
+ * "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n if not self.isParallel or self.block = null then true\n else self.block.statement.statement.newAssignments()->\n isUnique(name)\n endif'"
+ * @generated
+ */
+ boolean blockStatementParallelAssignments(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The assignments before the block of a block statement are the same as the
+ * assignments before the block statement.
+ * <!-- end-model-doc -->
+ *
+ * @model
+ * @generated
+ */
+ boolean blockStatementAssignmentsBefore(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The assignments after a block statement are the same as the assignments
+ * after the block of the block statement.
+ * <!-- end-model-doc -->
+ *
+ * @model
+ * @generated
+ */
+ boolean blockStatementAssignmentsAfter(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The enclosing statement for all the statements in the block of a block
+ * statement is the block statement.
+ * <!-- end-model-doc -->
+ *
+ * @model
+ * @generated
+ */
+ boolean blockStatementEnclosedStatements(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * A block statement is parallel if it has a @parallel annotation.
+ * <!-- end-model-doc -->
+ *
+ * @model
+ * @generated
+ */
+ boolean blockStatementIsParallelDerivation(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * In addition to an @isolated annotation, a block statement may have a
+ *
+ * @parallel annotation. It may not have any arguments.
+ * <!-- end-model-doc -->
+ * @model required="true" annotationRequired="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='self.Statement_annotationAllowed(annotation) or \n annotation.identifier = \'parallel\' and annotation.argument->isEmpty()'"
+ * @generated
+ */
+ boolean annotationAllowed(Annotation annotation);
+
+} // BlockStatement
diff --git a/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/BooleanLiteralExpression.java b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/BooleanLiteralExpression.java
new file mode 100644
index 00000000000..2cb427632fd
--- /dev/null
+++ b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/BooleanLiteralExpression.java
@@ -0,0 +1,81 @@
+/**
+ */
+package org.eclipse.papyrus.uml.alf;
+
+import java.util.Map;
+
+import org.eclipse.emf.common.util.DiagnosticChain;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Boolean Literal Expression</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * An expression that comprises a Boolean literal.
+ * <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.uml.alf.BooleanLiteralExpression#getImage <em>Image</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getBooleanLiteralExpression()
+ * @model
+ * @generated
+ */
+public interface BooleanLiteralExpression extends LiteralExpression {
+ /**
+ * Returns the value of the '<em><b>Image</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The textual image of the literal token for this expression.
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Image</em>' attribute.
+ * @see #setImage(String)
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getBooleanLiteralExpression_Image()
+ * @model required="true"
+ * annotation="http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeRoleName body='NamedTuple'"
+ * @generated
+ */
+ String getImage();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.uml.alf.BooleanLiteralExpression#getImage <em>Image</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Image</em>' attribute.
+ * @see #getImage()
+ * @generated
+ */
+ void setImage(String value);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='self.booleanType()'"
+ * @generated
+ */
+ ElementReference type();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The type of a boolean literal expression is Boolean.
+ * (See the type() operation.)
+ * <!-- end-model-doc -->
+ *
+ * @model
+ * @generated
+ */
+ boolean booleanLiteralExpressionTypeDerivation(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+} // BooleanLiteralExpression
diff --git a/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/BooleanUnaryExpression.java b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/BooleanUnaryExpression.java
new file mode 100644
index 00000000000..9285b250823
--- /dev/null
+++ b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/BooleanUnaryExpression.java
@@ -0,0 +1,107 @@
+/**
+ */
+package org.eclipse.papyrus.uml.alf;
+
+import java.math.BigInteger;
+import java.util.Map;
+
+import org.eclipse.emf.common.util.DiagnosticChain;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Boolean Unary Expression</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * A unary expression with a Boolean operator.
+ * <!-- end-model-doc -->
+ *
+ *
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getBooleanUnaryExpression()
+ * @model
+ * @generated
+ */
+public interface BooleanUnaryExpression extends UnaryExpression {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='self.booleanType()'"
+ * @generated
+ */
+ ElementReference type();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model required="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='self.operand.lower'"
+ * @generated
+ */
+ BigInteger lower();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model required="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='1'"
+ * @generated
+ */
+ BigInteger upper();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * A Boolean unary expression has type Boolean.
+ * (See the type() operation.)
+ * <!-- end-model-doc -->
+ *
+ * @model
+ * @generated
+ */
+ boolean booleanUnaryExpressionTypeDerivation(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * A Boolean unary expression has the same multiplicity lower bound
+ * as its operand expression.
+ * (See the lower() operation.)
+ * <!-- end-model-doc -->
+ *
+ * @model
+ * @generated
+ */
+ boolean booleanUnaryExpressionLowerDerivation(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * A Boolean unary expression has a multiplicity upper bound of 1.
+ * (See the upper() operation.)
+ * <!-- end-model-doc -->
+ *
+ * @model
+ * @generated
+ */
+ boolean booleanUnaryExpressionUpperDerivation(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The operand expression of a Boolean unary expression must have type
+ * Boolean and a multiplicity upper bound of 1.
+ * <!-- end-model-doc -->
+ *
+ * @model annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='self.isBooleanType(self.operand.type) and self.operand.upper = 1'"
+ * @generated
+ */
+ boolean booleanUnaryExpressionOperand(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+} // BooleanUnaryExpression
diff --git a/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/BoundClassifier.java b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/BoundClassifier.java
new file mode 100644
index 00000000000..b6b9ea1b021
--- /dev/null
+++ b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/BoundClassifier.java
@@ -0,0 +1,85 @@
+/**
+ */
+package org.eclipse.papyrus.uml.alf;
+
+import org.eclipse.emf.common.util.EList;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Bound Classifier</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * A classifier resulting from the binding of a template to its actual
+ * parameters.
+ * <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.uml.alf.BoundClassifier#getTemplate <em>Template</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.BoundClassifier#getActual <em>Actual</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getBoundClassifier()
+ * @model
+ * @generated
+ */
+public interface BoundClassifier extends ClassifierDefinition {
+ /**
+ * Returns the value of the '<em><b>Template</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Template</em>' reference isn't clear, there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ *
+ * @return the value of the '<em>Template</em>' reference.
+ * @see #setTemplate(ElementReference)
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getBoundClassifier_Template()
+ * @model required="true"
+ * @generated
+ */
+ ElementReference getTemplate();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.uml.alf.BoundClassifier#getTemplate <em>Template</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Template</em>' reference.
+ * @see #getTemplate()
+ * @generated
+ */
+ void setTemplate(ElementReference value);
+
+ /**
+ * Returns the value of the '<em><b>Actual</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.uml.alf.ElementReference}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Actual</em>' reference list isn't clear, there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ *
+ * @return the value of the '<em>Actual</em>' reference list.
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getBoundClassifier_Actual()
+ * @model
+ * @generated
+ */
+ EList<ElementReference> getActual();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model required="true"
+ * annotation=
+ * "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n BoundElementReference{\n referent = self.template,\n namespace = self.template.namespace(),\n templateBinding = InternalElementReference{element = self}\n }'"
+ * @generated
+ */
+ ElementReference toReference();
+
+} // BoundClassifier
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
new file mode 100644
index 00000000000..6214849d630
--- /dev/null
+++ b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/BoundElementReference.java
@@ -0,0 +1,957 @@
+/**
+ */
+package org.eclipse.papyrus.uml.alf;
+
+import java.math.BigInteger;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Bound Element Reference</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * A reference to an element as bound within a template instantiation.
+ * <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.uml.alf.BoundElementReference#getReferent <em>Referent</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.BoundElementReference#getNamespace <em>Namespace</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.BoundElementReference#getTemplateBinding <em>Template Binding</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getBoundElementReference()
+ * @model
+ * @generated
+ */
+public interface BoundElementReference extends ElementReference {
+ /**
+ * Returns the value of the '<em><b>Referent</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Referent</em>' reference isn't clear, there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ *
+ * @return the value of the '<em>Referent</em>' reference.
+ * @see #setReferent(ElementReference)
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getBoundElementReference_Referent()
+ * @model required="true"
+ * @generated
+ */
+ ElementReference getReferent();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.uml.alf.BoundElementReference#getReferent <em>Referent</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Referent</em>' reference.
+ * @see #getReferent()
+ * @generated
+ */
+ void setReferent(ElementReference value);
+
+ /**
+ * Returns the value of the '<em><b>Namespace</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Namespace</em>' reference isn't clear, there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ *
+ * @return the value of the '<em>Namespace</em>' reference.
+ * @see #setNamespace(ElementReference)
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getBoundElementReference_Namespace()
+ * @model
+ * @generated
+ */
+ ElementReference getNamespace();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.uml.alf.BoundElementReference#getNamespace <em>Namespace</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Namespace</em>' reference.
+ * @see #getNamespace()
+ * @generated
+ */
+ void setNamespace(ElementReference value);
+
+ /**
+ * Returns the value of the '<em><b>Template Binding</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Template Binding</em>' reference isn't clear, there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ *
+ * @return the value of the '<em>Template Binding</em>' reference.
+ * @see #setTemplateBinding(ElementReference)
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getBoundElementReference_TemplateBinding()
+ * @model required="true"
+ * @generated
+ */
+ ElementReference getTemplateBinding();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.uml.alf.BoundElementReference#getTemplateBinding <em>Template Binding</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Template Binding</em>' reference.
+ * @see #getTemplateBinding()
+ * @generated
+ */
+ void setTemplateBinding(ElementReference value);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model kind="operation" required="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='false'"
+ * @generated
+ */
+ boolean isUml();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model kind="operation" required="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='true'"
+ * @generated
+ */
+ boolean isAlf();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='null'"
+ * @generated
+ */
+ EObject asUml();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='self.asMember()'"
+ * @generated
+ */
+ SyntaxElement asAlf();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model annotation=
+ * "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n Member{\n visibility = self.visibility(),\n definition = ImportedMember{\n name = self.name(),\n referent = self.referent\n }\n }'"
+ * @generated
+ */
+ Member asMember();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model required="true" memberRequired="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='self.referent.isSameKindAs(member)'"
+ * @generated
+ */
+ boolean isSameKindAs(ElementReference member);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model kind="operation" required="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='true'"
+ * @generated
+ */
+ boolean isNamedElement();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model kind="operation" required="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='self.referent.isNamespace()'"
+ * @generated
+ */
+ boolean isNamespace();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model required="true" unitRequired="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='false'"
+ * @generated
+ */
+ boolean isNamespaceFor(UnitDefinition unit);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model kind="operation" required="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='false'"
+ * @generated
+ */
+ boolean isModelNamespace();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model kind="operation" required="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='self.referent.isPackage()'"
+ * @generated
+ */
+ boolean isPackage();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model kind="operation" required="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='self.referent.isProfile()'"
+ * @generated
+ */
+ boolean isProfile();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model kind="operation" required="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='self.referent.isPackageableElement()'"
+ * @generated
+ */
+ boolean isPackageableElement();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model kind="operation" required="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='self.referent.isClassifier()'"
+ * @generated
+ */
+ boolean isClassifier();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model kind="operation" required="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='self.referent.isAbstractClassifier()'"
+ * @generated
+ */
+ boolean isAbstractClassifier();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model kind="operation" required="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='self.referent.isAssociation()'"
+ * @generated
+ */
+ boolean isAssociation();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model kind="operation" required="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='self.referent.isDataType()'"
+ * @generated
+ */
+ boolean isDataType();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model kind="operation" required="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='self.referent.isClass()'"
+ * @generated
+ */
+ boolean isClass();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model kind="operation" required="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='self.referent.isActiveClass()'"
+ * @generated
+ */
+ boolean isActiveClass();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model kind="operation" required="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='self.referent.isSignal()'"
+ * @generated
+ */
+ boolean isSignal();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model kind="operation" required="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='self.referent.isEnumeration()'"
+ * @generated
+ */
+ boolean isEnumeration();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model kind="operation" required="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='self.referent.isBehavior()'"
+ * @generated
+ */
+ boolean isBehavior();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model kind="operation" required="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='self.referent.isActivity()'"
+ * @generated
+ */
+ boolean isActivity();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model kind="operation" required="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='self.referent.isMethod()'"
+ * @generated
+ */
+ boolean isMethod();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model kind="operation" required="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='self.referent.isPrimitiveType()'"
+ * @generated
+ */
+ boolean isPrimitiveType();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model kind="operation" required="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='self.referent.isReception()'"
+ * @generated
+ */
+ boolean isReception();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model kind="operation" required="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='self.referent.isOperation()'"
+ * @generated
+ */
+ boolean isOperation();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model kind="operation" required="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='self.referent.isConstructor()'"
+ * @generated
+ */
+ boolean isConstructor();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model kind="operation" required="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='self.referent.isDestructor()'"
+ * @generated
+ */
+ boolean isDestructor();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model kind="operation" required="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='self.referent.isFeature()'"
+ * @generated
+ */
+ boolean isFeature();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model kind="operation" required="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='self.referent.isProperty()'"
+ * @generated
+ */
+ boolean isProperty();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model kind="operation" required="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='self.referent.isAssociationEnd()'"
+ * @generated
+ */
+ boolean isAssociationEnd();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model kind="operation" required="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='self.referent.isParameter()'"
+ * @generated
+ */
+ boolean isParameter();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model kind="operation" required="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n if self.isTemplateBinding() then\n self.templateBinding.isTemplate()\n else\n self.referent.isTemplate()\n endif'"
+ * @generated
+ */
+ boolean isTemplate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model kind="operation" required="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='false'"
+ * @generated
+ */
+ boolean isTemplateParameter();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model kind="operation" required="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='false'"
+ * @generated
+ */
+ boolean isClassifierTemplateParameter();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model kind="operation" required="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='false'"
+ * @generated
+ */
+ boolean isParameteredElement();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model kind="operation" required="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='self.referent.isStereotype()'"
+ * @generated
+ */
+ boolean isStereotype();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model kind="operation" required="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='self.referent.isEnumerationLiteral()'"
+ * @generated
+ */
+ boolean isEnumerationLiteral();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model kind="operation" required="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='false'"
+ * @generated
+ */
+ boolean isLoopVariable();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model kind="operation" required="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='false'"
+ * @generated
+ */
+ boolean isAnnotation();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model kind="operation" required="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='false'"
+ * @generated
+ */
+ boolean isSequenceExpansionExpression();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model required="true" otherRequired="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='self.referent.isDistinguishableFrom(other)'"
+ * @generated
+ */
+ boolean isDistinguishableFrom(ElementReference other);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='self.referent.name()'"
+ * @generated
+ */
+ String name();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='self.referent.visibility()'"
+ * @generated
+ */
+ String visibility();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n self.boundReferencesTo(\n self.referent.ownedMembers()->reject(isTemplateParameter())\n )'"
+ * @generated
+ */
+ EList<ElementReference> ownedMembers();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n self.boundReferencesTo(\n self.referent.members()->reject(isTemplateParameter())\n )'"
+ * @generated
+ */
+ EList<ElementReference> members();
+
+ /**
+ * <!-- 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
+ */
+ ElementReference opposite();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n self.boundReferenceTo(self.referent.signal())'"
+ * @generated
+ */
+ ElementReference signal();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n self.boundReferencesTo(self.referent.parameters())'"
+ * @generated
+ */
+ EList<ElementReference> parameters();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n self.boundReferenceTo(self.referent.returnParameter())'"
+ * @generated
+ */
+ ElementReference returnParameter();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n self.boundReferenceTo(self.referent.specification())'"
+ * @generated
+ */
+ ElementReference specification();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model ordered="false"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='self.referent.redefinedOperations()'"
+ * @generated
+ */
+ EList<ElementReference> redefinedOperations();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model annotation=
+ * "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n if self.namespace <> null then self.namespace\n else\n let namespace = self.referent.namespace() in\n if self.template() <> null then namespace\n else self.boundReferenceTo(namespace)\n endif\n endif'"
+ * @generated
+ */
+ ElementReference namespace();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n if self.isTemplateBinding() then self.referent\n else null\n endif'"
+ * @generated
+ */
+ ElementReference template();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='OrderedSet(ElementReference){}'"
+ * @generated
+ */
+ EList<ElementReference> templateParameters();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='OrderedSet(ElementReference){}'"
+ * @generated
+ */
+ EList<ElementReference> parameteredElements();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model kind="operation" required="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='self.templateBinding.template().equals(self.referent)'"
+ * @generated
+ */
+ boolean isTemplateBinding();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n if self.isTemplateBinding() then self.templateBinding.templateActuals()\n else OrderedSet(ElementReference){}\n endif'"
+ * @generated
+ */
+ EList<ElementReference> templateActuals();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='self.referent.direction()'"
+ * @generated
+ */
+ String direction();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n if self.isAssociationEnd() then self.namespace()\n else null\n endif'"
+ * @generated
+ */
+ ElementReference association();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model annotation=
+ * "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n let type = self.referent.type() in\n -- This handles the special case of a constructor of a template class\n -- that has that class directly as its return type, rather than a\n -- template binding for it.\n if self.isConstructor() and \n self.templateBinding.template().equals(type) then\n type.bind(self.templateBinding.templateActuals()->asSequence())\n else\n self.boundReferenceTo(type)\n endif'"
+ * @generated
+ */
+ ElementReference type();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model required="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='self.referent.lower()'"
+ * @generated
+ */
+ BigInteger lower();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model required="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='self.referent.upper()'"
+ * @generated
+ */
+ BigInteger upper();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model kind="operation" required="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='self.referent.isOrdered()'"
+ * @generated
+ */
+ boolean isOrdered();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model kind="operation" required="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='self.referent.isNonunique()'"
+ * @generated
+ */
+ boolean isNonunique();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model ordered="false"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n self.boundReferencesTo(self.referent.parents()->asOrderedSet())'"
+ * @generated
+ */
+ EList<ElementReference> parents();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model ordered="false"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n self.boundReferencesTo(self.referent.allParents()->asOrderedSet())'"
+ * @generated
+ */
+ EList<ElementReference> allParents();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='self.referent.classifierBehavior()'"
+ * @generated
+ */
+ ElementReference classifierBehavior();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model ordered="false"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='self.referent.appliedProfiles()'"
+ * @generated
+ */
+ EList<ElementReference> appliedProfiles();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model required="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='self.referent'"
+ * @generated
+ */
+ ElementReference reference();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='self.templateBinding'"
+ * @generated
+ */
+ ElementReference templateBinding();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n if self.isActivity() then self\n else null\n endif'"
+ * @generated
+ */
+ ElementReference activeClass();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model kind="operation" required="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='self.activeClass() <> null'"
+ * @generated
+ */
+ boolean isActiveBehavior();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model required="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n other = null or\n self.isClassifier() and (self.equals(other) or\n self.parents()->exists(conformsTo(other)))'"
+ * @generated
+ */
+ boolean conformsTo(ElementReference other);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model required="true"
+ * annotation=
+ * "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n other <> null and\n other.oclIsKindOf(BoundElementReference) and\n self.templateBinding.equals(other.templateBinding()) and\n self.referent.equals(other.oclAsType(BoundElementReference).referent)'"
+ * @generated
+ */
+ boolean equals(ElementReference other);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model required="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n BoundElementReference{\n referent = self.referent,\n namespace = self.namespace,\n templateBinding = self.templateBinding\n }'"
+ * @generated
+ */
+ ElementReference copy();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model required="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='self.referent.modelScope()'"
+ * @generated
+ */
+ ElementReference modelScope();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model ordered="false" pathNameRequired="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='Set(ElementReference){}'"
+ * @generated
+ */
+ EList<ElementReference> resolvePathName(String pathName);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model ordered="false" nameRequired="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='self.members()->select(name() = name)->asSet()'"
+ * @generated
+ */
+ EList<ElementReference> resolveInScope(String name);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model ordered="false" stereotypeNameRequired="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='Set(ElementReference){}'"
+ * @generated
+ */
+ EList<ElementReference> resolveStereotype(String stereotypeName);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='null'"
+ * @generated
+ */
+ ElementReference stub();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model unitRequired="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='null'"
+ * @generated
+ */
+ ElementReference stubFor(UnitDefinition unit);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model
+ * @generated
+ */
+ ElementReference boundReferenceTo(ElementReference element);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model annotation=
+ * "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n if element = null then null\n else if not element.isNamedElement() then element\n else if element.isTemplateBinding() then\n let actuals = self.boundReferencesTo(element.templateActuals()) in\n element.template().bind(actuals)\n else if element.isParameteredElement() then\n let parameters = \n self.templateBinding.template().parameteredElements()->asSequence() in\n let i = element.positionIn(parameters) in\n if i > 0 then\n self.templateBinding.templateActuals()->at(i)\n else\n element\n endif\n else\n let elementTemplateBinding = element.templateBinding() in\n if elementTemplateBinding = null then \n if self.referent.equals(element.namespace()) then\n BoundElementReference{\n referent = element,\n namespace = self,\n templateBinding = self.templateBinding\n }\n else if self.templateBinding.template().containsMember(element) then\n BoundElementReference{\n referent = element,\n namespace = null,\n templateBinding = self.templateBinding\n }\n else\n element\n endif endif\n else if not elementTemplateBinding.equals(self.templateBinding) then\n BoundElementReference{\n referent = element.reference(),\n namespace = null,\n templateBinding = \n self.boundReferenceTo(elementTemplateBinding).templateBinding()\n }\n else\n element\n endif endif\n endif endif endif endif'"
+ * @generated
+ */
+ ElementReference boundReferenceTo1(ElementReference element);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model unique="false" elementsMany="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='elements->collect(element | self.boundReferenceTo(element))'"
+ * @generated
+ */
+ EList<ElementReference> boundReferencesTo(EList<ElementReference> elements);
+
+} // BoundElementReference
diff --git a/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/BreakStatement.java b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/BreakStatement.java
new file mode 100644
index 00000000000..3092c48784c
--- /dev/null
+++ b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/BreakStatement.java
@@ -0,0 +1,98 @@
+/**
+ */
+package org.eclipse.papyrus.uml.alf;
+
+import java.util.Map;
+
+import org.eclipse.emf.common.util.DiagnosticChain;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Break Statement</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * A statement that causes the termination of execution of an immediately
+ * enclosing block.
+ * <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.uml.alf.BreakStatement#getTarget <em>Target</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getBreakStatement()
+ * @model
+ * @generated
+ */
+public interface BreakStatement extends Statement {
+ /**
+ * Returns the value of the '<em><b>Target</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The enclosing statement that is terminated by this break statement.
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Target</em>' reference.
+ * @see #setTarget(Statement)
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getBreakStatement_Target()
+ * @model transient="true" volatile="true" derived="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot derivation='self.enclosingLoopStatement()'"
+ * @generated
+ */
+ Statement getTarget();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.uml.alf.BreakStatement#getTarget <em>Target</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Target</em>' reference.
+ * @see #getTarget()
+ * @generated
+ */
+ void setTarget(Statement value);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The target of a break statement is the innermost switch, while, do or for
+ * statement enclosing the break statement.
+ * <!-- end-model-doc -->
+ *
+ * @model annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='self.target <> null'"
+ * @generated
+ */
+ boolean breakStatementTargetDerivation(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The target of a break statement may not have a @parallel annotation.
+ * <!-- end-model-doc -->
+ *
+ * @model annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='self.target <> null implies not self.target.hasAnnotation(\'parallel\')'"
+ * @generated
+ */
+ boolean breakStatementNonparallelTarget(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * A break statement may not have any annotations.
+ * <!-- end-model-doc -->
+ *
+ * @model required="true" annotationRequired="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='self.annotation()->isEmpty()'"
+ * @generated
+ */
+ boolean annotationAllowed(Annotation annotation);
+
+} // BreakStatement
diff --git a/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/CastExpression.java b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/CastExpression.java
new file mode 100644
index 00000000000..992076041a3
--- /dev/null
+++ b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/CastExpression.java
@@ -0,0 +1,229 @@
+/**
+ */
+package org.eclipse.papyrus.uml.alf;
+
+import java.math.BigInteger;
+import java.util.Map;
+
+import org.eclipse.emf.common.util.DiagnosticChain;
+import org.eclipse.emf.common.util.EList;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Cast Expression</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * An expression used to filter values by type.
+ * <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.uml.alf.CastExpression#getOperand <em>Operand</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.CastExpression#getTypeName <em>Type Name</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.CastExpression#isIsAny <em>Is Any</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getCastExpression()
+ * @model
+ * @generated
+ */
+public interface CastExpression extends Expression {
+ /**
+ * Returns the value of the '<em><b>Operand</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The operand expression of the cast expression.
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Operand</em>' containment reference.
+ * @see #setOperand(Expression)
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getCastExpression_Operand()
+ * @model containment="true" required="true"
+ * @generated
+ */
+ Expression getOperand();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.uml.alf.CastExpression#getOperand <em>Operand</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Operand</em>' containment reference.
+ * @see #getOperand()
+ * @generated
+ */
+ void setOperand(Expression value);
+
+ /**
+ * Returns the value of the '<em><b>Type Name</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The named type of the cast expression (if any)
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Type Name</em>' containment reference.
+ * @see #setTypeName(QualifiedName)
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getCastExpression_TypeName()
+ * @model containment="true"
+ * @generated
+ */
+ QualifiedName getTypeName();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.uml.alf.CastExpression#getTypeName <em>Type Name</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Type Name</em>' containment reference.
+ * @see #getTypeName()
+ * @generated
+ */
+ void setTypeName(QualifiedName value);
+
+ /**
+ * Returns the value of the '<em><b>Is Any</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * Whether the cast expression has an empty type.
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Is Any</em>' attribute.
+ * @see #setIsAny(boolean)
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getCastExpression_IsAny()
+ * @model
+ * @generated
+ */
+ boolean isIsAny();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.uml.alf.CastExpression#isIsAny <em>Is Any</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Is Any</em>' attribute.
+ * @see #isIsAny()
+ * @generated
+ */
+ void setIsAny(boolean value);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model annotation=
+ * "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n if self.typeName = null then null\n else\n let referents = self.typeName.referent->\n select(isClassifier() and not isTemplate()) in\n if referents->size() <> 1 then null\n else referents->any(true)\n endif\n endif'"
+ * @generated
+ */
+ ElementReference type();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model required="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='0'"
+ * @generated
+ */
+ BigInteger lower();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model required="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='self.operand.upper'"
+ * @generated
+ */
+ BigInteger upper();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The type of a cast expression is the referent of the given type name (if
+ * there is one).
+ * (See the type() operation.)
+ * <!-- end-model-doc -->
+ *
+ * @model
+ * @generated
+ */
+ boolean castExpressionTypeDerivation(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * A cast expression has a multiplicity lower bound of 0.
+ * (See the lower() operation.)
+ * <!-- end-model-doc -->
+ *
+ * @model
+ * @generated
+ */
+ boolean castExpressionLowerDerivation(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * A cast expression has a multiplicity upper bound that is the same as the
+ * upper bound of its operand expression.
+ * (See the upper() operation.)
+ * <!-- end-model-doc -->
+ *
+ * @model
+ * @generated
+ */
+ boolean castExpressionUpperDerivation(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * If the cast expression has a type name, then it must resolve to a
+ * non-template classifier.
+ * <!-- end-model-doc -->
+ *
+ * @model annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='self.typeName <> null implies self.type <> null'"
+ * @generated
+ */
+ boolean castExpressionTypeResolution(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The assignments before the operand of a cast expression are the same as
+ * those before the cast expression.
+ * <!-- end-model-doc -->
+ *
+ * @model
+ * @generated
+ */
+ boolean castExpressionAssignmentsBefore(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The assignments after a cast expression are the same as those after its
+ * operand expression.
+ * <!-- end-model-doc -->
+ *
+ * @model ordered="false"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='self.operand.assignmentAfter'"
+ * @generated
+ */
+ EList<AssignedSource> updateAssignments();
+
+} // CastExpression
diff --git a/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/ClassDefinition.java b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/ClassDefinition.java
new file mode 100644
index 00000000000..4ed09c1fb4b
--- /dev/null
+++ b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/ClassDefinition.java
@@ -0,0 +1,155 @@
+/**
+ */
+package org.eclipse.papyrus.uml.alf;
+
+import java.util.Map;
+
+import org.eclipse.emf.common.util.DiagnosticChain;
+import org.eclipse.emf.common.util.EList;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Class Definition</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * The definition of a class, whose members may be properties, operations, signals or signal receptions.
+ * <!-- end-model-doc -->
+ *
+ *
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getClassDefinition()
+ * @model
+ * @generated
+ */
+public interface ClassDefinition extends ClassifierDefinition {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * In addition to the annotations allowed for classifiers in general, a class definition allows an
+ * annotation for any stereotype whose metaclass is consistent with Class.
+ * <!-- end-model-doc -->
+ *
+ * @model required="true" annotationRequired="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n /* TODO: Allow class stereotype annotations. \052/\n self.ClassifierDefinition_annotationAllowed(annotation)'"
+ * @generated
+ */
+ boolean annotationAllowed(StereotypeAnnotation annotation);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * Returns true if the given unit definition matches this class definition considered as a
+ * classifier definition and the subunit is for a class definition.
+ * <!-- end-model-doc -->
+ *
+ * @model required="true" unitRequired="true"
+ * annotation=
+ * "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n self.ClassifierDefinition_matchForStub(unit) and\n /* NOTE: Cannot be an ActiveClassDefinition. \052/\n unit.definition.oclIsTypeOf(ClassDefinition)'"
+ * @generated
+ */
+ boolean matchForStub(UnitDefinition unit);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * Return true if the given member is either a ClassDefinition or an imported member whose referent is a ClassDefinition or a Class.
+ * <!-- end-model-doc -->
+ *
+ * @model required="true" memberRequired="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='member.isClass()'"
+ * @generated
+ */
+ boolean isSameKindAs(ElementReference member);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * Checks whether this class needs to have a default constructor added.
+ * <!-- end-model-doc -->
+ *
+ * @model required="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n not self.ownedMember.definition->exists(\n oclIsKindOf(OperationDefinition) and \n oclAsType(OperationDefinition).isConstructor\n )'"
+ * @generated
+ */
+ boolean needsDefaultConstructor();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * Checks whether this class needs to have a default destructor added.
+ * <!-- end-model-doc -->
+ *
+ * @model required="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n not self.ownedMember.definition->exists(\n oclIsKindOf(OperationDefinition) and \n oclAsType(OperationDefinition).isDestructor\n )'"
+ * @generated
+ */
+ boolean needsDefaultDestructor();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model inheritableMembersMany="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='self.inheritCached(inheritableMembers)'"
+ * @generated
+ */
+ EList<Member> inherit(EList<Member> inheritableMembers);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * EXTERNAL: Caches intermediate members computation to avoid infinite loops.
+ * <!-- end-model-doc -->
+ *
+ * @model inheritableMembersMany="true"
+ * @generated
+ */
+ EList<Member> inheritCached(EList<Member> inheritableMembers);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model inheritableMembersMany="true"
+ * annotation=
+ * "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n let ownedOperations = self.subunitOwnedMembers().definition->\n select(oclIsKindOf(OperationDefinition)).oclAsType(OperationDefinition)\n in\n inheritableMembers->reject(inheritableMember |\n ownedOperations->exists(operation |\n inheritableMember.toReference().\n containedIn(operation.redefinedOperation->asBag()) or\n not operation.isDistinguishableFrom(inheritableMember.definition)\n )\n )'"
+ * @generated
+ */
+ EList<Member> ClassDefinition_inherit(EList<Member> inheritableMembers);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The specialization referents of a class definition must all be classes.
+ * A class definition may not have any referents that are active classes unless
+ * this is an active class definition.
+ * <!-- end-model-doc -->
+ *
+ * @model annotation=
+ * "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n self.specializationReferent->forAll(isClass()) and\n (self.specializationReferent->exists(isActiveClass())\n implies self.oclIsKindOf(ActiveClassDefinition)\n )'"
+ * @generated
+ */
+ boolean classDefinitionSpecializationReferent(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * If a class definition is not abstract, then no member operations (owned or inherited)
+ * of the class definition may be abstract.
+ * <!-- end-model-doc -->
+ *
+ * @model annotation=
+ * "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n if self.isAbstract then true\n else \n self.member.definition->select(oclIsKindOf(OperationDefinition)).\n oclAsType(OperationDefinition)->forAll(not isAbstract)\n endif'"
+ * @generated
+ */
+ boolean classDefinitionAbstractMember(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+} // ClassDefinition
diff --git a/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/ClassExtentExpression.java b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/ClassExtentExpression.java
new file mode 100644
index 00000000000..0c61076f069
--- /dev/null
+++ b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/ClassExtentExpression.java
@@ -0,0 +1,149 @@
+/**
+ */
+package org.eclipse.papyrus.uml.alf;
+
+import java.math.BigInteger;
+import java.util.Map;
+
+import org.eclipse.emf.common.util.DiagnosticChain;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Class Extent Expression</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * An expression used to obtain the objects in the extent of a class.
+ * <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.uml.alf.ClassExtentExpression#getClassName <em>Class Name</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getClassExtentExpression()
+ * @model
+ * @generated
+ */
+public interface ClassExtentExpression extends Expression {
+ /**
+ * Returns the value of the '<em><b>Class Name</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The name of the class whose extent is to be obtained.
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Class Name</em>' containment reference.
+ * @see #setClassName(QualifiedName)
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getClassExtentExpression_ClassName()
+ * @model containment="true" required="true"
+ * @generated
+ */
+ QualifiedName getClassName();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.uml.alf.ClassExtentExpression#getClassName <em>Class Name</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Class Name</em>' containment reference.
+ * @see #getClassName()
+ * @generated
+ */
+ void setClassName(QualifiedName value);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n let referents = self.className.referent->select(isClass()) in\n if referents->size() <> 1 then null\n else referents->any(true)\n endif'"
+ * @generated
+ */
+ ElementReference type();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model required="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='-1'"
+ * @generated
+ */
+ BigInteger upper();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model required="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='0'"
+ * @generated
+ */
+ BigInteger lower();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The type of a class extent expression is the given class.
+ * (See the type() operation.)
+ * <!-- end-model-doc -->
+ *
+ * @model
+ * @generated
+ */
+ boolean classExtentExpressionTypeDerivation(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The multiplicity upper bound of a class expression is *.
+ * (See the upper() operation.)
+ * <!-- end-model-doc -->
+ *
+ * @model
+ * @generated
+ */
+ boolean classExtentExpressionUpperDerivation(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The multiplicity lower bound of a class extent expression is 0.
+ * (See the lower() operation.)
+ * <!-- end-model-doc -->
+ *
+ * @model
+ * @generated
+ */
+ boolean classExtentExpressionLowerDerivation(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The given type name must resolve to a non-template class.
+ * <!-- end-model-doc -->
+ *
+ * @model annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='self.validateClassExtentExpressionExtentType()'"
+ * @generated
+ */
+ boolean classExtentExpressionExtentType(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model required="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='self.type <> null and not self.type.isTemplate()'"
+ * @generated
+ */
+ boolean validateClassExtentExpressionExtentType();
+
+} // ClassExtentExpression
diff --git a/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/ClassificationExpression.java b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/ClassificationExpression.java
new file mode 100644
index 00000000000..838adf31faf
--- /dev/null
+++ b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/ClassificationExpression.java
@@ -0,0 +1,238 @@
+/**
+ */
+package org.eclipse.papyrus.uml.alf;
+
+import java.math.BigInteger;
+import java.util.Map;
+
+import org.eclipse.emf.common.util.DiagnosticChain;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Classification Expression</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * An expression used to test the dynamic type of its operand.
+ * <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.uml.alf.ClassificationExpression#getReferent <em>Referent</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.ClassificationExpression#isIsDirect <em>Is Direct</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.ClassificationExpression#getTypeName <em>Type Name</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getClassificationExpression()
+ * @model
+ * @generated
+ */
+public interface ClassificationExpression extends UnaryExpression {
+ /**
+ * Returns the value of the '<em><b>Referent</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The classifier to which the type name of the expression resolves.
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Referent</em>' reference.
+ * @see #setReferent(ElementReference)
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getClassificationExpression_Referent()
+ * @model transient="true" volatile="true" derived="true"
+ * annotation=
+ * "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot derivation='\n let referents = self.typeName.referent->select(isClassifier()) in\n if referents->size() <> 1 then null\n else referents->any(true)\n endif'"
+ * @generated
+ */
+ ElementReference getReferent();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.uml.alf.ClassificationExpression#getReferent <em>Referent</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Referent</em>' reference.
+ * @see #getReferent()
+ * @generated
+ */
+ void setReferent(ElementReference value);
+
+ /**
+ * Returns the value of the '<em><b>Is Direct</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * Whether the test is for the operand to have the given type directly or to only conform to the given type.
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Is Direct</em>' attribute.
+ * @see #setIsDirect(boolean)
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getClassificationExpression_IsDirect()
+ * @model transient="true" volatile="true" derived="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot derivation='self.operator = \'hastype\''"
+ * @generated
+ */
+ boolean isIsDirect();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.uml.alf.ClassificationExpression#isIsDirect <em>Is Direct</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Is Direct</em>' attribute.
+ * @see #isIsDirect()
+ * @generated
+ */
+ void setIsDirect(boolean value);
+
+ /**
+ * Returns the value of the '<em><b>Type Name</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The name of the type that the operand is to be tested against.
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Type Name</em>' containment reference.
+ * @see #setTypeName(QualifiedName)
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getClassificationExpression_TypeName()
+ * @model containment="true" required="true"
+ * @generated
+ */
+ QualifiedName getTypeName();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.uml.alf.ClassificationExpression#getTypeName <em>Type Name</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Type Name</em>' containment reference.
+ * @see #getTypeName()
+ * @generated
+ */
+ void setTypeName(QualifiedName value);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='self.booleanType()'"
+ * @generated
+ */
+ ElementReference type();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model required="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='self.operand.lower'"
+ * @generated
+ */
+ BigInteger lower();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model required="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='1'"
+ * @generated
+ */
+ BigInteger upper();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * A classification expression is direct if its operator is "hastype".
+ * <!-- end-model-doc -->
+ *
+ * @model
+ * @generated
+ */
+ boolean classificationExpressionIsDirectDerivation(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The referent of a classification expression is the classifier to which
+ * the type name resolves.
+ * <!-- end-model-doc -->
+ *
+ * @model
+ * @generated
+ */
+ boolean classificationExpressionReferentDerivation(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * A classification expression has type Boolean.
+ * (see the type() operation.)
+ * <!-- end-model-doc -->
+ *
+ * @model
+ * @generated
+ */
+ boolean classificationExpressionTypeDerivation(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * A classification expression has a multiplicity lower bound that is the
+ * same as the lower bound of its operand expression.
+ * (See the lower() operation.)
+ * <!-- end-model-doc -->
+ *
+ * @model
+ * @generated
+ */
+ boolean classificationExpressionLowerDerivation(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * A classification expression has a multiplicity upper bound of 1.
+ * (See the upper() operation.)
+ * <!-- end-model-doc -->
+ *
+ * @model
+ * @generated
+ */
+ boolean classificationExpressionUpperDerivation(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The type name in a classification expression must resolve to a non-template classifier.
+ * <!-- end-model-doc -->
+ *
+ * @model annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='self.referent <> null and not self.referent.isTemplate()'"
+ * @generated
+ */
+ boolean classificationExpressionTypeName(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The operand expression of a classification expression must have a multiplicity upper bound of 1.
+ * <!-- end-model-doc -->
+ *
+ * @model annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='self.operand.upper = 1'"
+ * @generated
+ */
+ boolean classificationExpressionOperand(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+} // ClassificationExpression
diff --git a/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/ClassifierDefinition.java b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/ClassifierDefinition.java
new file mode 100644
index 00000000000..8c051836212
--- /dev/null
+++ b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/ClassifierDefinition.java
@@ -0,0 +1,228 @@
+/**
+ */
+package org.eclipse.papyrus.uml.alf;
+
+import java.util.Map;
+
+import org.eclipse.emf.common.util.DiagnosticChain;
+import org.eclipse.emf.common.util.EList;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Classifier Definition</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * The definition of a classifier.
+ * <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.uml.alf.ClassifierDefinition#isIsAbstract <em>Is Abstract</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.ClassifierDefinition#getSpecialization <em>Specialization</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.ClassifierDefinition#getSpecializationReferent <em>Specialization Referent</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getClassifierDefinition()
+ * @model abstract="true"
+ * @generated
+ */
+public interface ClassifierDefinition extends NamespaceDefinition {
+ /**
+ * Returns the value of the '<em><b>Is Abstract</b></em>' attribute.
+ * The default value is <code>"false"</code>.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * Whether the classifier is abstract or not.
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Is Abstract</em>' attribute.
+ * @see #setIsAbstract(boolean)
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getClassifierDefinition_IsAbstract()
+ * @model default="false" required="true"
+ * @generated
+ */
+ boolean isIsAbstract();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.uml.alf.ClassifierDefinition#isIsAbstract <em>Is Abstract</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Is Abstract</em>' attribute.
+ * @see #isIsAbstract()
+ * @generated
+ */
+ void setIsAbstract(boolean value);
+
+ /**
+ * Returns the value of the '<em><b>Specialization</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The names of classifiers specialized by the classifier being defined.
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Specialization</em>' containment reference.
+ * @see #setSpecialization(QualifiedNameList)
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getClassifierDefinition_Specialization()
+ * @model containment="true"
+ * @generated
+ */
+ QualifiedNameList getSpecialization();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.uml.alf.ClassifierDefinition#getSpecialization <em>Specialization</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Specialization</em>' containment reference.
+ * @see #getSpecialization()
+ * @generated
+ */
+ void setSpecialization(QualifiedNameList value);
+
+ /**
+ * Returns the value of the '<em><b>Specialization Referent</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.uml.alf.ElementReference}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * References to the classifiers to which the names in the specialization list resolve.
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Specialization Referent</em>' reference list.
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getClassifierDefinition_SpecializationReferent()
+ * @model transient="true" volatile="true" derived="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot derivation='\n if self.specialization = null then OrderedSet{}\n else self.specialization.name.referent->asOrderedSet()\n endif'"
+ * @generated
+ */
+ EList<ElementReference> getSpecializationReferent();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model required="true" annotationRequired="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='NamespaceDefinition_annotationAllowed(annotation)'"
+ * @generated
+ */
+ boolean ClassifierDefinition_annotationAllowed(StereotypeAnnotation annotation);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The namespace definition associated with the given unit definition must
+ * be a classifier definition. The subunit classifier definition may be abstract
+ * if and only if the subunit classifier definition is abstract. The subunit
+ * classifier definition must have the same specialization referents as the
+ * stub classifier definition. (Note that it is the referents that must match,
+ * not the exact names or the ordering of those names in the specialization list.)
+ * The subunit classifier definition must also have a matching classifier
+ * template parameter for each classifier template parameter of the stub classifier
+ * definition. Two template parameters match if they have same names and the same
+ * specialization referents.
+ * <!-- end-model-doc -->
+ *
+ * @model required="true" unitRequired="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='ClassifierDefinition_matchForStub(unit)'"
+ * @generated
+ */
+ boolean matchForStub(UnitDefinition unit);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model required="true" unitRequired="true"
+ * annotation=
+ * "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n unit.definition.oclIsKindOf(ClassifierDefinition) and\n let classifier = unit.definition.oclAsType(ClassifierDefinition) in\n classifier.isAbstract = self.isAbstract and\n classifier.specializationReferent->size() = self.specializationReferent->size() and\n classifier.specializationReferent->forAll(containedIn(self.specializationReferent->asBag())) and\n classifier.templateParameters()->size() = self.templateParameters()->size() and\n Sequence{1..classifier.templateParameters()->size()}->forAll(i |\n classifier.templateParameters()->at(i).matches(self.templateParameters()->at(i))\n )'"
+ * @generated
+ */
+ boolean ClassifierDefinition_matchForStub(UnitDefinition unit);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * Returns the members of a classifier definition including its inherited members.
+ * <!-- end-model-doc -->
+ *
+ * @model annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='self.NamespaceDefinition_members()->\n includingAll(self.inheritedMembers())->asOrderedSet()'"
+ * @generated
+ */
+ EList<Member> members();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * Returns all of the inherited members of this classifier definition.
+ * <!-- end-model-doc -->
+ *
+ * @model annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n self.inherit(\n self.specializationReferent.members()->select(visibility() <> \'private\').\n asMember()->asOrderedSet()\n )'"
+ * @generated
+ */
+ EList<Member> inheritedMembers();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * Define how to inherit a set of members. Here the operation is defined to inherit them all.
+ * It is intended to be redefined in circumstances where inheritance is affected by redefinition.
+ * <!-- end-model-doc -->
+ *
+ * @model membersMany="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='members'"
+ * @generated
+ */
+ EList<Member> inherit(EList<Member> members);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * Each name listed in the specialization list for a classifier definition must
+ * have a single classifier referent. None of these referents may be templates.
+ * <!-- end-model-doc -->
+ *
+ * @model annotation=
+ * "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n self.specialization = null or\n self.specialization.name->forAll(\n referent->size() = 1 and\n referent->forAll(isClassifier() and not isTemplate())\n )'"
+ * @generated
+ */
+ boolean classifierDefinitionSpecialization(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The specialization referents of a classifier definition are the classifiers denoted by the
+ * names in the specialization list for the classifier definition.
+ * <!-- end-model-doc -->
+ *
+ * @model
+ * @generated
+ */
+ boolean classifierDefinitionSpecializationReferentDerivation(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The members of a classifier definition include non-private members inherited from the classifiers it specializes.
+ * The visibility of inherited members is as specified in the UML Superstructure, Subclause 7.3.8.
+ * <!-- end-model-doc -->
+ *
+ * @model
+ * @generated
+ */
+ boolean classifierDefinitionInheritedMembers(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+} // ClassifierDefinition
diff --git a/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/ClassifierTemplateParameter.java b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/ClassifierTemplateParameter.java
new file mode 100644
index 00000000000..deabb2411dc
--- /dev/null
+++ b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/ClassifierTemplateParameter.java
@@ -0,0 +1,75 @@
+/**
+ */
+package org.eclipse.papyrus.uml.alf;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Classifier Template Parameter</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * The definition of a classifier template parameter, which acts as a classifier within the definition of the template.
+ * <!-- end-model-doc -->
+ *
+ *
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getClassifierTemplateParameter()
+ * @model
+ * @generated
+ */
+public interface ClassifierTemplateParameter extends ClassifierDefinition {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * Annotations are not allowed on classifier template parameters.
+ * <!-- end-model-doc -->
+ *
+ * @model required="true" annotationRequired="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='false'"
+ * @generated
+ */
+ boolean annotationAllowed(StereotypeAnnotation annotation);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * Returns false. (Classifier template parameters cannot be stubs.)
+ * <!-- end-model-doc -->
+ *
+ * @model required="true" unitRequired="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='not self.isStub'"
+ * @generated
+ */
+ boolean matchForStub(UnitDefinition unit);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * Return true if the given member is a classifier template parameter.
+ * <!-- end-model-doc -->
+ *
+ * @model required="true" memberRequired="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='member.isClassifierTemplateParameter()'"
+ * @generated
+ */
+ boolean isSameKindAs(ElementReference member);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * Two template parameters match if they have same names and the same
+ * specialization referents.
+ * <!-- end-model-doc -->
+ *
+ * @model required="true" otherRequired="true"
+ * annotation=
+ * "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n self.actualName() = other.actualName() and\n self.specializationReferent->size() = other.specializationReferent->size() and\n self.specializationReferent->forAll(containedIn(other.specializationReferent->asBag()))'"
+ * @generated
+ */
+ boolean matches(ClassifierTemplateParameter other);
+
+} // ClassifierTemplateParameter
diff --git a/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/ClassifyStatement.java b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/ClassifyStatement.java
new file mode 100644
index 00000000000..0df381e5557
--- /dev/null
+++ b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/ClassifyStatement.java
@@ -0,0 +1,291 @@
+/**
+ */
+package org.eclipse.papyrus.uml.alf;
+
+import java.util.Map;
+
+import org.eclipse.emf.common.util.DiagnosticChain;
+import org.eclipse.emf.common.util.EList;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Classify Statement</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * A statement that changes the classification of an object.
+ * <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.uml.alf.ClassifyStatement#getExpression <em>Expression</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.ClassifyStatement#getFromList <em>From List</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.ClassifyStatement#getToList <em>To List</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.ClassifyStatement#getFromClass <em>From Class</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.ClassifyStatement#getToClass <em>To Class</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.ClassifyStatement#isIsReclassifyAll <em>Is Reclassify All</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getClassifyStatement()
+ * @model
+ * @generated
+ */
+public interface ClassifyStatement extends Statement {
+ /**
+ * Returns the value of the '<em><b>Expression</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The expression to be evaluated to obtain the object to be reclassified.
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Expression</em>' containment reference.
+ * @see #setExpression(Expression)
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getClassifyStatement_Expression()
+ * @model containment="true" required="true"
+ * @generated
+ */
+ Expression getExpression();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.uml.alf.ClassifyStatement#getExpression <em>Expression</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Expression</em>' containment reference.
+ * @see #getExpression()
+ * @generated
+ */
+ void setExpression(Expression value);
+
+ /**
+ * Returns the value of the '<em><b>From List</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * A list of names of classes to be removed as types of the object.
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>From List</em>' containment reference.
+ * @see #setFromList(QualifiedNameList)
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getClassifyStatement_FromList()
+ * @model containment="true"
+ * @generated
+ */
+ QualifiedNameList getFromList();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.uml.alf.ClassifyStatement#getFromList <em>From List</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>From List</em>' containment reference.
+ * @see #getFromList()
+ * @generated
+ */
+ void setFromList(QualifiedNameList value);
+
+ /**
+ * Returns the value of the '<em><b>To List</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * A list of names of classes to be added as types of the object.
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>To List</em>' containment reference.
+ * @see #setToList(QualifiedNameList)
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getClassifyStatement_ToList()
+ * @model containment="true"
+ * @generated
+ */
+ QualifiedNameList getToList();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.uml.alf.ClassifyStatement#getToList <em>To List</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>To List</em>' containment reference.
+ * @see #getToList()
+ * @generated
+ */
+ void setToList(QualifiedNameList value);
+
+ /**
+ * Returns the value of the '<em><b>From Class</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.uml.alf.ElementReference}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The classes denoted by the names in the from list.
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>From Class</em>' reference list.
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getClassifyStatement_FromClass()
+ * @model transient="true" volatile="true" derived="true" ordered="false"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot derivation='\n if self.fromList = null then Set(ElementReference){}\n else self.fromList.name.referent->asSet()\n endif'"
+ * @generated
+ */
+ EList<ElementReference> getFromClass();
+
+ /**
+ * Returns the value of the '<em><b>To Class</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.uml.alf.ElementReference}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The classes denoted by the names in the to list.
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>To Class</em>' reference list.
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getClassifyStatement_ToClass()
+ * @model transient="true" volatile="true" derived="true" ordered="false"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot derivation='\n if self.toList = null then Set(ElementReference){}\n else self.toList.name.referent->asSet()\n endif'"
+ * @generated
+ */
+ EList<ElementReference> getToClass();
+
+ /**
+ * Returns the value of the '<em><b>Is Reclassify All</b></em>' attribute.
+ * The default value is <code>"false"</code>.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * Whether this classify statement reclassifies all types of the target
+ * object.
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Is Reclassify All</em>' attribute.
+ * @see #setIsReclassifyAll(boolean)
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getClassifyStatement_IsReclassifyAll()
+ * @model default="false" required="true"
+ * @generated
+ */
+ boolean isIsReclassifyAll();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.uml.alf.ClassifyStatement#isIsReclassifyAll <em>Is Reclassify All</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Is Reclassify All</em>' attribute.
+ * @see #isIsReclassifyAll()
+ * @generated
+ */
+ void setIsReclassifyAll(boolean value);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model ordered="false"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='self.expression.assignmentAfter'"
+ * @generated
+ */
+ EList<AssignedSource> assignmentAfter();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The expression in a classify statement must have a class as its type and
+ * multiplicity upper bound of 1.
+ * <!-- end-model-doc -->
+ *
+ * @model annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n let type = self.expression.type in\n type <> null and type.isClass() and self.expression.upper = 1'"
+ * @generated
+ */
+ boolean classifyStatementExpression(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * All qualified names listed in the from or to lists of a classify
+ * statement must resolve to classes.
+ * <!-- end-model-doc -->
+ *
+ * @model annotation=
+ * "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n let fromNames = \n if self.fromList = null then Set(QualifiedName){}\n else self.fromList.name->asSet()\n endif\n in\n let toNames =\n if self.toList = null then Set(QualifiedName){}\n else self.toList.name->asSet()\n endif\n in\n fromNames->union(toNames)->forAll(name |\n let referent = name.referent->select(isClass()) in\n referent->size() = 1 and\n referent->forAll(not isTemplate())\n )'"
+ * @generated
+ */
+ boolean classifyStatementClassNames(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * All the from and to classes of a classify statement must be subclasses of
+ * the type of the target expression and none of them may have a common
+ * superclass that is a subclass of the type of the target expression (that
+ * is, they must be disjoint subclasses).
+ * <!-- end-model-doc -->
+ *
+ * @model annotation=
+ * "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n let classes = self.fromClass->union(self.toClass) in\n let expressionType = self.expression.type in\n if expressionType = null then true\n else\n classes->\n forAll(not equals(expressionType) and conformsTo(expressionType)) and\n let parents : Bag(ElementReference) = classes.allParents()->\n select(not equals(expressionType) and conformsTo(expressionType)) \n in\n parents->forAll(countIn(parents) = 1)\n endif'"
+ * @generated
+ */
+ boolean classifyStatementClasses(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The assignments before the expression of a classify statement are the
+ * same as the assignments before the statement.
+ * (See the assignmentsBefore(element) operation.)
+ * <!-- end-model-doc -->
+ *
+ * @model
+ * @generated
+ */
+ boolean classifyStatementAssignmentsBefore(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The assignments after a classify statement are the same as the
+ * assignments after its expression.
+ * (See the assignmentAfter() operation.)
+ * <!-- end-model-doc -->
+ *
+ * @model
+ * @generated
+ */
+ boolean classifyStatementAssignmentsAfter(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The from classes of a classify statement are the class referents of the
+ * qualified names in the from list for the statement.
+ * <!-- end-model-doc -->
+ *
+ * @model
+ * @generated
+ */
+ boolean classifyStatementFromClassDerivation(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The to classes of a classify statement are the class referents of the
+ * qualified names in the to list for the statement.
+ * <!-- end-model-doc -->
+ *
+ * @model
+ * @generated
+ */
+ boolean classifyStatementToClassDerivation(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+} // ClassifyStatement
diff --git a/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/CollectOrIterateExpression.java b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/CollectOrIterateExpression.java
new file mode 100644
index 00000000000..168a50b5626
--- /dev/null
+++ b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/CollectOrIterateExpression.java
@@ -0,0 +1,60 @@
+/**
+ */
+package org.eclipse.papyrus.uml.alf;
+
+import java.util.Map;
+
+import org.eclipse.emf.common.util.DiagnosticChain;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Collect Or Iterate Expression</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * A sequence expansion expression with a collect or iterate operation.
+ * <!-- end-model-doc -->
+ *
+ *
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getCollectOrIterateExpression()
+ * @model
+ * @generated
+ */
+public interface CollectOrIterateExpression extends SequenceExpansionExpression {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * A collect or iterate expression has the same type as its argument expression.
+ * <!-- end-model-doc -->
+ *
+ * @model
+ * @generated
+ */
+ boolean collectOrIterateExpressionTypeDerivation(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * A collect or iterate expression has a multiplicity lower bound that is the product of the bounds of its primary and argument expressions.
+ * <!-- end-model-doc -->
+ *
+ * @model
+ * @generated
+ */
+ boolean collectOrIterateExpressionLowerDerivation(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * A collect or iterate expression has a multiplicity upper bound that is the product of the bounds of its primary and argument expressions.
+ * <!-- end-model-doc -->
+ *
+ * @model
+ * @generated
+ */
+ boolean collectOrIterateExpressionUpperDerivation(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+} // CollectOrIterateExpression
diff --git a/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/ConcurrentClauses.java b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/ConcurrentClauses.java
new file mode 100644
index 00000000000..7238bc8a0e9
--- /dev/null
+++ b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/ConcurrentClauses.java
@@ -0,0 +1,74 @@
+/**
+ */
+package org.eclipse.papyrus.uml.alf;
+
+import java.util.Map;
+
+import org.eclipse.emf.common.util.DiagnosticChain;
+import org.eclipse.emf.common.util.EList;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Concurrent Clauses</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * A grouping of non-final conditional clauses to be tested concurrently.
+ * <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.uml.alf.ConcurrentClauses#getClause <em>Clause</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getConcurrentClauses()
+ * @model
+ * @generated
+ */
+public interface ConcurrentClauses extends SyntaxElement {
+ /**
+ * Returns the value of the '<em><b>Clause</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.uml.alf.NonFinalClause}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The conditional clauses in the group.
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Clause</em>' containment reference list.
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getConcurrentClauses_Clause()
+ * @model containment="true" required="true" ordered="false"
+ * @generated
+ */
+ EList<NonFinalClause> getClause();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The assignments before each of the clauses in a set of concurrent clauses
+ * are the same as the assignments before the concurrent clauses.
+ * (See the assignmentsBefore(element) operation.)
+ * <!-- end-model-doc -->
+ *
+ * @model
+ * @generated
+ */
+ boolean concurrentClausesAssignmentsBefore(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The same name may not be assigned in more than one conditional expression
+ * within the same concurrent set of clauses.
+ * <!-- end-model-doc -->
+ *
+ * @model annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='self.clause.condition.newAssignments()->isUnique(name)'"
+ * @generated
+ */
+ boolean concurrentClausesConditionAssignments(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+} // ConcurrentClauses
diff --git a/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/ConditionalLogicalExpression.java b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/ConditionalLogicalExpression.java
new file mode 100644
index 00000000000..49c5453a4d7
--- /dev/null
+++ b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/ConditionalLogicalExpression.java
@@ -0,0 +1,156 @@
+/**
+ */
+package org.eclipse.papyrus.uml.alf;
+
+import java.math.BigInteger;
+import java.util.Map;
+
+import org.eclipse.emf.common.util.DiagnosticChain;
+import org.eclipse.emf.common.util.EList;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Conditional Logical Expression</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * A binary expression with a conditional logical expression, for which the
+ * evaluation of the second operand expression is conditioned on the result of
+ * evaluating the first operand expression.
+ * <!-- end-model-doc -->
+ *
+ *
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getConditionalLogicalExpression()
+ * @model
+ * @generated
+ */
+public interface ConditionalLogicalExpression extends BinaryExpression {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='self.booleanType()'"
+ * @generated
+ */
+ ElementReference type();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model required="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n if self.operand1.lower = 0 or self.operand2.lower = 0 then 0 else 1 endif'"
+ * @generated
+ */
+ BigInteger lower();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model required="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='1'"
+ * @generated
+ */
+ BigInteger upper();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * A conditional logical expression has type Boolean.
+ * (See the type() operation.)
+ * <!-- end-model-doc -->
+ *
+ * @model
+ * @generated
+ */
+ boolean conditionalLogicalExpressionTypeDerivation(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * A conditional logical expression has a multiplicity lower bound of 0 if
+ * the lower bound if either operand expression is 0 and 1 otherwise.
+ * (See the lower() operation.)
+ * <!-- end-model-doc -->
+ *
+ * @model
+ * @generated
+ */
+ boolean conditionalLogicalExpressionLower(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * A conditional logical expression has a multiplicity upper bound of 1.
+ * (See the upper() operation.)
+ * <!-- end-model-doc -->
+ *
+ * @model
+ * @generated
+ */
+ boolean conditionalLogicalExpressionUpper(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The operands of a conditional logical expression must have type Boolean.
+ * <!-- end-model-doc -->
+ *
+ * @model annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='self.isBooleanType(self.operand1.type) and self.isBooleanType(self.operand2.type)'"
+ * @generated
+ */
+ boolean conditionalLogicalExpressionOperands(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The assignments before the first operand expression of a conditional
+ * logical expression are the same as those before the conditional logical
+ * expression. The assignments before the second operand expression are the
+ * same as those after the first operand expression.
+ * (See the assignmentsBefore(element) operation.)
+ * <!-- end-model-doc -->
+ *
+ * @model required="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='true'"
+ * @generated
+ */
+ boolean validateAssignments();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model ordered="false" elementRequired="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n if self.operand2 = element then self.operand1.assignmentAfter\n else self.assignmentBefore\n endif'"
+ * @generated
+ */
+ EList<AssignedSource> assignmentsBefore(SyntaxElement element);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * If a name has the same assigned source after the second operand
+ * expression as before it, then that is its assigned source after the
+ * conditional logical expression. If a name is unassigned before the
+ * second operand expression, then it is considered unassigned after the
+ * conditional logical expression, even if it has an assigned source after
+ * the second operand expression. Otherwise its assigned source after the
+ * conditional logical expression is the conditional logical expression itself.
+ * <!-- end-model-doc -->
+ *
+ * @model ordered="false"
+ * annotation=
+ * "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n let namesBefore = self.operand2.assignmentBefore.name->asSet() in\n self.updateAll(\n self.operand2.assignmentBefore,\n self.operand2.newAssignments()->\n reject(namesBefore->excludes(name)).\n copy(self, null)->asSet()\n )'"
+ * @generated
+ */
+ EList<AssignedSource> updateAssignments();
+
+} // ConditionalLogicalExpression
diff --git a/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/ConditionalTestExpression.java b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/ConditionalTestExpression.java
new file mode 100644
index 00000000000..4bd8edbfe85
--- /dev/null
+++ b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/ConditionalTestExpression.java
@@ -0,0 +1,269 @@
+/**
+ */
+package org.eclipse.papyrus.uml.alf;
+
+import java.math.BigInteger;
+import java.util.Map;
+
+import org.eclipse.emf.common.util.DiagnosticChain;
+import org.eclipse.emf.common.util.EList;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Conditional Test Expression</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * An expression that uses the value of one operand expression to condition
+ * the evaluation of one of two other operand expressions.
+ * <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.uml.alf.ConditionalTestExpression#getOperand1 <em>Operand1</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.ConditionalTestExpression#getOperand2 <em>Operand2</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.ConditionalTestExpression#getOperand3 <em>Operand3</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getConditionalTestExpression()
+ * @model
+ * @generated
+ */
+public interface ConditionalTestExpression extends Expression {
+ /**
+ * Returns the value of the '<em><b>Operand1</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The first operand expression, which provides the condition to be tested.
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Operand1</em>' containment reference.
+ * @see #setOperand1(Expression)
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getConditionalTestExpression_Operand1()
+ * @model containment="true" required="true"
+ * @generated
+ */
+ Expression getOperand1();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.uml.alf.ConditionalTestExpression#getOperand1 <em>Operand1</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Operand1</em>' containment reference.
+ * @see #getOperand1()
+ * @generated
+ */
+ void setOperand1(Expression value);
+
+ /**
+ * Returns the value of the '<em><b>Operand2</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The second operand expression, to be evaluated if the condition is true.
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Operand2</em>' containment reference.
+ * @see #setOperand2(Expression)
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getConditionalTestExpression_Operand2()
+ * @model containment="true" required="true"
+ * @generated
+ */
+ Expression getOperand2();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.uml.alf.ConditionalTestExpression#getOperand2 <em>Operand2</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Operand2</em>' containment reference.
+ * @see #getOperand2()
+ * @generated
+ */
+ void setOperand2(Expression value);
+
+ /**
+ * Returns the value of the '<em><b>Operand3</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The third operand expression, to be evaluated if the condition is false.
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Operand3</em>' containment reference.
+ * @see #setOperand3(Expression)
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getConditionalTestExpression_Operand3()
+ * @model containment="true" required="true"
+ * @generated
+ */
+ Expression getOperand3();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.uml.alf.ConditionalTestExpression#getOperand3 <em>Operand3</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Operand3</em>' containment reference.
+ * @see #getOperand3()
+ * @generated
+ */
+ void setOperand3(Expression value);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='self.commonAncestor(Set{self.operand2.type, self.operand3.type})'"
+ * @generated
+ */
+ ElementReference type();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model required="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='self.operand2.lower.min(self.operand3.lower)'"
+ * @generated
+ */
+ BigInteger lower();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model required="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n if self.operand2.upper = -1 or self.operand2.upper = -1 then -1\n else self.operand2.upper.max(self.operand3.upper)\n endif'"
+ * @generated
+ */
+ BigInteger upper();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model ordered="false" elementRequired="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n if self.operand2 = element or self.operand3 = element then\n self.operand1.assignmentAfter\n else\n self.assignmentBefore\n endif'"
+ * @generated
+ */
+ EList<AssignedSource> assignmentsBefore(SyntaxElement element);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The type of a conditional-test operator expression is the effective
+ * common ancestor (if one exists) of the types of its second and third
+ * operand expressions.
+ * (See the type() operation.)
+ * <!-- end-model-doc -->
+ *
+ * @model
+ * @generated
+ */
+ boolean conditionalTestExpressionTypeDerivation(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The multiplicity lower bound of a conditional-test operator expression is
+ * the minimum of the multiplicity lower bounds of its second and third
+ * operand expressions.
+ * (See the lower() operation.)
+ * <!-- end-model-doc -->
+ *
+ * @model
+ * @generated
+ */
+ boolean conditionalTestExpressionLowerDerivation(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The multiplicity upper bound of a conditional-test operator expression is
+ * the maximum of the multiplicity upper bounds of its second and third
+ * operand expressions.
+ * (See the upper() operation.)
+ * <!-- end-model-doc -->
+ *
+ * @model
+ * @generated
+ */
+ boolean conditionalTestExpressionUpperDerivation(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The first operand expression of a conditional-test expression must be of
+ * type Boolean and have a multiplicity upper bound of 1.
+ * <!-- end-model-doc -->
+ *
+ * @model annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='self.isBooleanType(self.operand1.type) and self.operand1.upper = 1'"
+ * @generated
+ */
+ boolean conditionalTestExpressionCondition(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The assignments before the first operand expression of a conditional-test
+ * expression are the same as those before the conditional-test expression.
+ * The assignments before the second and third operand expressions are the
+ * same as those after the first operand expression.
+ * (See the assignmentsBefore(element) operation.)
+ * <!-- end-model-doc -->
+ *
+ * @model
+ * @generated
+ */
+ boolean conditionalTestExpressionAssignmentsBefore(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * If a name is unassigned after the first operand expression and has an
+ * assigned source after one of the other operand expression, then it must
+ * have an assigned source after both of those expressions.
+ * <!-- end-model-doc -->
+ *
+ * @model annotation=
+ * "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n self.operand1.assignmentAfter.name->includesAll(\n self.operand2.assignmentAfter.name->asSet()->\n symmetricDifference(self.operand3.assignmentAfter.name->asSet())\n )'"
+ * @generated
+ */
+ boolean conditionalTestExpressionAssignmentsAfter(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * Returns the assignments after the first operand expression, plus
+ * assignments for any newly defined local names in the second and
+ * third operand expressions. Local names that exist after the first operand
+ * expression but are reassigned in the second or third operand expressions
+ * are adjusted to have the conditional-test expression as their assigned
+ * source. Local names that are newly defined in the second and third
+ * operand expressions have the conditional-text expression as their source
+ * and a type that is the effective common ancestor (if one exists) of the
+ * types from the assignments after each of the second and third operands.
+ * <!-- end-model-doc -->
+ *
+ * @model ordered="false"
+ * annotation=
+ * "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n let assignments1 = self.operand1.assignmentAfter in\n let assignments2 = self.operand2.newAssignments() in\n let assignments3 = self.operand3.newAssignments() in\n let reassignments = assignments1->\n select(\n assignments2.name->includes(name) or \n assignments3.name->includes(name)\n ).copy(self, null)->asSet() in\n let newAssignments = assignments2->\n select(\n assignments1.name->excludes(name) and\n assignments3.name->includes(name)\n )->collect(assignment |\n let otherAssignment = assignments3->any(name = assignment.name) in\n AssignedSource{\n name = assignment.name,\n source = self,\n type = self.commonAncestor(Set{assignment.type, otherAssignment.type}),\n lower = assignment.lower.min(otherAssignment.lower),\n upper = \n if assignment.upper = -1 or otherAssignment.upper = -1 then -1\n else assignment.upper.max(otherAssignment.upper)\n endif\n }\n )->asSet()\n in\n self.updateAll(assignments1, reassignments->union(newAssignments))'"
+ * @generated
+ */
+ EList<AssignedSource> updateAssignments();
+
+} // ConditionalTestExpression
diff --git a/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/DataTypeDefinition.java b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/DataTypeDefinition.java
new file mode 100644
index 00000000000..19b5e43ade2
--- /dev/null
+++ b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/DataTypeDefinition.java
@@ -0,0 +1,92 @@
+/**
+ */
+package org.eclipse.papyrus.uml.alf;
+
+import java.util.Map;
+
+import org.eclipse.emf.common.util.DiagnosticChain;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Data Type Definition</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * The definition of a data type, whose members must all be properties.
+ * <!-- end-model-doc -->
+ *
+ *
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getDataTypeDefinition()
+ * @model
+ * @generated
+ */
+public interface DataTypeDefinition extends ClassifierDefinition {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * Returns true if the given unit definition matches this data type definition
+ * considered as a classifier definition and the subunit is for a data type
+ * definition.
+ * <!-- end-model-doc -->
+ *
+ * @model required="true" unitRequired="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n self.ClassifierDefinition_matchForStub(unit) and\n unit.definition.oclIsKindOf(DataTypeDefinition)'"
+ * @generated
+ */
+ boolean matchForStub(UnitDefinition unit);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * In addition to the annotations allowed for classifiers in general, a data type
+ * definition allows @primitive annotations plus any stereotype whose metaclass is consistent with DataType.
+ * <!-- end-model-doc -->
+ *
+ * @model required="true" annotationRequired="true"
+ * annotation=
+ * "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n /* TODO: Allow data type stereotype annotations. \052/\n self.ClassifierDefinition_annotationAllowed(annotation) or\n annotation.stereotypeName.pathName = \'primitive\''"
+ * @generated
+ */
+ boolean annotationAllowed(StereotypeAnnotation annotation);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * Return true if the given member is either a DataTypeDefinition or an imported member
+ * whose referent is a DataTypeDefinition or a DataType.
+ * <!-- end-model-doc -->
+ *
+ * @model required="true" memberRequired="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='member.isDataType()'"
+ * @generated
+ */
+ boolean isSameKindAs(ElementReference member);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * If a data type is primitive, then it may not have any owned members.
+ * <!-- end-model-doc -->
+ *
+ * @model annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n self.isPrimitive implies self.ownedMember->isEmpty()'"
+ * @generated
+ */
+ boolean dataTypeDefinitionPrimitive(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The specialization referents of a data type definition must all be data types.
+ * <!-- end-model-doc -->
+ *
+ * @model annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n self.specializationReferent->forAll(isDataType())'"
+ * @generated
+ */
+ boolean dataTypeDefinitionSpecializationReferent(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+} // DataTypeDefinition
diff --git a/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/DoStatement.java b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/DoStatement.java
new file mode 100644
index 00000000000..0e42ea58f5f
--- /dev/null
+++ b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/DoStatement.java
@@ -0,0 +1,177 @@
+/**
+ */
+package org.eclipse.papyrus.uml.alf;
+
+import java.util.Map;
+
+import org.eclipse.emf.common.util.DiagnosticChain;
+import org.eclipse.emf.common.util.EList;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Do Statement</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * A looping statement for which the continuation condition is first tested
+ * after the first iteration.
+ * <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.uml.alf.DoStatement#getCondition <em>Condition</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.DoStatement#getBody <em>Body</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getDoStatement()
+ * @model
+ * @generated
+ */
+public interface DoStatement extends Statement {
+ /**
+ * Returns the value of the '<em><b>Condition</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The expression to be evaluated to determine whether to continue looping.
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Condition</em>' containment reference.
+ * @see #setCondition(Expression)
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getDoStatement_Condition()
+ * @model containment="true" required="true"
+ * @generated
+ */
+ Expression getCondition();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.uml.alf.DoStatement#getCondition <em>Condition</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Condition</em>' containment reference.
+ * @see #getCondition()
+ * @generated
+ */
+ void setCondition(Expression value);
+
+ /**
+ * Returns the value of the '<em><b>Body</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The sequence of statements to be iteratively executed.
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Body</em>' containment reference.
+ * @see #setBody(Block)
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getDoStatement_Body()
+ * @model containment="true" required="true"
+ * @generated
+ */
+ Block getBody();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.uml.alf.DoStatement#getBody <em>Body</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Body</em>' containment reference.
+ * @see #getBody()
+ * @generated
+ */
+ void setBody(Block value);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='self'"
+ * @generated
+ */
+ Statement enclosingLoopStatement();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model ordered="false" elementRequired="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n if self.condition = element then self.body.assignmentAfter\n else self.assignmentBefore\n endif'"
+ * @generated
+ */
+ EList<AssignedSource> assignmentsBefore(SyntaxElement element);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model ordered="false"
+ * annotation=
+ * "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n let assignmentsBefore = self.assignmentBefore in\n self.condition.assignmentAfter->\n select(isNew(assignmentsBefore)) ->\n iterate(a, assignments : Set(AssignedSource) = assignmentsBefore |\n AssignedSource{\n name = a.name,\n source = self,\n type = a.type,\n lower = a.lower,\n upper = a.upper\n }.update(assignments)\n )'"
+ * @generated
+ */
+ EList<AssignedSource> assignmentsAfter();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The assignments before the block of a do statement are the same as the
+ * assignments before the do statement. The assignments before the condition
+ * expression of a do statement are the same assignments after the block.
+ * (See assignmentsBefore(element) operation.)
+ * <!-- end-model-doc -->
+ *
+ * @model
+ * @generated
+ */
+ boolean doStatementAssignmentsBefore(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * If the assigned source for a name after the condition expression is
+ * different than before the do statement, then the assigned source of the
+ * name after the do statement is the do statement. Otherwise it is the same
+ * as before the do statement.
+ * (See assignmentsAfter() operation.)
+ * <!-- end-model-doc -->
+ *
+ * @model
+ * @generated
+ */
+ boolean doStatementAssignmentsAfter(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The condition expression of a do statement must have type Boolean and a
+ * multiplicity upper bound of 1.
+ * <!-- end-model-doc -->
+ *
+ * @model annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n let type = self.condition.type in\n type <> null and self.isBooleanType(type) and condition.upper = 1'"
+ * @generated
+ */
+ boolean doStatementCondition(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The enclosing statement for all statements in the body of a do statement
+ * are the do statement.
+ * (See SyntaxElement::enclosingStatement() operation.)
+ * <!-- end-model-doc -->
+ *
+ * @model
+ * @generated
+ */
+ boolean doStatementEnclosedStatements(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+} // DoStatement
diff --git a/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/DocumentedElement.java b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/DocumentedElement.java
new file mode 100644
index 00000000000..24b43862256
--- /dev/null
+++ b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/DocumentedElement.java
@@ -0,0 +1,44 @@
+/**
+ */
+package org.eclipse.papyrus.uml.alf;
+
+import org.eclipse.emf.common.util.EList;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Documented Element</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * A syntax element that has documentation comments associated with it.
+ * <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.uml.alf.DocumentedElement#getDocumentation <em>Documentation</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getDocumentedElement()
+ * @model abstract="true"
+ * @generated
+ */
+public interface DocumentedElement extends SyntaxElement {
+ /**
+ * Returns the value of the '<em><b>Documentation</b></em>' attribute list.
+ * The list contents are of type {@link java.lang.String}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The documentation text to be associated with a syntax element. Each string is intended to be mapped to the body of a comment element in the target UML model.
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Documentation</em>' attribute list.
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getDocumentedElement_Documentation()
+ * @model ordered="false"
+ * @generated
+ */
+ EList<String> getDocumentation();
+
+} // DocumentedElement
diff --git a/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/EffectiveLeftHandSide.java b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/EffectiveLeftHandSide.java
new file mode 100644
index 00000000000..4db99b008a5
--- /dev/null
+++ b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/EffectiveLeftHandSide.java
@@ -0,0 +1,92 @@
+/**
+ */
+package org.eclipse.papyrus.uml.alf;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Effective Left Hand Side</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.uml.alf.EffectiveLeftHandSide#getExpression <em>Expression</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getEffectiveLeftHandSide()
+ * @model
+ * @generated
+ */
+public interface EffectiveLeftHandSide extends NameLeftHandSide {
+ /**
+ * Returns the value of the '<em><b>Expression</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Expression</em>' reference isn't clear, there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ *
+ * @return the value of the '<em>Expression</em>' reference.
+ * @see #setExpression(Expression)
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getEffectiveLeftHandSide_Expression()
+ * @model required="true"
+ * @generated
+ */
+ Expression getExpression();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.uml.alf.EffectiveLeftHandSide#getExpression <em>Expression</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Expression</em>' reference.
+ * @see #getExpression()
+ * @generated
+ */
+ void setExpression(Expression value);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model annotation=
+ * "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n let expression = self.primary() in\n if expression.oclIsKindOf(NameExpression) then\n expression.oclAsType(NameExpression).name\n else\n null\n endif'"
+ * @generated
+ */
+ QualifiedName target();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model annotation=
+ * "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n if self.expression.oclIsKindOf(SequenceAccessExpression) then\n self.expression.oclAsType(SequenceAccessExpression).index\n else\n null\n endif'"
+ * @generated
+ */
+ Expression index();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model annotation=
+ * "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n let primary = self.primary() in\n if expression.oclIsKindOf(NameExpression) then\n expression.oclAsType(NameExpression).name.disambiguation\n else if expression.oclIsKindOf(PropertyAccessExpression) then\n expression.oclAsType(PropertyAccessExpression).featureReference\n else\n null\n endif endif'"
+ * @generated
+ */
+ FeatureReference feature();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model required="true"
+ * annotation=
+ * "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n if self.expression.oclIsKindOf(SequenceAccessExpression) then\n self.expression.oclAsType(SequenceAccessExpression).primary\n else\n expression\n endif'"
+ * @generated
+ */
+ Expression primary();
+
+} // EffectiveLeftHandSide
diff --git a/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/ElementImportReference.java b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/ElementImportReference.java
new file mode 100644
index 00000000000..9294847d980
--- /dev/null
+++ b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/ElementImportReference.java
@@ -0,0 +1,85 @@
+/**
+ */
+package org.eclipse.papyrus.uml.alf;
+
+import java.util.Map;
+
+import org.eclipse.emf.common.util.DiagnosticChain;
+import org.eclipse.emf.common.util.EList;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Element Import Reference</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * An import reference to a single element to be imported into a unit.
+ * <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.uml.alf.ElementImportReference#getAlias <em>Alias</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getElementImportReference()
+ * @model
+ * @generated
+ */
+public interface ElementImportReference extends ImportReference {
+ /**
+ * Returns the value of the '<em><b>Alias</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The alias to be used as the name for the imported element in the importing unit’s namespace.
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Alias</em>' attribute.
+ * @see #setAlias(String)
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getElementImportReference_Alias()
+ * @model
+ * @generated
+ */
+ String getAlias();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.uml.alf.ElementImportReference#getAlias <em>Alias</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Alias</em>' attribute.
+ * @see #getAlias()
+ * @generated
+ */
+ void setAlias(String value);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * Return the set of all imported members.
+ * <!-- end-model-doc -->
+ *
+ * @model ordered="false"
+ * annotation=
+ * "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n if self.referent = null then\n Set(Member){}\n else\n Set{Member{\n visibility = self.visibility,\n definition = ImportedMember{\n name = if self.alias = null then self.referent.name() else self.alias endif,\n referent = self.referent\n }\n }}\n endif'"
+ * @generated
+ */
+ EList<Member> importedMembers();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The referent of an element import reference must be a packageable element.
+ * <!-- end-model-doc -->
+ *
+ * @model annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n self.referent <>null and self.referent.isPackageableElement()'"
+ * @generated
+ */
+ boolean elementImportReferenceReferent(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+} // ElementImportReference
diff --git a/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/ElementReference.java b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/ElementReference.java
new file mode 100644
index 00000000000..c2d3e9a2e64
--- /dev/null
+++ b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/ElementReference.java
@@ -0,0 +1,992 @@
+/**
+ */
+package org.eclipse.papyrus.uml.alf;
+
+import java.math.BigInteger;
+import org.eclipse.emf.cdo.CDOObject;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Element Reference</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * A reference to a model element, either directly or via its Alf abstract
+ * syntax representation. (NOTE: The definitions of all the helper operations
+ * of ElementReference are specific to its subclasses.)
+ * <!-- end-model-doc -->
+ *
+ *
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getElementReference()
+ * @model abstract="true"
+ * @extends CDOObject
+ * @generated
+ */
+public interface ElementReference extends CDOObject {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model kind="operation" required="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='false'"
+ * @generated
+ */
+ boolean isUml();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model kind="operation" required="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='false'"
+ * @generated
+ */
+ boolean isAlf();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='null'"
+ * @generated
+ */
+ EObject asUml();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='null'"
+ * @generated
+ */
+ SyntaxElement asAlf();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model
+ * @generated
+ */
+ Member asMember();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model required="true" memberRequired="true"
+ * @generated
+ */
+ boolean isSameKindAs(ElementReference member);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model kind="operation" required="true"
+ * @generated
+ */
+ boolean isNamedElement();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model kind="operation" required="true"
+ * @generated
+ */
+ boolean isNamespace();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model required="true" unitRequired="true"
+ * @generated
+ */
+ boolean isNamespaceFor(UnitDefinition unit);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model kind="operation" required="true"
+ * @generated
+ */
+ boolean isModelNamespace();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model kind="operation" required="true"
+ * @generated
+ */
+ boolean isPackage();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model kind="operation" required="true"
+ * @generated
+ */
+ boolean isProfile();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model kind="operation" required="true"
+ * @generated
+ */
+ boolean isPackageableElement();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model kind="operation" required="true"
+ * @generated
+ */
+ boolean isClassifier();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model kind="operation" required="true"
+ * @generated
+ */
+ boolean isAbstractClassifier();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model kind="operation" required="true"
+ * @generated
+ */
+ boolean isAssociation();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model kind="operation" required="true"
+ * @generated
+ */
+ boolean isDataType();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model kind="operation" required="true"
+ * @generated
+ */
+ boolean isClass();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model kind="operation" required="true"
+ * @generated
+ */
+ boolean isActiveClass();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model kind="operation" required="true"
+ * @generated
+ */
+ boolean isSignal();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model kind="operation" required="true"
+ * @generated
+ */
+ boolean isEnumeration();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model kind="operation" required="true"
+ * @generated
+ */
+ boolean isBehavior();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model kind="operation" required="true"
+ * @generated
+ */
+ boolean isActivity();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model kind="operation" required="true"
+ * @generated
+ */
+ boolean isMethod();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model kind="operation" required="true"
+ * @generated
+ */
+ boolean isPrimitiveType();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model kind="operation" required="true"
+ * @generated
+ */
+ boolean isReception();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model kind="operation" required="true"
+ * @generated
+ */
+ boolean isOperation();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model kind="operation" required="true"
+ * @generated
+ */
+ boolean isConstructor();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model kind="operation" required="true"
+ * @generated
+ */
+ boolean isDestructor();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model kind="operation" required="true"
+ * @generated
+ */
+ boolean isFeature();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model kind="operation" required="true"
+ * @generated
+ */
+ boolean isProperty();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model kind="operation" required="true"
+ * @generated
+ */
+ boolean isAssociationEnd();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model kind="operation" required="true"
+ * @generated
+ */
+ boolean isParameter();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model kind="operation" required="true"
+ * @generated
+ */
+ boolean isTemplate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model kind="operation" required="true"
+ * @generated
+ */
+ boolean isTemplateParameter();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model kind="operation" required="true"
+ * @generated
+ */
+ boolean isClassifierTemplateParameter();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model kind="operation" required="true"
+ * @generated
+ */
+ boolean isParameteredElement();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model kind="operation" required="true"
+ * @generated
+ */
+ boolean isTemplateBinding();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model kind="operation" required="true"
+ * @generated
+ */
+ boolean isStereotype();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model kind="operation" required="true"
+ * @generated
+ */
+ boolean isEnumerationLiteral();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model kind="operation" required="true"
+ * @generated
+ */
+ boolean isLoopVariable();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model kind="operation" required="true"
+ * @generated
+ */
+ boolean isAnnotation();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model kind="operation" required="true"
+ * @generated
+ */
+ boolean isSequenceExpansionExpression();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model kind="operation" required="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='false'"
+ * @generated
+ */
+ boolean isAnyType();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model required="true" otherRequired="true"
+ * annotation=
+ * "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n let member = self.asMember() in\n let otherMember = other.asMember() in\n if member = null or otherMember = null then true\n else\n member.definition.isDistinguishableFrom(otherMember.definition)\n endif'"
+ * @generated
+ */
+ boolean isDistinguishableFrom(ElementReference other);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model required="true" elementRequired="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n AssignableElementReference{\n reference = self, owner = element.owner()\n }.isAssignableFrom(element)'"
+ * @generated
+ */
+ boolean isAssignableFrom(AssignableElement element);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model annotation=
+ * "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n-- let templateActuals = self.templateActuals() in\n-- if templateActuals->isEmpty() then null\n-- else templateActuals->first()\n-- endif;\n let toSequenceOperation = self.resolve(\'toSequence\')->select(\n isOperation() and parameters()->size() = 0 and returnParameter() <> null\n ) in\n if toSequenceOperation->size() <> 1 then null\n else toSequenceOperation->any(true).type()\n endif'"
+ * @generated
+ */
+ ElementReference collectionArgument();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model
+ * @generated
+ */
+ String name();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model
+ * @generated
+ */
+ String visibility();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model
+ * @generated
+ */
+ EList<ElementReference> ownedMembers();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model
+ * @generated
+ */
+ EList<ElementReference> members();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model ordered="false"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='self.members()->select(visibility() = null or visibility() = \'public\')'"
+ * @generated
+ */
+ EList<ElementReference> visibleMembers();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='self.members()->select(isProperty())'"
+ * @generated
+ */
+ EList<ElementReference> properties();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='self.members()->select(isAssociationEnd())'"
+ * @generated
+ */
+ EList<ElementReference> associationEnds();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model
+ * @generated
+ */
+ ElementReference opposite();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model ordered="false"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='self.members()->select(isReception())'"
+ * @generated
+ */
+ EList<ElementReference> receptions();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model
+ * @generated
+ */
+ ElementReference signal();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model
+ * @generated
+ */
+ EList<ElementReference> parameters();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model
+ * @generated
+ */
+ ElementReference returnParameter();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model
+ * @generated
+ */
+ ElementReference specification();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model ordered="false"
+ * @generated
+ */
+ EList<ElementReference> redefinedOperations();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model
+ * @generated
+ */
+ ElementReference namespace();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model
+ * @generated
+ */
+ ElementReference template();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model
+ * @generated
+ */
+ EList<ElementReference> templateParameters();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model
+ * @generated
+ */
+ EList<ElementReference> parameteredElements();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model
+ * @generated
+ */
+ EList<ElementReference> templateActuals();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model
+ * @generated
+ */
+ String direction();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model
+ * @generated
+ */
+ ElementReference association();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model
+ * @generated
+ */
+ ElementReference type();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model required="true"
+ * @generated
+ */
+ BigInteger lower();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model required="true"
+ * @generated
+ */
+ BigInteger upper();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model kind="operation" required="true"
+ * @generated
+ */
+ boolean isOrdered();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model kind="operation" required="true"
+ * @generated
+ */
+ boolean isNonunique();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model ordered="false"
+ * @generated
+ */
+ EList<ElementReference> parents();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model ordered="false"
+ * @generated
+ */
+ EList<ElementReference> allParents();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model
+ * @generated
+ */
+ ElementReference classifierBehavior();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model ordered="false"
+ * @generated
+ */
+ EList<ElementReference> appliedProfiles();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model required="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n let template = self.template() in\n if template = null then self\n else template\n endif'"
+ * @generated
+ */
+ ElementReference base();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model required="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='self'"
+ * @generated
+ */
+ ElementReference reference();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='null'"
+ * @generated
+ */
+ ElementReference templateBinding();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model required="true" actualsUnique="false" actualsMany="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n BoundClassifier{\n name = self.boundElementName(actuals),\n template = self,\n actual = actuals\n }.addToModel().toReference()'"
+ * @generated
+ */
+ ElementReference bind(EList<ElementReference> actuals);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model required="true" actualsUnique="false" actualsMany="true"
+ * annotation=
+ * "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n actuals->iterate(\n actual, s : Types::String = \'$$\' + self.boundPathName() + \'__\' |\n s + if actual = null then \'any\' else actual.boundPathName() endif + \'_\'\n ) + \'_\''"
+ * @generated
+ */
+ String boundElementName(EList<ElementReference> actuals);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model required="true"
+ * annotation=
+ * "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n if self.isModelNamespace() then \'\'\n else\n let template = self.template() in\n if template = null then\n let namespace = self.namespace() in\n let name = if self.name() = null then \'\' else self.name() endif in\n if namespace = null or namespace.isModelNamespace() then name\n else namespace.boundPathName() + \'$\' + name\n endif\n else\n template.boundElementName(self.templateActuals()->asSequence())\n endif\n endif'"
+ * @generated
+ */
+ String boundPathName();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model required="true"
+ * annotation=
+ * "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n if self.isModelNamespace() then\n QualifiedName{nameBinding = OrderedSet(NameBinding){}}\n else\n let template = self.template() in\n if template = null then\n let namespace = self.namespace() in\n let qualifiedName =\n if namespace = null then null \n else namespace.qualifiedName() endif in\n let name = self.name() in\n let nameBinding = NameBinding{\n name = if name = null then \'\' else name endif\n } in\n if qualifiedName = null then\n QualifiedName{nameBinding = OrderedSet{nameBinding}}\n else\n QualifiedName{\n nameBinding = qualifiedName.nameBinding->append(nameBinding)\n }\n endif\n else\n let templateName = template.qualifiedName() in\n let nameBindings = templateName.nameBinding in\n let n = nameBindings->size() in\n if n = 0 then\n templateName\n else\n let templateBinding = PositionalTemplateBinding{\n argumentName = self.templateActuals()->\n collect(templateActual | \n if templateActual = null then \n QualifiedName{nameBinding = OrderedSet(NameBinding){}}\n else \n templateActual.qualifiedName() \n endif\n )\n } in\n let name = self.name() in\n let nameBinding = NameBinding{\n name = if name = null then \'\' else name endif,\n binding = templateBinding\n } in\n if n = 1 then\n QualifiedName{nameBinding = OrderedSet{nameBinding}}\n else\n QualifiedName{\n nameBinding =\n nameBindings->subOrderedSet(1,n-1)->append(nameBinding)\n }\n endif\n endif\n endif\n endif'"
+ * @generated
+ */
+ QualifiedName qualifiedName();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * Return the active class corresponding to an activity, if any.
+ * This is either the activity itself, if it is active, or the class that
+ * has the activity as a classifier behavior.
+ * <!-- end-model-doc -->
+ *
+ * @model
+ * @generated
+ */
+ ElementReference activeClass();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model kind="operation" required="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='self.activeClass() <> null'"
+ * @generated
+ */
+ boolean isActiveBehavior();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model required="true"
+ * @generated
+ */
+ boolean conformsTo(ElementReference other);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model required="true"
+ * @generated
+ */
+ boolean equals(ElementReference other);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model required="true" referencesUnique="false" referencesMany="true" referencesOrdered="false"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='references->exists(equals(self))'"
+ * @generated
+ */
+ boolean containedIn(EList<ElementReference> references);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model required="true" referencesUnique="false" referencesMany="true" referencesOrdered="false"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='references->select(equals(self))->size()'"
+ * @generated
+ */
+ BigInteger countIn(EList<ElementReference> references);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model required="true" referencesUnique="false" referencesMany="true"
+ * annotation=
+ * "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n if references->isEmpty() then 0\n else\n let indices = \n Sequence{1..references->size()}->select(i | self.equals(references->at(i)))\n in\n if indices->isEmpty() then 0\n else indices->first()\n endif\n endif'"
+ * @generated
+ */
+ BigInteger positionIn(EList<ElementReference> references);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model required="true"
+ * @generated
+ */
+ ElementReference copy();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model required="true"
+ * @generated
+ */
+ ElementReference modelScope();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model ordered="false" pathNameRequired="true"
+ * @generated
+ */
+ EList<ElementReference> resolvePathName(String pathName);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model ordered="false" nameRequired="true"
+ * annotation=
+ * "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n let members = self.resolveInScope(name) in\n let outerScope = self.namespace() in\n if outerScope = null then\n members\n else\n members->union(\n outerScope.resolve(name)->select(m1 | \n members->forAll(m2 | \n m1.isDistinguishableFrom(m2)\n )\n )\n )\n endif'"
+ * @generated
+ */
+ EList<ElementReference> resolve(String name);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model ordered="false" nameRequired="true"
+ * @generated
+ */
+ EList<ElementReference> resolveInScope(String name);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model ordered="false" stereotypeNameRequired="true"
+ * @generated
+ */
+ EList<ElementReference> resolveStereotype(String stereotypeName);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model ordered="false" nameRequired="true"
+ * annotation=
+ * "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n let members = self.resolveInScope(name) in\n -- Note: If this namespace is the same as or a containing scope of the \n -- given namespace, or if the given namespace is null, then all members \n -- of this namespace are visible.\n if namespace = null or\n self.equals(namespace) or\n self.containsMember(namespace) then\n members\n else\n members->select(visibility() = \'public\' or \n self.allowPackageOnly() and visibility() = \'package\'\n )\n endif'"
+ * @generated
+ */
+ EList<ElementReference> resolveVisible(String name, ElementReference namespace);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model ordered="false" oppositeEndTypeRequired="true" nameRequired="true"
+ * annotation=
+ * "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n let referents = self.members()->\n -- Note: Only association-owned ends are considered as association ends.\n select(isAssociation() and (properties()->size() = 2)).associationEnds()->\n select(associationEnd |\n let opposite = associationEnd.opposite() in\n opposite <> null and\n oppositeEndType.conformsTo(opposite.type()) and\n name = associationEnd.name()\n )\n in\n let outerScope = self.namespace() in\n if outerScope = null then referents\n else\n let hiddenNames = referents.name() in\n referents->union(\n outerScope.resolveAssociationEnd(oppositeEndType, name)->\n reject(outerReferent | hiddenNames->includes(outerReferent.name()))\n )\n endif'"
+ * @generated
+ */
+ EList<ElementReference> resolveAssociationEnd(ElementReference oppositeEndType, String name);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model required="true" memberRequired="true"
+ * annotation=
+ * "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n member = null or\n let namespace = member.namespace() in\n namespace <> null and\n (self.equals(namespace) or\n self.containsMember(namespace))'"
+ * @generated
+ */
+ boolean containsMember(ElementReference member);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model required="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='not self.isPackage()'"
+ * @generated
+ */
+ boolean allowPackageOnly();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model
+ * @generated
+ */
+ ElementReference stub();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model unitRequired="true"
+ * @generated
+ */
+ ElementReference stubFor(UnitDefinition unit);
+
+} // ElementReference
diff --git a/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/EmptyStatement.java b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/EmptyStatement.java
new file mode 100644
index 00000000000..47d0f1f867d
--- /dev/null
+++ b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/EmptyStatement.java
@@ -0,0 +1,36 @@
+/**
+ */
+package org.eclipse.papyrus.uml.alf;
+
+import java.util.Map;
+
+import org.eclipse.emf.common.util.DiagnosticChain;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Empty Statement</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * A statement that has no affect when executed.
+ * <!-- end-model-doc -->
+ *
+ *
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getEmptyStatement()
+ * @model
+ * @generated
+ */
+public interface EmptyStatement extends Statement {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The assignments after and empty statement are the same as the assignments before the statement.
+ * <!-- end-model-doc -->
+ *
+ * @model
+ * @generated
+ */
+ boolean emptyStatementAssignmentsAfter(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+} // EmptyStatement
diff --git a/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/EnumerationDefinition.java b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/EnumerationDefinition.java
new file mode 100644
index 00000000000..7cbe22aec7f
--- /dev/null
+++ b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/EnumerationDefinition.java
@@ -0,0 +1,78 @@
+/**
+ */
+package org.eclipse.papyrus.uml.alf;
+
+import java.util.Map;
+
+import org.eclipse.emf.common.util.DiagnosticChain;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Enumeration Definition</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * The definition of an enumeration, whose members must all be enumeration literal names.
+ * <!-- end-model-doc -->
+ *
+ *
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getEnumerationDefinition()
+ * @model
+ * @generated
+ */
+public interface EnumerationDefinition extends ClassifierDefinition {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * Returns true if the given unit definition matches this enumeration definition considered
+ * as a classifier definition and the subunit is for an enumeration definition.
+ * <!-- end-model-doc -->
+ *
+ * @model required="true" unitRequired="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n self.ClassifierDefinition_matchForStub(unit) and\n unit.definition.oclIsKindOf(EnumerationDefinition)'"
+ * @generated
+ */
+ boolean matchForStub(UnitDefinition unit);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * In addition to the annotations allowed for classifiers in general, an enumeration definition
+ * allows an annotation for any stereotype whose metaclass is consistent with Enumeration.
+ * <!-- end-model-doc -->
+ *
+ * @model required="true" annotationRequired="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n /* TODO: Allow enumeration stereotype annotations. \052/\n self.ClassifierDefinition_annotationAllowed(annotation)'"
+ * @generated
+ */
+ boolean annotationAllowed(StereotypeAnnotation annotation);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * Return true if the given member is either an EnumerationDefinition or an imported member
+ * whose referent is an EnumerationDefinition or an Enumeration.
+ * <!-- end-model-doc -->
+ *
+ * @model required="true" memberRequired="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='member.isEnumeration()'"
+ * @generated
+ */
+ boolean isSameKindAs(ElementReference member);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The specialization referents of an enumeration definition must all be enumerations.
+ * <!-- end-model-doc -->
+ *
+ * @model annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n self.specializationReferent->forAll(isEnumeration())'"
+ * @generated
+ */
+ boolean enumerationDefinitionSpecializationReferent(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+} // EnumerationDefinition
diff --git a/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/EnumerationLiteralName.java b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/EnumerationLiteralName.java
new file mode 100644
index 00000000000..662fadc8a9a
--- /dev/null
+++ b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/EnumerationLiteralName.java
@@ -0,0 +1,34 @@
+/**
+ */
+package org.eclipse.papyrus.uml.alf;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Enumeration Literal Name</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * The definition of an enumeration literal, as a member of an enumeration definition.
+ * <!-- end-model-doc -->
+ *
+ *
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getEnumerationLiteralName()
+ * @model
+ * @generated
+ */
+public interface EnumerationLiteralName extends MemberDefinition {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * Returns false. (Enumeration literal name cannot have annotations.)
+ * <!-- end-model-doc -->
+ *
+ * @model required="true" annotationRequired="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='false'"
+ * @generated
+ */
+ boolean annotationAllowed(StereotypeAnnotation annotation);
+
+} // EnumerationLiteralName
diff --git a/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/EqualityExpression.java b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/EqualityExpression.java
new file mode 100644
index 00000000000..3e6b4c7a2ef
--- /dev/null
+++ b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/EqualityExpression.java
@@ -0,0 +1,153 @@
+/**
+ */
+package org.eclipse.papyrus.uml.alf;
+
+import java.math.BigInteger;
+import java.util.Map;
+
+import org.eclipse.emf.common.util.DiagnosticChain;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Equality Expression</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * A binary expression that tests the equality of its operands.
+ * <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.uml.alf.EqualityExpression#isIsNegated <em>Is Negated</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getEqualityExpression()
+ * @model
+ * @generated
+ */
+public interface EqualityExpression extends BinaryExpression {
+ /**
+ * Returns the value of the '<em><b>Is Negated</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * Whether the test is for being not equal.
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Is Negated</em>' attribute.
+ * @see #setIsNegated(boolean)
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getEqualityExpression_IsNegated()
+ * @model transient="true" volatile="true" derived="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot derivation='self.operator = \'!=\''"
+ * @generated
+ */
+ boolean isIsNegated();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.uml.alf.EqualityExpression#isIsNegated <em>Is Negated</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Is Negated</em>' attribute.
+ * @see #isIsNegated()
+ * @generated
+ */
+ void setIsNegated(boolean value);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='self.booleanType()'"
+ * @generated
+ */
+ ElementReference type();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model required="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='1'"
+ * @generated
+ */
+ BigInteger lower();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model required="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='1'"
+ * @generated
+ */
+ BigInteger upper();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * An equality expression is negated if its operator is "!=".
+ * <!-- end-model-doc -->
+ *
+ * @model
+ * @generated
+ */
+ boolean equalityExpressionIsNegatedDerivation(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * An equality expression has type Boolean.
+ * (See the type() operation.)
+ * <!-- end-model-doc -->
+ *
+ * @model
+ * @generated
+ */
+ boolean equalityExpressionTypeDerivation(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * An equality expression has a multiplicity lower bound of 1.
+ * (See the lower() operation.)
+ * <!-- end-model-doc -->
+ *
+ * @model
+ * @generated
+ */
+ boolean equalityExpressionLowerDerivation(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * An equality expression has a multiplicity upper bound of 1.
+ * (See the upper() operation.)
+ * <!-- end-model-doc -->
+ *
+ * @model
+ * @generated
+ */
+ boolean equalityExpressionUpperDerivation(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * Returns false for an equality expression.
+ * <!-- end-model-doc -->
+ *
+ * @model required="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='false'"
+ * @generated
+ */
+ boolean noNullArguments();
+
+} // EqualityExpression
diff --git a/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/Expression.java b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/Expression.java
new file mode 100644
index 00000000000..259dc3889fd
--- /dev/null
+++ b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/Expression.java
@@ -0,0 +1,175 @@
+/**
+ */
+package org.eclipse.papyrus.uml.alf;
+
+import java.util.Map;
+import org.eclipse.emf.common.util.DiagnosticChain;
+import org.eclipse.emf.common.util.EList;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Expression</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * A model of the common properties derived for any Alf expression.
+ * NOTE: The derivations for all properties of Expression except
+ * AssignmentsAfter are specific to its various subclasses.
+ *
+ * <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.uml.alf.Expression#getAssignmentBefore <em>Assignment Before</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.Expression#getAssignmentAfter <em>Assignment After</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getExpression()
+ * @model abstract="true"
+ * @generated
+ */
+public interface Expression extends AssignableElement {
+ /**
+ * Returns the value of the '<em><b>Assignment Before</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.uml.alf.AssignedSource}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The assigned sources for local names available lexically before this
+ * expression.
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Assignment Before</em>' reference list.
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getExpression_AssignmentBefore()
+ * @model transient="true" volatile="true" derived="true" ordered="false"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot derivation='\n self.assignmentsBefore()'"
+ * @generated
+ */
+ EList<AssignedSource> getAssignmentBefore();
+
+ /**
+ * Returns the value of the '<em><b>Assignment After</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.uml.alf.AssignedSource}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The assigned sources for local names available lexically after this
+ * expression. This includes not only any assignments made within the
+ * expression, but also any assignments that are unchanged from before the
+ * expression.
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Assignment After</em>' reference list.
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getExpression_AssignmentAfter()
+ * @model transient="true" volatile="true" derived="true" ordered="false"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot derivation='self.updateAssignmentsCached()'"
+ * @generated
+ */
+ EList<AssignedSource> getAssignmentAfter();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * Get the assigned sources for assignments made within this expression.
+ * <!-- end-model-doc -->
+ *
+ * @model ordered="false"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n let assignmentsBefore = self.assignmentBefore in\n self.assignmentAfter->select(isNew(assignmentsBefore))'"
+ * @generated
+ */
+ EList<AssignedSource> newAssignments();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * Returns the assignments from before this expression updated for any
+ * assignments made in the expression. By default, this is the same set as
+ * the assignments before the expression. This operation is redefined only
+ * in subclasses of Expression for kinds of expressions that make assignments.
+ * <!-- end-model-doc -->
+ *
+ * @model ordered="false"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='self.Expression_updateAssignments()'"
+ * @generated
+ */
+ EList<AssignedSource> updateAssignments();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model ordered="false"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='self.assignmentBefore'"
+ * @generated
+ */
+ EList<AssignedSource> Expression_updateAssignments();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model ordered="false"
+ * @generated
+ */
+ EList<AssignedSource> updateAssignmentsCached();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * Return the assigned source element for the given name before this
+ * expression, if any.
+ * <!-- end-model-doc -->
+ *
+ * @model nameRequired="true"
+ * annotation=
+ * "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n let assignment = self.assignmentBefore->select(a | a.name = name) in\n if assignment->isEmpty() then null\n else assignment->any(true).source\n endif'"
+ * @generated
+ */
+ SyntaxElement resolve(String name);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * Return whether the given expression is the first argument of an
+ * invocation of CollectionFunctions::add. This is false by default and
+ * is overidden for relevant invocation expressions.
+ * <!-- end-model-doc -->
+ *
+ * @model required="true" targetExpressionRequired="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='false'"
+ * @generated
+ */
+ boolean isAddTarget(Expression targetExpression);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The assignments after an expression are given by the result of the
+ * updateAssignments helper operation.
+ * <!-- end-model-doc -->
+ *
+ * @model
+ * @generated
+ */
+ boolean expressionAssignmentAfterDerivation(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * No name may be assigned more than once before or after an expression.
+ * <!-- end-model-doc -->
+ *
+ * @model annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='self.assignmentBefore->isUnique(name) and self.assignmentAfter->isUnique(name)'"
+ * @generated
+ */
+ boolean expressionUniqueAssignments(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+} // Expression
diff --git a/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/ExpressionStatement.java b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/ExpressionStatement.java
new file mode 100644
index 00000000000..f1cf29b9e67
--- /dev/null
+++ b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/ExpressionStatement.java
@@ -0,0 +1,93 @@
+/**
+ */
+package org.eclipse.papyrus.uml.alf;
+
+import java.util.Map;
+
+import org.eclipse.emf.common.util.DiagnosticChain;
+import org.eclipse.emf.common.util.EList;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Expression Statement</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * A statement that evaluates an expression when executed.
+ * <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.uml.alf.ExpressionStatement#getExpression <em>Expression</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getExpressionStatement()
+ * @model
+ * @generated
+ */
+public interface ExpressionStatement extends Statement {
+ /**
+ * Returns the value of the '<em><b>Expression</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The expression to be evaluated.
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Expression</em>' containment reference.
+ * @see #setExpression(Expression)
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getExpressionStatement_Expression()
+ * @model containment="true"
+ * @generated
+ */
+ Expression getExpression();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.uml.alf.ExpressionStatement#getExpression <em>Expression</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Expression</em>' containment reference.
+ * @see #getExpression()
+ * @generated
+ */
+ void setExpression(Expression value);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model ordered="false"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n if self.expression = null then Set(AssignedSource){}\n else self.expression.assignmentAfter\n endif'"
+ * @generated
+ */
+ EList<AssignedSource> assignmentsAfter();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The assignments before the expression of an expression statement are the same as the assignments before the statement.
+ * <!-- end-model-doc -->
+ *
+ * @model
+ * @generated
+ */
+ boolean expressionStatementAssignmentsBefore(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The assignments after an expression statement are the same as the assignments after its expression.
+ * <!-- end-model-doc -->
+ *
+ * @model
+ * @generated
+ */
+ boolean expressionStatementAssignmentsAfter(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+} // ExpressionStatement
diff --git a/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/ExtentOrExpression.java b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/ExtentOrExpression.java
new file mode 100644
index 00000000000..34ac4cd8a28
--- /dev/null
+++ b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/ExtentOrExpression.java
@@ -0,0 +1,166 @@
+/**
+ */
+package org.eclipse.papyrus.uml.alf;
+
+import java.util.Map;
+
+import org.eclipse.emf.common.util.DiagnosticChain;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Extent Or Expression</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * The target of a sequence operation, reduction or expansion expression,
+ * which may be either a primary expression or a class name denoting the class
+ * extent.
+ * <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.uml.alf.ExtentOrExpression#getName <em>Name</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.ExtentOrExpression#getExpression <em>Expression</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.ExtentOrExpression#getNonNameExpression <em>Non Name Expression</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getExtentOrExpression()
+ * @model
+ * @generated
+ */
+public interface ExtentOrExpression extends Expression {
+ /**
+ * Returns the value of the '<em><b>Name</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * If the target is a qualified name, then that name, before it is
+ * disambiguated into either a name expression or a class name.
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Name</em>' containment reference.
+ * @see #setName(QualifiedName)
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getExtentOrExpression_Name()
+ * @model containment="true"
+ * @generated
+ */
+ QualifiedName getName();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.uml.alf.ExtentOrExpression#getName <em>Name</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Name</em>' containment reference.
+ * @see #getName()
+ * @generated
+ */
+ void setName(QualifiedName value);
+
+ /**
+ * Returns the value of the '<em><b>Expression</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The effective expression for the target.
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Expression</em>' reference.
+ * @see #setExpression(Expression)
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getExtentOrExpression_Expression()
+ * @model transient="true" volatile="true" derived="true"
+ * annotation=
+ * "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot derivation='\n if self.nonNameExpression <> null then self.nonNameExpression\n else if self.name.referent->exists(isClass()) then\n ClassExtentExpression{\n className = self.name.copy(),\n owner = self\n }\n else\n NameExpression{\n name = self.name.copy(),\n owner = self\n }\n endif endif'"
+ * @generated
+ */
+ Expression getExpression();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.uml.alf.ExtentOrExpression#getExpression <em>Expression</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Expression</em>' reference.
+ * @see #getExpression()
+ * @generated
+ */
+ void setExpression(Expression value);
+
+ /**
+ * Returns the value of the '<em><b>Non Name Expression</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The target primary expression, if it is not a qualified name.
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Non Name Expression</em>' containment reference.
+ * @see #setNonNameExpression(Expression)
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getExtentOrExpression_NonNameExpression()
+ * @model containment="true"
+ * @generated
+ */
+ Expression getNonNameExpression();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.uml.alf.ExtentOrExpression#getNonNameExpression <em>Non Name Expression</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Non Name Expression</em>' containment reference.
+ * @see #getNonNameExpression()
+ * @generated
+ */
+ void setNonNameExpression(Expression value);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model required="true" targetExpressionRequired="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='self.enclosingExpression().isAddTarget(targetExpression)'"
+ * @generated
+ */
+ boolean isAddTarget(Expression targetExpression);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The effective expression for the target is the parsed primary expression,
+ * if the target is not a qualified name, a name expression, if the target
+ * is a qualified name other than a class name, or a class extent expression,
+ * if the target is the qualified name of a class.
+ * <!-- end-model-doc -->
+ *
+ * @model
+ * @generated
+ */
+ boolean extentOrExpressionExpressionDerivation(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model annotation=
+ * "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n let expression = self.expression in\n expression.oclIsKindOf(ClassExtentExpression) implies\n expression.oclAsType(ClassExtentExpression).validateClassExtentExpressionExtentType()'"
+ * @generated
+ */
+ boolean extentOrExpressionExtentType(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n let expression = self.expression in\n expression.oclIsKindOf(NameExpression) implies\n expression.oclAsType(NameExpression).validateNameExpressionResolution()'"
+ * @generated
+ */
+ boolean extentOrExpressionResolution(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+} // ExtentOrExpression
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
new file mode 100644
index 00000000000..a05b3eec73c
--- /dev/null
+++ b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/ExternalElementReference.java
@@ -0,0 +1,974 @@
+/**
+ */
+package org.eclipse.papyrus.uml.alf;
+
+import java.math.BigInteger;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>External Element Reference</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * A direct reference to a UML model element.
+ * <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.uml.alf.ExternalElementReference#getElement <em>Element</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.ExternalElementReference#getAlias <em>Alias</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getExternalElementReference()
+ * @model
+ * @generated
+ */
+public interface ExternalElementReference extends ElementReference {
+ /**
+ * Returns the value of the '<em><b>Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The referenced model element.
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Element</em>' reference.
+ * @see #setElement(EObject)
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getExternalElementReference_Element()
+ * @model required="true"
+ * @generated
+ */
+ EObject getElement();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.uml.alf.ExternalElementReference#getElement <em>Element</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Element</em>' reference.
+ * @see #getElement()
+ * @generated
+ */
+ void setElement(EObject value);
+
+ /**
+ * Returns the value of the '<em><b>Alias</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The alias for the model element, if this is a reference to an imported
+ * element with multiple names within a namespace.
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Alias</em>' attribute.
+ * @see #setAlias(String)
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getExternalElementReference_Alias()
+ * @model
+ * @generated
+ */
+ String getAlias();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.uml.alf.ExternalElementReference#getAlias <em>Alias</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Alias</em>' attribute.
+ * @see #getAlias()
+ * @generated
+ */
+ void setAlias(String value);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model kind="operation" required="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='true'"
+ * @generated
+ */
+ boolean isUml();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='self.element'"
+ * @generated
+ */
+ EObject asUml();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model required="true"
+ * annotation=
+ * "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n if not self.isNamedElement() then null\n else\n Member{\n visibility = self.visibility(), \n definition = ImportedMember{name = self.name(), referent = self}\n }\n endif'"
+ * @generated
+ */
+ Member asMember();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model required="true" memberRequired="true"
+ * annotation=
+ * "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n if member.isAlf() then member.isSameKindAs(self)\n else\n let other = member.asUml().oclAsType(UML::Element) in\n self.element.oclIsKindOf(other.oclType()) or\n other.oclIsKindOf(self.element.oclType())\n endif'"
+ * @generated
+ */
+ boolean isSameKindAs(ElementReference member);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model kind="operation" required="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='self.element.oclIsKindOf(UML::NamedElement)'"
+ * @generated
+ */
+ boolean isNamedElement();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model kind="operation" required="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='self.element.oclIsKindOf(UML::Namespace)'"
+ * @generated
+ */
+ boolean isNamespace();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model required="true" unitRequired="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='self.isNamespace()'"
+ * @generated
+ */
+ boolean isNamespaceFor(UnitDefinition unit);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model kind="operation" required="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='false'"
+ * @generated
+ */
+ boolean isModelNamespace();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model kind="operation" required="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='self.element.oclIsKindOf(UML::Package)'"
+ * @generated
+ */
+ boolean isPackage();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model kind="operation" required="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='self.element.oclIsKindOf(UML::Profile)'"
+ * @generated
+ */
+ boolean isProfile();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model kind="operation" required="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='self.element.oclIsKindOf(UML::PackageableElement)'"
+ * @generated
+ */
+ boolean isPackageableElement();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model kind="operation" required="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='self.element.oclIsKindOf(UML::Classifier)'"
+ * @generated
+ */
+ boolean isClassifier();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model kind="operation" required="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='self.isClassifier() and self.element.oclAsType(UML::Classifier).isAbstract'"
+ * @generated
+ */
+ boolean isAbstractClassifier();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model kind="operation" required="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='self.element.oclIsKindOf(UML::Association)'"
+ * @generated
+ */
+ boolean isAssociation();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model kind="operation" required="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='self.element.oclIsKindOf(UML::DataType)'"
+ * @generated
+ */
+ boolean isDataType();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model kind="operation" required="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='self.element.oclIsKindOf(UML::Class) and not self.element.oclIsKindOf(UML::Behavior)'"
+ * @generated
+ */
+ boolean isClass();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model kind="operation" required="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='self.isClass() and self.element.oclAsType(UML::Class).isActive'"
+ * @generated
+ */
+ boolean isActiveClass();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model kind="operation" required="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='self.element.oclIsKindOf(UML::Signal)'"
+ * @generated
+ */
+ boolean isSignal();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model kind="operation" required="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='self.element.oclIsKindOf(UML::Enumeration)'"
+ * @generated
+ */
+ boolean isEnumeration();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model kind="operation" required="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='self.element.oclIsKindOf(UML::Behavior)'"
+ * @generated
+ */
+ boolean isBehavior();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model kind="operation" required="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='self.element.oclIsKindOf(UML::Activity)'"
+ * @generated
+ */
+ boolean isActivity();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model kind="operation" required="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n self.isBehavior() and\n self.element.oclAsType(UML::Behavior).specification <> null'"
+ * @generated
+ */
+ boolean isMethod();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model kind="operation" required="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='self.element.oclIsKindOf(UML::Reception)'"
+ * @generated
+ */
+ boolean isReception();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model kind="operation" required="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='self.element.oclIsKindOf(UML::PrimitiveType)'"
+ * @generated
+ */
+ boolean isPrimitiveType();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model kind="operation" required="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='self.element.oclIsKindOf(UML::Operation)'"
+ * @generated
+ */
+ boolean isOperation();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model kind="operation" required="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n self.isOperation() and \n self.element.oclAsType(UML::Element).\n getAppliedStereotype(\'StandardProfile::Create\') <> null'"
+ * @generated
+ */
+ boolean isConstructor();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model kind="operation" required="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n self.isOperation() and \n self.element.oclAsType(UML::Element).\n getAppliedStereotype(\'StandardProfile::Destroy\') <> null'"
+ * @generated
+ */
+ boolean isDestructor();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model kind="operation" required="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='self.element.oclIsKindOf(UML::Feature)'"
+ * @generated
+ */
+ boolean isFeature();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model kind="operation" required="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='self.element.oclIsKindOf(UML::Property)'"
+ * @generated
+ */
+ boolean isProperty();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model kind="operation" required="true"
+ * annotation=
+ * "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n self.isProperty() and \n -- Note: Only association-owned ends are considered as association ends.\n self.element.oclAsType(UML::Property).owningAssociation <> null'"
+ * @generated
+ */
+ boolean isAssociationEnd();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model kind="operation" required="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='self.element.oclIsKindOf(UML::Parameter)'"
+ * @generated
+ */
+ boolean isParameter();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model kind="operation" required="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n self.element.oclIsKindOf(UML::TemplateableElement) and\n self.element.oclAsType(UML::TemplateableElement).isTemplate()'"
+ * @generated
+ */
+ boolean isTemplate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model kind="operation" required="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='self.element.oclIsKindOf(UML::TemplateParameter)'"
+ * @generated
+ */
+ boolean isTemplateParameter();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model kind="operation" required="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='self.element.oclIsKindOf(UML::ClassifierTemplateParameter)'"
+ * @generated
+ */
+ boolean isClassifierTemplateParameter();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model kind="operation" required="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n self.element.oclIsKindOf(UML::Classifier) and\n self.element.oclAsType(UML::Classifier).templateParameter <> null'"
+ * @generated
+ */
+ boolean isParameteredElement();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model kind="operation" required="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='self.umlTemplateBinding()->notEmpty()'"
+ * @generated
+ */
+ boolean isTemplateBinding();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model kind="operation" required="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='self.element.oclIsKindOf(UML::Stereotype)'"
+ * @generated
+ */
+ boolean isStereotype();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model kind="operation" required="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='self.element.oclIsKindOf(UML::EnumerationLiteral)'"
+ * @generated
+ */
+ boolean isEnumerationLiteral();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model kind="operation" required="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='false'"
+ * @generated
+ */
+ boolean isLoopVariable();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model kind="operation" required="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='false'"
+ * @generated
+ */
+ boolean isAnnotation();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model kind="operation" required="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='false'"
+ * @generated
+ */
+ boolean isSequenceExpansionExpression();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model annotation=
+ * "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n if alias <> null then\n alias\n else if self.element.oclIsKindOf(UML::NamedElement) then \n self.element.oclAsType(UML::NamedElement).name\n else if self.element.oclIsKindOf(UML::TemplateParameter) then\n let parameteredElement = \n self.element.oclAsType(UML::TemplateParameter).parameteredElement \n in\n if parameteredElement.oclIsKindOf(UML::NamedElement) then\n parameteredElement.oclAsType(UML::NamedElement).name\n else\n null\n endif\n else\n null\n endif endif endif'"
+ * @generated
+ */
+ String name();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model annotation=
+ * "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n if not self.element.oclIsKindOf(UML::NamedElement) then \'\'\n else\n let visibility = self.element.oclAsType(UML::NamedElement).visibility in \n if visibility = null then null\n else if visibility = UML::VisibilityKind::public then \'public\'\n else if visibility = UML::VisibilityKind::protected then \'protected\'\n else if visibility = UML::VisibilityKind::private then \'private\'\n else \'\'\n endif endif endif endif\n endif'"
+ * @generated
+ */
+ String visibility();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model annotation=
+ * "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n if not self.isNamespace() then OrderedSet(ElementReference){}\n else \n self.element.oclAsType(UML::Namespace).ownedMember->\n collect(m | ExternalElementReference{element = m})->asOrderedSet()\n endif'"
+ * @generated
+ */
+ EList<ElementReference> ownedMembers();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * EXTERNAL
+ * (Workaround for a seeming OCL bug "unboxing" enumeration literals.)
+ * <!-- end-model-doc -->
+ *
+ * @model ordered="false"
+ * @generated
+ */
+ EList<ElementReference> enumerationMembers();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model annotation=
+ * "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n if not self.isNamespace() then OrderedSet(ElementReference){}\n else\n let namespace = self.element.oclAsType(UML::Namespace) in\n let members = \n if self.isEnumeration() then\n self.enumerationMembers()\n else\n namespace.member-> \n collect(m | \n let names = namespace.getNamesOfMember(m) in\n if names->isEmpty() then\n Bag{ExternalElementReference{element = m}}\n else\n names->collect(name | \n ExternalElementReference{alias = name, element = m}\n )\n endif\n )->asOrderedSet()\n endif\n in\n let additionalMembers = self.additionalMembers() in\n additionalMembers->includingAll(members)->\n includingAll(self.templateParameters())\n endif'"
+ * @generated
+ */
+ EList<ElementReference> members();
+
+ /**
+ * <!-- 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\n -- This will collect the inherited members from the effective \n -- expanded bound elements of each parent that is a template binding. \n self.parents()->select(isTemplateBinding())->asOrderedSet()->\n collect(binding |\n binding.oclAsType(ExternalElementReference).inherit(\n binding.template().bind(binding.templateActuals()->asSequence()).\n members()->select(visibility() <> \'private\')\n )\n )->asOrderedSet()\n endif'"
+ * @generated
+ */
+ EList<ElementReference> additionalMembers();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model inheritableMembersMany="true"
+ * annotation=
+ * "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n -- NOTE: This is used to reject operations that would be inherited\n -- via a template binding, in the case that the template binding itself\n -- has an operation that should hide the inheritable operation.\n -- This is used in the Alf standard library implementation as a\n -- substitute for redefinition of operations from template instantiation. \n let ownedOperations = self.ownedMembers()->select(isOperation()) in\n inheritableMembers->reject(inheritableMember |\n ownedOperations->exists(not isDistinguishableFrom(inheritableMember))\n )'"
+ * @generated
+ */
+ EList<ElementReference> inherit(EList<ElementReference> inheritableMembers);
+
+ /**
+ * <!-- 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()->includingAll(self.parents().properties())\n else\n self.element.oclAsType(UML::Classifier).allAttributes()->\n collect(a | ExternalElementReference{element = a})->\n asOrderedSet()\n endif endif'"
+ * @generated
+ */
+ EList<ElementReference> properties();
+
+ /**
+ * <!-- 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()->includingAll(self.parents().associationEnds())'"
+ * @generated
+ */
+ EList<ElementReference> associationEnds();
+
+ /**
+ * <!-- 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
+ */
+ ElementReference opposite();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model annotation=
+ * "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n if not self.isReception() then\n null\n else\n ExternalElementReference{\n element = self.element.oclAsType(UML::Reception).signal\n }\n endif'"
+ * @generated
+ */
+ ElementReference signal();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model annotation=
+ * "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n if self.isParameteredElement() then\n ExternalElementReference{\n element = self.element.oclAsType(UML::ParameterableElement).\n templateParameter.signature.template\n }\n else if self.element.oclIsKindOf(UML::NamedElement) then\n let namespace = self.element.oclAsType(UML::NamedElement).namespace in\n if namespace = null then\n null\n else\n ExternalElementReference{element = namespace}\n endif\n else\n null\n endif endif'"
+ * @generated
+ */
+ ElementReference namespace();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model annotation=
+ * "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n let template = self.template() in\n if template <> null then\n template.parameters()\n else if self.isBehavior() then\n self.element.oclAsType(UML::Behavior).ownedParameter\n else if self.isOperation() then\n self.element.oclAsType(UML::Operation).ownedParameter\n else\n OrderedSet{}\n endif endif endif'"
+ * @generated
+ */
+ EList<EObject> ownedParameters();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model annotation=
+ * "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n self.ownedParameters().oclAsType(UML::Parameter)->\n reject(direction = UML::ParameterDirectionKind::return)->\n collect(parameter |\n ExternalElementReference{element = parameter}\n )->asOrderedSet()'"
+ * @generated
+ */
+ EList<ElementReference> parameters();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model annotation=
+ * "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n let returnParameters = self.ownedParameters().oclAsType(UML::Parameter)->\n select(direction = UML::ParameterDirectionKind::return) \n in\n if returnParameters->isEmpty() then\n null\n else\n ExternalElementReference{element = returnParameters->any(true)}\n endif'"
+ * @generated
+ */
+ ElementReference returnParameter();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model annotation=
+ * "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n if self.isOperation() then \n self\n else if self.isBehavior() then\n let specification = self.element.oclAsType(UML::Behavior).specification in\n if specification = null then null\n else ExternalElementReference{element = specification}\n endif\n else \n null\n endif endif'"
+ * @generated
+ */
+ ElementReference specification();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model ordered="false"
+ * annotation=
+ * "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n if not self.isOperation() then Set(ElementReference){}\n else\n self.element.oclAsType(UML::Operation).redefinedOperation->\n collect(op | ExternalElementReference{element = op})\n endif'"
+ * @generated
+ */
+ EList<ElementReference> redefinedOperations();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model annotation=
+ * "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n let templateBinding = self.umlTemplateBinding() in\n if templateBinding = null or \n templateBinding.oclAsType(UML::TemplateBinding).signature = null then\n null\n else\n ExternalElementReference{\n element = templateBinding.oclAsType(UML::TemplateBinding).signature.template\n }\n endif'"
+ * @generated
+ */
+ ElementReference template();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model annotation=
+ * "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n if self.element.oclIsKindOf(UML::TemplateableElement) then\n let templateBindings = \n self.element.oclAsType(UML::TemplateableElement).templateBinding \n in\n if templateBindings->notEmpty() then\n templateBindings->any(true)\n else if self.element.oclIsKindOf(UML::NamedElement) then\n let templateBindings =\n self.element.oclAsType(UML::NamedElement).clientDependency->select(\n oclIsKindOf(UML::Realization) and\n supplier->size() = 1 and\n supplier->forAll(oclIsKindOf(UML::TemplateableElement))\n )->collect(\n supplier.oclAsType(UML::TemplateableElement).templateBinding\n )\n in\n if templateBindings->isEmpty() then\n null\n else\n templateBindings->any(true)\n endif\n else\n null\n endif endif\n else\n null\n endif'"
+ * @generated
+ */
+ EObject umlTemplateBinding();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model annotation=
+ * "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n if self.isTemplate() then\n self.element.oclAsType(UML::TemplateableElement).\n ownedTemplateSignature.parameter->\n collect(p | ExternalElementReference{element = p})->asOrderedSet()\n else\n OrderedSet(ElementReference){}\n endif'"
+ * @generated
+ */
+ EList<ElementReference> templateParameters();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model annotation=
+ * "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n if self.isTemplate() then\n self.element.oclAsType(UML::TemplateableElement).\n ownedTemplateSignature.parameter.parameteredElement->\n collect(p | ExternalElementReference{element = p})->asOrderedSet()\n else\n OrderedSet(ElementReference){}\n endif'"
+ * @generated
+ */
+ EList<ElementReference> parameteredElements();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model annotation=
+ * "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n let t = self.umlTemplateBinding() in\n if t = null then\n OrderedSet(ElementReference){}\n else\n let templateBinding = t.oclAsType(UML::TemplateBinding) in\n let parameterSubstitution = templateBinding.parameterSubstitution in\n templateBinding.signature.parameter->collect(parameter |\n parameterSubstitution->select(formal = parameter).actual\n )->collect(actual |\n ExternalElementReference{element = actual}\n )->asOrderedSet()\n endif'"
+ * @generated
+ */
+ EList<ElementReference> templateActuals();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model annotation=
+ * "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n if self.isParameter() then\n let direction = self.element.oclAsType(UML::Parameter).direction in\n if direction = UML::ParameterDirectionKind::_in then \'in\'\n else if direction = UML::ParameterDirectionKind::_in then \'in\'\n else if direction = UML::ParameterDirectionKind::out then \'out\'\n else if direction = UML::ParameterDirectionKind::inout then \'inout\'\n else if direction = UML::ParameterDirectionKind::return then \'return\'\n else null\n endif endif endif endif endif\n else\n null\n endif'"
+ * @generated
+ */
+ String direction();
+
+ /**
+ * <!-- 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 -- Note: Only owned ends are treated as association ends.\n else self.element.oclAsType(UML::Property).owningAssociation\n endif'"
+ * @generated
+ */
+ ElementReference association();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model annotation=
+ * "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n if self.isBehavior() then\n let returnParameter = self.returnParameter() in\n if returnParameter = null then null\n else returnParameter.type()\n endif\n else\n let type =\n if self.element.oclIsKindOf(UML::TypedElement) then\n self.element.oclAsType(UML::TypedElement).type\n else if self.isOperation() then\n self.element.oclAsType(UML::Operation).type\n else if self.isEnumerationLiteral() then\n self.element.oclAsType(UML::EnumerationLiteral).enumeration\n else\n null\n endif endif endif\n in\n if type = null then null \n else ExternalElementReference{element = type} endif\n endif'"
+ * @generated
+ */
+ ElementReference type();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model required="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n if self.element.oclIsKindOf(UML::MultiplicityElement) then\n self.element.oclAsType(UML::MultiplicityElement).lower\n else\n 1\n endif'"
+ * @generated
+ */
+ BigInteger lower();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model required="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n if self.element.oclIsKindOf(UML::MultiplicityElement) then\n self.element.oclAsType(UML::MultiplicityElement).upper\n else\n 1\n endif'"
+ * @generated
+ */
+ BigInteger upper();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model kind="operation" required="true"
+ * annotation=
+ * "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n if self.element.oclIsKindOf(UML::MultiplicityElement) then\n self.element.oclAsType(UML::MultiplicityElement).isOrdered\n else\n false\n endif'"
+ * @generated
+ */
+ boolean isOrdered();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model kind="operation" required="true"
+ * annotation=
+ * "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n if self.element.oclIsKindOf(UML::MultiplicityElement) then\n not self.element.oclAsType(UML::MultiplicityElement).isUnique\n else\n false\n endif'"
+ * @generated
+ */
+ boolean isNonunique();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model ordered="false"
+ * annotation=
+ * "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n if self.isClassifier() then\n self.element.oclAsType(UML::Classifier).general->\n collect(g | ExternalElementReference{element = g})->asSet()\n else if self.element.oclIsKindOf(UML::ClassifierTemplateParameter) then\n self.element.oclAsType(UML::ClassifierTemplateParameter).constrainingClassifier->\n collect(c | ExternalElementReference{element = c})->asSet()\n else\n Set(ElementReference){}\n endif endif'"
+ * @generated
+ */
+ EList<ElementReference> parents();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model ordered="false"
+ * annotation=
+ * "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n let allParents = \n if self.isClassifier() then \n self.element.oclAsType(UML::Classifier).allParents()->asSet()\n else if self.element.oclIsKindOf(UML::ClassifierTemplateParameter) then\n let parents = \n self.element.oclAsType(UML::ClassifierTemplateParameter).\n constrainingClassifier \n in\n parents->union(parents.allParents())->asSet()\n else\n Set(UML::Classifier){}\n endif endif\n in\n allParents->collect(p | ExternalElementReference{element = p})->asSet()'"
+ * @generated
+ */
+ EList<ElementReference> allParents();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model annotation=
+ * "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n if not self.element.oclIsKindOf(UML::BehavioredClassifier) then null\n else\n let classifierBehavior = \n self.element.oclAsType(UML::BehavioredClassifier).classifierBehavior in\n if classifierBehavior = null then null\n else ExternalElementReference{element = classifierBehavior}\n endif\n endif'"
+ * @generated
+ */
+ ElementReference classifierBehavior();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model ordered="false"
+ * annotation=
+ * "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n if not self.isNamespace() then Set(ecore::EObject){}\n else\n self.element.oclAsType(UML::Namespace).getNearestPackage().\n getAllAppliedProfiles()->\n collect(e | ExternalElementReference{element = e})\n endif'"
+ * @generated
+ */
+ EList<ElementReference> appliedProfiles();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model annotation=
+ * "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n if not self.isBehavior() then null\n else if self.element.oclAsType(UML::Behavior).isActive then self\n else\n let context = self.element.oclAsType(UML::Behavior).context in\n if context <> null and self.element = context.classifierBehavior then\n ExternalElementReference{element = context}\n else\n null\n endif\n endif endif'"
+ * @generated
+ */
+ ElementReference activeClass();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model required="true"
+ * annotation=
+ * "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n other = null or\n self.isClassifier() and \n let otherType = other.asUml() in\n otherType <> null and otherType.oclIsKindOf(UML::Type) and\n self.element.oclAsType(UML::Classifier).conformsTo(otherType.oclAsType(UML::Type))'"
+ * @generated
+ */
+ boolean conformsTo(ElementReference other);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model required="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n other <> null and \n other.asUml() = self.element and \n other.name() = self.name()'"
+ * @generated
+ */
+ boolean equals(ElementReference other);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model required="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='ExternalElementReference{element = self.element}'"
+ * @generated
+ */
+ ElementReference copy();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n if self.isNamespace() then self\n else null\n endif'"
+ * @generated
+ */
+ ElementReference modelScope();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model ordered="false" pathNameRequired="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='ExternalElementReference_resolvePathName(pathName)'"
+ * @generated
+ */
+ EList<ElementReference> resolvePathName(String pathName);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * EXTERNAL
+ * <!-- end-model-doc -->
+ *
+ * @model ordered="false" pathNameRequired="true"
+ * @generated
+ */
+ EList<ElementReference> ExternalElementReference_resolvePathName(String pathName);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model ordered="false" nameRequired="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='self.members()->select(name() = name)'"
+ * @generated
+ */
+ EList<ElementReference> resolveInScope(String name);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model ordered="false" stereotypeNameRequired="true"
+ * annotation=
+ * "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n if self.isProfile() then\n self.element.oclAsType(UML::Profile).ownedStereotype->\n select(name = stereotypeName)->\n collect(e | ExternalElementReference{element = e})->asSet()\n else\n Set(ElementReference){}\n endif'"
+ * @generated
+ */
+ EList<ElementReference> resolveStereotype(String stereotypeName);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='null'"
+ * @generated
+ */
+ ElementReference stub();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model unitRequired="true"
+ * annotation=
+ * "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n let definition = unit.definition in\n if not definition.oclIsKindOf(ActivityDefinition) then null\n else\n let name = definition.actualName() in\n let referents = self.ownedMembers()->select(\n isOperation() and (name = name() or name.startsWith(name() + \'$method$\')) or\n isActiveBehavior() and (name = name() or name.startsWith(name() + \'$behavior$\')) or\n isProperty() and name.startsWith(name() + \'$defaultValue$\') \n ) in\n if referents->isEmpty() then null\n else referents->any(true)\n endif\n endif'"
+ * @generated
+ */
+ ElementReference stubFor(UnitDefinition unit);
+
+} // ExternalElementReference
diff --git a/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/ExternalEnumerationLiteralReference.java b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/ExternalEnumerationLiteralReference.java
new file mode 100644
index 00000000000..b9a1a60cb19
--- /dev/null
+++ b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/ExternalEnumerationLiteralReference.java
@@ -0,0 +1,98 @@
+/**
+ */
+package org.eclipse.papyrus.uml.alf;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>External Enumeration Literal Reference</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * Workaround for apparent bug in Eclipse OCL handling of enumeration literals.
+ * <!-- end-model-doc -->
+ *
+ *
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getExternalEnumerationLiteralReference()
+ * @model
+ * @generated
+ */
+public interface ExternalEnumerationLiteralReference extends ExternalElementReference {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model kind="operation" required="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='true'"
+ * @generated
+ */
+ boolean isNamedEement();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model kind="operation" required="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='false'"
+ * @generated
+ */
+ boolean isClassifier();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model kind="operation" required="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='false'"
+ * @generated
+ */
+ boolean isParameter();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model kind="operation" required="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='true'"
+ * @generated
+ */
+ boolean isEnumerationLiteral();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model required="true"
+ * @generated
+ */
+ String ExternalEnumerationLiteralReference_visibility();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model required="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='ExternalEnumerationLiteralReference_visibility()'"
+ * @generated
+ */
+ String visibility();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model required="true"
+ * @generated
+ */
+ ElementReference ExternalEnumerationLiteralReference_type();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='ExternalEnumerationLiteralReference_type()'"
+ * @generated
+ */
+ ElementReference type();
+
+} // ExternalEnumerationLiteralReference
diff --git a/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/FeatureInvocationExpression.java b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/FeatureInvocationExpression.java
new file mode 100644
index 00000000000..e0b7233f628
--- /dev/null
+++ b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/FeatureInvocationExpression.java
@@ -0,0 +1,149 @@
+/**
+ */
+package org.eclipse.papyrus.uml.alf;
+
+import java.util.Map;
+
+import org.eclipse.emf.common.util.DiagnosticChain;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Feature Invocation Expression</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * An invocation of a feature referenced on a sequence of instances.
+ * <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.uml.alf.FeatureInvocationExpression#getTarget <em>Target</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getFeatureInvocationExpression()
+ * @model
+ * @generated
+ */
+public interface FeatureInvocationExpression extends InvocationExpression {
+ /**
+ * Returns the value of the '<em><b>Target</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * A feature reference to the target feature to be invoked.
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Target</em>' containment reference.
+ * @see #setTarget(FeatureReference)
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getFeatureInvocationExpression_Target()
+ * @model containment="true"
+ * @generated
+ */
+ FeatureReference getTarget();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.uml.alf.FeatureInvocationExpression#getTarget <em>Target</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Target</em>' containment reference.
+ * @see #getTarget()
+ * @generated
+ */
+ void setTarget(FeatureReference value);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model annotation=
+ * "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n if self.target <> null then self.target\n else\n let outerScope = self.currentScope().namespace() in\n if outerScope = null or not outerScope.isClass() then null\n else\n FeatureReference{\n expression = ThisExpression{},\n nameBinding = NameBinding{name = outerScope.name()},\n owner = self\n }\n endif\n endif'"
+ * @generated
+ */
+ FeatureReference feature();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n let feature = self.feature in\n if feature = null then null\n else feature.behavioralFeatureReferent(self)\n endif'"
+ * @generated
+ */
+ ElementReference referent();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * If a feature invocation expression is an implicit object destruction, it
+ * has no referent. Otherwise, its referent is the operation or signal being
+ * invoked.
+ * (See the referent() operation.)
+ * <!-- end-model-doc -->
+ *
+ * @model
+ * @generated
+ */
+ boolean featureInvocationExpressionReferentDerivation(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * If a feature invocation expression has an explicit target, then that is
+ * its feature. Otherwise, it is an alternative constructor call with
+ * its feature determined implicitly.
+ * (See the feature() operation.)
+ * <!-- end-model-doc -->
+ *
+ * @model
+ * @generated
+ */
+ boolean featureInvocationExpressionFeatureDerivation(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * If a feature invocation expression is not an implicit destructor call,
+ * then it must be possible to determine a single valid referent for it
+ * according to the overloading resolution rules.
+ * <!-- end-model-doc -->
+ *
+ * @model annotation=
+ * "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n self.isImplicit or\n -- TODO: Remove this check once overloading resolution is implemented.\n self.tuple.size() <= self.parameterCount() and\n self.tuple.input()->forAll(input | self.parameterIsAssignableFrom(input)) and\n self.tuple.output()->forAll(output | self.parameterIsAssignableTo(output))'"
+ * @generated
+ */
+ boolean featureInvocationExpressionReferentExists(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * An alternative constructor invocation may only occur in an expression
+ * statement as the first statement in the definition for the method of a
+ * constructor operation.
+ * <!-- end-model-doc -->
+ *
+ * @model annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n self.alternativeConstructorIsValid()'"
+ * @generated
+ */
+ boolean featureInvocationExpressionAlternativeConstructor(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * If there is no target feature expression, then the implicit feature with
+ * the same name as the target type must be a constructor.
+ * <!-- end-model-doc -->
+ *
+ * @model annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n self.target = null implies\n let referent = self.referent in\n referent <> null and referent.isConstructor()'"
+ * @generated
+ */
+ boolean featureInvocationExpressionImplicitAlternativeConstructor(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+} // FeatureInvocationExpression
diff --git a/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/FeatureLeftHandSide.java b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/FeatureLeftHandSide.java
new file mode 100644
index 00000000000..6676d0ce5cf
--- /dev/null
+++ b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/FeatureLeftHandSide.java
@@ -0,0 +1,239 @@
+/**
+ */
+package org.eclipse.papyrus.uml.alf;
+
+import java.util.Map;
+
+import org.eclipse.emf.common.util.DiagnosticChain;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Feature Left Hand Side</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * A left-hand side that is a property reference.
+ * <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.uml.alf.FeatureLeftHandSide#getExpression <em>Expression</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getFeatureLeftHandSide()
+ * @model
+ * @generated
+ */
+public interface FeatureLeftHandSide extends LeftHandSide {
+ /**
+ * Returns the value of the '<em><b>Expression</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The structural feature being assigned.
+ * property feature : FeatureReference { composes };
+ *
+ * The actual expression parsed for this feature left-hand side.
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Expression</em>' containment reference.
+ * @see #setExpression(Expression)
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getFeatureLeftHandSide_Expression()
+ * @model containment="true" required="true"
+ * @generated
+ */
+ Expression getExpression();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.uml.alf.FeatureLeftHandSide#getExpression <em>Expression</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Expression</em>' containment reference.
+ * @see #getExpression()
+ * @generated
+ */
+ void setExpression(Expression value);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n let referents = self.feature().referent->select(isProperty()) in\n if referents->size() <> 1 then null\n else referents->any(true)\n endif'"
+ * @generated
+ */
+ ElementReference referent();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model annotation=
+ * "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n if self.expression.oclIsKindOf(PropertyAccessExpression) then\n self.expression.oclAsType(PropertyAccessExpression).featureReference\n else if self.expression.oclIsKindOf(SequenceAccessExpression) then\n let primary = self.expression.oclAsType(SequenceAccessExpression).primary in\n if primary.oclIsKindOf(PropertyAccessExpression) then\n primary.oclAsType(PropertyAccessExpression).featureReference\n else\n null\n endif\n else\n null\n endif endif'"
+ * @generated
+ */
+ FeatureReference feature();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n if not self.expression.oclIsKindOf(SequenceAccessExpression) then null\n else self.expression.oclAsType(SequenceAccessExpression).index\n endif'"
+ * @generated
+ */
+ Expression index();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='null'"
+ * @generated
+ */
+ String localName();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The assignments before the expression of the feature reference of a
+ * feature left-hand side are the assignments before the feature left-hand
+ * side.
+ * (And the assignments before an index are those after the feature reference.)
+ * (See the LeftHandSide::assignmentsBefore(element) operation.)
+ * <!-- end-model-doc -->
+ *
+ * @model
+ * @generated
+ */
+ boolean featureLeftHandSideAssignmentBeforeDerivation(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The assignments after a feature left-hand side are the assignments after
+ * the expression of the feature reference or, if there is an index, those
+ * after the index expression.
+ * (See the LeftHandSide::assignmentsAfter() operation.)
+ * <!-- end-model-doc -->
+ *
+ * @model
+ * @generated
+ */
+ boolean featureLeftHandSideAssignmentAfterDerivation(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The expression of the feature reference of a feature left-hand side must
+ * have a multiplicity upper bound of 1.
+ * <!-- end-model-doc -->
+ *
+ * @model annotation=
+ * "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n let expression = self.feature().expression in\n let type = expression.type in\n expression.upper = 1 and\n -- Note: The following condition ensures that a data value update will\n -- be to an existing assigned name.\n (type <> null and type.isDataType()) implies self.isDataValueUpdate()'"
+ * @generated
+ */
+ boolean featureLeftHandSideFeatureExpression(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * If a feature left-hand side has an index, then the assignments before the
+ * index expression are the assignments after the expression of the feature
+ * reference.
+ * (See the assignmentsBefore(element) operation.)
+ * <!-- end-model-doc -->
+ *
+ * @model
+ * @generated
+ */
+ boolean featureLeftHandSideAssignmentsBefore(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The referent of a feature left-hand side is the structural feature to
+ * which the feature reference of the left-hand side resolves.
+ * (See the referent() operation.)
+ * <!-- end-model-doc -->
+ *
+ * @model
+ * @generated
+ */
+ boolean featureLeftHandSideReferentDerivation(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The type of a feature left-hand side is the type of its referent.
+ * (See the type() operation.)
+ * <!-- end-model-doc -->
+ *
+ * @model
+ * @generated
+ */
+ boolean featureLeftHandSideTypeDerivation(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * If a feature left-hand side is indexed, then its lower bound is 1.
+ * Otherwise, its lower bound is that of its referent.
+ * (see the lower() operation.)
+ * <!-- end-model-doc -->
+ *
+ * @model
+ * @generated
+ */
+ boolean featureLeftHandSideLowerDerivation(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * If a feature left-hand side is indexed, then its upper bound is 1.
+ * Otherwise, its upper bound is that of its referent.
+ * (See the upper() operation.)
+ * <!-- end-model-doc -->
+ *
+ * @model
+ * @generated
+ */
+ boolean featureLeftHandSideUpperDerivation(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The feature of a feature-left hand side must have a single referent that
+ * is a structural feature.
+ * <!-- end-model-doc -->
+ *
+ * @model annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='self.referent <> null'"
+ * @generated
+ */
+ boolean featureLeftHandSideReferentConstraint(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * If a feature left-hand side has an index, then the referent of the
+ * feature must be ordered and non-unique.
+ * <!-- end-model-doc -->
+ *
+ * @model annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n self.index() <> null implies\n let referent = self.referent in\n referent <> null and referent.isOrdered() and referent.isNonunique()'"
+ * @generated
+ */
+ boolean featureLeftHandSideIndexedFeature(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+} // FeatureLeftHandSide
diff --git a/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/FeatureReference.java b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/FeatureReference.java
new file mode 100644
index 00000000000..b96246b3067
--- /dev/null
+++ b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/FeatureReference.java
@@ -0,0 +1,187 @@
+/**
+ */
+package org.eclipse.papyrus.uml.alf;
+
+import java.util.Map;
+
+import org.eclipse.emf.common.util.DiagnosticChain;
+import org.eclipse.emf.common.util.EList;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Feature Reference</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * A reference to a structural or behavioral feature of the type of its target
+ * expression or a binary association end the opposite end of which is typed
+ * by the type of its target expression.
+ * <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.uml.alf.FeatureReference#getExpression <em>Expression</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.FeatureReference#getReferent <em>Referent</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.FeatureReference#getNameBinding <em>Name Binding</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getFeatureReference()
+ * @model
+ * @generated
+ */
+public interface FeatureReference extends Expression {
+ /**
+ * Returns the value of the '<em><b>Expression</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The target expression.
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Expression</em>' containment reference.
+ * @see #setExpression(Expression)
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getFeatureReference_Expression()
+ * @model containment="true" required="true"
+ * @generated
+ */
+ Expression getExpression();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.uml.alf.FeatureReference#getExpression <em>Expression</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Expression</em>' containment reference.
+ * @see #getExpression()
+ * @generated
+ */
+ void setExpression(Expression value);
+
+ /**
+ * Returns the value of the '<em><b>Referent</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.uml.alf.ElementReference}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The features referenced by this feature reference.
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Referent</em>' reference list.
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getFeatureReference_Referent()
+ * @model transient="true" volatile="true" derived="true" ordered="false"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot derivation='self.referentCached()'"
+ * @generated
+ */
+ EList<ElementReference> getReferent();
+
+ /**
+ * Returns the value of the '<em><b>Name Binding</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The name of the feature.
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Name Binding</em>' containment reference.
+ * @see #setNameBinding(NameBinding)
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getFeatureReference_NameBinding()
+ * @model containment="true"
+ * @generated
+ */
+ NameBinding getNameBinding();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.uml.alf.FeatureReference#getNameBinding <em>Name Binding</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Name Binding</em>' containment reference.
+ * @see #getNameBinding()
+ * @generated
+ */
+ void setNameBinding(NameBinding value);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model ordered="false"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='self.expression.assignmentAfter'"
+ * @generated
+ */
+ EList<AssignedSource> updateAssignments();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model invocationRequired="true"
+ * annotation=
+ * "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n -- TODO: Handle overloading resolution.\n let referents = self.referent->select(isOperation() or isReception()) in\n if referents->size() <> 1 then null\n else if referents->forAll(isReception()) then\n referents->any(true).signal()\n else\n referents->any(true)\n endif endif'"
+ * @generated
+ */
+ ElementReference behavioralFeatureReferent(InvocationExpression invocation);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The features referenced by a feature reference include the features of
+ * the type of the target expression and the association ends of any binary
+ * associations whose opposite ends are typed by the type of the target
+ * expression.
+ * <!-- end-model-doc -->
+ *
+ * @model
+ * @generated
+ */
+ boolean featureReferenceReferentDerivation(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The target expression of the feature reference may not be untyped, nor
+ * may it have a primitive or enumeration type.
+ * <!-- end-model-doc -->
+ *
+ * @model annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n let type = self.expression.type in\n type <> null and not type.isPrimitiveType() and not type.isEnumeration()'"
+ * @generated
+ */
+ boolean featureReferenceTargetType(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model ordered="false"
+ * @generated
+ */
+ EList<ElementReference> referentCached();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model ordered="false"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='self.FeatureReference_referent()'"
+ * @generated
+ */
+ EList<ElementReference> referent();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model ordered="false"
+ * annotation=
+ * "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n let type = self.expression.type in\n let name = self.nameBinding.toName() in\n if type = null then Set(ElementReference){}\n else\n let currentScope = self.currentScope() in\n let features = type.resolveVisible(name, currentScope) in\n if currentScope = null then features\n else features->union(currentScope.resolveAssociationEnd(type, name))\n endif\n endif'"
+ * @generated
+ */
+ EList<ElementReference> FeatureReference_referent();
+
+} // FeatureReference
diff --git a/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/ForAllOrExistsOrOneExpression.java b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/ForAllOrExistsOrOneExpression.java
new file mode 100644
index 00000000000..a626f0e539e
--- /dev/null
+++ b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/ForAllOrExistsOrOneExpression.java
@@ -0,0 +1,72 @@
+/**
+ */
+package org.eclipse.papyrus.uml.alf;
+
+import java.util.Map;
+
+import org.eclipse.emf.common.util.DiagnosticChain;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>For All Or Exists Or One Expression</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * A sequence expansion expression with a forAll, exists or one operation.
+ * <!-- end-model-doc -->
+ *
+ *
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getForAllOrExistsOrOneExpression()
+ * @model
+ * @generated
+ */
+public interface ForAllOrExistsOrOneExpression extends SequenceExpansionExpression {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * A forAll, exists or one expression has the type Boolean.
+ * <!-- end-model-doc -->
+ *
+ * @model
+ * @generated
+ */
+ boolean forAllOrExistsOrOneExpressionTypeDerivation(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * A forAll, exists or one expression has a multiplicity lower bound of 1.
+ * <!-- end-model-doc -->
+ *
+ * @model
+ * @generated
+ */
+ boolean forAllOrExistsOrOneExpressionLowerDerivation(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * A forAll, exists or one expression has a multiplicity upper bound of 1.
+ * <!-- end-model-doc -->
+ *
+ * @model
+ * @generated
+ */
+ boolean forAllOrExistsOrOneExpressionUpperDerivation(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The argument of a forAll, exists or one expression must have type Boolean and a multiplicity upper bound of 1.
+ * <!-- end-model-doc -->
+ *
+ * @model
+ * @generated
+ */
+ boolean forAllOrExistsOrOneExpressionArgument(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+} // ForAllOrExistsOrOneExpression
diff --git a/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/ForStatement.java b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/ForStatement.java
new file mode 100644
index 00000000000..a93c58673ce
--- /dev/null
+++ b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/ForStatement.java
@@ -0,0 +1,313 @@
+/**
+ */
+package org.eclipse.papyrus.uml.alf;
+
+import java.util.Map;
+
+import org.eclipse.emf.common.util.DiagnosticChain;
+import org.eclipse.emf.common.util.EList;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>For Statement</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * A looping statement that gives successive values to one or more loop variables on each iteration.
+ * <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.uml.alf.ForStatement#getBody <em>Body</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.ForStatement#getVariableDefinition <em>Variable Definition</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.ForStatement#isIsParallel <em>Is Parallel</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getForStatement()
+ * @model
+ * @generated
+ */
+public interface ForStatement extends Statement {
+ /**
+ * Returns the value of the '<em><b>Body</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The sequence of statements to be iteratively executed.
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Body</em>' containment reference.
+ * @see #setBody(Block)
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getForStatement_Body()
+ * @model containment="true" required="true"
+ * @generated
+ */
+ Block getBody();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.uml.alf.ForStatement#getBody <em>Body</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Body</em>' containment reference.
+ * @see #getBody()
+ * @generated
+ */
+ void setBody(Block value);
+
+ /**
+ * Returns the value of the '<em><b>Variable Definition</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.uml.alf.LoopVariableDefinition}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * A list of definitions of one or more loop variables.
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Variable Definition</em>' containment reference list.
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getForStatement_VariableDefinition()
+ * @model containment="true" required="true"
+ * @generated
+ */
+ EList<LoopVariableDefinition> getVariableDefinition();
+
+ /**
+ * Returns the value of the '<em><b>Is Parallel</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * Whether the for statement is parallel.
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Is Parallel</em>' attribute.
+ * @see #setIsParallel(boolean)
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getForStatement_IsParallel()
+ * @model transient="true" volatile="true" derived="true"
+ * annotation="http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeRoleName body='LoopVariableDefinition'"
+ * annotation="http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeRoleName body='LoopVariableDefinition'"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot derivation='self.hasAnnotation(\'parallel\')'"
+ * @generated
+ */
+ boolean isIsParallel();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.uml.alf.ForStatement#isIsParallel <em>Is Parallel</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Is Parallel</em>' attribute.
+ * @see #isIsParallel()
+ * @generated
+ */
+ void setIsParallel(boolean value);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='self'"
+ * @generated
+ */
+ Statement enclosingLoopStatement();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model ordered="false" elementRequired="true"
+ * annotation=
+ * "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n if self.body <> element then\n self.assignmentBefore\n else\n let assignments = \n self.variableDefinition.assignmentAfter->asSet() in\n if not self.isParallel then\n assignments\n else\n let parallelNames = self.parallelNames() in\n self.updateAll(\n assignments,\n assignments->select(a | parallelNames->includes(a.name)).\n copy(self, true)->asSet()\n )\n\n endif\n endif'"
+ * @generated
+ */
+ EList<AssignedSource> assignmentsBefore(SyntaxElement element);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model ordered="false"
+ * annotation=
+ * "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n self.variableDefinition->iterate(\n v, assignments : Set(AssignedSource) = self.assignmentBefore |\n self.updateAll(assignments, v.newAssignments())\n )'"
+ * @generated
+ */
+ EList<AssignedSource> assignmentsAfterVariables();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model ordered="false"
+ * annotation=
+ * "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n let namesBefore = self.assignmentBefore.name in\n let newAssignments =\n self.body.newAssignments()->\n select(a | namesBefore->includes(a.name)).\n copy(self, null)->asSet()\n in\n let variables = self.variableDefinition.variable in\n let assignmentsAfter = \n self.updateAll(\n self.variableDefinition.assignmentAfter->asSet(), \n newAssignments\n )->reject(a | variables->includes(a.name)) in\n let parallelNames = self.parallelNames() in\n let parallelNameAssignments =\n assignmentsAfter->\n select(a | parallelNames->includes(a.name)).\n copy(self, false)->asSet()\n in\n self.updateAll(assignmentsAfter, parallelNameAssignments)'"
+ * @generated
+ */
+ EList<AssignedSource> assignmentsAfter();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model ordered="false"
+ * annotation=
+ * "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n if not self.isParallel then\n Set(String){}\n else\n self.annotation()->select(identifier = \'parallel\').oclAsType(Annotation).argument->asSet()\n endif'"
+ * @generated
+ */
+ EList<String> parallelNames();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The assignments before a loop variable definition in a for statement are
+ * the same as before the for statement. The assignments before the body of
+ * the statement include all the assignments before the statement plus any
+ * new assignments from the loop variable definitions, except that, if the
+ * statement is parallel, the assigned sources of any names given in @parallel
+ * annotations are changed to be the for statement itself.
+ * (See the assignmentsBefore(element) operation.)
+ * <!-- end-model-doc -->
+ *
+ * @model
+ * @generated
+ */
+ boolean forStatementAssignmentsBefore(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The loop variables are unassigned after a for statement. Other than the
+ * loop variables, if the assigned source for a name after the body of a for
+ * statement is the same as after the for variable definitions, then the
+ * assigned source for the name after the for statement is the same as after
+ * the for variable definitions. If a name is unassigned after the for
+ * variable definitions, then it is unassigned after the for statement (even
+ * if it is assigned in the body of the for statement). If, after the loop
+ * variable definitions, a name has an assigned source, and it has a
+ * different assigned source after the body of the for statement, then the
+ * assigned source after the for statement is the for statement itself.
+ * (See the assignmentsAfter() operation.)
+ * <!-- end-model-doc -->
+ *
+ * @model
+ * @generated
+ */
+ boolean forStatementAssignmentsAfter(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * A @parallel annotation of a for statement may include a list of names.
+ * Each such name must be already assigned after the loop variable definitions
+ * of the for statement, with a multiplicity of [0..*]. These names may only
+ * be used within the body of the for statement as the first argument to for
+ * the CollectionFunctions::add behavior.
+ * (Note: Checking that @parallel annotation names are only used with add
+ * behaviors is done in NameExpression, BehaviorInvocationExpression and
+ * SequenceOperationExpression.)
+ * <!-- end-model-doc -->
+ *
+ * @model annotation=
+ * "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n let assignments = self.variableDefinition.assignmentAfter in\n self.parallelNames()->forAll(n |\n assignments->exists(name = n and lower = 0 and upper = -1)\n )'"
+ * @generated
+ */
+ boolean forStatementParallelAnnotationNames(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * If, after the loop variable definitions of a parallel for statement, a
+ * name has an assigned source, then it must have the same assigned source
+ * after the block of the for statement. Other than for names defined in the
+ *
+ * @parallel annotation of the for statement, the assigned source for such
+ * names is the same after the for statement as before it. Any names defined
+ * in the @parallel annotation have the for statement itself as their assigned
+ * source after the for statement. Other than names given in the @parallel
+ * annotation, if a name is unassigned after the loop variable definitions,
+ * then it is considered unassigned after the for statement, even if it is
+ * assigned in the block of the for statement.
+ * (See also the assignmentsAfter() operation.)
+ * <!-- end-model-doc -->
+ * @model annotation=
+ * "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n if not self.isParallel then true\n else\n self.body.newAssignments().name->\n excludesAll(self.variableDefinition.assignmentAfter.name)\n /*\n * The following is guaranteed by assignmentsAfter():\n let parallelNames = self.parallelNames() in\n self.assignmentAfter->forAll(a |\n assignmentsAfterVariables->exists(name = a.name) and\n if parallelNames->includes(a.name) then a.source = self \n else a.source = assignmentsAfterVariables->any(name = a.name).source \n endif\n )\n \052/\n endif'"
+ * @generated
+ */
+ boolean forStatementParallelAssignmentsAfter(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The isFirst attribute of the first loop variable definition for a for
+ * statement is true while the isFirst attribute is false for any other
+ * definitions.
+ * (See derivation of VariableDefinition::isFirst.)
+ * <!-- end-model-doc -->
+ *
+ * @model
+ * @generated
+ */
+ boolean forStatementVariableDefinitions(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The assigned sources for loop variables after the body of a for statement
+ * must be the for statement (the same as before the body).
+ * (See the assignmentAfter() operation.)
+ * <!-- end-model-doc -->
+ *
+ * @model
+ * @generated
+ */
+ boolean forStatementLoopVariables(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * A for statement is parallel if it has a @parallel annotation.
+ * <!-- end-model-doc -->
+ *
+ * @model
+ * @generated
+ */
+ boolean forStatementIsParallelDerivation(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The enclosing statement for all statements in the body of a for statement
+ * are the for statement.
+ * (See the SyntaxElement::enclosingStatement() operation.)
+ * <!-- end-model-doc -->
+ *
+ * @model
+ * @generated
+ */
+ boolean forStatementEnclosedStatements(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * In addition to an @isolated annotation, a for statement may have a
+ *
+ * @parallel annotation.
+ * <!-- end-model-doc -->
+ * @model required="true" annotationRequired="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='self.Statement_annotationAllowed(annotation) or\n annotation.identifier = \'parallel\''"
+ * @generated
+ */
+ boolean annotationAllowed(Annotation annotation);
+
+} // ForStatement
diff --git a/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/FormalParameter.java b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/FormalParameter.java
new file mode 100644
index 00000000000..7e96b0da47f
--- /dev/null
+++ b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/FormalParameter.java
@@ -0,0 +1,173 @@
+/**
+ */
+package org.eclipse.papyrus.uml.alf;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Formal Parameter</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * A typed element definition for the formal parameter of an activity or operation.
+ * <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.uml.alf.FormalParameter#getDirection <em>Direction</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.FormalParameter#getTypePart <em>Type Part</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getFormalParameter()
+ * @model
+ * @generated
+ */
+public interface FormalParameter extends MemberDefinition {
+ /**
+ * Returns the value of the '<em><b>Direction</b></em>' attribute.
+ * The default value is <code>"return"</code>.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * An indication of the direction of the parameter being defined.
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Direction</em>' attribute.
+ * @see #setDirection(String)
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getFormalParameter_Direction()
+ * @model default="return" required="true"
+ * annotation="http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeRoleName body='ReceptionDefinition'"
+ * annotation="http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeRoleName body='ReceptionDefinition'"
+ * @generated
+ */
+ String getDirection();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.uml.alf.FormalParameter#getDirection <em>Direction</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Direction</em>' attribute.
+ * @see #getDirection()
+ * @generated
+ */
+ void setDirection(String value);
+
+ /**
+ * Returns the value of the '<em><b>Type Part</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ *
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Type Part</em>' containment reference.
+ * @see #setTypePart(TypedElementDefinition)
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getFormalParameter_TypePart()
+ * @model containment="true"
+ * @generated
+ */
+ TypedElementDefinition getTypePart();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.uml.alf.FormalParameter#getTypePart <em>Type Part</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Type Part</em>' containment reference.
+ * @see #getTypePart()
+ * @generated
+ */
+ void setTypePart(TypedElementDefinition value);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The current scope for a formal parameter is the outer scope
+ * of the namespace definition that owns it.
+ * <!-- end-model-doc -->
+ *
+ * @model annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='self.oclContainer().oclContainer().oclAsType(NamespaceDefinition).toReference()'"
+ * @generated
+ */
+ ElementReference currentScope();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * Returns true if the annotation is for a stereotype that has a metaclass consistent with Parameter.
+ * <!-- end-model-doc -->
+ *
+ * @model required="true" annotationRequired="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n /* TODO: Allow formal parameter stereoype annotations. \052/\n false'"
+ * @generated
+ */
+ boolean annotationAllowed(StereotypeAnnotation annotation);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * Return true if the given member is a FormalParameter.
+ * <!-- end-model-doc -->
+ *
+ * @model required="true" memberRequired="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='member.isParameter()'"
+ * @generated
+ */
+ boolean isSameKindAs(ElementReference member);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * Two formal parameters match if they have the same direction, name,
+ * multiplicity bounds, ordering, uniqueness and type reference.
+ * <!-- end-model-doc -->
+ *
+ * @model required="true"
+ * annotation=
+ * "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n other <> null and\n self.direction = other.direction and \n self.actualName() = other.actualName() and \n self.typePart.lower = other.typePart.lower and \n self.typePart.upper = other.typePart.upper and\n self.typePart.isOrdered() = other.typePart.isOrdered() and\n self.typePart.isNonunique() = other.typePart.isNonunique() and \n let type = self.typePart.type in\n let otherType = other.typePart.type in\n type = null and otherType = null or \n type <> null and type.equals(otherType)'"
+ * @generated
+ */
+ boolean matches(FormalParameter other);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model required="true"
+ * annotation=
+ * "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n self.matchesNameType(other) and\n self.direction = other.direction() and \n self.typePart.lower = other.lower() and \n self.typePart.upper = other.upper() and\n self.typePart.isOrdered() = other.isOrdered() and\n self.typePart.isNonunique() = other.isNonunique()'"
+ * @generated
+ */
+ boolean matchesElement(ElementReference other);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model required="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n self.matchesType(other) and\n self.actualName() = other.name()'"
+ * @generated
+ */
+ boolean matchesNameType(ElementReference other);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model required="true"
+ * annotation=
+ * "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n other <> null and\n let type = self.typePart.type in\n let otherType = other.type() in\n type = null and otherType = null or\n type <> null and type.equals(otherType)'"
+ * @generated
+ */
+ boolean matchesType(ElementReference other);
+
+} // FormalParameter
diff --git a/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/IfStatement.java b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/IfStatement.java
new file mode 100644
index 00000000000..4815230fd09
--- /dev/null
+++ b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/IfStatement.java
@@ -0,0 +1,249 @@
+/**
+ */
+package org.eclipse.papyrus.uml.alf;
+
+import java.util.Map;
+
+import org.eclipse.emf.common.util.DiagnosticChain;
+import org.eclipse.emf.common.util.EList;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>If Statement</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * A conditional statement that executes (at most) one of a set of clauses based on boolean conditions.
+ * <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.uml.alf.IfStatement#getNonFinalClauses <em>Non Final Clauses</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.IfStatement#getFinalClause <em>Final Clause</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.IfStatement#isIsAssured <em>Is Assured</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.IfStatement#isIsDeterminate <em>Is Determinate</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getIfStatement()
+ * @model
+ * @generated
+ */
+public interface IfStatement extends Statement {
+ /**
+ * Returns the value of the '<em><b>Non Final Clauses</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.uml.alf.ConcurrentClauses}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * A list of groupings of concurrent clauses that are to be checked
+ * sequentially for a successful condition.
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Non Final Clauses</em>' containment reference list.
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getIfStatement_NonFinalClauses()
+ * @model containment="true" required="true"
+ * @generated
+ */
+ EList<ConcurrentClauses> getNonFinalClauses();
+
+ /**
+ * Returns the value of the '<em><b>Final Clause</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * A sequence of statements to be executed if no other clause has a
+ * successful condition.
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Final Clause</em>' containment reference.
+ * @see #setFinalClause(Block)
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getIfStatement_FinalClause()
+ * @model containment="true"
+ * @generated
+ */
+ Block getFinalClause();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.uml.alf.IfStatement#getFinalClause <em>Final Clause</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Final Clause</em>' containment reference.
+ * @see #getFinalClause()
+ * @generated
+ */
+ void setFinalClause(Block value);
+
+ /**
+ * Returns the value of the '<em><b>Is Assured</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * Whether at least one condition in the if statement is assured to evaluate
+ * to true.
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Is Assured</em>' attribute.
+ * @see #setIsAssured(boolean)
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getIfStatement_IsAssured()
+ * @model transient="true" volatile="true" derived="true"
+ * annotation="http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeRoleName body='SwitchStatement'"
+ * annotation="http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeRoleName body='SwitchStatement'"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot derivation='self.hasAnnotation(\'assured\')'"
+ * @generated
+ */
+ boolean isIsAssured();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.uml.alf.IfStatement#isIsAssured <em>Is Assured</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Is Assured</em>' attribute.
+ * @see #isIsAssured()
+ * @generated
+ */
+ void setIsAssured(boolean value);
+
+ /**
+ * Returns the value of the '<em><b>Is Determinate</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * Whether at most one condition in the if statement will ever to evaluate
+ * to true.
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Is Determinate</em>' attribute.
+ * @see #setIsDeterminate(boolean)
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getIfStatement_IsDeterminate()
+ * @model transient="true" volatile="true" derived="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot derivation='self.hasAnnotation(\'determinate\')'"
+ * @generated
+ */
+ boolean isIsDeterminate();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.uml.alf.IfStatement#isIsDeterminate <em>Is Determinate</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Is Determinate</em>' attribute.
+ * @see #isIsDeterminate()
+ * @generated
+ */
+ void setIsDeterminate(boolean value);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model ordered="false"
+ * annotation=
+ * "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n let blocks =\n if self.finalClause = null then self.nonFinalClauses.clause.body\n else self.nonFinalClauses.clause.body->including(self.finalClause)\n endif\n in\n self.updateAll(\n self.Statement_assignmentsAfter(), \n self.mergeAssignments(blocks->asBag())\n )'"
+ * @generated
+ */
+ EList<AssignedSource> assignmentsAfter();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The assignments before all the non-final clauses of an if statement are
+ * the same as the assignments before the if statement. If the statement has
+ * a final clause, then the assignments before that clause are also the same
+ * as the assignments before the if statement.
+ * (See assignmentBefore(element) operation.)
+ * <!-- end-model-doc -->
+ *
+ * @model
+ * @generated
+ */
+ boolean ifStatementAssignmentsBefore(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * If an if statement does not have a final else clause, then any name that
+ * is not an out parameter and is unassigned before the if statement is
+ * unassigned after the if statement. If an if statement does have a final
+ * else clause, then any name that is unassigned before the if statement and
+ * is assigned after any one clause of the if statement must also be assigned
+ * after every other clause. The type of such names after the if statement is
+ * the effective common ancestor of the types of the name in each clause with
+ * a multiplicity lower bound that is the minimum of the lower bound for the
+ * name in each clause and a multiplicity upper bound that is the maximum for
+ * the name in each clause. For a name that has an assigned source after any
+ * clause of an if statement that is different than before that clause, then
+ * the assigned source after the if statement is the if statement. Otherwise,
+ * the assigned source of a name after the if statement is the same as before
+ * the if statement.
+ * (See assignmentsAfter() operation.)
+ * <!-- end-model-doc -->
+ *
+ * @model
+ * @generated
+ */
+ boolean ifStatementAssignmentsAfter(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The enclosing statement of all the statements in the bodies of all
+ * non-final clauses and in the final clause (if any) of an if statement is
+ * the if statement.
+ * (See SyntaxElement::enclosingStatement() operation.)
+ * <!-- end-model-doc -->
+ *
+ * @model
+ * @generated
+ */
+ boolean ifStatementEnclosedStatements(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * An if statement is assured if it has an @assured annotation.
+ * <!-- end-model-doc -->
+ *
+ * @model
+ * @generated
+ */
+ boolean ifStatementIsAssuredDerivation(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * An if statement is determinate if it has an @determinate annotation.
+ * <!-- end-model-doc -->
+ *
+ * @model
+ * @generated
+ */
+ boolean ifStatementIsDeterminateDerivation(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * In addition to an @isolated annotation, an if statement may have @assured
+ * and @determinate annotations. They may not have arguments.
+ * <!-- end-model-doc -->
+ *
+ * @model required="true" annotationRequired="true"
+ * annotation=
+ * "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='self.Statement_annotationAllowed(annotation) or\n (annotation.identifier = \'assured\' or annotation.identifier = \'determinate\') and \n annotation.argument->isEmpty()'"
+ * @generated
+ */
+ boolean annotationAllowed(Annotation annotation);
+
+} // IfStatement
diff --git a/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/ImportReference.java b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/ImportReference.java
new file mode 100644
index 00000000000..6cbda65174d
--- /dev/null
+++ b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/ImportReference.java
@@ -0,0 +1,190 @@
+/**
+ */
+package org.eclipse.papyrus.uml.alf;
+
+import java.util.Map;
+
+import org.eclipse.emf.common.util.DiagnosticChain;
+import org.eclipse.emf.common.util.EList;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Import Reference</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * A reference to an element or package to be imported into a unit.
+ * <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.uml.alf.ImportReference#getVisibility <em>Visibility</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.ImportReference#getReferentName <em>Referent Name</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.ImportReference#getReferent <em>Referent</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.ImportReference#getUnit <em>Unit</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getImportReference()
+ * @model abstract="true"
+ * @generated
+ */
+public interface ImportReference extends SyntaxElement {
+ /**
+ * Returns the value of the '<em><b>Visibility</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * An indication of the visibility of the import.
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Visibility</em>' attribute.
+ * @see #setVisibility(String)
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getImportReference_Visibility()
+ * @model required="true"
+ * annotation="http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeRoleName body='ImportedMember' unique='false' upper='*'"
+ * annotation="http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeRoleName body='ImportedMember' unique='false' upper='*'"
+ * @generated
+ */
+ String getVisibility();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.uml.alf.ImportReference#getVisibility <em>Visibility</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Visibility</em>' attribute.
+ * @see #getVisibility()
+ * @generated
+ */
+ void setVisibility(String value);
+
+ /**
+ * Returns the value of the '<em><b>Referent Name</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The name of the element or package to be imported.
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Referent Name</em>' containment reference.
+ * @see #setReferentName(QualifiedName)
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getImportReference_ReferentName()
+ * @model containment="true" required="true"
+ * @generated
+ */
+ QualifiedName getReferentName();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.uml.alf.ImportReference#getReferentName <em>Referent Name</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Referent Name</em>' containment reference.
+ * @see #getReferentName()
+ * @generated
+ */
+ void setReferentName(QualifiedName value);
+
+ /**
+ * Returns the value of the '<em><b>Referent</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * A reference to the imported element denoted by the given qualified name.
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Referent</em>' reference.
+ * @see #setReferent(ElementReference)
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getImportReference_Referent()
+ * @model transient="true" volatile="true" derived="true"
+ * annotation=
+ * "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot derivation='\n let referents = self.referentName.modelReferents() in \n if referents->size() = 1 then referents->any(true)\n else null\n endif'"
+ * @generated
+ */
+ ElementReference getReferent();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.uml.alf.ImportReference#getReferent <em>Referent</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Referent</em>' reference.
+ * @see #getReferent()
+ * @generated
+ */
+ void setReferent(ElementReference value);
+
+ /**
+ * Returns the value of the '<em><b>Unit</b></em>' container reference.
+ * It is bidirectional and its opposite is '{@link org.eclipse.papyrus.uml.alf.UnitDefinition#getImport <em>Import</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The unit that is making this import reference.
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Unit</em>' container reference.
+ * @see #setUnit(UnitDefinition)
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getImportReference_Unit()
+ * @see org.eclipse.papyrus.uml.alf.UnitDefinition#getImport
+ * @model opposite="import" required="true" transient="false"
+ * @generated
+ */
+ UnitDefinition getUnit();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.uml.alf.ImportReference#getUnit <em>Unit</em>}' container reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Unit</em>' container reference.
+ * @see #getUnit()
+ * @generated
+ */
+ void setUnit(UnitDefinition value);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * Return the set of all imported members.
+ * <!-- end-model-doc -->
+ *
+ * @model ordered="false"
+ * @generated
+ */
+ EList<Member> importedMembers();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The referent of an import reference is the element denoted by the
+ * referent name.
+ * <!-- end-model-doc -->
+ *
+ * @model
+ * @generated
+ */
+ boolean importReferenceReferentDerivation(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The referent name of an import reference must resolve to a single element
+ * with public or empty visibility.
+ * <!-- end-model-doc -->
+ *
+ * @model annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n self.referent <> null and\n let visibility = self.referent.visibility() in \n visibility = null or visibility = \'public\''"
+ * @generated
+ */
+ boolean importReferenceReferent(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+} // ImportReference
diff --git a/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/ImportedMember.java b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/ImportedMember.java
new file mode 100644
index 00000000000..8a44949ba3c
--- /dev/null
+++ b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/ImportedMember.java
@@ -0,0 +1,149 @@
+/**
+ */
+package org.eclipse.papyrus.uml.alf;
+
+import java.util.Map;
+
+import org.eclipse.emf.common.util.DiagnosticChain;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Imported Member</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ *
+ * <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.uml.alf.ImportedMember#getReferent <em>Referent</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getImportedMember()
+ * @model
+ * @generated
+ */
+public interface ImportedMember extends MemberDefinition {
+ /**
+ * Returns the value of the '<em><b>Referent</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ *
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Referent</em>' reference.
+ * @see #setReferent(ElementReference)
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getImportedMember_Referent()
+ * @model required="true"
+ * @generated
+ */
+ ElementReference getReferent();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.uml.alf.ImportedMember#getReferent <em>Referent</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Referent</em>' reference.
+ * @see #getReferent()
+ * @generated
+ */
+ void setReferent(ElementReference value);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model required="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='self.name'"
+ * @generated
+ */
+ String actualName();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model required="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='self.referent'"
+ * @generated
+ */
+ ElementReference toReference();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * Returns false. (Imported members do not have annotations.)
+ * <!-- end-model-doc -->
+ *
+ * @model required="true" annotationRequired="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='false'"
+ * @generated
+ */
+ boolean annotationAllowed(StereotypeAnnotation annotation);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * If the given member is not an imported member, then return the result of
+ * checking whether the given member is the same kind as this member. Else,
+ * if the element of the referent for this member is an Alf member, then
+ * return the result of checking whether that element is the same kind as the
+ * given member. Else, if the element of the referent for the given member is
+ * an Alf member, then return the result of checking whether that element is
+ * the same kind as this member. Else, the referents for both this and the
+ * given member are UML elements, so return the result of checking their
+ * distinguishability according to the rules of the UML superstructure.
+ * <!-- end-model-doc -->
+ *
+ * @model required="true" memberRequired="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='self.referent.isSameKindAs(member)'"
+ * @generated
+ */
+ boolean isSameKindAs(ElementReference member);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * Returns true if the referent of this imported member is a feature.
+ * <!-- end-model-doc -->
+ *
+ * @model kind="operation" required="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='self.referent.isFeature()'"
+ * @generated
+ */
+ boolean isFeature();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * An imported element is not a stub.
+ * <!-- end-model-doc -->
+ *
+ * @model annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='not self.isStub'"
+ * @generated
+ */
+ boolean importedMemberNotStub(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * An imported element is a feature if its referent is a feature.
+ * <!-- end-model-doc -->
+ *
+ * @model
+ * @generated
+ */
+ boolean importedMemberIsFeatureDerivation(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+} // ImportedMember
diff --git a/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/InLineStatement.java b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/InLineStatement.java
new file mode 100644
index 00000000000..9fec7fd90dc
--- /dev/null
+++ b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/InLineStatement.java
@@ -0,0 +1,103 @@
+/**
+ */
+package org.eclipse.papyrus.uml.alf;
+
+import java.util.Map;
+
+import org.eclipse.emf.common.util.DiagnosticChain;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>In Line Statement</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * A statement that executes code in a language other than Alf.
+ * <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.uml.alf.InLineStatement#getLanguage <em>Language</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.InLineStatement#getCode <em>Code</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getInLineStatement()
+ * @model
+ * @generated
+ */
+public interface InLineStatement extends Statement {
+ /**
+ * Returns the value of the '<em><b>Language</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The name of the language in which the code is written.
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Language</em>' attribute.
+ * @see #setLanguage(String)
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getInLineStatement_Language()
+ * @model annotation="http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeRoleName body='AcceptStatement'"
+ * annotation="http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeRoleName body='AcceptStatement'"
+ * @generated
+ */
+ String getLanguage();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.uml.alf.InLineStatement#getLanguage <em>Language</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Language</em>' attribute.
+ * @see #getLanguage()
+ * @generated
+ */
+ void setLanguage(String value);
+
+ /**
+ * Returns the value of the '<em><b>Code</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The in-line code to be executed.
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Code</em>' attribute.
+ * @see #setCode(String)
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getInLineStatement_Code()
+ * @model required="true"
+ * annotation="http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeRoleName body='AcceptStatement' unique='false' upper='*'"
+ * annotation="http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeRoleName body='AcceptStatement' unique='false' upper='*'"
+ * @generated
+ */
+ String getCode();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.uml.alf.InLineStatement#getCode <em>Code</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Code</em>' attribute.
+ * @see #getCode()
+ * @generated
+ */
+ void setCode(String value);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The assignments after an in-line statement are the same as the assignments
+ * before the statement.
+ * <!-- end-model-doc -->
+ *
+ * @model
+ * @generated
+ */
+ boolean inLineStatementAssignmentsAfter(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+} // InLineStatement
diff --git a/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/IncrementOrDecrementExpression.java b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/IncrementOrDecrementExpression.java
new file mode 100644
index 00000000000..18b0f5faf3f
--- /dev/null
+++ b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/IncrementOrDecrementExpression.java
@@ -0,0 +1,497 @@
+/**
+ */
+package org.eclipse.papyrus.uml.alf;
+
+import java.math.BigInteger;
+import java.util.Map;
+
+import org.eclipse.emf.common.util.DiagnosticChain;
+import org.eclipse.emf.common.util.EList;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Increment Or Decrement Expression</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * A unary expression with either an increment or decrement operator.
+ * <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.uml.alf.IncrementOrDecrementExpression#getAssignment <em>Assignment</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.IncrementOrDecrementExpression#getOperand <em>Operand</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.IncrementOrDecrementExpression#getExpression <em>Expression</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.IncrementOrDecrementExpression#getFeature <em>Feature</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.IncrementOrDecrementExpression#isIsPrefix <em>Is Prefix</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.IncrementOrDecrementExpression#isIsFeature <em>Is Feature</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.IncrementOrDecrementExpression#isIsIndexed <em>Is Indexed</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.IncrementOrDecrementExpression#isIsDataValueUpdate <em>Is Data Value Update</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.IncrementOrDecrementExpression#getOperator <em>Operator</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getIncrementOrDecrementExpression()
+ * @model
+ * @generated
+ */
+public interface IncrementOrDecrementExpression extends Expression {
+ /**
+ * Returns the value of the '<em><b>Assignment</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * If the operand is a name, then the new assigned source for that name.
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Assignment</em>' reference.
+ * @see #setAssignment(AssignedSource)
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getIncrementOrDecrementExpression_Assignment()
+ * @model transient="true" volatile="true" derived="true"
+ * annotation=
+ * "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot derivation='\n if self.isFeature then null\n else\n let assignments = \n self.assignmentBefore->select(name = self.operand.localName()) in\n if assignments->isEmpty() then null\n else assignments->any(true).copy(self, null)\n endif\n endif'"
+ * @generated
+ */
+ AssignedSource getAssignment();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.uml.alf.IncrementOrDecrementExpression#getAssignment <em>Assignment</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Assignment</em>' reference.
+ * @see #getAssignment()
+ * @generated
+ */
+ void setAssignment(AssignedSource value);
+
+ /**
+ * Returns the value of the '<em><b>Operand</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The operand, which must have the form of an assignment left-hand side.
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Operand</em>' containment reference.
+ * @see #setOperand(LeftHandSide)
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getIncrementOrDecrementExpression_Operand()
+ * @model containment="true" required="true"
+ * @generated
+ */
+ LeftHandSide getOperand();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.uml.alf.IncrementOrDecrementExpression#getOperand <em>Operand</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Operand</em>' containment reference.
+ * @see #getOperand()
+ * @generated
+ */
+ void setOperand(LeftHandSide value);
+
+ /**
+ * Returns the value of the '<em><b>Expression</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The effective expression used to obtain the original value of the operand
+ * to be updated.
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Expression</em>' reference.
+ * @see #setExpression(Expression)
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getIncrementOrDecrementExpression_Expression()
+ * @model transient="true" volatile="true" derived="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot derivation='self.operand.expression()'"
+ * @generated
+ */
+ Expression getExpression();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.uml.alf.IncrementOrDecrementExpression#getExpression <em>Expression</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Expression</em>' reference.
+ * @see #getExpression()
+ * @generated
+ */
+ void setExpression(Expression value);
+
+ /**
+ * Returns the value of the '<em><b>Feature</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * If the operand is a feature, then the referent for that feature.
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Feature</em>' reference.
+ * @see #setFeature(ElementReference)
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getIncrementOrDecrementExpression_Feature()
+ * @model transient="true" volatile="true" derived="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot derivation='\n if not self.isFeature then null\n else self.operand.referent()\n endif'"
+ * @generated
+ */
+ ElementReference getFeature();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.uml.alf.IncrementOrDecrementExpression#getFeature <em>Feature</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Feature</em>' reference.
+ * @see #getFeature()
+ * @generated
+ */
+ void setFeature(ElementReference value);
+
+ /**
+ * Returns the value of the '<em><b>Is Prefix</b></em>' attribute.
+ * The default value is <code>"false"</code>.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * Whether the operator is being used as a prefix or a postfix.
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Is Prefix</em>' attribute.
+ * @see #setIsPrefix(boolean)
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getIncrementOrDecrementExpression_IsPrefix()
+ * @model default="false" required="true"
+ * @generated
+ */
+ boolean isIsPrefix();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.uml.alf.IncrementOrDecrementExpression#isIsPrefix <em>Is Prefix</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Is Prefix</em>' attribute.
+ * @see #isIsPrefix()
+ * @generated
+ */
+ void setIsPrefix(boolean value);
+
+ /**
+ * Returns the value of the '<em><b>Is Feature</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * Whether the operand is a feature or not.
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Is Feature</em>' attribute.
+ * @see #setIsFeature(boolean)
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getIncrementOrDecrementExpression_IsFeature()
+ * @model transient="true" volatile="true" derived="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot derivation='self.operand.feature() <> null'"
+ * @generated
+ */
+ boolean isIsFeature();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.uml.alf.IncrementOrDecrementExpression#isIsFeature <em>Is Feature</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Is Feature</em>' attribute.
+ * @see #isIsFeature()
+ * @generated
+ */
+ void setIsFeature(boolean value);
+
+ /**
+ * Returns the value of the '<em><b>Is Indexed</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * Whether the operand has an index or not.
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Is Indexed</em>' attribute.
+ * @see #setIsIndexed(boolean)
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getIncrementOrDecrementExpression_IsIndexed()
+ * @model transient="true" volatile="true" derived="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot derivation='self.operand.index() <> null'"
+ * @generated
+ */
+ boolean isIsIndexed();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.uml.alf.IncrementOrDecrementExpression#isIsIndexed <em>Is Indexed</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Is Indexed</em>' attribute.
+ * @see #isIsIndexed()
+ * @generated
+ */
+ void setIsIndexed(boolean value);
+
+ /**
+ * Returns the value of the '<em><b>Is Data Value Update</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * Whether this expression updates an attribute of a data value held in a
+ * local name or parameter.
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Is Data Value Update</em>' attribute.
+ * @see #setIsDataValueUpdate(boolean)
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getIncrementOrDecrementExpression_IsDataValueUpdate()
+ * @model transient="true" volatile="true" derived="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot derivation='self.operand.isDataValueUpdate()'"
+ * @generated
+ */
+ boolean isIsDataValueUpdate();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.uml.alf.IncrementOrDecrementExpression#isIsDataValueUpdate <em>Is Data Value Update</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Is Data Value Update</em>' attribute.
+ * @see #isIsDataValueUpdate()
+ * @generated
+ */
+ void setIsDataValueUpdate(boolean value);
+
+ /**
+ * Returns the value of the '<em><b>Operator</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Operator</em>' attribute isn't clear, there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The increment ("++") or decrement ("--") operator for this expression.
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Operator</em>' attribute.
+ * @see #setOperator(String)
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getIncrementOrDecrementExpression_Operator()
+ * @model
+ * @generated
+ */
+ String getOperator();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.uml.alf.IncrementOrDecrementExpression#getOperator <em>Operator</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Operator</em>' attribute.
+ * @see #getOperator()
+ * @generated
+ */
+ void setOperator(String value);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='self.integerType()'"
+ * @generated
+ */
+ ElementReference type();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model required="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='self.operand.lower'"
+ * @generated
+ */
+ BigInteger lower();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model required="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='1'"
+ * @generated
+ */
+ BigInteger upper();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * If the operand of an increment or decrement expression is a name, then
+ * the assignment for the expression is a new assigned source for the name
+ * with the expression as the source.
+ * <!-- end-model-doc -->
+ *
+ * @model
+ * @generated
+ */
+ boolean incrementOrDecrementExpressionAssignmentDerivation(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * An increment or decrement expression has a feature as its operand if the
+ * operand is a kind of FeatureLeftHandSide.
+ * <!-- end-model-doc -->
+ *
+ * @model
+ * @generated
+ */
+ boolean incrementOrDecrementExpressionIsFeatureDerivation(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * An increment or decrement expression is indexed if its operand is indexed.
+ * <!-- end-model-doc -->
+ *
+ * @model
+ * @generated
+ */
+ boolean incrementOrDecrementExpressionIsIndexedDerivation(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * An increment or decrement expression is a data value update if its
+ * operand is an attribute of a data value held in a local name or parameter.
+ * <!-- end-model-doc -->
+ *
+ * @model
+ * @generated
+ */
+ boolean incrementOrDecrementExpressionIsDataValueUpdateDerivation(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * If the operand of an increment or decrement expression is a feature,
+ * then the referent for the operand.
+ * <!-- end-model-doc -->
+ *
+ * @model
+ * @generated
+ */
+ boolean incrementOrDecrementExpressionFeatureDerivation(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The effective expression for the operand of an increment or decrement
+ * expression is the operand treated as a name expression, property access
+ * expression or sequence access expression, as appropriate for evaluation
+ * to obtain the original value to be updated.
+ * <!-- end-model-doc -->
+ *
+ * @model
+ * @generated
+ */
+ boolean incrementOrDecrementExpressionExpressionDerivation(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * An increment or decrement expression has type Integer.
+ * (See the type() operation.)
+ * <!-- end-model-doc -->
+ *
+ * @model
+ * @generated
+ */
+ boolean incrementOrDecrementExpressionTypeDerivation(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * An increment or decrement expression has the same multiplicity lower
+ * bound as its operand expression.
+ * (See the lower() operation.)
+ * <!-- end-model-doc -->
+ *
+ * @model
+ * @generated
+ */
+ boolean incrementOrDecrementExpressionLowerDerivation(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * An increment or decrement expression has a multiplicity upper bound of 1.
+ * (See the upper() operation.)
+ * <!-- end-model-doc -->
+ *
+ * @model
+ * @generated
+ */
+ boolean incrementOrDecrementExpressionUpperDerivation(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The operand expression must have type Integer and a multiplicity upper bound of 1.
+ * <!-- end-model-doc -->
+ *
+ * @model annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='self.isIntegerType(self.operand.type) and self.operand.upper = 1'"
+ * @generated
+ */
+ boolean incrementOrDecrementExpressionOperand(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The assignments before the operand of an increment or decrement
+ * expression are the same as those before the increment or decrement
+ * expression.
+ * (See the SyntaxElement::assignmentsBefore(element) operation.)
+ * <!-- end-model-doc -->
+ *
+ * @model
+ * @generated
+ */
+ boolean incrementOrDecrementExpressionAssignmentsBefore(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The assignments after an increment and decrement expression include all
+ * those after its operand expression. Further, if the operand expression,
+ * considered as a left hand side, is a local name, then this is reassigned.
+ * <!-- end-model-doc -->
+ *
+ * @model ordered="false"
+ * annotation=
+ * "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n let assignment = self.assignment in\n if assignment = null then self.operand.assignmentAfter\n else assignment.update(self.operand.assignmentAfter)\n endif'"
+ * @generated
+ */
+ EList<AssignedSource> updateAssignments();
+
+} // IncrementOrDecrementExpression
diff --git a/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/InputNamedExpression.java b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/InputNamedExpression.java
new file mode 100644
index 00000000000..b2bd0f38c8c
--- /dev/null
+++ b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/InputNamedExpression.java
@@ -0,0 +1,218 @@
+/**
+ */
+package org.eclipse.papyrus.uml.alf;
+
+import java.util.Map;
+
+import org.eclipse.emf.common.util.DiagnosticChain;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Input Named Expression</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * A pairing of an input parameter name and an argument expression.
+ * <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.uml.alf.InputNamedExpression#getName <em>Name</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.InputNamedExpression#getExpression <em>Expression</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.InputNamedExpression#getIndex <em>Index</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.InputNamedExpression#isIsCollectionConversion <em>Is Collection Conversion</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.InputNamedExpression#isIsBitStringConversion <em>Is Bit String Conversion</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getInputNamedExpression()
+ * @model
+ * @generated
+ */
+public interface InputNamedExpression extends SyntaxElement {
+ /**
+ * Returns the value of the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The parameter name.
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Name</em>' attribute.
+ * @see #setName(String)
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getInputNamedExpression_Name()
+ * @model required="true"
+ * @generated
+ */
+ String getName();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.uml.alf.InputNamedExpression#getName <em>Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Name</em>' attribute.
+ * @see #getName()
+ * @generated
+ */
+ void setName(String value);
+
+ /**
+ * Returns the value of the '<em><b>Expression</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The argument expression.
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Expression</em>' reference.
+ * @see #setExpression(Expression)
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getInputNamedExpression_Expression()
+ * @model required="true"
+ * @generated
+ */
+ Expression getExpression();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.uml.alf.InputNamedExpression#getExpression <em>Expression</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Expression</em>' reference.
+ * @see #getExpression()
+ * @generated
+ */
+ void setExpression(Expression value);
+
+ /**
+ * Returns the value of the '<em><b>Index</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * An expression whose value gives an index into an ordered parameter.
+ * (This is only used in link operation expressions.)
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Index</em>' reference.
+ * @see #setIndex(Expression)
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getInputNamedExpression_Index()
+ * @model
+ * @generated
+ */
+ Expression getIndex();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.uml.alf.InputNamedExpression#getIndex <em>Index</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Index</em>' reference.
+ * @see #getIndex()
+ * @generated
+ */
+ void setIndex(Expression value);
+
+ /**
+ * Returns the value of the '<em><b>Is Collection Conversion</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * Whether the argument expression requires collection conversion.
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Is Collection Conversion</em>' attribute.
+ * @see #setIsCollectionConversion(boolean)
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getInputNamedExpression_IsCollectionConversion()
+ * @model transient="true" volatile="true" derived="true"
+ * annotation=
+ * "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot derivation='\n let parameterType = self.tuple().invocation.parameterNamed(self.name).type() in\n parameterType <> null and self.expression.type <> null and\n self.isCollectionClass(parameterType) and \n not self.isCollectionClass(self.expression.type)'"
+ * @generated
+ */
+ boolean isIsCollectionConversion();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.uml.alf.InputNamedExpression#isIsCollectionConversion <em>Is Collection Conversion</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Is Collection Conversion</em>' attribute.
+ * @see #isIsCollectionConversion()
+ * @generated
+ */
+ void setIsCollectionConversion(boolean value);
+
+ /**
+ * Returns the value of the '<em><b>Is Bit String Conversion</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * Whether the argument expression requires bit string conversion.
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Is Bit String Conversion</em>' attribute.
+ * @see #setIsBitStringConversion(boolean)
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getInputNamedExpression_IsBitStringConversion()
+ * @model transient="true" volatile="true" derived="true"
+ * annotation=
+ * "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot derivation='\n let parameterType = self.tuple().invocation.parameterNamed(self.name).type() in\n parameterType <> null and self.expression <> null and\n (self.isBitStringType(parameterType) or \n self.isBitStringCollectionClass(parameterType)) and \n not self.isBitStringType(self.expression.type)'"
+ * @generated
+ */
+ boolean isIsBitStringConversion();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.uml.alf.InputNamedExpression#isIsBitStringConversion <em>Is Bit String Conversion</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Is Bit String Conversion</em>' attribute.
+ * @see #isIsBitStringConversion()
+ * @generated
+ */
+ void setIsBitStringConversion(boolean value);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model required="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='self.owner().oclAsType(_\'Tuple\')'"
+ * @generated
+ */
+ Tuple tuple();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * Collection conversion is required if the type of the corresponding
+ * parameter is a collection class and the type of the argument expression
+ * is not.
+ * <!-- end-model-doc -->
+ *
+ * @model
+ * @generated
+ */
+ boolean namedExpressionIsCollectionConversionDerivation(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * Bit string conversion is required if the type of the type of the
+ * corresponding parameter is BitString, or a collection class instantiated
+ * with a BitString type, and the type of the argument expression is not
+ * BitString.
+ * <!-- end-model-doc -->
+ *
+ * @model
+ * @generated
+ */
+ boolean namedExpressionIsBitStringConversionDerivation(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+} // InputNamedExpression
diff --git a/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/InstanceCreationExpression.java b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/InstanceCreationExpression.java
new file mode 100644
index 00000000000..4c03eb68fb0
--- /dev/null
+++ b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/InstanceCreationExpression.java
@@ -0,0 +1,299 @@
+/**
+ */
+package org.eclipse.papyrus.uml.alf;
+
+import java.math.BigInteger;
+import java.util.Map;
+
+import org.eclipse.emf.common.util.DiagnosticChain;
+import org.eclipse.emf.common.util.EList;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Instance Creation Expression</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * An expression used to create a new instance of a class or data type.
+ * <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.uml.alf.InstanceCreationExpression#isIsConstructorless <em>Is Constructorless</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.InstanceCreationExpression#isIsObjectCreation <em>Is Object Creation</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.InstanceCreationExpression#getConstructor <em>Constructor</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getInstanceCreationExpression()
+ * @model
+ * @generated
+ */
+public interface InstanceCreationExpression extends InvocationExpression {
+ /**
+ * Returns the value of the '<em><b>Is Constructorless</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * Whether this is a constructorless object creation expression.
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Is Constructorless</em>' attribute.
+ * @see #setIsConstructorless(boolean)
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getInstanceCreationExpression_IsConstructorless()
+ * @model transient="true" volatile="true" derived="true"
+ * annotation="http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeRoleName body='PropertyAccessExpression'"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot derivation='\n let referent = self.referent in\n referent <> null and referent.isClass()'"
+ * @generated
+ */
+ boolean isIsConstructorless();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.uml.alf.InstanceCreationExpression#isIsConstructorless <em>Is Constructorless</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Is Constructorless</em>' attribute.
+ * @see #isIsConstructorless()
+ * @generated
+ */
+ void setIsConstructorless(boolean value);
+
+ /**
+ * Returns the value of the '<em><b>Is Object Creation</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * Whether this is an object creation expression or a data value creation
+ * expression.
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Is Object Creation</em>' attribute.
+ * @see #setIsObjectCreation(boolean)
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getInstanceCreationExpression_IsObjectCreation()
+ * @model transient="true" volatile="true" derived="true"
+ * annotation="http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeRoleName body='PropertyAccessExpression' unique='false' upper='*'"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot derivation='\n let referent = self.referent in\n referent = null or not referent.isDataType()'"
+ * @generated
+ */
+ boolean isIsObjectCreation();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.uml.alf.InstanceCreationExpression#isIsObjectCreation <em>Is Object Creation</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Is Object Creation</em>' attribute.
+ * @see #isIsObjectCreation()
+ * @generated
+ */
+ void setIsObjectCreation(boolean value);
+
+ /**
+ * Returns the value of the '<em><b>Constructor</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The name of the class constructor operation to be invoked or the name of
+ * a class or data type.
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Constructor</em>' containment reference.
+ * @see #setConstructor(QualifiedName)
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getInstanceCreationExpression_Constructor()
+ * @model containment="true"
+ * @generated
+ */
+ QualifiedName getConstructor();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.uml.alf.InstanceCreationExpression#getConstructor <em>Constructor</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Constructor</em>' containment reference.
+ * @see #getConstructor()
+ * @generated
+ */
+ void setConstructor(QualifiedName value);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model annotation=
+ * "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n if self.constructor = null then null\n else\n let referents = self.constructor.referent in\n let classReferents = referents->select(isClass()) in\n let dataTypeReferents = referents->select(isDataType()) in\n if dataTypeReferents->size() = 1 and classReferents->isEmpty() then\n dataTypeReferents->any(true)\n else if dataTypeReferents->notEmpty() then\n null\n else\n -- TODO: Handle operation overloading.\n let operationReferents =\n if classReferents->size() <> 1 then\n referents->select(isOperation())\n else \n let name = self.constructor.unqualifiedName.toName() in\n classReferents->any(true).ownedMembers()->\n select(name() = name and isOperation())\n endif\n in\n if operationReferents->size() = 1 and\n operationReferents->forAll(isConstructor()) then\n let operationReferent = operationReferents->any(true) in\n let classReferent = operationReferent.namespace() in\n if not classReferent.isAbstractClassifier() then\n operationReferent\n else\n -- Check for an \"Impl\" package.\n let namespaceReferent = classReferent.namespace() in\n if namespaceReferent = null then null\n else\n let template = classReferent.template() in\n let className = classReferent.name() in\n let operationName = operationReferent.name() in\n let implClassReferent = \n namespaceReferent.ownedMembers()->\n select(name() = \'Impl\' and isPackage()).\n ownedMembers()->\n select(name() = className and isClass())\n in\n let boundClassReferent =\n if classReferent.template() = null or\n implClassReferent->exists(not isTemplate()) then \n implClassReferent\n else \n -- TODO: Check that template parameters match.\n implClassReferent.bind(\n classReferent.templateActuals()->asSequence()\n )\n endif\n in\n let implOperationReferent =\n boundClassReferent.ownedMembers()->\n select(name() = operationName and isOperation())\n in\n if implOperationReferent->size() <> 1 then null\n else implOperationReferent->any(true)\n endif\n endif\n endif\n else if classReferents->size() = 1 then\n classReferents->any(true)\n else\n null\n endif endif\n endif endif\n endif'"
+ * @generated
+ */
+ ElementReference referent();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model required="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='null'"
+ * @generated
+ */
+ FeatureReference feature();
+
+ /**
+ * <!-- 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 referent <> null and referent.isClassifier() then referent\n else self.InvocationExpression_type()\n endif'"
+ * @generated
+ */
+ ElementReference type();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model required="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n let referent = self.referent in\n if referent <> null and referent.isClassifier() then 1\n else self.InvocationExpression_lower()\n endif'"
+ * @generated
+ */
+ BigInteger lower();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model required="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n let referent = self.referent in\n if referent <> null and referent.isClassifier() then 1\n else self.InvocationExpression_upper()\n endif'"
+ * @generated
+ */
+ BigInteger upper();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * An instance creation expression is an object creation if its referent is
+ * not a data type.
+ * <!-- end-model-doc -->
+ *
+ * @model
+ * @generated
+ */
+ boolean instanceCreationExpressionIsObjectCreationDerivation(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * An instance creation expression is constructorless if its referent is a
+ * class.
+ * <!-- end-model-doc -->
+ *
+ * @model
+ * @generated
+ */
+ boolean instanceCreationExpressionIsConstructorlessDerivation(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The referent of an instance creation expression is normally the
+ * constructor operation, class or data type to which the constructor name
+ * resolves. However, if the referent is an operation whose class is
+ * abstract or is a class that is itself abstract, and there is an
+ * associated Impl class constructor, then the referent is the Impl class
+ * constructor.
+ * <!-- end-model-doc -->
+ *
+ * @model
+ * @generated
+ */
+ boolean instanceCreationExpressionReferentDerivation(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * There is no feature for an instance creation expression.
+ * <!-- end-model-doc -->
+ *
+ * @model
+ * @generated
+ */
+ boolean instanceCreationExpressionFeatureDerivation(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The constructor name must resolve to a constructor operation (that is
+ * compatible with the tuple argument expressions), a class or a data type,
+ * but not both a class and a data type.
+ * <!-- end-model-doc -->
+ *
+ * @model annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n let referent = self.referent in\n referent <> null and\n (referent.isDataType() or referent.isClass() or referent.isOperation())'"
+ * @generated
+ */
+ boolean instanceCreationExpressionConstructor(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * If the expression is constructorless, then its tuple must be empty and
+ * the referent class must not have any owned operations that are constructors.
+ * <!-- end-model-doc -->
+ *
+ * @model annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n self.isConstructorless implies \n self.tuple.size() = 0 and \n not self.referent.ownedMembers()->exists(isConstructor())'"
+ * @generated
+ */
+ boolean instanceCreationExpressionConstructorlessLegality(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * If an instance creation expression is a data value creation (not an
+ * object creation), then the tuple argument expressions are matched with
+ * the attributes of the named type.
+ * <!-- end-model-doc -->
+ *
+ * @model annotation=
+ * "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n -- TODO: Once overloading resolution is implemented, change this to only\n -- be for data value creation.\n self.tuple.size() <= self.parameterCount() and\n self.tuple.input->forAll(input | self.parameterIsAssignableFrom(input)) and\n self.tuple.output->forAll(output | self.parameterIsAssignableTo(output))'"
+ * @generated
+ */
+ boolean instanceCreationExpressionDataTypeCompatibility(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * If the referent of an instance creation expression is an operation, then
+ * the class of that operation must not be abstract. Otherwise, the referent
+ * is a class or data type, which must not be abstract.
+ * <!-- end-model-doc -->
+ *
+ * @model annotation=
+ * "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n let referent = self.referent in\n let classReferent =\n if referent <> null and referent.isOperation() then \n referent.namespace()\n else\n referent\n endif\n in\n referent <> null and not referent.isAbstractClassifier()'"
+ * @generated
+ */
+ boolean instanceCreationExpressionReferent(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * Returns the parameters of a constructor operation or the attributes of a
+ * data type, or an empty set for a constructorless instance creation.
+ * <!-- end-model-doc -->
+ *
+ * @model annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n if self.isConstructorless then Set(ElementReference){}\n else self.InvocationExpression_parameterElements()\n endif'"
+ * @generated
+ */
+ EList<ElementReference> parameterElements();
+
+} // InstanceCreationExpression
diff --git a/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/InternalElementReference.java b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/InternalElementReference.java
new file mode 100644
index 00000000000..f9cbc139b53
--- /dev/null
+++ b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/InternalElementReference.java
@@ -0,0 +1,848 @@
+/**
+ */
+package org.eclipse.papyrus.uml.alf;
+
+import java.math.BigInteger;
+import org.eclipse.emf.common.util.EList;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Internal Element Reference</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * A direct reference to a UML model element.
+ * <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.uml.alf.InternalElementReference#getElement <em>Element</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getInternalElementReference()
+ * @model
+ * @generated
+ */
+public interface InternalElementReference extends ElementReference {
+ /**
+ * Returns the value of the '<em><b>Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The Alf syntax element that represents the referenced model element.
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Element</em>' reference.
+ * @see #setElement(SyntaxElement)
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getInternalElementReference_Element()
+ * @model required="true"
+ * @generated
+ */
+ SyntaxElement getElement();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.uml.alf.InternalElementReference#getElement <em>Element</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Element</em>' reference.
+ * @see #getElement()
+ * @generated
+ */
+ void setElement(SyntaxElement value);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model kind="operation" required="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='true'"
+ * @generated
+ */
+ boolean isAlf();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='self.element'"
+ * @generated
+ */
+ SyntaxElement asAlf();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model annotation=
+ * "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n if self.element.oclIsKindOf(Member) then self.element.oclAsType(Member)\n else if self.element.oclIsKindOf(MemberDefinition) then\n let container = self.element.oclContainer() in\n if container.oclIsKindOf(Member) then container.oclAsType(Member)\n else null\n endif\n else null\n endif endif'"
+ * @generated
+ */
+ Member asMember();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model required="true" memberRequired="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n self.element.oclIsKindOf(MemberDefinition) and\n self.element.oclAsType(MemberDefinition).isSameKindAs(member)'"
+ * @generated
+ */
+ boolean isSameKindAs(ElementReference member);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model kind="operation" required="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='self.element.oclIsKindOf(MemberDefinition)'"
+ * @generated
+ */
+ boolean isNamedElement();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model kind="operation" required="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='self.element.oclIsKindOf(NamespaceDefinition)'"
+ * @generated
+ */
+ boolean isNamespace();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model required="true" unitRequired="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='self.isNamespace() and self.stubFor(unit) <> null'"
+ * @generated
+ */
+ boolean isNamespaceFor(UnitDefinition unit);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model kind="operation" required="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='self.element.oclIsKindOf(ModelNamespace)'"
+ * @generated
+ */
+ boolean isModelNamespace();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model kind="operation" required="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='self.element.oclIsKindOf(PackageDefinition)'"
+ * @generated
+ */
+ boolean isPackage();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model kind="operation" required="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='false'"
+ * @generated
+ */
+ boolean isProfile();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model kind="operation" required="true"
+ * annotation=
+ * "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n self.element.oclIsKindOf(Member) and\n not self.element.oclIsKindOf(FormalParameter) and\n not self.element.oclIsKindOf(ClassifierTemplateParameter) and\n not self.isFeature()'"
+ * @generated
+ */
+ boolean isPackageableElement();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model kind="operation" required="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='self.element.oclIsKindOf(ClassifierDefinition)'"
+ * @generated
+ */
+ boolean isClassifier();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model kind="operation" required="true"
+ * annotation=
+ * "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n let template = self.template() in\n if template <> null then\n template.isAbstractClassifier()\n else\n self.isClassifier() and \n self.element.oclAsType(ClassifierDefinition).isAbstract\n endif'"
+ * @generated
+ */
+ boolean isAbstractClassifier();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model kind="operation" required="true"
+ * annotation=
+ * "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n let template = self.template() in\n if template <> null then\n template.isAssociation()\n else\n self.element.oclIsKindOf(AssociationDefinition)\n endif'"
+ * @generated
+ */
+ boolean isAssociation();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model kind="operation" required="true"
+ * annotation=
+ * "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n let template = self.template() in\n if template <> null then\n template.isDataType()\n else\n self.element.oclIsKindOf(DataTypeDefinition)\n endif'"
+ * @generated
+ */
+ boolean isDataType();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model kind="operation" required="true"
+ * annotation=
+ * "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n let template = self.template() in\n if template <> null then\n template.isClass()\n else\n self.element.oclIsKindOf(ClassDefinition)\n endif'"
+ * @generated
+ */
+ boolean isClass();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model kind="operation" required="true"
+ * annotation=
+ * "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n let template = self.template() in\n if template <> null then\n template.isActiveClass()\n else\n self.element.oclIsKindOf(ActiveClassDefinition)\n endif'"
+ * @generated
+ */
+ boolean isActiveClass();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model kind="operation" required="true"
+ * annotation=
+ * "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n let template = self.template() in\n if template <> null then\n template.isSignal()\n else\n self.element.oclIsKindOf(SignalDefinition) or\n self.element.oclIsKindOf(SignalReceptionDefinition)\n endif'"
+ * @generated
+ */
+ boolean isSignal();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model kind="operation" required="true"
+ * annotation=
+ * "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n let template = self.template() in\n if template <> null then\n template.isEnumeration()\n else\n self.element.oclIsKindOf(EnumerationDefinition)\n endif'"
+ * @generated
+ */
+ boolean isEnumeration();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model kind="operation" required="true"
+ * annotation=
+ * "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n let template = self.template() in\n if template <> null then\n template.isBehavior()\n else\n self.element.oclIsKindOf(ActivityDefinition)\n endif'"
+ * @generated
+ */
+ boolean isBehavior();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model kind="operation" required="true"
+ * annotation=
+ * "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n let template = self.template() in\n if template <> null then\n template.isActivity()\n else\n self.element.oclIsKindOf(ActivityDefinition)\n endif'"
+ * @generated
+ */
+ boolean isActivity();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model kind="operation" required="true"
+ * annotation=
+ * "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n self.isActivity() and \n let stub = self.stub() in\n -- The case of the stub being a property covers the case of an\n -- activity used in the default value of an external property.\n stub <> null and (stub.isOperation() or stub.isProperty())'"
+ * @generated
+ */
+ boolean isMethod();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model kind="operation" required="true"
+ * annotation=
+ * "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n let template = self.template() in\n if template <> null then\n template.isReception()\n else\n self.element.oclIsKindOf(ReceptionDefinition) or\n self.element.oclIsKindOf(SignalReceptionDefinition)\n endif'"
+ * @generated
+ */
+ boolean isReception();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model kind="operation" required="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='false'"
+ * @generated
+ */
+ boolean isPrimitiveType();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model kind="operation" required="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='self.element.oclIsKindOf(OperationDefinition)'"
+ * @generated
+ */
+ boolean isOperation();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model kind="operation" required="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n self.isOperation() and\n self.element.oclAsType(OperationDefinition).isConstructor'"
+ * @generated
+ */
+ boolean isConstructor();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model kind="operation" required="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n self.isOperation() and\n self.element.oclAsType(OperationDefinition).isDestructor'"
+ * @generated
+ */
+ boolean isDestructor();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model kind="operation" required="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n self.element.oclIsKindOf(MemberDefinition) and \n self.element.oclAsType(MemberDefinition).isFeature'"
+ * @generated
+ */
+ boolean isFeature();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model kind="operation" required="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n self.element.oclIsKindOf(PropertyDefinition)'"
+ * @generated
+ */
+ boolean isProperty();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model kind="operation" required="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n self.isProperty() and\n self.asMember().namespace.oclIsKindOf(AssociationDefinition)'"
+ * @generated
+ */
+ boolean isAssociationEnd();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model kind="operation" required="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n self.element.oclIsKindOf(FormalParameter)'"
+ * @generated
+ */
+ boolean isParameter();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model kind="operation" required="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n self.element.oclIsKindOf(MemberDefinition) and\n self.element.oclAsType(MemberDefinition).isTemplate()'"
+ * @generated
+ */
+ boolean isTemplate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model kind="operation" required="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='self.element.oclIsKindOf(ClassifierTemplateParameter)'"
+ * @generated
+ */
+ boolean isTemplateParameter();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model kind="operation" required="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='self.element.oclIsKindOf(ClassifierTemplateParameter)'"
+ * @generated
+ */
+ boolean isClassifierTemplateParameter();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model kind="operation" required="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='self.element.oclIsKindOf(ClassifierTemplateParameter)'"
+ * @generated
+ */
+ boolean isParameteredElement();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model kind="operation" required="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='self.element.oclIsKindOf(BoundClassifier)'"
+ * @generated
+ */
+ boolean isTemplateBinding();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model kind="operation" required="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='self.element.oclIsKindOf(EnumerationLiteralName)'"
+ * @generated
+ */
+ boolean isEnumerationLiteral();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model kind="operation" required="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='self.element.oclIsKindOf(LoopVariableDefinition)'"
+ * @generated
+ */
+ boolean isLoopVariable();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model kind="operation" required="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='self.element.oclIsKindOf(Annotation)'"
+ * @generated
+ */
+ boolean isAnnotation();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model kind="operation" required="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='self.element.oclIsKindOf(SequenceExpansionExpression)'"
+ * @generated
+ */
+ boolean isSequenceExpansionExpression();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model kind="operation" required="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='self.element.oclIsKindOf(AnyType)'"
+ * @generated
+ */
+ boolean isAnyType();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model kind="operation" required="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='false'"
+ * @generated
+ */
+ boolean isStereotype();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n if not self.isNamedElement() then null\n else self.element.oclAsType(MemberDefinition).actualName()\n endif'"
+ * @generated
+ */
+ String name();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n let member = self.asMember() in\n if member = null then null\n else member.visibility()\n endif'"
+ * @generated
+ */
+ String visibility();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model annotation=
+ * "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n if self.isNamespace() then \n self.element.oclAsType(NamespaceDefinition).ownedMember.toReference()->\n asOrderedSet()\n else\n OrderedSet(ElementReference){}\n endif'"
+ * @generated
+ */
+ EList<ElementReference> ownedMembers();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model annotation=
+ * "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n if self.isNamespace() then \n self.element.oclAsType(NamespaceDefinition).member.toReference()->\n asOrderedSet()\n else \n OrderedSet(ElementReference){}\n endif'"
+ * @generated
+ */
+ EList<ElementReference> members();
+
+ /**
+ * <!-- 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\n let member = self.asMember() in\n if member = null then null\n else\n let owner = member.owner() in\n if not owner.oclIsKindOf(AssociationDefinition) then null\n else\n let ends = owner.oclAsType(AssociationDefinition).ownedMember in\n if ends->size() <> 2 then null\n else ends->any(e | e <> member).oclAsType(Member).toReference()\n endif\n endif\n endif\n endif'"
+ * @generated
+ */
+ ElementReference opposite();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model annotation=
+ * "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n let element = self.element in\n if element.oclIsKindOf(ReceptionDefinition) then\n element.oclAsType(ReceptionDefinition).signal\n else if element.oclIsKindOf(SignalReceptionDefinition) then\n element.oclAsType(SignalReceptionDefinition).toReference()\n else\n null\n endif endif'"
+ * @generated
+ */
+ ElementReference signal();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model annotation=
+ * "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n let template = self.template() in\n if template <> null then\n template.parameters()\n else if self.isBehavior() or self.isOperation() then\n self.element.oclAsType(NamespaceDefinition).parameters().toReference()\n else\n OrderedSet(ElementReference){}\n endif endif'"
+ * @generated
+ */
+ EList<ElementReference> parameters();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model annotation=
+ * "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n let template = self.template() in\n if template <> null then\n template.returnParameter()\n else if self.isBehavior() or self.isOperation() then\n let returnParameter = self.element.oclAsType(NamespaceDefinition).returnParameter() in\n if returnParameter = null then\n null\n else\n returnParameter.toReference()\n endif\n else\n null\n endif endif'"
+ * @generated
+ */
+ ElementReference returnParameter();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model annotation=
+ * "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n if self.isOperation() then \n self\n else if self.isBehavior() then\n self.element.oclAsType(NamespaceDefinition).stub()\n else \n null\n endif endif'"
+ * @generated
+ */
+ ElementReference specification();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model ordered="false"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n if not self.isOperation() then Set(ElementReference){}\n else self.oclAsType(OperationDefinition).redefinedOperation\n endif'"
+ * @generated
+ */
+ EList<ElementReference> redefinedOperaions();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n if self.element.oclIsKindOf(MemberDefinition) then\n self.element.oclAsType(MemberDefinition).outerScope()\n else\n null\n endif'"
+ * @generated
+ */
+ ElementReference namespace();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n if self.isTemplateBinding() then\n self.element.oclAsType(BoundClassifier).template\n else\n null\n endif'"
+ * @generated
+ */
+ ElementReference template();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model annotation=
+ * "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n if self.isTemplate() then\n self.element.oclAsType(ClassifierDefinition).templateParameters().toReference()\n else\n OrderedSet(ElementReference){}\n endif'"
+ * @generated
+ */
+ EList<ElementReference> templateParameters();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='self.templateParameters()'"
+ * @generated
+ */
+ EList<ElementReference> parameteredElements();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model annotation=
+ * "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n if self.isTemplateBinding() then\n self.element.oclAsType(BoundClassifier).actual->collect (actual |\n if actual.isAnyType() then null else actual endif\n )->asOrderedSet()\n else\n OrderedSet(ElementReference){}\n endif'"
+ * @generated
+ */
+ EList<ElementReference> templateActuals();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n if self.isParameter() then\n self.element.oclAsType(FormalParameter).direction\n else\n null\n endif'"
+ * @generated
+ */
+ String direction();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n if not self.isAssociationEnd() then null\n else self.namespace()\n endif'"
+ * @generated
+ */
+ ElementReference association();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model annotation=
+ * "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n if self.isProperty() then\n self.element.oclAsType(PropertyDefinition).typePart.type\n else if self.isParameter() then\n self.element.oclAsType(FormalParameter).typePart.type\n else if self.isBehavior() or self.isOperation() then\n let returnParameter = self.returnParameter() in\n if returnParameter = null then null\n else returnParameter.type()\n endif\n else if self.isEnumerationLiteral() then\n self.namespace()\n else\n null\n endif endif endif endif'"
+ * @generated
+ */
+ ElementReference type();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model required="true"
+ * annotation=
+ * "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n if self.isProperty() then\n self.element.oclAsType(PropertyDefinition).typePart.lower\n else if self.isParameter() then\n self.element.oclAsType(FormalParameter).typePart.lower\n else\n 1\n endif endif'"
+ * @generated
+ */
+ BigInteger lower();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model required="true"
+ * annotation=
+ * "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n if self.isProperty() then\n self.element.oclAsType(PropertyDefinition).typePart.upper\n else if self.isParameter() then\n self.element.oclAsType(FormalParameter).typePart.upper\n else\n 1\n endif endif'"
+ * @generated
+ */
+ BigInteger upper();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model kind="operation" required="true"
+ * annotation=
+ * "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n if self.isProperty() then\n self.element.oclAsType(PropertyDefinition).typePart.isOrdered()\n else if self.isParameter() then\n self.element.oclAsType(FormalParameter).typePart.isOrdered()\n else\n false\n endif endif'"
+ * @generated
+ */
+ boolean isOrdered();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model kind="operation" required="true"
+ * annotation=
+ * "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n if self.isProperty() then\n self.element.oclAsType(PropertyDefinition).typePart.isNonunique()\n else if self.isParameter() then\n self.element.oclAsType(FormalParameter).typePart.isNonunique()\n else\n false\n endif endif'"
+ * @generated
+ */
+ boolean isNonunique();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model ordered="false"
+ * annotation=
+ * "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n if self.isClassifier() then\n self.element.oclAsType(ClassifierDefinition).specializationReferent\n else\n Set(ElementReference){}\n endif'"
+ * @generated
+ */
+ EList<ElementReference> parents();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model ordered="false"
+ * annotation=
+ * "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n if self.isClassifier() then\n self.element.removeDuplicateElements(\n self->closure(parents())->excluding(self)->asBag()\n )->asSet()\n else\n Set(ElementReference){}\n endif'"
+ * @generated
+ */
+ EList<ElementReference> allParents();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model annotation=
+ * "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n if not self.isActiveClass() then null\n else\n let classifierBehavior = \n self.element.oclAsType(ActiveClassDefinition).classifierBehavior in\n if classifierBehavior = null then null\n else classifierBehavior.toReference()\n endif\n endif'"
+ * @generated
+ */
+ ElementReference classifierBehavior();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model ordered="false"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n if not self.isNamespace() then Set(ecore::EObject){}\n else self.element.oclAsType(NamespaceDefinition).appliedProfiles()\n endif'"
+ * @generated
+ */
+ EList<ElementReference> appliedProfiles();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model annotation=
+ * "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n if not self.isActivity() then null\n else\n let namespace = self.element.oclAsType(ActivityDefinition).namespaceReference() in\n if namespace = null or \n not self.equals(namespace.classifierBehavior()) then null\n else namespace\n endif\n endif'"
+ * @generated
+ */
+ ElementReference activeClass();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model required="true"
+ * annotation=
+ * "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n other = null or\n self.isClassifier() and (self.equals(other) or\n self.element.oclAsType(ClassifierDefinition).\n specializationReferent->exists(conformsTo(other)))'"
+ * @generated
+ */
+ boolean conformsTo(ElementReference other);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model required="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='other <> null and other.asAlf() = self.element'"
+ * @generated
+ */
+ boolean equals(ElementReference other);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model required="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='InternalElementReference{element = self.element}'"
+ * @generated
+ */
+ ElementReference copy();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n if not self.isNamespace() then null\n else self.element.oclAsType(NamespaceDefinition).modelScope()\n endif'"
+ * @generated
+ */
+ ElementReference modelScope();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model ordered="false" pathNameRequired="true"
+ * annotation=
+ * "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n if not self.element.oclIsKindOf(ModelNamespace) then\n Set(ElementReference){}\n else\n self.element.oclAsType(ModelNamespace).resolvePathName(pathName)\n endif'"
+ * @generated
+ */
+ EList<ElementReference> resolvePathName(String pathName);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model ordered="false" nameRequired="true"
+ * annotation=
+ * "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n let template = self.template() in\n if template <> null then\n template.resolveInScope(name)\n else if not self.isNamespace() then Set(ElementReference){}\n else \n self.element.oclAsType(NamespaceDefinition).resolveInScope(name).\n toReference()\n endif endif'"
+ * @generated
+ */
+ EList<ElementReference> resolveInScope(String name);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model ordered="false" stereotypeNameRequired="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='Set(ElementReference){}'"
+ * @generated
+ */
+ EList<ElementReference> resolveStereotypeName(String stereotypeName);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n if not self.isNamespace() then null\n else self.element.oclAsType(NamespaceDefinition).stub()\n endif'"
+ * @generated
+ */
+ ElementReference stub();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model unitRequired="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n if not self.isNamespace() then null\n else self.element.oclAsType(NamespaceDefinition).stubFor(unit)\n endif'"
+ * @generated
+ */
+ ElementReference stubFor(UnitDefinition unit);
+
+} // InternalElementReference
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
new file mode 100644
index 00000000000..56d9941cad9
--- /dev/null
+++ b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/InvocationExpression.java
@@ -0,0 +1,750 @@
+/**
+ */
+package org.eclipse.papyrus.uml.alf;
+
+import java.math.BigInteger;
+import java.util.Map;
+
+import org.eclipse.emf.common.util.DiagnosticChain;
+import org.eclipse.emf.common.util.EList;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Invocation Expression</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * An expression denoting the invocation of a behavior or operation, or the
+ * sending of a signal.
+ * <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.uml.alf.InvocationExpression#isIsBehavior <em>Is Behavior</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.InvocationExpression#isIsAssociationEnd <em>Is Association End</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.InvocationExpression#getFeature <em>Feature</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.InvocationExpression#isIsOperation <em>Is Operation</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.InvocationExpression#isIsDestructor <em>Is Destructor</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.InvocationExpression#isIsImplicit <em>Is Implicit</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.InvocationExpression#getReferent <em>Referent</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.InvocationExpression#getParameter <em>Parameter</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.InvocationExpression#isIsSignal <em>Is Signal</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.InvocationExpression#getTuple <em>Tuple</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getInvocationExpression()
+ * @model abstract="true"
+ * @generated
+ */
+public interface InvocationExpression extends Expression {
+ /**
+ * Returns the value of the '<em><b>Is Behavior</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * Whether this is a behavior invocation or not.
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Is Behavior</em>' attribute.
+ * @see #setIsBehavior(boolean)
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getInvocationExpression_IsBehavior()
+ * @model transient="true" volatile="true" derived="true"
+ * annotation="http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeRoleName body='OutputNamedExpression' unique='false' upper='*'"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot derivation='\n let referent = self.referent in\n referent <> null and referent.isBehavior()'"
+ * @generated
+ */
+ boolean isIsBehavior();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.uml.alf.InvocationExpression#isIsBehavior <em>Is Behavior</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Is Behavior</em>' attribute.
+ * @see #isIsBehavior()
+ * @generated
+ */
+ void setIsBehavior(boolean value);
+
+ /**
+ * Returns the value of the '<em><b>Is Association End</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * Whether this is an association read or not.
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Is Association End</em>' attribute.
+ * @see #setIsAssociationEnd(boolean)
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getInvocationExpression_IsAssociationEnd()
+ * @model transient="true" volatile="true" derived="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot derivation='\n let referent = self.referent in\n referent<> null and referent.isAssociationEnd()'"
+ * @generated
+ */
+ boolean isIsAssociationEnd();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.uml.alf.InvocationExpression#isIsAssociationEnd <em>Is Association End</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Is Association End</em>' attribute.
+ * @see #isIsAssociationEnd()
+ * @generated
+ */
+ void setIsAssociationEnd(boolean value);
+
+ /**
+ * Returns the value of the '<em><b>Feature</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * For an invocation of a feature, the reference to that feature. This
+ * property is set for a feature invocation expression or for an expression
+ * initially parsed as a behavior invocation expression that disambiguates
+ * to a feature invocation expression.
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Feature</em>' reference.
+ * @see #setFeature(FeatureReference)
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getInvocationExpression_Feature()
+ * @model transient="true" volatile="true" derived="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot derivation='self.feature()'"
+ * @generated
+ */
+ FeatureReference getFeature();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.uml.alf.InvocationExpression#getFeature <em>Feature</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Feature</em>' reference.
+ * @see #getFeature()
+ * @generated
+ */
+ void setFeature(FeatureReference value);
+
+ /**
+ * Returns the value of the '<em><b>Is Operation</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * Whether this is an operation call or not.
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Is Operation</em>' attribute.
+ * @see #setIsOperation(boolean)
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getInvocationExpression_IsOperation()
+ * @model transient="true" volatile="true" derived="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot derivation='\n let referent = self.referent in\n referent<> null and referent.isOperation()'"
+ * @generated
+ */
+ boolean isIsOperation();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.uml.alf.InvocationExpression#isIsOperation <em>Is Operation</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Is Operation</em>' attribute.
+ * @see #isIsOperation()
+ * @generated
+ */
+ void setIsOperation(boolean value);
+
+ /**
+ * Returns the value of the '<em><b>Is Destructor</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * If this is an operation call, whether the operation is a destructor.
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Is Destructor</em>' attribute.
+ * @see #setIsDestructor(boolean)
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getInvocationExpression_IsDestructor()
+ * @model transient="true" volatile="true" derived="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot derivation='\n let referent = self.referent in\n referent<> null and referent.isDestructor()'"
+ * @generated
+ */
+ boolean isIsDestructor();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.uml.alf.InvocationExpression#isIsDestructor <em>Is Destructor</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Is Destructor</em>' attribute.
+ * @see #isIsDestructor()
+ * @generated
+ */
+ void setIsDestructor(boolean value);
+
+ /**
+ * Returns the value of the '<em><b>Is Implicit</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * Whether this is an implicit object destruction.
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Is Implicit</em>' attribute.
+ * @see #setIsImplicit(boolean)
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getInvocationExpression_IsImplicit()
+ * @model transient="true" volatile="true" derived="true"
+ * annotation=
+ * "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot derivation='\n let feature = self.feature in\n if feature = null then false\n else\n let nameBinding = feature.nameBinding in\n let referent = self.referent in\n nameBinding <> null and referent = null and\n nameBinding.toName() = \'destroy\' and\n nameBinding.binding = null\n endif'"
+ * @generated
+ */
+ boolean isIsImplicit();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.uml.alf.InvocationExpression#isIsImplicit <em>Is Implicit</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Is Implicit</em>' attribute.
+ * @see #isIsImplicit()
+ * @generated
+ */
+ void setIsImplicit(boolean value);
+
+ /**
+ * Returns the value of the '<em><b>Referent</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The behavior, operation or signal being invoked. The derivation of this
+ * property is specific to each kind of invocation expression.
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Referent</em>' reference.
+ * @see #setReferent(ElementReference)
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getInvocationExpression_Referent()
+ * @model transient="true" volatile="true" derived="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot derivation='referentCached()'"
+ * @generated
+ */
+ ElementReference getReferent();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.uml.alf.InvocationExpression#getReferent <em>Referent</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Referent</em>' reference.
+ * @see #getReferent()
+ * @generated
+ */
+ void setReferent(ElementReference value);
+
+ /**
+ * Returns the value of the '<em><b>Parameter</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.uml.alf.ElementReference}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * Element references to the parameters of the referent, in order.
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Parameter</em>' reference list.
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getInvocationExpression_Parameter()
+ * @model transient="true" volatile="true" derived="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot derivation='self.parameterElements()'"
+ * @generated
+ */
+ EList<ElementReference> getParameter();
+
+ /**
+ * Returns the value of the '<em><b>Is Signal</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * Whether this is a signal send or not.
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Is Signal</em>' attribute.
+ * @see #setIsSignal(boolean)
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getInvocationExpression_IsSignal()
+ * @model transient="true" volatile="true" derived="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot derivation='\n let referent = self.referent in\n referent <> null and referent.isSignal()'"
+ * @generated
+ */
+ boolean isIsSignal();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.uml.alf.InvocationExpression#isIsSignal <em>Is Signal</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Is Signal</em>' attribute.
+ * @see #isIsSignal()
+ * @generated
+ */
+ void setIsSignal(boolean value);
+
+ /**
+ * Returns the value of the '<em><b>Tuple</b></em>' containment reference.
+ * It is bidirectional and its opposite is '{@link org.eclipse.papyrus.uml.alf.Tuple#getInvocation <em>Invocation</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The tuple for the invocation expression.
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Tuple</em>' containment reference.
+ * @see #setTuple(Tuple)
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getInvocationExpression_Tuple()
+ * @see org.eclipse.papyrus.uml.alf.Tuple#getInvocation
+ * @model opposite="invocation" containment="true" required="true"
+ * @generated
+ */
+ Tuple getTuple();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.uml.alf.InvocationExpression#getTuple <em>Tuple</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Tuple</em>' containment reference.
+ * @see #getTuple()
+ * @generated
+ */
+ void setTuple(Tuple value);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model ordered="false" elementRequired="true"
+ * annotation=
+ * "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n let feature = self.feature() in\n if feature <> null and self.tuple = element then feature.assignmentAfter\n else self.assignmentBefore\n endif'"
+ * @generated
+ */
+ EList<AssignedSource> assignmentsBefore(SyntaxElement element);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model
+ * @generated
+ */
+ FeatureReference feature();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='self.InvocationExpression_type()'"
+ * @generated
+ */
+ ElementReference type();
+
+ /**
+ * <!-- 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 referent = null then null\n else referent.type()\n endif'"
+ * @generated
+ */
+ ElementReference InvocationExpression_type();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model required="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='self.InvocationExpression_upper()'"
+ * @generated
+ */
+ BigInteger upper();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model required="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n let referent = self.referent in\n if referent = null then 0\n else referent.upper()\n endif'"
+ * @generated
+ */
+ BigInteger InvocationExpression_upper();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model required="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='self.InvocationExpression_lower()'"
+ * @generated
+ */
+ BigInteger lower();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model required="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n let referent = self.referent in\n if referent = null then 0\n else referent.lower()\n endif'"
+ * @generated
+ */
+ BigInteger InvocationExpression_lower();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model nameRequired="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n let parameter = self.parameter->select(p | p.name() = name) in\n if parameter->isEmpty() then null\n else parameter->any(true)\n endif'"
+ * @generated
+ */
+ ElementReference parameterNamed(String name);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model required="true"
+ * annotation=
+ * "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n let parameters = self.parameter in\n if parameters->exists(direction() = \'return\') then\n parameters->size()-1\n else\n parameters->size()\n endif'"
+ * @generated
+ */
+ BigInteger parameterCount();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model required="true" inputRequired="true"
+ * annotation=
+ * "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n let parameter = self.parameterNamed(input.name) in\n let direction = parameter.direction() in\n (direction = \'in\' or direction = \'inout\') and\n parameter.isAssignableFrom(input.expression)'"
+ * @generated
+ */
+ boolean parameterIsAssignableFrom(InputNamedExpression input);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model required="true" outputRequired="true"
+ * annotation=
+ * "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n let parameter = self.parameterNamed(output.name) in\n let direction = parameter.direction() in\n let lhs = output.leftHandSide in\n direction = \'out\' and lhs.referent = null or\n (direction = \'out\' or direction = \'inout\') and\n output.expression.isAssignableFromElement(parameter)'"
+ * @generated
+ */
+ boolean parameterIsAssignableTo(OutputNamedExpression output);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model required="true"
+ * annotation=
+ * "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n let referent = self.referent in\n let currentScope = self.currentScope() in\n referent <> null and referent.isConstructor() and currentScope <> null implies\n let operation = currentScope.specification() in\n operation.isConstructor() and\n let statement = self.enclosingStatement() in\n statement <> null and statement.oclIsKindOf(ExpressionStatement) and\n let annotatedStatement = statement.owner() in\n let owner = annotatedStatement.owner() in\n owner <> null implies owner.oclIsKindOf(Block) and\n let block = owner.oclAsType(Block) in\n block.enclosingStatement() = null and\n block.statement->notEmpty() and\n block.statement->at(1) = annotatedStatement and\n -- NOTE: This ensures that the invoked constructor is\n -- from the same class as the containing constructor.\n operation.namespace().equals(referent.namespace()) and\n -- NOTE: An alternative constructor invocation should\n -- only be allowed on \"this\".\n self.feature().expression.oclIsKindOf(ThisExpression)'"
+ * @generated
+ */
+ boolean alternativeConstructorIsValid();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model referentRequired="true"
+ * @generated
+ */
+ ElementReference bindTemplateImplicitArguments(ElementReference referent, Expression primary);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model referentRequired="true"
+ * annotation=
+ * "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n let allParameters = referent.parameters() in\n let firstParameter =\n if primary = null or allParameters->isEmpty() then null\n else allParameters->first()\n endif\n in\n let firstParameterType =\n if firstParameter = null then null\n else firstParameter.type()\n endif\n in\n let primaryType =\n if firstParameter = null then null\n else self.effectiveType(firstParameter, primary)\n endif\n in\n let parameters =\n if firstParameter = null then allParameters\n else allParameters->excluding(firstParameter)\n endif\n in\n let templateArguments =\n referent.parameteredElements()->collect(parameteredElement |\n let inputTypes =\n self.tuple.inputFor(parameters)->\n select(input |\n let parameter = parameters->any(name() = input.name) in\n parameteredElement.equals(parameter.type())\n )->\n collect(input | \n let parameter = parameters->any(name() = input.name) in\n self.effectiveType(parameter, input.expression)\n )->asSet()\n in\n let types =\n if parameteredElement.equals(firstParameterType) then\n inputTypes->including(primaryType)\n else\n inputTypes\n endif\n in\n let commonAncestor = self.commonAncestor(types) in\n if commonAncestor = null then AnyType{}.toReference()\n else commonAncestor\n endif\n )\n in\n referent.bind(templateArguments)'"
+ * @generated
+ */
+ ElementReference bindTemplateImplicitArguments1(ElementReference referent, Expression primary);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * If collection conversion would be required, return the toSequence
+ * return type, rather than the expression type.
+ * <!-- end-model-doc -->
+ *
+ * @model required="true" parameterRequired="true" expressionRequired="true"
+ * annotation=
+ * "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n let type = expression.type in\n let parameterUpper = parameter.upper() in\n if (parameterUpper = -1 or parameterUpper > 1) and\n expression.upper = 1 and\n type <> null and self.isCollectionClass(type) then\n type.collectionArgument()\n else\n type\n endif'"
+ * @generated
+ */
+ ElementReference effectiveType(ElementReference parameter, Expression expression);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * Returns references to the elements that act as the parameters of the
+ * referent. If the referent is a behavior or operation, these are the owned
+ * parameters, in order. If the referent is an association end, then the
+ * parameters are the other association ends of the association of the
+ * referent end, which are treated as if they were in parameters. Otherwise
+ * (by default), they are any properties of the referent (e.g., signal
+ * attributes), which are treated as if they were in parameters. (This is
+ * defined as a helper operation, so that it can be overridden by subclasses
+ * of InvocationExpression, if necessary.)
+ * <!-- end-model-doc -->
+ *
+ * @model annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='InvocationExpression_parameterElements()'"
+ * @generated
+ */
+ EList<ElementReference> parameterElements();
+
+ /**
+ * <!-- 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.parameterFromProperty(p))->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();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model required="true" propertyRequired="true"
+ * annotation=
+ * "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n self.parameterFromPropertyWithMultiplicity(\n property, \n property.lower().toString(), \n let upper = property.upper() in\n if upper = -1 then \'*\'\n else upper.toString()\n endif\n )'"
+ * @generated
+ */
+ ElementReference parameterFromProperty(ElementReference property);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model required="true" propertyRequired="true" lowerRequired="true" upperRequired="true"
+ * annotation=
+ * "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n FormalParameter{\n name = property.name(),\n direction = \'in\',\n typePart = TypedElementDefinition{\n actualType = property.type(),\n lowerBound = lower,\n upperBound = upper\n },\n owner = property.namespace().asMember()\n }.toReference()'"
+ * @generated
+ */
+ ElementReference parameterFromPropertyWithMultiplicity(ElementReference property, String lower, String upper);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model
+ * @generated
+ */
+ ElementReference referent();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model
+ * @generated
+ */
+ ElementReference referentCached();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * An invocation expression is a behavior invocation if its referent is a
+ * behavior.
+ * <!-- end-model-doc -->
+ *
+ * @model
+ * @generated
+ */
+ boolean invocationExpressionIsBehaviorDerivation(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * An invocation expression is an association end read if its referent is an
+ * association end.
+ * <!-- end-model-doc -->
+ *
+ * @model
+ * @generated
+ */
+ boolean invocationExpressionIsAssociationEndDerivation(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * An invocation expression is an operation call if its referent is an
+ * operation.
+ * <!-- end-model-doc -->
+ *
+ * @model
+ * @generated
+ */
+ boolean invocationExpressionIsOperationDerivation(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * An invocation expression is a destructor call either implicitly or if it
+ * is an explicit operation call to a destructor operation.
+ * <!-- end-model-doc -->
+ *
+ * @model
+ * @generated
+ */
+ boolean invocationExpressionIsDestructorDerivation(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * An invocation expression is an implicit object destruction if it has a
+ * feature with the name "destroy" and no explicit referents.
+ * <!-- end-model-doc -->
+ *
+ * @model
+ * @generated
+ */
+ boolean invocationExpressionIsImplicitDerivation(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * An invocation expression is a signal send if its referent is a signal.
+ * <!-- end-model-doc -->
+ *
+ * @model
+ * @generated
+ */
+ boolean invocationExpressionIsSignalDerivation(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The parameters of an invocation expression are given by the result of the
+ * parameterElements helper operation.
+ * <!-- end-model-doc -->
+ *
+ * @model
+ * @generated
+ */
+ boolean invocationExpressionParameterDerivation(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * If the referent of an invocationExpression is an operation or behavior
+ * with a return parameter, then the type of the expression is that of the
+ * return parameter (if any). If the referent is a classifier, then the type
+ * is the referent. If the referent is a property, then the type is that of
+ * the property. Otherwise the expression has no type.
+ * (See the type() operation.)
+ * <!-- end-model-doc -->
+ *
+ * @model
+ * @generated
+ */
+ boolean invocationExpressionTypeDerivation(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * If the referent of an invocationExpression is an operation or behavior
+ * with a return parameter, then the upper bound of the expression is that
+ * of the return parameter. If the referent is a classifier, then the upper
+ * bound is 1. If the referent is a property, then the upper bound is that
+ * of the property. Otherwise the upper bound is 0.
+ * (See the upper() operation.)
+ * <!-- end-model-doc -->
+ *
+ * @model
+ * @generated
+ */
+ boolean invocationExpressionUpperDerivation(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * If the referent of an invocationExpression is an operation or behavior
+ * with a return parameter, then the lower bound of the expression is that
+ * of the return parameter. If the referent is a classifier, then the lower
+ * bound is 1. If the referent is a property, then the lower bound is that
+ * of the property. Otherwise the lower bound is 0.
+ * (see the lower() operation.)
+ * <!-- end-model-doc -->
+ *
+ * @model
+ * @generated
+ */
+ boolean invocationExpressionLowerDerivation(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The assignments before the target expression of the feature reference of
+ * an invocation expression (if any) are the same as the assignments before
+ * the invocation expression.
+ * (See the SyntaxElement::assignmentsBefore(element) operation.)
+ * <!-- end-model-doc -->
+ *
+ * @model
+ * @generated
+ */
+ boolean invocationExpressionAssignmentsBefore(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The assignments after an invocation expression are the same as those
+ * after the tuple of the expression.
+ * <!-- end-model-doc -->
+ *
+ * @model ordered="false"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='self.tuple.assignmentsAfter()'"
+ * @generated
+ */
+ EList<AssignedSource> updateAssignments();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * TODO: Add this constraint to the standard.
+ * if the referent is an implicit template binding, then all the template
+ * parameters must be for classifiers and the actuals conform to any
+ * constraining classifiers.
+ * <!-- end-model-doc -->
+ *
+ * @model annotation=
+ * "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n let referent = self.referent in\n referent <> null implies\n let template = referent.template() in\n template <> null implies \n let parameters = template.templateParameters() in\n let actuals = referent.templateActuals() in\n parameters->size() = actuals->size() and\n parameters->size() <> 0 implies\n Sequence{1..parameters->size()}->forAll(i |\n let parameter = parameters->at(i) in\n let actual = actuals->at(i) in\n parameter.isClassifierTemplateParameter() and\n parameter.parents()->forAll(p | actual.conformsTo(p))\n )'"
+ * @generated
+ */
+ boolean invocationExpressionTemplateParameters(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+} // InvocationExpression
diff --git a/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/IsUniqueExpression.java b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/IsUniqueExpression.java
new file mode 100644
index 00000000000..1495fd9a3b9
--- /dev/null
+++ b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/IsUniqueExpression.java
@@ -0,0 +1,72 @@
+/**
+ */
+package org.eclipse.papyrus.uml.alf;
+
+import java.util.Map;
+
+import org.eclipse.emf.common.util.DiagnosticChain;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Is Unique Expression</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * A sequence expansion expression with a isUnique.
+ * <!-- end-model-doc -->
+ *
+ *
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getIsUniqueExpression()
+ * @model
+ * @generated
+ */
+public interface IsUniqueExpression extends SequenceExpansionExpression {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * An isUnique expression has the type Boolean.
+ * <!-- end-model-doc -->
+ *
+ * @model
+ * @generated
+ */
+ boolean isUniqueExpressionTypeDerivation(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * An isUnique expression has a multiplicity lower bound of 1.
+ * <!-- end-model-doc -->
+ *
+ * @model
+ * @generated
+ */
+ boolean isUniqueExpressionLowerDerivation(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * An isUnique expression has a multiplicity upper bound of 1.
+ * <!-- end-model-doc -->
+ *
+ * @model
+ * @generated
+ */
+ boolean isUniqueExpressionUpperDerivation(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The argument of an isUnique expression must have a multiplicity upper bound of 1.
+ * <!-- end-model-doc -->
+ *
+ * @model
+ * @generated
+ */
+ boolean isUniqueExpressionExpressionArgument(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+} // IsUniqueExpression
diff --git a/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/IsolationExpression.java b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/IsolationExpression.java
new file mode 100644
index 00000000000..c20355b9086
--- /dev/null
+++ b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/IsolationExpression.java
@@ -0,0 +1,95 @@
+/**
+ */
+package org.eclipse.papyrus.uml.alf;
+
+import java.math.BigInteger;
+import java.util.Map;
+
+import org.eclipse.emf.common.util.DiagnosticChain;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Isolation Expression</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * An expression used to evaluate its operand expression in isolation.
+ * <!-- end-model-doc -->
+ *
+ *
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getIsolationExpression()
+ * @model
+ * @generated
+ */
+public interface IsolationExpression extends UnaryExpression {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='self.operand.type'"
+ * @generated
+ */
+ ElementReference type();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model required="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='self.operand.lower'"
+ * @generated
+ */
+ BigInteger lower();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model required="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='self.operand.upper'"
+ * @generated
+ */
+ BigInteger upper();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * An isolation expression has the type of its operand expression.
+ * (See the type() expression.)
+ * <!-- end-model-doc -->
+ *
+ * @model
+ * @generated
+ */
+ boolean isolationExpressionTypeDerivation(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * An isolation expression has the multiplicity lower bound of its
+ * operand expression.
+ * (see the lower() expression.)
+ * <!-- end-model-doc -->
+ *
+ * @model
+ * @generated
+ */
+ boolean isolationExpressionLowerDerivation(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * An isolation expression has the multiplicity upper bound of its
+ * operand expression.
+ * (See the upper() expression.)
+ * <!-- end-model-doc -->
+ *
+ * @model
+ * @generated
+ */
+ boolean isolationExpressionUpperDerivation(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+} // IsolationExpression
diff --git a/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/LeftHandSide.java b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/LeftHandSide.java
new file mode 100644
index 00000000000..5b297de1dc8
--- /dev/null
+++ b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/LeftHandSide.java
@@ -0,0 +1,271 @@
+/**
+ */
+package org.eclipse.papyrus.uml.alf;
+
+import java.math.BigInteger;
+
+import java.util.Map;
+
+import org.eclipse.emf.common.util.DiagnosticChain;
+import org.eclipse.emf.common.util.EList;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Left Hand Side</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * The left-hand side of an assignment expression. NOTE: The derivations for
+ * the derived properties of LeftHandSide are specific to its various subclasses.
+ *
+ * <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.uml.alf.LeftHandSide#getAssignmentBefore <em>Assignment Before</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.LeftHandSide#getAssignmentAfter <em>Assignment After</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.LeftHandSide#getReferent <em>Referent</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getLeftHandSide()
+ * @model abstract="true"
+ * @generated
+ */
+public interface LeftHandSide extends AssignableElement {
+ /**
+ * Returns the value of the '<em><b>Assignment Before</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.uml.alf.AssignedSource}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Assignment Before</em>' reference list isn't clear, there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The assignments before the left-hand side.
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Assignment Before</em>' reference list.
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getLeftHandSide_AssignmentBefore()
+ * @model transient="true" volatile="true" derived="true" ordered="false"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot derivation='self.assignmentsBefore()'"
+ * @generated
+ */
+ EList<AssignedSource> getAssignmentBefore();
+
+ /**
+ * Returns the value of the '<em><b>Assignment After</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.uml.alf.AssignedSource}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The assignments after the left-hand side.
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Assignment After</em>' reference list.
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getLeftHandSide_AssignmentAfter()
+ * @model transient="true" volatile="true" derived="true" ordered="false"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot derivation='self.assignmentsAfter()'"
+ * @generated
+ */
+ EList<AssignedSource> getAssignmentAfter();
+
+ /**
+ * Returns the value of the '<em><b>Referent</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * A reference to the assignable element denoted by this left-hand side, if
+ * one exists (i.e., the left-hand side is not for the first assignment of a
+ * local name).
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Referent</em>' reference.
+ * @see #setReferent(ElementReference)
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getLeftHandSide_Referent()
+ * @model transient="true" volatile="true" derived="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot derivation='self.referent()'"
+ * @generated
+ */
+ ElementReference getReferent();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.uml.alf.LeftHandSide#getReferent <em>Referent</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Referent</em>' reference.
+ * @see #getReferent()
+ * @generated
+ */
+ void setReferent(ElementReference value);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model ordered="false" elementRequired="true"
+ * annotation=
+ * "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n if self.index() <> element then self.assignmentBefore\n else\n let feature = self.feature() in\n if feature = null then self.assignmentBefore\n else feature.assignmentAfter\n endif\n endif'"
+ * @generated
+ */
+ EList<AssignedSource> assignmentsBefore(SyntaxElement element);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model ordered="false"
+ * annotation=
+ * "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n if self.index() <> null then self.index().assignmentAfter\n else \n let feature = self.feature() in\n if feature = null then self.assignmentBefore\n else feature.assignmentAfter\n endif\n endif'"
+ * @generated
+ */
+ EList<AssignedSource> assignmentsAfter();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='self.LeftHandSide_type()'"
+ * @generated
+ */
+ ElementReference type();
+
+ /**
+ * <!-- 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 referent = null then null else referent.type() endif'"
+ * @generated
+ */
+ ElementReference LeftHandSide_type();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model required="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='self.LeftHandSide_upper()'"
+ * @generated
+ */
+ BigInteger upper();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model required="true"
+ * annotation=
+ * "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n if self.index() <> null then 1\n else\n let referent = self.referent() in\n if referent = null then 0 else referent.upper() endif\n endif'"
+ * @generated
+ */
+ BigInteger LeftHandSide_upper();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model required="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='self.LeftHandSide_lower()'"
+ * @generated
+ */
+ BigInteger lower();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model required="true"
+ * annotation=
+ * "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n if self.index() <> null then 1\n else\n let referent = self.referent() in\n if referent = null then 0 else referent.lower() endif\n endif'"
+ * @generated
+ */
+ BigInteger LeftHandSide_lower();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model
+ * @generated
+ */
+ ElementReference referent();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model annotation=
+ * "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n if not self.isDataValueUpdate() then self.localName()\n else\n self.feature().expression.oclAsType(NameExpression).name.unqualifiedName.toName()\n endif'"
+ * @generated
+ */
+ String assignedName();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model
+ * @generated
+ */
+ String localName();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model required="true"
+ * @generated
+ */
+ FeatureReference feature();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model
+ * @generated
+ */
+ Expression expression();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model kind="operation" required="true"
+ * annotation=
+ * "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n let feature = self.feature() in\n feature <> null and\n feature.expression.oclIsKindOf(NameExpression) and\n let expression = feature.expression.oclAsType(NameExpression) in\n expression.propertyAccess = null and\n let name = expression.name.unqualifiedName.toName() in\n let assignments = self.assignmentBefore->select(a | a.name = name) in\n assignments->notEmpty() and \n assignments->forAll(type <> null and type.isDataType())'"
+ * @generated
+ */
+ boolean isDataValueUpdate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * If a left-hand side has an index, then the index expression must have a
+ * multiplicity upper bound no greater than 1.
+ * <!-- end-model-doc -->
+ *
+ * @model annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='self.index() <> null implies self.index().upper <= 1'"
+ * @generated
+ */
+ boolean leftHandSideIndexExpression(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * An optional expression that evaluates to an index into the values of an
+ * ordered sequence.
+ * property index : Expression[?] { composes };
+ * <!-- end-model-doc -->
+ *
+ * @model
+ * @generated
+ */
+ Expression index();
+
+} // LeftHandSide
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
new file mode 100644
index 00000000000..9235ebca476
--- /dev/null
+++ b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/LinkOperationExpression.java
@@ -0,0 +1,260 @@
+/**
+ */
+package org.eclipse.papyrus.uml.alf;
+
+import java.util.Map;
+
+import org.eclipse.emf.common.util.DiagnosticChain;
+import org.eclipse.emf.common.util.EList;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Link Operation Expression</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * An expression used to create or destroy the links of an association.
+ * <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.uml.alf.LinkOperationExpression#getOperation <em>Operation</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.LinkOperationExpression#isIsCreation <em>Is Creation</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.LinkOperationExpression#isIsClear <em>Is Clear</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.LinkOperationExpression#getAssociationName <em>Association Name</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getLinkOperationExpression()
+ * @model
+ * @generated
+ */
+public interface LinkOperationExpression extends InvocationExpression {
+ /**
+ * Returns the value of the '<em><b>Operation</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The name of the link operation.
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Operation</em>' attribute.
+ * @see #setOperation(String)
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getLinkOperationExpression_Operation()
+ * @model required="true"
+ * @generated
+ */
+ String getOperation();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.uml.alf.LinkOperationExpression#getOperation <em>Operation</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Operation</em>' attribute.
+ * @see #getOperation()
+ * @generated
+ */
+ void setOperation(String value);
+
+ /**
+ * Returns the value of the '<em><b>Is Creation</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * Whether the operation is for link creation.
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Is Creation</em>' attribute.
+ * @see #setIsCreation(boolean)
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getLinkOperationExpression_IsCreation()
+ * @model transient="true" volatile="true" derived="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot derivation='self.operation = \'createLink\''"
+ * @generated
+ */
+ boolean isIsCreation();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.uml.alf.LinkOperationExpression#isIsCreation <em>Is Creation</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Is Creation</em>' attribute.
+ * @see #isIsCreation()
+ * @generated
+ */
+ void setIsCreation(boolean value);
+
+ /**
+ * Returns the value of the '<em><b>Is Clear</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * Whether the operation is clearing the association.
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Is Clear</em>' attribute.
+ * @see #setIsClear(boolean)
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getLinkOperationExpression_IsClear()
+ * @model transient="true" volatile="true" derived="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot derivation='self.operation = \'clearAssoc\''"
+ * @generated
+ */
+ boolean isIsClear();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.uml.alf.LinkOperationExpression#isIsClear <em>Is Clear</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Is Clear</em>' attribute.
+ * @see #isIsClear()
+ * @generated
+ */
+ void setIsClear(boolean value);
+
+ /**
+ * Returns the value of the '<em><b>Association Name</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The qualified name of the association whose links are being acted on.
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Association Name</em>' containment reference.
+ * @see #setAssociationName(QualifiedName)
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getLinkOperationExpression_AssociationName()
+ * @model containment="true" required="true"
+ * @generated
+ */
+ QualifiedName getAssociationName();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.uml.alf.LinkOperationExpression#getAssociationName <em>Association Name</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Association Name</em>' containment reference.
+ * @see #getAssociationName()
+ * @generated
+ */
+ void setAssociationName(QualifiedName value);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n let referents = self.associationName.referent->select(isAssociation()) in\n if referents->size() <> 1 then null\n else referents->any(true)\n endif'"
+ * @generated
+ */
+ ElementReference referent();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='null'"
+ * @generated
+ */
+ FeatureReference feature();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * A link operation expression is for link creation if its operation is
+ * "createLink".
+ * <!-- end-model-doc -->
+ *
+ * @model
+ * @generated
+ */
+ boolean linkOperationExpressionIsCreationDerivation(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * A link operation expression is for clearing an association if the
+ * operation is "clearAssoc".
+ * <!-- end-model-doc -->
+ *
+ * @model
+ * @generated
+ */
+ boolean linkOperationExpressionIsClearDerivation(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The referent for a link operation expression is the named association.
+ * (See the referent() operation.)
+ * <!-- end-model-doc -->
+ *
+ * @model
+ * @generated
+ */
+ boolean linkOperationExpressionReferentDerivation(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * There is no feature for a link operation expression.
+ * (See the feature() operation.)
+ * <!-- end-model-doc -->
+ *
+ * @model
+ * @generated
+ */
+ boolean linkOperationExpressionFeatureDerivation(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * 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'"
+ * @generated
+ */
+ boolean linkOperationExpressionAssociationReference(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * Each argument expression must be assignable to its corresponding
+ * expression.
+ * <!-- end-model-doc -->
+ *
+ * @model annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n self.tuple.size() <= self.parameterCount() and\n self.tuple.input->forAll(input | self.parameterIsAssignableFrom(input))'"
+ * @generated
+ */
+ boolean linkOperationExpressionArgumentCompatibility(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * For a clear association operation, returns a single, typeless parameter.
+ * Otherwise, returns the ends of the named association.
+ * <!-- end-model-doc -->
+ *
+ * @model required="true"
+ * 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 )\n endif\n endif'"
+ * @generated
+ */
+ EList<ElementReference> parameterElements();
+
+} // LinkOperationExpression
diff --git a/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/LiteralExpression.java b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/LiteralExpression.java
new file mode 100644
index 00000000000..64bf4da0c88
--- /dev/null
+++ b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/LiteralExpression.java
@@ -0,0 +1,71 @@
+/**
+ */
+package org.eclipse.papyrus.uml.alf;
+
+import java.math.BigInteger;
+import java.util.Map;
+
+import org.eclipse.emf.common.util.DiagnosticChain;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Literal Expression</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * An expression that comprises a primitive literal.
+ * <!-- end-model-doc -->
+ *
+ *
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getLiteralExpression()
+ * @model abstract="true"
+ * @generated
+ */
+public interface LiteralExpression extends Expression {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model required="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='1'"
+ * @generated
+ */
+ BigInteger upper();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model required="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='1'"
+ * @generated
+ */
+ BigInteger lower();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The multiplicity upper bound of a literal expression is always 1.
+ * (See the upper() operation.)
+ * <!-- end-model-doc -->
+ *
+ * @model
+ * @generated
+ */
+ boolean literalExpressionUpperDerivation(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The multiplicity lower bound of a literal expression is always 1.
+ * (See the lower() operation.)
+ * <!-- end-model-doc -->
+ *
+ * @model
+ * @generated
+ */
+ boolean literalExpressionLowerDerivation(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+} // LiteralExpression
diff --git a/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/LocalNameDeclarationStatement.java b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/LocalNameDeclarationStatement.java
new file mode 100644
index 00000000000..80addf2a188
--- /dev/null
+++ b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/LocalNameDeclarationStatement.java
@@ -0,0 +1,339 @@
+/**
+ */
+package org.eclipse.papyrus.uml.alf;
+
+import java.util.Map;
+
+import org.eclipse.emf.common.util.DiagnosticChain;
+import org.eclipse.emf.common.util.EList;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Local Name Declaration Statement</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * A statement that declares the type of a local name and assigns it an
+ * initial value.
+ * <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.uml.alf.LocalNameDeclarationStatement#getName <em>Name</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.LocalNameDeclarationStatement#getExpression <em>Expression</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.LocalNameDeclarationStatement#isHasMultiplicity <em>Has Multiplicity</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.LocalNameDeclarationStatement#getTypeName <em>Type Name</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.LocalNameDeclarationStatement#getType <em>Type</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.LocalNameDeclarationStatement#isIsAny <em>Is Any</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getLocalNameDeclarationStatement()
+ * @model
+ * @generated
+ */
+public interface LocalNameDeclarationStatement extends Statement {
+ /**
+ * Returns the value of the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The local name being declared.
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Name</em>' attribute.
+ * @see #setName(String)
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getLocalNameDeclarationStatement_Name()
+ * @model required="true"
+ * annotation="http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeRoleName body='AssignableLocalNameDeclaration' unique='false' upper='*'"
+ * @generated
+ */
+ String getName();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.uml.alf.LocalNameDeclarationStatement#getName <em>Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Name</em>' attribute.
+ * @see #getName()
+ * @generated
+ */
+ void setName(String value);
+
+ /**
+ * Returns the value of the '<em><b>Expression</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The expression to be evaluated to provide the initial value to be assigned to the local name.
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Expression</em>' containment reference.
+ * @see #setExpression(Expression)
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getLocalNameDeclarationStatement_Expression()
+ * @model containment="true" required="true"
+ * @generated
+ */
+ Expression getExpression();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.uml.alf.LocalNameDeclarationStatement#getExpression <em>Expression</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Expression</em>' containment reference.
+ * @see #getExpression()
+ * @generated
+ */
+ void setExpression(Expression value);
+
+ /**
+ * Returns the value of the '<em><b>Has Multiplicity</b></em>' attribute.
+ * The default value is <code>"false"</code>.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * Whether the local name is to have a multiplicity upper bound of * rather than 1.
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Has Multiplicity</em>' attribute.
+ * @see #setHasMultiplicity(boolean)
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getLocalNameDeclarationStatement_HasMultiplicity()
+ * @model default="false" required="true"
+ * @generated
+ */
+ boolean isHasMultiplicity();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.uml.alf.LocalNameDeclarationStatement#isHasMultiplicity <em>Has Multiplicity</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Has Multiplicity</em>' attribute.
+ * @see #isHasMultiplicity()
+ * @generated
+ */
+ void setHasMultiplicity(boolean value);
+
+ /**
+ * Returns the value of the '<em><b>Type Name</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The declared type of the local name.
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Type Name</em>' containment reference.
+ * @see #setTypeName(QualifiedName)
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getLocalNameDeclarationStatement_TypeName()
+ * @model containment="true"
+ * @generated
+ */
+ QualifiedName getTypeName();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.uml.alf.LocalNameDeclarationStatement#getTypeName <em>Type Name</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Type Name</em>' containment reference.
+ * @see #getTypeName()
+ * @generated
+ */
+ void setTypeName(QualifiedName value);
+
+ /**
+ * Returns the value of the '<em><b>Type</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The type declared for the given local name.
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Type</em>' reference.
+ * @see #setType(ElementReference)
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getLocalNameDeclarationStatement_Type()
+ * @model transient="true" volatile="true" derived="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot derivation='self.typeCached()'"
+ * @generated
+ */
+ ElementReference getType();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.uml.alf.LocalNameDeclarationStatement#getType <em>Type</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Type</em>' reference.
+ * @see #getType()
+ * @generated
+ */
+ void setType(ElementReference value);
+
+ /**
+ * Returns the value of the '<em><b>Is Any</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * Whether the local name is being declared with an empty type.
+ * (Added solely to allow proper Xtext re-serialization.)
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Is Any</em>' attribute.
+ * @see #setIsAny(boolean)
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getLocalNameDeclarationStatement_IsAny()
+ * @model
+ * @generated
+ */
+ boolean isIsAny();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.uml.alf.LocalNameDeclarationStatement#isIsAny <em>Is Any</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Is Any</em>' attribute.
+ * @see #isIsAny()
+ * @generated
+ */
+ void setIsAny(boolean value);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model required="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='NameBinding{name = self.name}.toName()'"
+ * @generated
+ */
+ String actualName();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model ordered="false"
+ * annotation=
+ * "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n AssignedSource{\n name = self.actualName(),\n source = self,\n type = self.type,\n lower = 0,\n upper = if self.hasMultiplicity then -1 else 1 endif\n }.update(self.expression.assignmentAfter)'"
+ * @generated
+ */
+ EList<AssignedSource> assignmentsAfter();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The assignments before the expression of a local name declaration
+ * statement are the same as the assignments before the statement.
+ * (See SyntaxElement::assignmentsBefore(element) operation.)
+ * <!-- end-model-doc -->
+ *
+ * @model
+ * @generated
+ */
+ boolean localNameDeclarationStatementAssignmentsBefore(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * If the type name in a local name declaration statement is not empty, then
+ * it must resolve to a non-template classifier and the expression must be
+ * assignable to that classifier.
+ * <!-- end-model-doc -->
+ *
+ * @model annotation=
+ * "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n self.typeName <> null implies \n self.type <> null and not self.type.isTemplate()\n and AssignableLocalNameDeclaration{localNameDeclaration = self}.\n isAssignableFrom(self.expression)'"
+ * @generated
+ */
+ boolean localNameDeclarationStatementType(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The local name in a local name declaration statement must be unassigned
+ * before the statement and before the expression in the statement.
+ * It must remain unassigned after the expression.
+ * <!-- end-model-doc -->
+ *
+ * @model
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n not self.expression.assignmentBefore->exists(a | a.name = self.actualName()) and\n not self.expression.assignmentAfter->exists(a | a.name = self.actualName())'"
+ * @generated
+ */
+ boolean localNameDeclarationStatementLocalName(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The assignments after a local name declaration statement are the
+ * assignments after the expression of the statement plus a new assignment
+ * for the local name defined by the statement. The assigned source for the
+ * local name is the local name declaration statement. The local name has
+ * the type denoted by the type name if this is not empty and is untyped
+ * otherwise. If the statement has multiplicity, then the multiplicity of
+ * the local name is [0..*], otherwise it is [0..1].
+ * (See assignmentsAfter() operation.)
+ * <!-- end-model-doc -->
+ *
+ * @model
+ * @generated
+ */
+ boolean localNameDeclarationStatementAssignmentsAfter(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * If a local name declaration statement does not have multiplicity, then
+ * the multiplicity of upper bound of the assigned expression must not be
+ * greater than 1.
+ * <!-- end-model-doc -->
+ *
+ * @model annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='(not self.hasMultiplicity) implies self.expression.upper <=1'"
+ * @generated
+ */
+ boolean localNameDeclarationStatementExpressionMultiplicity(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The type of a local name declaration statement with a type name is the
+ * single classifier referent of the type name. Otherwise the type is empty.
+ * <!-- end-model-doc -->
+ *
+ * @model
+ * @generated
+ */
+ boolean localNameDeclarationStatementTypeDerivation(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model
+ * @generated
+ */
+ ElementReference typeCached();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model annotation=
+ * "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n if self.typeName = null then null\n else \n let referent = self.typeName.referent->select(isClassifier()) in\n if referent->size() <> 1 then null\n else self.typeName.referent->any(true)\n endif\n endif'"
+ * @generated
+ */
+ ElementReference type();
+
+} // LocalNameDeclarationStatement
diff --git a/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/LogicalExpression.java b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/LogicalExpression.java
new file mode 100644
index 00000000000..53672b640ad
--- /dev/null
+++ b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/LogicalExpression.java
@@ -0,0 +1,248 @@
+/**
+ */
+package org.eclipse.papyrus.uml.alf;
+
+import java.math.BigInteger;
+import java.util.Map;
+
+import org.eclipse.emf.common.util.DiagnosticChain;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Logical Expression</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * A binary expression with a logical operator.
+ * <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.uml.alf.LogicalExpression#isIsBitWise <em>Is Bit Wise</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.LogicalExpression#isIsBitStringConversion1 <em>Is Bit String Conversion1</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.LogicalExpression#isIsBitStringConversion2 <em>Is Bit String Conversion2</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getLogicalExpression()
+ * @model
+ * @generated
+ */
+public interface LogicalExpression extends BinaryExpression {
+ /**
+ * Returns the value of the '<em><b>Is Bit Wise</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * Whether this is a bit-wise logical operation on bit strings.
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Is Bit Wise</em>' attribute.
+ * @see #setIsBitWise(boolean)
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getLogicalExpression_IsBitWise()
+ * @model transient="true" volatile="true" derived="true"
+ * annotation="http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeRoleName body='SequenceConstructionExpression'"
+ * annotation="http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeRoleName body='SequenceConstructionExpression'"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot derivation='not self.isBooleanType(self.operand1.type)'"
+ * @generated
+ */
+ boolean isIsBitWise();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.uml.alf.LogicalExpression#isIsBitWise <em>Is Bit Wise</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Is Bit Wise</em>' attribute.
+ * @see #isIsBitWise()
+ * @generated
+ */
+ void setIsBitWise(boolean value);
+
+ /**
+ * Returns the value of the '<em><b>Is Bit String Conversion1</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * Whether the first operand expression requires BitString conversion.
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Is Bit String Conversion1</em>' attribute.
+ * @see #setIsBitStringConversion1(boolean)
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getLogicalExpression_IsBitStringConversion1()
+ * @model transient="true" volatile="true" derived="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot derivation='self.isIntegerType(self.operand1.type)'"
+ * @generated
+ */
+ boolean isIsBitStringConversion1();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.uml.alf.LogicalExpression#isIsBitStringConversion1 <em>Is Bit String Conversion1</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Is Bit String Conversion1</em>' attribute.
+ * @see #isIsBitStringConversion1()
+ * @generated
+ */
+ void setIsBitStringConversion1(boolean value);
+
+ /**
+ * Returns the value of the '<em><b>Is Bit String Conversion2</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * Whether the second operand expression requires BitString conversion.
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Is Bit String Conversion2</em>' attribute.
+ * @see #setIsBitStringConversion2(boolean)
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getLogicalExpression_IsBitStringConversion2()
+ * @model transient="true" volatile="true" derived="true"
+ * annotation="http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeRoleName body='SequenceConstructionExpression'"
+ * annotation="http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeRoleName body='SequenceConstructionExpression'"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot derivation='self.isIntegerType(self.operand2.type)'"
+ * @generated
+ */
+ boolean isIsBitStringConversion2();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.uml.alf.LogicalExpression#isIsBitStringConversion2 <em>Is Bit String Conversion2</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Is Bit String Conversion2</em>' attribute.
+ * @see #isIsBitStringConversion2()
+ * @generated
+ */
+ void setIsBitStringConversion2(boolean value);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n if self.isBitWise then self.bitStringType()\n else self.booleanType()\n endif'"
+ * @generated
+ */
+ ElementReference type();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model required="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n if self.operand1.lower = 0 or self.operand2.lower = 0 then 0 else 1 endif'"
+ * @generated
+ */
+ BigInteger lower();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model required="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='1'"
+ * @generated
+ */
+ BigInteger upper();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * A logical expression has type Boolean if it is not bit-wise and type
+ * BitString if it is bit-wise.
+ * (See the type() operation.)
+ * <!-- end-model-doc -->
+ *
+ * @model
+ * @generated
+ */
+ boolean logicalExpressionTypeDerivation(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * A logical expression has a multiplicity lower bound of 0 if the lower
+ * bound if either operand expression is 0 and 1 otherwise.annotation
+ * (See the lower() operation.)
+ * <!-- end-model-doc -->
+ *
+ * @model
+ * @generated
+ */
+ boolean logicalExpressionLowerDerivation(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * A logical expression has a multiplicity upper bound of 1.
+ * (See the upper() operation.)
+ * <!-- end-model-doc -->
+ *
+ * @model
+ * @generated
+ */
+ boolean logicalExpressionUpperDerivation(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The operands of a logical expression must have type Boolean, Integer or
+ * BitString. However, if one of the operands is Boolean, then the other
+ * must also be Boolean.
+ * <!-- end-model-doc -->
+ *
+ * @model annotation=
+ * "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n let type1 = self.operand1.type in\n let type2 = self.operand2.type in\n self.isBooleanType(type1) and self.isBooleanType(type2) or\n (self.isIntegerType(type1) or self.isBitStringType(type1)) and\n (self.isIntegerType(type2) or self.isBitStringType(type2))'"
+ * @generated
+ */
+ boolean logicalExpressionOperands(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * BitString conversion is required if the first operand expression of a
+ * logical expression has type Integer.
+ * <!-- end-model-doc -->
+ *
+ * @model
+ * @generated
+ */
+ boolean logicalExpressionIsBitStringConversion1Derivation(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * BitString conversion is required if the second operand expression of a
+ * logical expression has type Integer.
+ * <!-- end-model-doc -->
+ *
+ * @model
+ * @generated
+ */
+ boolean logicalExpressionIsBitStringConversion2Derivation(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * A logical expression is bit-wise if the type of its first operand is not
+ * Boolean.
+ * <!-- end-model-doc -->
+ *
+ * @model
+ * @generated
+ */
+ boolean logicalExpressionIsBitWiseDerivation(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+} // LogicalExpression
diff --git a/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/LoopVariableDefinition.java b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/LoopVariableDefinition.java
new file mode 100644
index 00000000000..00120bcf46c
--- /dev/null
+++ b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/LoopVariableDefinition.java
@@ -0,0 +1,487 @@
+/**
+ */
+package org.eclipse.papyrus.uml.alf;
+
+import java.util.Map;
+
+import org.eclipse.emf.common.util.DiagnosticChain;
+import org.eclipse.emf.common.util.EList;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Loop Variable Definition</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * The definition of a loop variable in a for statement.
+ * <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.uml.alf.LoopVariableDefinition#getVariable <em>Variable</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.LoopVariableDefinition#getExpression1 <em>Expression1</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.LoopVariableDefinition#getExpression2 <em>Expression2</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.LoopVariableDefinition#getTypeName <em>Type Name</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.LoopVariableDefinition#isTypeIsInferred <em>Type Is Inferred</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.LoopVariableDefinition#isIsCollectionConversion <em>Is Collection Conversion</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.LoopVariableDefinition#getType <em>Type</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.LoopVariableDefinition#isIsFirst <em>Is First</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.LoopVariableDefinition#getAssignmentBefore <em>Assignment Before</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.LoopVariableDefinition#getAssignmentAfter <em>Assignment After</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.LoopVariableDefinition#isIsAny <em>Is Any</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getLoopVariableDefinition()
+ * @model
+ * @generated
+ */
+public interface LoopVariableDefinition extends SyntaxElement {
+ /**
+ * Returns the value of the '<em><b>Variable</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The name of the loop variable.
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Variable</em>' attribute.
+ * @see #setVariable(String)
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getLoopVariableDefinition_Variable()
+ * @model required="true"
+ * @generated
+ */
+ String getVariable();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.uml.alf.LoopVariableDefinition#getVariable <em>Variable</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Variable</em>' attribute.
+ * @see #getVariable()
+ * @generated
+ */
+ void setVariable(String value);
+
+ /**
+ * Returns the value of the '<em><b>Expression1</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * If there is only one expression, then this expression is evaluated to produce a sequence of values to be assigned to the loop variable on successive iterations. Otherwise it is evaluated to provide the first value of a range of values to be assigned to
+ * the loop variable.
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Expression1</em>' containment reference.
+ * @see #setExpression1(Expression)
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getLoopVariableDefinition_Expression1()
+ * @model containment="true" required="true"
+ * @generated
+ */
+ Expression getExpression1();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.uml.alf.LoopVariableDefinition#getExpression1 <em>Expression1</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Expression1</em>' containment reference.
+ * @see #getExpression1()
+ * @generated
+ */
+ void setExpression1(Expression value);
+
+ /**
+ * Returns the value of the '<em><b>Expression2</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The expression to be evaluated to give the second value in a range of values to be assigned to the loop variable.
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Expression2</em>' containment reference.
+ * @see #setExpression2(Expression)
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getLoopVariableDefinition_Expression2()
+ * @model containment="true"
+ * @generated
+ */
+ Expression getExpression2();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.uml.alf.LoopVariableDefinition#getExpression2 <em>Expression2</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Expression2</em>' containment reference.
+ * @see #getExpression2()
+ * @generated
+ */
+ void setExpression2(Expression value);
+
+ /**
+ * Returns the value of the '<em><b>Type Name</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The declared type of the loop variable.
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Type Name</em>' containment reference.
+ * @see #setTypeName(QualifiedName)
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getLoopVariableDefinition_TypeName()
+ * @model containment="true"
+ * @generated
+ */
+ QualifiedName getTypeName();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.uml.alf.LoopVariableDefinition#getTypeName <em>Type Name</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Type Name</em>' containment reference.
+ * @see #getTypeName()
+ * @generated
+ */
+ void setTypeName(QualifiedName value);
+
+ /**
+ * Returns the value of the '<em><b>Type Is Inferred</b></em>' attribute.
+ * The default value is <code>"true"</code>.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * Whether the type of the variable is inferred or declared explicitly.
+ * NOTE: This flag is necessary to because a variable that is explicitly
+ * declared to have type "any" will have an empty typeName,
+ * just like a variable whose type is to be inferred, but, in the former
+ * case, the type is actually intended to be empty, not inferred.
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Type Is Inferred</em>' attribute.
+ * @see #setTypeIsInferred(boolean)
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getLoopVariableDefinition_TypeIsInferred()
+ * @model default="true" required="true"
+ * @generated
+ */
+ boolean isTypeIsInferred();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.uml.alf.LoopVariableDefinition#isTypeIsInferred <em>Type Is Inferred</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Type Is Inferred</em>' attribute.
+ * @see #isTypeIsInferred()
+ * @generated
+ */
+ void setTypeIsInferred(boolean value);
+
+ /**
+ * Returns the value of the '<em><b>Is Collection Conversion</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * Whether collection conversion is required.
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Is Collection Conversion</em>' attribute.
+ * @see #setIsCollectionConversion(boolean)
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getLoopVariableDefinition_IsCollectionConversion()
+ * @model required="true" transient="true" volatile="true" derived="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot derivation='\n let type = self.type in\n type <> null and self.isCollectionClass(type) and\n self.expression1 <> null and self.expression1.upper <= 1'"
+ * @generated
+ */
+ boolean isIsCollectionConversion();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.uml.alf.LoopVariableDefinition#isIsCollectionConversion <em>Is Collection Conversion</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Is Collection Conversion</em>' attribute.
+ * @see #isIsCollectionConversion()
+ * @generated
+ */
+ void setIsCollectionConversion(boolean value);
+
+ /**
+ * Returns the value of the '<em><b>Type</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The declared or inferred type of the loop variable.
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Type</em>' reference.
+ * @see #setType(ElementReference)
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getLoopVariableDefinition_Type()
+ * @model transient="true" volatile="true" derived="true"
+ * annotation=
+ * "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot derivation='\n if self.typeIsInferred then expression1.type\n else if self.typeName = null then null\n else self.typeName.referent->any(isClassifier())\n endif endif'"
+ * @generated
+ */
+ ElementReference getType();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.uml.alf.LoopVariableDefinition#getType <em>Type</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Type</em>' reference.
+ * @see #getType()
+ * @generated
+ */
+ void setType(ElementReference value);
+
+ /**
+ * Returns the value of the '<em><b>Is First</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * Whether this definition is the first in the list of definitions in the
+ * enclosing for statement.
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Is First</em>' attribute.
+ * @see #setIsFirst(boolean)
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getLoopVariableDefinition_IsFirst()
+ * @model transient="true" volatile="true" derived="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot derivation='self.enclosingStatement().oclAsType(ForStatement).variableDefinition->at(1) = self'"
+ * @generated
+ */
+ boolean isIsFirst();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.uml.alf.LoopVariableDefinition#isIsFirst <em>Is First</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Is First</em>' attribute.
+ * @see #isIsFirst()
+ * @generated
+ */
+ void setIsFirst(boolean value);
+
+ /**
+ * Returns the value of the '<em><b>Assignment Before</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.uml.alf.AssignedSource}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The assigned sources for local names available lexically before this loop
+ * variable definition.
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Assignment Before</em>' reference list.
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getLoopVariableDefinition_AssignmentBefore()
+ * @model transient="true" volatile="true" derived="true" ordered="false"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot derivation='self.assignmentsBefore()'"
+ * @generated
+ */
+ EList<AssignedSource> getAssignmentBefore();
+
+ /**
+ * Returns the value of the '<em><b>Assignment After</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.uml.alf.AssignedSource}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The assigned sources for local names available lexically after this loop
+ * variable definition. This includes not only any assignments made within
+ * the statement, but also any assignments that are unchanged from before
+ * the statement.
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Assignment After</em>' reference list.
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getLoopVariableDefinition_AssignmentAfter()
+ * @model transient="true" volatile="true" derived="true" ordered="false"
+ * annotation=
+ * "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot derivation='\n let assignmentsAfter =\n if self.expression2 = null then \n self.expression1.assignmentAfter\n else \n self.updateAll(\n self.expression1.assignmentAfter,\n self.expression2.newAssignments()\n )\n endif\n in\n AssignedSource{\n name = self.variable,\n source = self,\n type = \n if self.isCollectionConversion then self.type.collectionArgument() \n else self.type \n endif,\n lower = if self.isFirst then 1 else 0 endif,\n upper = 1\n }.update(assignmentsAfter)'"
+ * @generated
+ */
+ EList<AssignedSource> getAssignmentAfter();
+
+ /**
+ * Returns the value of the '<em><b>Is Any</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * Whether the loop variable has an empty type.
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Is Any</em>' attribute.
+ * @see #setIsAny(boolean)
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getLoopVariableDefinition_IsAny()
+ * @model
+ * @generated
+ */
+ boolean isIsAny();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.uml.alf.LoopVariableDefinition#isIsAny <em>Is Any</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Is Any</em>' attribute.
+ * @see #isIsAny()
+ * @generated
+ */
+ void setIsAny(boolean value);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model required="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='NameBinding{name=self.variable}.toName()'"
+ * @generated
+ */
+ String actualName();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * Get the assignments made within this loop variable definition.
+ * <!-- end-model-doc -->
+ *
+ * @model ordered="false"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n let assignmentsBefore = self.assignmentBefore in\n self.assignmentAfter->select(isNew(assignmentsBefore))'"
+ * @generated
+ */
+ EList<AssignedSource> newAssignments();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The assignments after a loop variable definition include the assignments
+ * after the expression (or expressions) of the definition plus a new
+ * assigned source for the loop variable itself. The assigned source for the
+ * loop variable is the loop variable definition. The multiplicity upper
+ * bound for the variable is 1. The multiplicity lower bound is 1 if the
+ * loop variable definition is the first in a for statement and 0 otherwise.
+ * If collection conversion is not required, then the variable has the
+ * inferred or declared type from the definition. If collection conversion
+ * is required, then the variable has the argument type of the collection
+ * class.
+ * <!-- end-model-doc -->
+ *
+ * @model
+ * @generated
+ */
+ boolean loopVariableDefinitionAssignmentAfterDerivation(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The assignments before the expressions of a loop variable definition are
+ * the assignments before the loop variable definition.
+ * (See the assignmentsBefore(element) operation.)
+ * <!-- end-model-doc -->
+ *
+ * @model
+ * @generated
+ */
+ boolean loopVariableDefinitionAssignmentsBefore(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * If a loop variable definition has two expressions, then both expressions
+ * must have type Integer and a multiplicity upper bound of 1, and no name
+ * may be newly assigned or reassigned in more than one of the expressions.
+ * <!-- end-model-doc -->
+ *
+ * @model annotation=
+ * "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n if self.expression2 = null then true\n else\n let type1 = self.expression1.type in\n let type2 = self.expression2.type in\n type1 <> null and self.isIntegerType(type) and self.expression1.upper = 1 and\n type2 <> null and self.isIntegerType(type) and self.expression2.upper = 1 and\n expression1.newAssignments().name->excludesAll(expression2.newAssignments().name)\n endif'"
+ * @generated
+ */
+ boolean loopVariableDefinitionRangeExpressions(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * If a loop variable definition has a type name, then this name must
+ * resolve to a non-template classifier.
+ * <!-- end-model-doc -->
+ *
+ * @model annotation=
+ * "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n if self.typeName = null then true\n else\n let referents = self.typeName.referent->select(isClassifier()) in\n referents->size() = 1 and not referents->exists(isTemplate())\n endif'"
+ * @generated
+ */
+ boolean loopVariableDefinitionTypeName(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * If the type of a loop variable is not inferred, then the variable has the
+ * type denoted by the type name, if it is not empty, and is untyped
+ * otherwise. If the type is inferred, them the variable has the same type
+ * as the expression in its definition.
+ * <!-- end-model-doc -->
+ *
+ * @model
+ * @generated
+ */
+ boolean loopVariableDefinitionTypeDerivation(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * If the type of a loop variable definition is not inferred, then the first
+ * expression of the definition must have a type that conforms to the
+ * declared type.
+ * <!-- end-model-doc -->
+ *
+ * @model annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n if self.typeIsInferred then true\n else self.expression1.type.conformsTo(self.type)\n endif'"
+ * @generated
+ */
+ boolean loopVariableDefinitionDeclaredType(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * Collection conversion is required for a loop variable definition if the
+ * type for the definition is the instantiation of a collection class and
+ * the multiplicity upper bound of the first expression is no greater than 1.
+ * <!-- end-model-doc -->
+ *
+ * @model
+ * @generated
+ */
+ boolean loopVariableDefinitionIsCollectionConversionDerivation(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The variable name given in a loop variable definition must be unassigned
+ * after the expression or expressions in the definition.
+ * <!-- end-model-doc -->
+ *
+ * @model annotation=
+ * "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n self.expression1.assignmentAfter.name->excludes(self.actualName()) and\n self.expression2 <> null implies\n self.expression2.assignmentAfter.name->excludes(self.actualName())'"
+ * @generated
+ */
+ boolean loopVariableDefinitionVariable(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+} // LoopVariableDefinition
diff --git a/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/Member.java b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/Member.java
new file mode 100644
index 00000000000..fed016c6ead
--- /dev/null
+++ b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/Member.java
@@ -0,0 +1,156 @@
+/**
+ */
+package org.eclipse.papyrus.uml.alf;
+
+import org.eclipse.emf.common.util.EList;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Member</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ *
+ * <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.uml.alf.Member#getDefinition <em>Definition</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.Member#getVisibility <em>Visibility</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.Member#getNamespace <em>Namespace</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.Member#getAnnotation <em>Annotation</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getMember()
+ * @model
+ * @generated
+ */
+public interface Member extends DocumentedElement {
+ /**
+ * Returns the value of the '<em><b>Definition</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ *
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Definition</em>' containment reference.
+ * @see #setDefinition(MemberDefinition)
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getMember_Definition()
+ * @model containment="true" required="true"
+ * @generated
+ */
+ MemberDefinition getDefinition();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.uml.alf.Member#getDefinition <em>Definition</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Definition</em>' containment reference.
+ * @see #getDefinition()
+ * @generated
+ */
+ void setDefinition(MemberDefinition value);
+
+ /**
+ * Returns the value of the '<em><b>Visibility</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * An indication of the visibility of the member outside of its namespace.
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Visibility</em>' attribute.
+ * @see #setVisibility(String)
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getMember_Visibility()
+ * @model annotation="http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeRoleName body='AnnotatedStatement'"
+ * @generated
+ */
+ String getVisibility();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.uml.alf.Member#getVisibility <em>Visibility</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Visibility</em>' attribute.
+ * @see #getVisibility()
+ * @generated
+ */
+ void setVisibility(String value);
+
+ /**
+ * Returns the value of the '<em><b>Namespace</b></em>' container reference.
+ * It is bidirectional and its opposite is '{@link org.eclipse.papyrus.uml.alf.NamespaceDefinition#getOwnedMember <em>Owned Member</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The namespace definition within which this member definition is nested, if any.
+ * (The namespace definitions for units are not physically nested within another
+ * Alf namespace definition.)
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Namespace</em>' container reference.
+ * @see #setNamespace(NamespaceDefinition)
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getMember_Namespace()
+ * @see org.eclipse.papyrus.uml.alf.NamespaceDefinition#getOwnedMember
+ * @model opposite="ownedMember" transient="false"
+ * @generated
+ */
+ NamespaceDefinition getNamespace();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.uml.alf.Member#getNamespace <em>Namespace</em>}' container reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Namespace</em>' container reference.
+ * @see #getNamespace()
+ * @generated
+ */
+ void setNamespace(NamespaceDefinition value);
+
+ /**
+ * Returns the value of the '<em><b>Annotation</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.uml.alf.StereotypeAnnotation}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The stereotype annotations on this member definition.
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Annotation</em>' containment reference list.
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getMember_Annotation()
+ * @model containment="true" ordered="false"
+ * @generated
+ */
+ EList<StereotypeAnnotation> getAnnotation();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model required="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n self.definition.toReference()'"
+ * @generated
+ */
+ ElementReference toReference();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model required="true"
+ * annotation=
+ * "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n if self.visibility <> null then self.visibility\n else if definition.oclIsKindOf(EnumerationLiteralName) then \'public\'\n else \'package\'\n endif endif'"
+ * @generated
+ */
+ String visibility();
+
+} // Member
diff --git a/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/MemberDefinition.java b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/MemberDefinition.java
new file mode 100644
index 00000000000..c4ada7efd16
--- /dev/null
+++ b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/MemberDefinition.java
@@ -0,0 +1,500 @@
+/**
+ */
+package org.eclipse.papyrus.uml.alf;
+
+import java.util.Map;
+
+import org.eclipse.emf.common.util.DiagnosticChain;
+import org.eclipse.emf.common.util.EList;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Member Definition</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * A model of the common properties of the definition of a member of a namespace in Alf.
+ * <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.uml.alf.MemberDefinition#getName <em>Name</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.MemberDefinition#isIsStub <em>Is Stub</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.MemberDefinition#isIsFeature <em>Is Feature</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.MemberDefinition#isIsPrimitive <em>Is Primitive</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.MemberDefinition#isIsExternal <em>Is External</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.MemberDefinition#getSubunit <em>Subunit</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getMemberDefinition()
+ * @model abstract="true"
+ * @generated
+ */
+public interface MemberDefinition extends SyntaxElement {
+ /**
+ * Returns the value of the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The name of the member.
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Name</em>' attribute.
+ * @see #setName(String)
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getMemberDefinition_Name()
+ * @model annotation="http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeRoleName body='StereotypeAnnotation'"
+ * @generated
+ */
+ String getName();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.uml.alf.MemberDefinition#getName <em>Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Name</em>' attribute.
+ * @see #getName()
+ * @generated
+ */
+ void setName(String value);
+
+ /**
+ * Returns the value of the '<em><b>Is Stub</b></em>' attribute.
+ * The default value is <code>"false"</code>.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * Whether this member definition is a stub for a subunit.
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Is Stub</em>' attribute.
+ * @see #setIsStub(boolean)
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getMemberDefinition_IsStub()
+ * @model default="false" required="true"
+ * annotation="http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeRoleName body='StereotypeAnnotation'"
+ * @generated
+ */
+ boolean isIsStub();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.uml.alf.MemberDefinition#isIsStub <em>Is Stub</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Is Stub</em>' attribute.
+ * @see #isIsStub()
+ * @generated
+ */
+ void setIsStub(boolean value);
+
+ /**
+ * Returns the value of the '<em><b>Is Feature</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * Whether this member is a feature of a classifier.
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Is Feature</em>' attribute.
+ * @see #setIsFeature(boolean)
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getMemberDefinition_IsFeature()
+ * @model transient="true" volatile="true" derived="true"
+ * annotation="http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeRoleName body='StereotypeAnnotation'"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot derivation='self.isFeature()'"
+ * @generated
+ */
+ boolean isIsFeature();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.uml.alf.MemberDefinition#isIsFeature <em>Is Feature</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Is Feature</em>' attribute.
+ * @see #isIsFeature()
+ * @generated
+ */
+ void setIsFeature(boolean value);
+
+ /**
+ * Returns the value of the '<em><b>Is Primitive</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * Whether this member is a primitive or not.
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Is Primitive</em>' attribute.
+ * @see #setIsPrimitive(boolean)
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getMemberDefinition_IsPrimitive()
+ * @model transient="true" volatile="true" derived="true"
+ * annotation="http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeRoleName body='StereotypeAnnotation' unique='false' upper='*'"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot derivation='self.annotation().stereotypeName->exists(pathName = \'primitive\')'"
+ * @generated
+ */
+ boolean isIsPrimitive();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.uml.alf.MemberDefinition#isIsPrimitive <em>Is Primitive</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Is Primitive</em>' attribute.
+ * @see #isIsPrimitive()
+ * @generated
+ */
+ void setIsPrimitive(boolean value);
+
+ /**
+ * Returns the value of the '<em><b>Is External</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * Whether this member is external or not.
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Is External</em>' attribute.
+ * @see #setIsExternal(boolean)
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getMemberDefinition_IsExternal()
+ * @model transient="true" volatile="true" derived="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot derivation='self.annotation().stereotypeName->exists(pathName = \'external\')'"
+ * @generated
+ */
+ boolean isIsExternal();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.uml.alf.MemberDefinition#isIsExternal <em>Is External</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Is External</em>' attribute.
+ * @see #isIsExternal()
+ * @generated
+ */
+ void setIsExternal(boolean value);
+
+ /**
+ * Returns the value of the '<em><b>Subunit</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The subunit corresponding to the member, if the member is a stub.
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Subunit</em>' reference.
+ * @see #setSubunit(UnitDefinition)
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getMemberDefinition_Subunit()
+ * @model transient="true" volatile="true" derived="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot derivation='null'"
+ * @generated
+ */
+ UnitDefinition getSubunit();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.uml.alf.MemberDefinition#getSubunit <em>Subunit</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Subunit</em>' reference.
+ * @see #getSubunit()
+ * @generated
+ */
+ void setSubunit(UnitDefinition value);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model ordered="false"
+ * annotation=
+ * "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n let container = self.oclContainer() in \n if container.oclIsKindOf(Member) then \n container.oclAsType(Member).annotation\n else if container.oclIsKindOf(UnitDefinition) then \n container.oclAsType(UnitDefinition).annotation\n else if container.oclIsKindOf(MemberDefinition) then\n container.oclAsType(MemberDefinition).annotation()\n else \n Set{}\n endif endif endif'"
+ * @generated
+ */
+ EList<StereotypeAnnotation> annotation();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model required="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n NameBinding{name = self.name}.toName()'"
+ * @generated
+ */
+ String actualName();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='self.MemberDefinition_outerScope()'"
+ * @generated
+ */
+ ElementReference outerScope();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model annotation=
+ * "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n let container = self.containingMember() in\n if container <> null then\n let namespace = container.namespace in\n if namespace = null then null else namespace.toReference() endif\n else\n null\n endif'"
+ * @generated
+ */
+ ElementReference MemberDefinition_outerScope();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model annotation=
+ * "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n if self.name = null then\n null\n else\n let nameBinding = NameBinding{name = self.name} in\n let outerScope = self.outerScope() in\n if outerScope = null then\n QualifiedName{nameBinding = nameBinding}\n else\n let qualificationName = outerScope.qualifiedName() in\n if qualificationName = null then\n null\n else\n QualifiedName{\n nameBinding = qualificationName.nameBinding->append(nameBinding)\n }\n endif\n endif\n endif'"
+ * @generated
+ */
+ QualifiedName qualifiedName();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model annotation=
+ * "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n let container = self.oclContainer() in\n if container.oclIsKindOf(Member) then\n let namespace = container.oclAsType(Member).namespace in\n if namespace = null then null\n else namespace.toReference()\n endif\n else if container.oclIsKindOf(NamespaceDefinition) then\n container.oclAsType(NamespaceDefinition).toReference()\n else if container.oclIsKindOf(UnitDefinition) then\n container.oclAsType(UnitDefinition).namespace\n else if container.oclIsKindOf(MemberDefinition) then\n -- NOTE: This is a workaround to handle an Xtext\n -- editor bug in which the syntax tree is built wrong.\n container.oclAsType(MemberDefinition).namespaceReference()\n else\n null\n endif endif endif endif'"
+ * @generated
+ */
+ ElementReference namespaceReference();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * EXTERNAL
+ * <!-- end-model-doc -->
+ *
+ * @model required="true"
+ * @generated
+ */
+ Member addToModel();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * Returns true of the given stereotype annotation is allowed for this kind
+ * of element.
+ * <!-- end-model-doc -->
+ *
+ * @model required="true" annotationRequired="true"
+ * @generated
+ */
+ boolean annotationAllowed(StereotypeAnnotation annotation);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * Returns true of the given unit definition is a legal match for this
+ * member as a stub. By default, always returns false.
+ * <!-- end-model-doc -->
+ *
+ * @model required="true" unitRequired="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='false'"
+ * @generated
+ */
+ boolean matchForStub(UnitDefinition unit);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * Returns true if this member is distinguishable from the given member. Two
+ * members are distinguishable if their names are different or the they are of
+ * different kinds (as determined by the isSameKindAs operation). However, in
+ * any case that the UML Superstructure considers two names to be distinguishable
+ * if they are different, an Alf implementation may instead impose the stronger
+ * requirement that the names not be conflicting.
+ * <!-- end-model-doc -->
+ *
+ * @model required="true" memberRequired="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='MemberDefinition_isDistinguishableFrom(member)'"
+ * @generated
+ */
+ boolean isDistinguishableFrom(MemberDefinition member);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model required="true" memberRequired="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='self.actualName() <> member.actualName() or not self.isSameKindAs(member.toReference())'"
+ * @generated
+ */
+ boolean MemberDefinition_isDistinguishableFrom(MemberDefinition member);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * Returns true if this member is of the same kind as the given member.
+ * <!-- end-model-doc -->
+ *
+ * @model required="true" memberRequired="true"
+ * @generated
+ */
+ boolean isSameKindAs(ElementReference member);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The template parameters associated with this member. (Only a namespace
+ * definition can actually have template parameters.)
+ * <!-- end-model-doc -->
+ *
+ * @model annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='OrderedSet{}'"
+ * @generated
+ */
+ EList<ClassifierTemplateParameter> templateParameters();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * Returns true if this member is a template.
+ * <!-- end-model-doc -->
+ *
+ * @model kind="operation" required="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='self.templateParameters()->notEmpty()'"
+ * @generated
+ */
+ boolean isTemplate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * Returns true if this member is a feature. By default is is not.
+ * <!-- end-model-doc -->
+ *
+ * @model kind="operation" required="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='false'"
+ * @generated
+ */
+ boolean isFeature();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * All stereotype annotations for a member must be allowed, as determined using the stereotypeAllowed operation.
+ * <!-- end-model-doc -->
+ *
+ * @model annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n self.annotation()->forAll(a | self.annotationAllowed(a))'"
+ * @generated
+ */
+ boolean memberAnnotations(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * A member is primitive if it has a @primitive annotation.
+ * <!-- end-model-doc -->
+ *
+ * @model
+ * @generated
+ */
+ boolean memberIsPrimitiveDerivation(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * A member is external if it has an @external derivation.
+ * <!-- end-model-doc -->
+ *
+ * @model
+ * @generated
+ */
+ boolean memberIsExternalDerivation(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * If a member is external then it must be a stub.
+ * <!-- end-model-doc -->
+ *
+ * @model annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n self.isExternal implies self.isStub'"
+ * @generated
+ */
+ boolean memberExternal(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * If a member is a stub and is not external, then there must be a single subunit with the same qualified name as the stub that matches the stub, as determined by the matchForStub operation.
+ * <!-- end-model-doc -->
+ *
+ * @model
+ * @generated
+ */
+ boolean memberStub(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * If the member is a stub and is not external, then its corresponding subunit is a unit definition with the same fully qualified name as the stub.
+ * <!-- end-model-doc -->
+ *
+ * @model
+ * @generated
+ */
+ boolean memberSubunitDerivation(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * If a member is a stub, then the it must not have any stereotype annotations that are the same as its subunit. Two stereotype annotations are the same if they are for the same stereotype.
+ * <!-- end-model-doc -->
+ *
+ * @model
+ * @generated
+ */
+ boolean memberStubStereotypes(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * If a member is primitive, then it may not be a stub and it may not have any owned members that are template parameters.
+ * <!-- end-model-doc -->
+ *
+ * @model annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n self.isPrimitive implies not self.isStub and not self.isTemplate()'"
+ * @generated
+ */
+ boolean memberPrimitive(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * This is a workaround for an Xtext editor problem in which a reparsed
+ * subtree may be put in the wrong container.
+ * <!-- end-model-doc -->
+ *
+ * @model annotation=
+ * "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n let container = self.oclContainer() in\n if container = null then null\n else if container.oclIsKindOf(Member) then \n container.oclAsType(Member)\n else if container.oclIsKindOf(MemberDefinition) then \n container.oclAsType(MemberDefinition).containingMember()\n else \n null\n endif endif endif'"
+ * @generated
+ */
+ Member containingMember();
+
+} // MemberDefinition
diff --git a/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/ModelNamespace.java b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/ModelNamespace.java
new file mode 100644
index 00000000000..3754f37e341
--- /dev/null
+++ b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/ModelNamespace.java
@@ -0,0 +1,137 @@
+/**
+ */
+package org.eclipse.papyrus.uml.alf;
+
+import org.eclipse.emf.common.util.EList;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Model Namespace</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * A namespace to represent model scope.
+ * <!-- end-model-doc -->
+ *
+ *
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getModelNamespace()
+ * @model
+ * @generated
+ */
+public interface ModelNamespace extends PackageDefinition {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='null'"
+ * @generated
+ */
+ ElementReference outerScope();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='self.toReference()'"
+ * @generated
+ */
+ ElementReference modelScope();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='QualifiedName{nameBinding = OrderedSet(NameBinding){}}'"
+ * @generated
+ */
+ QualifiedName qualifiedName();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model ordered="false" nameRequired="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='self.resolveInRoot(name)'"
+ * @generated
+ */
+ EList<Member> resolveInScope(String name);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * EXTERNAL
+ * <!-- end-model-doc -->
+ *
+ * @model ordered="false" nameRequired="true"
+ * @generated
+ */
+ EList<Member> resolveInRoot(String name);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * EXTERNAL
+ * <!-- end-model-doc -->
+ *
+ * @model ordered="false" pathNameRequired="true"
+ * @generated
+ */
+ EList<ElementReference> resolvePathName(String pathName);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model ordered="false" oppositeEndTypeRequired="true" nameRequired="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='Set(ElementReference){}'"
+ * @generated
+ */
+ EList<ElementReference> resolveAssociationEnd(ElementReference oppositeEndType, String name);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model ordered="false"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='ModelNamespace_appliedProfiles()'"
+ * @generated
+ */
+ EList<ElementReference> appliedProfiles();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model unitRequired="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='ModelNamespace_stubFor(unit)'"
+ * @generated
+ */
+ ElementReference stubFor(UnitDefinition unit);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * EXTERNAL
+ * <!-- end-model-doc -->
+ *
+ * @model unitRequired="true"
+ * @generated
+ */
+ ElementReference ModelNamespace_stubFor(UnitDefinition unit);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * EXTERNAL
+ * <!-- end-model-doc -->
+ *
+ * @model ordered="false"
+ * @generated
+ */
+ EList<ElementReference> ModelNamespace_appliedProfiles();
+
+} // ModelNamespace
diff --git a/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/NameBinding.java b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/NameBinding.java
new file mode 100644
index 00000000000..4708d34fecf
--- /dev/null
+++ b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/NameBinding.java
@@ -0,0 +1,159 @@
+/**
+ */
+package org.eclipse.papyrus.uml.alf;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Name Binding</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * An unqualified name, optionally with a template binding.
+ * <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.uml.alf.NameBinding#getBinding <em>Binding</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.NameBinding#getName <em>Name</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getNameBinding()
+ * @model
+ * @generated
+ */
+public interface NameBinding extends SyntaxElement {
+ /**
+ * Returns the value of the '<em><b>Binding</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The template binding to be used, if the name denotes a template.
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Binding</em>' containment reference.
+ * @see #setBinding(TemplateBinding)
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getNameBinding_Binding()
+ * @model containment="true"
+ * @generated
+ */
+ TemplateBinding getBinding();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.uml.alf.NameBinding#getBinding <em>Binding</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Binding</em>' containment reference.
+ * @see #getBinding()
+ * @generated
+ */
+ void setBinding(TemplateBinding value);
+
+ /**
+ * Returns the value of the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * An unqualified name. For names that appeared as unrestricted names in the input text, the string value here excludes the surrounding single quote characters and has any escape sequences resolved to the denoted special characters.
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Name</em>' attribute.
+ * @see #setName(String)
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getNameBinding_Name()
+ * @model required="true"
+ * @generated
+ */
+ String getName();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.uml.alf.NameBinding#getName <em>Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Name</em>' attribute.
+ * @see #getName()
+ * @generated
+ */
+ void setName(String value);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model required="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n if self.binding = null then self.toName()\n else self.toName() + self.binding.toString()\n endif'"
+ * @generated
+ */
+ String toString();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model required="true"
+ * annotation=
+ * "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n if self.name = null or self.name = \'\' or self.name.at(1) <> \'\\\'\' then\n name\n else\n let s = self.name.substring(2, name.size() - 1) in\n self.process(s)\n endif'"
+ * @generated
+ */
+ String toName();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model required="true" sRequired="true"
+ * annotation=
+ * "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n let i = s.indexOf(\'\\\\\') in\n if i = 0 then\n s\n else \n if i = 1 then \'\' else s.substring(1, i-1) endif +\n self.escape(s.at(i+1)) +\n if i+2 > s.size() then \'\' else self.process(s.substring(i+2, s.size())) endif\n endif'"
+ * @generated
+ */
+ String process(String s);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model required="true" sRequired="true"
+ * annotation=
+ * "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n if s = \'b\' then \'\\b\'\n else if s = \'f\' then \'\\f\'\n else if s = \'t\' then \'\\t\'\n else if s = \'n\' then \'\\n\'\n else s endif endif endif endif'"
+ * @generated
+ */
+ String escape(String s);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model required="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='NameBinding{\n name = self.name,\n binding = if self.binding = null then null else self.binding.copy() endif\n }'"
+ * @generated
+ */
+ NameBinding copy();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model required="true" ownerRequired="true"
+ * annotation=
+ * "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n QualifiedName{\n nameBinding = OrderedSet{self.copy()},\n isAmbiguous = false,\n owner = owner\n }'"
+ * @generated
+ */
+ QualifiedName toQualifiedName(SyntaxElement owner);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model required="true" otherRequired="true" ownerRequired="true"
+ * annotation=
+ * "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n QualifiedName{\n nameBinding = OrderedSet{self.copy(), other},\n isAmbiguous = false,\n owner = owner\n }'"
+ * @generated
+ */
+ QualifiedName toQualifiedNameWith(NameBinding other, SyntaxElement owner);
+
+} // NameBinding
diff --git a/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/NameExpression.java b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/NameExpression.java
new file mode 100644
index 00000000000..8bf783a70a8
--- /dev/null
+++ b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/NameExpression.java
@@ -0,0 +1,363 @@
+/**
+ */
+package org.eclipse.papyrus.uml.alf;
+
+import java.math.BigInteger;
+import java.util.Map;
+
+import org.eclipse.emf.common.util.DiagnosticChain;
+import org.eclipse.emf.common.util.EList;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Name Expression</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * An expression that comprises a name reference.
+ * <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.uml.alf.NameExpression#getEnumerationLiteral <em>Enumeration Literal</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.NameExpression#getAssignment <em>Assignment</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.NameExpression#getPropertyAccess <em>Property Access</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.NameExpression#getName <em>Name</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getNameExpression()
+ * @model
+ * @generated
+ */
+public interface NameExpression extends Expression {
+ /**
+ * Returns the value of the '<em><b>Enumeration Literal</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The identified enumeration literal, if the referenced name is for an enumeration literal.
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Enumeration Literal</em>' reference.
+ * @see #setEnumerationLiteral(ElementReference)
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getNameExpression_EnumerationLiteral()
+ * @model transient="true" volatile="true" derived="true"
+ * annotation=
+ * "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot derivation='\n if self.name.isFeatureReference then null\n else\n let referents = self.name.referent->select(isEnumerationLiteral()) in\n if referents->size() <> 1 then null\n else referents->any(true)\n endif\n endif'"
+ * @generated
+ */
+ ElementReference getEnumerationLiteral();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.uml.alf.NameExpression#getEnumerationLiteral <em>Enumeration Literal</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Enumeration Literal</em>' reference.
+ * @see #getEnumerationLiteral()
+ * @generated
+ */
+ void setEnumerationLiteral(ElementReference value);
+
+ /**
+ * Returns the value of the '<em><b>Assignment</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The assigned source for the referenced name, if the name is a local or
+ * parameter name.
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Assignment</em>' reference.
+ * @see #setAssignment(AssignedSource)
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getNameExpression_Assignment()
+ * @model transient="true" volatile="true" derived="true"
+ * annotation=
+ * "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot derivation='\n if self.name.isFeatureReference then null\n else\n let localName = self.name.unqualifiedName.toName() in\n if name.qualification = null then\n self.assignmentFor(localName)\n else\n let parameterReferent = self.parameterReferent() in\n if parameterReferent <> null and \n parameterReferent.namespace().equals(self.currentScope()) then\n self.assignmentFor(localName)\n else\n null\n endif\n endif\n endif'"
+ * @generated
+ */
+ AssignedSource getAssignment();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.uml.alf.NameExpression#getAssignment <em>Assignment</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Assignment</em>' reference.
+ * @see #getAssignment()
+ * @generated
+ */
+ void setAssignment(AssignedSource value);
+
+ /**
+ * Returns the value of the '<em><b>Property Access</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The equivalent property access expression, if the referenced name
+ * disambiguates to a feature reference.
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Property Access</em>' reference.
+ * @see #setPropertyAccess(PropertyAccessExpression)
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getNameExpression_PropertyAccess()
+ * @model transient="true" volatile="true" derived="true"
+ * annotation=
+ * "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot derivation='\n let disambiguation = self.name.disambiguation in\n if disambiguation = null then null\n else\n PropertyAccessExpression{\n featureReference = disambiguation,\n owner = self\n } \n endif'"
+ * @generated
+ */
+ PropertyAccessExpression getPropertyAccess();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.uml.alf.NameExpression#getPropertyAccess <em>Property Access</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Property Access</em>' reference.
+ * @see #getPropertyAccess()
+ * @generated
+ */
+ void setPropertyAccess(PropertyAccessExpression value);
+
+ /**
+ * Returns the value of the '<em><b>Name</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The qualified name referenced in this expression. (For a local name, this
+ * will actually have no qualification.)
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Name</em>' containment reference.
+ * @see #setName(QualifiedName)
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getNameExpression_Name()
+ * @model containment="true" required="true"
+ * @generated
+ */
+ QualifiedName getName();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.uml.alf.NameExpression#getName <em>Name</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Name</em>' containment reference.
+ * @see #getName()
+ * @generated
+ */
+ void setName(QualifiedName value);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model annotation=
+ * "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n let assignment = self.assignment in\n if assignment <> null then assignment.type\n else\n let enumerationLiteral = self.enumerationLiteral in\n if enumerationLiteral <> null then enumerationLiteral.type()\n else\n let propertyAccess = self.propertyAccess in\n if propertyAccess <> null then propertyAccess.type\n else null\n endif\n endif\n endif'"
+ * @generated
+ */
+ ElementReference type();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model required="true"
+ * annotation=
+ * "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n let assignment = self.assignment in\n if assignment <> null then assignment.upper\n else\n let enumerationLiteral = self.enumerationLiteral in\n if enumerationLiteral <> null then 1\n else\n let propertyAccess = self.propertyAccess in\n if propertyAccess <> null then propertyAccess.upper\n else 0\n endif\n endif\n endif'"
+ * @generated
+ */
+ BigInteger upper();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model required="true"
+ * annotation=
+ * "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n let assignment = self.assignment in\n if assignment <> null then assignment.lower\n else\n let enumerationLiteral = self.enumerationLiteral in\n if enumerationLiteral <> null then 1\n else\n let propertyAccess = self.propertyAccess in\n if propertyAccess <> null then propertyAccess.lower\n else 0\n endif\n endif\n endif'"
+ * @generated
+ */
+ BigInteger lower();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n let referents = self.name.referent->select(isParameter()) in\n if referents->size() <> 1 then null\n else referents->any(true)\n endif'"
+ * @generated
+ */
+ ElementReference parameterReferent();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * If the source of a local name is a For Statement, it must be a @parallel
+ * local name and it is only legal if this name expression is the target of
+ * a CollectionFunctions::add invocation.
+ * <!-- end-model-doc -->
+ *
+ * @model localNameRequired="true"
+ * @generated
+ */
+ AssignedSource assignmentFor(String localName);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model localNameRequired="true"
+ * annotation=
+ * "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n let assignments = self.assignmentBefore->select(name = localName) in\n if assignments->isEmpty() or \n assignments->forAll(isParallelLocalName) and not self.isAddTarget()\n then \n null\n else \n assignments->any(true)\n endif'"
+ * @generated
+ */
+ AssignedSource assignmentFor_(String localName);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model kind="operation" required="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n let expression = self.enclosingExpression() in\n if expression = null then false\n else expression.isAddTarget(self)\n endif'"
+ * @generated
+ */
+ boolean isAddTarget();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * If the name in a name expression is a local or parameter name, then its
+ * assignment is its assigned source before the expression.
+ * <!-- end-model-doc -->
+ *
+ * @model
+ * @generated
+ */
+ boolean nameExpressionAssignmentDerivation(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * If the name in a name expression resolves to an enumeration literal name,
+ * then that is the enumeration literal for the expression.
+ * <!-- end-model-doc -->
+ *
+ * @model
+ * @generated
+ */
+ boolean nameExpressionEnumerationLiteralDerivation(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * If the name in a name expression disambiguates to a feature reference,
+ * then the equivalent property access expression has the disambiguation of
+ * the name as its feature. The assignments before the property access
+ * expression are the same as those before the name expression.
+ * (See also the assignmentsBefore(element) operation.)
+ * <!-- end-model-doc -->
+ *
+ * @model
+ * @generated
+ */
+ boolean nameExpressionPropertyAccessDerivation(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The type of a name expression is determined by its name. If the name is a
+ * local name or parameter with an assignment, then the type of the name
+ * expression is the type of that assignment. If the name is an enumeration
+ * literal, then the type of the name expression is the corresponding
+ * enumeration. If the name disambiguates to a feature reference, then the
+ * type of the name expression is the type of the equivalent property access
+ * expression.
+ * (See the type() operation.)
+ * <!-- end-model-doc -->
+ *
+ * @model
+ * @generated
+ */
+ boolean nameExpressionTypeDerivation(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The multiplicity upper bound of a name expression is determined by its
+ * name.
+ * (See the upper() operation.)
+ * <!-- end-model-doc -->
+ *
+ * @model
+ * @generated
+ */
+ boolean nameExpressionUpperDerivation(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The multiplicity lower bound of a name expression is determined by its
+ * name.
+ * (See the lower() operation.)
+ * <!-- end-model-doc -->
+ *
+ * @model
+ * @generated
+ */
+ boolean nameExpressionLowerDerivation(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * If the name referenced by this expression is not a disambiguated feature
+ * reference or a local or parameter name, then it must resolve to exactly
+ * one enumeration literal.
+ * <!-- end-model-doc -->
+ *
+ * @model annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='self.validateNameExpressionResolution()'"
+ * @generated
+ */
+ boolean nameExpressionResolution(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model required="true"
+ * annotation=
+ * "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n self.propertyAccess <> null or \n self.assignment <> null and self.assignment.source <> null or \n self.enumerationLiteral <> null or\n -- NOTE: The following allows the name of a name expression that is an\n -- an argument of an out parameter to be unassigned.\n let owner = \n if self.owner().oclIsKindOf(NamedExpression) then self.owner().owner()\n else self.owner()\n endif\n in\n owner.oclIsKindOf(_\'Tuple\') and\n owner.oclAsType(_\'Tuple\').output->exists(\n expression = self and\n owner.oclAsType(_\'Tuple\').invocation.parameterNamed(name).direction() = \'out\'\n )'"
+ * @generated
+ */
+ boolean validateNameExpressionResolution();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * If propertyAccess is not empty (i.e., if the referenced name disambiguates
+ * to a feature reference), then return the assignments after the
+ * property access expression. Otherwise, return the result of the superclass
+ * updateAssignments operation.
+ * <!-- end-model-doc -->
+ *
+ * @model ordered="false"
+ * annotation=
+ * "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n let propertyAccess = self.propertyAccess in\n if propertyAccess <> null then propertyAccess.assignmentAfter\n else self.Expression_updateAssignments()\n endif'"
+ * @generated
+ */
+ EList<AssignedSource> updateAssignments();
+
+} // NameExpression
diff --git a/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/NameLeftHandSide.java b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/NameLeftHandSide.java
new file mode 100644
index 00000000000..5c748d74ea3
--- /dev/null
+++ b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/NameLeftHandSide.java
@@ -0,0 +1,347 @@
+/**
+ */
+package org.eclipse.papyrus.uml.alf;
+
+import java.math.BigInteger;
+import java.util.Map;
+
+import org.eclipse.emf.common.util.DiagnosticChain;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Name Left Hand Side</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * A left-hand side that is a name.
+ * <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.uml.alf.NameLeftHandSide#getTarget <em>Target</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.NameLeftHandSide#getIndex <em>Index</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getNameLeftHandSide()
+ * @model
+ * @generated
+ */
+public interface NameLeftHandSide extends LeftHandSide {
+ /**
+ * Returns the value of the '<em><b>Target</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The name that is the target of the assignment.
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Target</em>' containment reference.
+ * @see #setTarget(QualifiedName)
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getNameLeftHandSide_Target()
+ * @model containment="true"
+ * @generated
+ */
+ QualifiedName getTarget();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.uml.alf.NameLeftHandSide#getTarget <em>Target</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Target</em>' containment reference.
+ * @see #getTarget()
+ * @generated
+ */
+ void setTarget(QualifiedName value);
+
+ /**
+ * Returns the value of the '<em><b>Index</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * An optional expression that evaluates to an index into the values of an
+ * ordered sequence.
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Index</em>' containment reference.
+ * @see #setIndex(Expression)
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getNameLeftHandSide_Index()
+ * @model containment="true"
+ * @generated
+ */
+ Expression getIndex();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.uml.alf.NameLeftHandSide#getIndex <em>Index</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Index</em>' containment reference.
+ * @see #getIndex()
+ * @generated
+ */
+ void setIndex(Expression value);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='self.target'"
+ * @generated
+ */
+ QualifiedName target();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='self.index'"
+ * @generated
+ */
+ Expression index();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model annotation=
+ * "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n let feature = self.feature() in\n if feature <> null then\n let referents = feature.referent->select(isProperty()) in\n if referents->size() <> 1 then null\n else referents->any(true)\n endif\n else\n let oldAssignment = self.oldAssignment() in\n if oldAssignment = null then null\n else\n let parameterReferent = self.parameterReferent() in\n if parameterReferent <> null then parameterReferent\n else oldAssignment.source.toReference()\n endif \n endif\n endif'"
+ * @generated
+ */
+ ElementReference referent();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n let referents = self.target().referent->select(isParameter()) in\n if referents->size() <> 1 then null\n else referents->any(true)\n endif'"
+ * @generated
+ */
+ ElementReference parameterReferent();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n let oldAssignment = self.oldAssignment() in\n if oldAssignment = null then self.LeftHandSide_type()\n else oldAssignment.type\n endif'"
+ * @generated
+ */
+ ElementReference type();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model required="true"
+ * annotation=
+ * "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n let oldAssignment = self.oldAssignment() in\n if self.index <> null or oldAssignment = null then \n self.LeftHandSide_upper()\n else oldAssignment.upper\n endif'"
+ * @generated
+ */
+ BigInteger upper();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model required="true"
+ * annotation=
+ * "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n let oldAssignment = self.oldAssignment() in\n if self.index <> null or oldAssignment = null then \n self.LeftHandSide_lower()\n else oldAssignment.lower\n endif'"
+ * @generated
+ */
+ BigInteger lower();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n let referents = self.assignmentBefore->select(name = self.localName()) in\n if referents->isEmpty() then null\n else referents->any(true)\n endif'"
+ * @generated
+ */
+ AssignedSource oldAssignment();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='self.target().disambiguation'"
+ * @generated
+ */
+ FeatureReference feature();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n if self.feature() <> null then null\n else self.target().unqualifiedName.toName()\n endif'"
+ * @generated
+ */
+ String localName();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * If a name left-hand side has an index, then the assignments after the
+ * left-hand side are the same as the assignments after the index. If the
+ * left-hand side has no index, but its target disambiguates to a feature
+ * reference, then the assignments after the left-hand side are the
+ * assignments after the feature expression. Otherwise the assignments
+ * after the left-hand side are the same as the assignments before the
+ * left-hand side.
+ * (See the LeftHandSide::assignmentsAfter() operation.)
+ * <!-- end-model-doc -->
+ *
+ * @model
+ * @generated
+ */
+ boolean nameLeftHandSideAssignmentAfterDerivation(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The target of a name left hand side may not already have an assigned
+ * source that is a loop variable definition, an annotation, a sequence
+ * expansion expression or a parameter that is an in parameter.
+ * <!-- end-model-doc -->
+ *
+ * @model annotation=
+ * "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n let referent = self.referent in\n if referent = null then true\n else if referent.isParameter() then\n referent.direction() <> \'in\'\n else if referent.isProperty() then\n let expression = self.feature().expression in\n -- This condition ensures that there will be an assigned name\n -- for an assignment to an attribute of a data type.\n expression.type.isDataType() implies self.isDataValueUpdate()\n else\n not (referent.isLoopVariable() or\n referent.isAnnotation() or\n referent.isSequenceExpansionExpression()\n )\n endif endif endif'"
+ * @generated
+ */
+ boolean nameLeftHandSideTargetAssignment(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * If the target of a name left-hand side disambiguates to a feature
+ * reference, then the assignments before the expression of the feature
+ * reference are the assignments before the left-hand side. If a name
+ * left-hand side has an index, then the target must either disambiguate
+ * to a feature reference or already have an assigned source, and the
+ * assignments before the index expression are the assignments before the
+ * left-hand side or, if the target disambiguates to a feature reference,
+ * the assignments after the expression of the feature reference.
+ * (See also the LeftHandSide::assignmentsBefore(element) operation.)
+ * <!-- end-model-doc -->
+ *
+ * @model annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='self.index <> null implies \n (self.feature() <> null or self.oldAssignment() <> null)'"
+ * @generated
+ */
+ boolean nameLeftHandSideAssignmentsBefore(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * If the target of a name left-hand side disambiguates to a structural
+ * feature, then the referent of the left-hand side is that feature. If the
+ * target resolves to a parameter, then the referent is that parameter. If
+ * the target resolves to a local name, then the referent is the assigned
+ * source for that local name, if it has one.
+ * (See the referent() operation.)
+ * <!-- end-model-doc -->
+ *
+ * @model
+ * @generated
+ */
+ boolean nameLeftHandSideReferentDerivation(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * If a name left-hand side is indexed, then its lower bound is 1.
+ * Otherwise, if the left-hand side is for a local name with an assignment,
+ * than its lower bound is that of the assignment, else, if it has a
+ * referent, then its lower bound is that of the referent.
+ * (See the lower() operation.)
+ * <!-- end-model-doc -->
+ *
+ * @model
+ * @generated
+ */
+ boolean nameLeftHandSideLowerDerivation(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * If a name left-hand side is indexed, then its upper bound is 1.
+ * Otherwise, if the left-hand side is for a local name with an assignment,
+ * than its upper bound is that of the assignment, else, if it has a
+ * referent, then its upper bound is that of the referent.
+ * (See the upper() operation.)
+ * <!-- end-model-doc -->
+ *
+ * @model
+ * @generated
+ */
+ boolean nameLeftHandSideUpperDerivation(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * If a name left-hand side is for a local name with an assignment, then its
+ * type is that of that assignment. Otherwise, if the left-hand side has a
+ * referent, then its type is the type of that referent.
+ * (See the type() operation.)
+ * <!-- end-model-doc -->
+ *
+ * @model
+ * @generated
+ */
+ boolean nameLeftHandSideTypeDerivation(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * If the target of a name left-hand side is qualified, then, if it does not
+ * disambiguate to a feature, it must have a referent that is a parameter of
+ * an operation or behavior that is the current scope the left-hand is in,
+ * and, if it does disambiguate to a feature, it must have a single referent
+ * that is a structural feature.
+ * <!-- end-model-doc -->
+ *
+ * @model annotation=
+ * "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n self.target().qualification <> null implies\n let referent = self.referent in\n referent <> null and referent.isParameter() or\n let feature = self.feature() in\n feature <> null and \n -- TODO: This should be a separate constraint.\n feature.expression.upper = 1'"
+ * @generated
+ */
+ boolean nameLeftHandSideTargetResolution(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * If the target of a name left-hand side disambiguates to a feature
+ * reference, and the left-hand side has an index, then the referent of the
+ * feature reference must be ordered and non-unique.
+ * <!-- end-model-doc -->
+ *
+ * @model annotation=
+ * "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n self.index() <> null implies\n let referent = self.referent in\n referent <> null and referent.isFeature() implies\n referent.isOrdered() and referent.isNonunique()'"
+ * @generated
+ */
+ boolean nameLeftHandSideIndexedFeature(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The target of a name left-hand side must not have a template binding.
+ * <!-- end-model-doc -->
+ *
+ * @model annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='self.target.templateName = null'"
+ * @generated
+ */
+ boolean nameLeftHandSideNontemplateTarget(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+} // NameLeftHandSide
diff --git a/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/NamedExpression.java b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/NamedExpression.java
new file mode 100644
index 00000000000..51d29748745
--- /dev/null
+++ b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/NamedExpression.java
@@ -0,0 +1,124 @@
+/**
+ */
+package org.eclipse.papyrus.uml.alf;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Named Expression</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * A pairing of a parameter name and an argument expression in a named tuple.
+ * <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.uml.alf.NamedExpression#getName <em>Name</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.NamedExpression#getExpression <em>Expression</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.NamedExpression#getIndex <em>Index</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getNamedExpression()
+ * @model
+ * @generated
+ */
+public interface NamedExpression extends SyntaxElement {
+ /**
+ * Returns the value of the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The parameter name.
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Name</em>' attribute.
+ * @see #setName(String)
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getNamedExpression_Name()
+ * @model required="true"
+ * @generated
+ */
+ String getName();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.uml.alf.NamedExpression#getName <em>Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Name</em>' attribute.
+ * @see #getName()
+ * @generated
+ */
+ void setName(String value);
+
+ /**
+ * Returns the value of the '<em><b>Expression</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The argument expression.
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Expression</em>' containment reference.
+ * @see #setExpression(Expression)
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getNamedExpression_Expression()
+ * @model containment="true" required="true"
+ * @generated
+ */
+ Expression getExpression();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.uml.alf.NamedExpression#getExpression <em>Expression</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Expression</em>' containment reference.
+ * @see #getExpression()
+ * @generated
+ */
+ void setExpression(Expression value);
+
+ /**
+ * Returns the value of the '<em><b>Index</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * An expression whose value gives an index into an ordered parameter.
+ * (This is only used in link operation expressions.)
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Index</em>' containment reference.
+ * @see #setIndex(Expression)
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getNamedExpression_Index()
+ * @model containment="true"
+ * @generated
+ */
+ Expression getIndex();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.uml.alf.NamedExpression#getIndex <em>Index</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Index</em>' containment reference.
+ * @see #getIndex()
+ * @generated
+ */
+ void setIndex(Expression value);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model required="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='NameBinding{name = self.name}.toName()'"
+ * @generated
+ */
+ String actualName();
+
+} // NamedExpression
diff --git a/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/NamedTemplateBinding.java b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/NamedTemplateBinding.java
new file mode 100644
index 00000000000..8b7424e7f9e
--- /dev/null
+++ b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/NamedTemplateBinding.java
@@ -0,0 +1,98 @@
+/**
+ */
+package org.eclipse.papyrus.uml.alf;
+
+import org.eclipse.emf.common.util.EList;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Named Template Binding</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * A template binding in which the arguments are matched to formal template parameters by name.
+ * <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.uml.alf.NamedTemplateBinding#getSubstitution <em>Substitution</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getNamedTemplateBinding()
+ * @model
+ * @generated
+ */
+public interface NamedTemplateBinding extends TemplateBinding {
+ /**
+ * Returns the value of the '<em><b>Substitution</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.uml.alf.TemplateParameterSubstitution}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The substitutions of arguments for template parameters.
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Substitution</em>' containment reference list.
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getNamedTemplateBinding_Substitution()
+ * @model containment="true" required="true" ordered="false"
+ * @generated
+ */
+ EList<TemplateParameterSubstitution> getSubstitution();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model required="true"
+ * annotation=
+ * "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n \'<\' + \n self.substitution->iterate(substitution : TemplateParameterSubstitution; s : Types::String = \'\' | \n if s = \'\' then substitution.toString()\n else s + \',\' + substitution.toString()\n endif\n ) + \n \'>\''"
+ * @generated
+ */
+ String toString();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model required="true" templateRequired="true"
+ * annotation=
+ * "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n let parameters = template.templateParameters() in \n parameters->size() = self.substitution->size() and \n parameters->forAll(p | self.matchesParameter(p))'"
+ * @generated
+ */
+ boolean matches(ElementReference template);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model required="true" parameterRequired="true"
+ * annotation=
+ * "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n self.substitution->exists(\n parameterName = parameter.name() and\n referent <> null and\n parameter.parents()->forAll(c | referent.conformsTo(c))\n )'"
+ * @generated
+ */
+ boolean matchesParameter(ElementReference parameter);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model unique="false" templateRequired="true"
+ * annotation=
+ * "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n template.templateParameters()->collect(p |\n let substitutions = self.substitution->select(actualParameterName() = p.name()) \n in\n if substitutions->size() = 1 then substitutions.referent->asSequence()\n else Sequence(ElementReference){} endif\n )'"
+ * @generated
+ */
+ EList<ElementReference> bindTo(ElementReference template);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model required="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='NamedTemplateBinding{substitution = self.substitution.copy()}'"
+ * @generated
+ */
+ TemplateBinding copy();
+
+} // NamedTemplateBinding
diff --git a/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/NamedTuple.java b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/NamedTuple.java
new file mode 100644
index 00000000000..75e29093fb7
--- /dev/null
+++ b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/NamedTuple.java
@@ -0,0 +1,97 @@
+/**
+ */
+package org.eclipse.papyrus.uml.alf;
+
+import java.math.BigInteger;
+import java.util.Map;
+
+import org.eclipse.emf.common.util.DiagnosticChain;
+import org.eclipse.emf.common.util.EList;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Named Tuple</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * A tuple in which the arguments are matched to parameters by name.
+ * <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.uml.alf.NamedTuple#getNamedExpression <em>Named Expression</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getNamedTuple()
+ * @model
+ * @generated
+ */
+public interface NamedTuple extends Tuple {
+ /**
+ * Returns the value of the '<em><b>Named Expression</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.uml.alf.NamedExpression}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The argument expressions for this tuple paired with the corresponding
+ * parameter names.
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Named Expression</em>' containment reference list.
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getNamedTuple_NamedExpression()
+ * @model containment="true" required="true"
+ * @generated
+ */
+ EList<NamedExpression> getNamedExpression();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model required="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='self.namedExpression->size()'"
+ * @generated
+ */
+ BigInteger size();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model ordered="false" parametersMany="true"
+ * annotation=
+ * "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n parameters->select(\n let direction = direction() in\n direction = \'in\' or direction = \'inout\' \n )->collect(parameter |\n let parameterName = parameter.name() in\n let arguments = self.namedExpression->select(actualName() = parameterName) in\n if arguments->isEmpty() then\n InputNamedExpression{\n name = parameterName,\n expression = SequenceConstructionExpression{\n hasMultiplicity = true\n },\n owner = self\n }\n else\n let argument : NamedExpression = arguments->any(true) in\n InputNamedExpression{\n name = parameterName,\n expression = argument.expression,\n index = argument.index\n }\n endif\n )->asSet()'"
+ * @generated
+ */
+ EList<InputNamedExpression> inputFor(EList<ElementReference> parameters);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model ordered="false" parametersMany="true"
+ * annotation=
+ * "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n parameters->select(parameter |\n let direction = parameter.direction() in\n -- NOTE: This allows missing arguments for out parameters.\n direction = \'out\' and \n self.namedExpression->exists(actualName() = parameter.name()) or\n direction = \'inout\' \n )->collect(parameter |\n let parameterName = parameter.name() in\n let arguments = self.namedExpression->select(actualName() = parameterName) in\n if arguments->isEmpty() then\n -- NOTE: This will cause an error for a missing argument for\n -- an inout parameter.\n OutputNamedExpression{\n name = parameterName,\n expression = SequenceConstructionExpression{\n hasMultiplicity = true\n },\n owner = self\n }\n else\n let argument : NamedExpression = arguments->any(true) in\n OutputNamedExpression{\n name = parameterName,\n index = argument.index,\n expression = argument.expression,\n owner = self\n }\n endif\n )->asSet()'"
+ * @generated
+ */
+ EList<OutputNamedExpression> outputFor(EList<ElementReference> parameters);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * /*
+ * The name of a named expression of a named tuple must be the name of a
+ * parameter of the invocation the tuple is for. No two named expressions
+ * may have the same name.
+ * <!-- end-model-doc -->
+ *
+ * @model annotation=
+ * "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n let names = self.invocation.parameter.name() in\n self.namedExpression->forAll(names->includes(actualName())) and\n self.namedExpression->isUnique(actualName())'"
+ * @generated
+ */
+ boolean namedTupleArgumentNames(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+} // NamedTuple
diff --git a/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/NamespaceDefinition.java b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/NamespaceDefinition.java
new file mode 100644
index 00000000000..4b5f60c7a33
--- /dev/null
+++ b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/NamespaceDefinition.java
@@ -0,0 +1,437 @@
+/**
+ */
+package org.eclipse.papyrus.uml.alf;
+
+import java.util.Map;
+import org.eclipse.emf.common.util.DiagnosticChain;
+import org.eclipse.emf.common.util.EList;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Namespace Definition</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * A model of the common properties of the definition of a namespace in Alf.
+ * <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.uml.alf.NamespaceDefinition#getOwnedMember <em>Owned Member</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.NamespaceDefinition#getUnit <em>Unit</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.NamespaceDefinition#getMember <em>Member</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getNamespaceDefinition()
+ * @model
+ * @generated
+ */
+public interface NamespaceDefinition extends MemberDefinition {
+ /**
+ * Returns the value of the '<em><b>Owned Member</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.uml.alf.Member}.
+ * It is bidirectional and its opposite is '{@link org.eclipse.papyrus.uml.alf.Member#getNamespace <em>Namespace</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The definitions of owned members of the namespace.
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Owned Member</em>' containment reference list.
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getNamespaceDefinition_OwnedMember()
+ * @see org.eclipse.papyrus.uml.alf.Member#getNamespace
+ * @model opposite="namespace" containment="true"
+ * @generated
+ */
+ EList<Member> getOwnedMember();
+
+ /**
+ * Returns the value of the '<em><b>Unit</b></em>' container reference.
+ * It is bidirectional and its opposite is '{@link org.eclipse.papyrus.uml.alf.UnitDefinition#getDefinition <em>Definition</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The unit for which this namespace is a definition, if any.
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Unit</em>' container reference.
+ * @see #setUnit(UnitDefinition)
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getNamespaceDefinition_Unit()
+ * @see org.eclipse.papyrus.uml.alf.UnitDefinition#getDefinition
+ * @model opposite="definition" transient="false"
+ * @generated
+ */
+ UnitDefinition getUnit();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.uml.alf.NamespaceDefinition#getUnit <em>Unit</em>}' container reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Unit</em>' container reference.
+ * @see #getUnit()
+ * @generated
+ */
+ void setUnit(UnitDefinition value);
+
+ /**
+ * Returns the value of the '<em><b>Member</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.uml.alf.Member}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The owned and imported members of a namespace definition.
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Member</em>' reference list.
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getNamespaceDefinition_Member()
+ * @model transient="true" volatile="true" derived="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot derivation='self.membersCached()'"
+ * @generated
+ */
+ EList<Member> getMember();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * A namespace definition is its own current scope.
+ * <!-- end-model-doc -->
+ *
+ * @model annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='self.toReference()'"
+ * @generated
+ */
+ ElementReference currentScope();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The outer scope of a namespace definition is either the namespace
+ * definition that owns it as a member or the declared namespace of the
+ * unit that owns it or, if it has neither of these, then model scope.
+ * <!-- end-model-doc -->
+ *
+ * @model annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='self.NamespaceDefinition_outerScope()'"
+ * @generated
+ */
+ ElementReference outerScope();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model annotation=
+ * "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n let outerScope = self.MemberDefinition_outerScope() in\n if outerScope <> null then\n outerScope\n else if self.unit = null then\n null\n else if unit.namespace = null then\n self.modelNamespace().toReference()\n else\n unit.namespace\n endif endif endif'"
+ * @generated
+ */
+ ElementReference NamespaceDefinition_outerScope();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model required="true"
+ * @generated
+ */
+ NamespaceDefinition modelNamespace();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model annotation=
+ * "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n let outerScope = self.outerScope() in\n if outerScope = null then\n self.modelNamespace().toReference()\n else\n outerScope.modelScope()\n endif'"
+ * @generated
+ */
+ ElementReference modelScope();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model ordered="false" nameRequired="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n self.member->select(m | m.definition.actualName() = name)'"
+ * @generated
+ */
+ EList<Member> resolveInScope(String name);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model ordered="false"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='self.NamespaceDefinition_appliedProfiles()'"
+ * @generated
+ */
+ EList<ElementReference> appliedProfiles();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model ordered="false"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n let outerScope = self.outerScope() in\n if outerScope = null then null\n else outerScope.appliedProfiles()\n endif'"
+ * @generated
+ */
+ EList<ElementReference> NamespaceDefinition_appliedProfiles();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * Returns any owned members that are formal parameters, excluding return parameters.
+ * <!-- end-model-doc -->
+ *
+ * @model annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n self.ownedMember.definition->\n select(oclIsKindOf(FormalParameter)).oclAsType(FormalParameter)->\n reject(direction = \'return\')->asOrderedSet()'"
+ * @generated
+ */
+ EList<FormalParameter> parameters();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * Returns an owned member that is a return parameter, if any.
+ * <!-- end-model-doc -->
+ *
+ * @model annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='self.NamespaceDefinition_returnParameter()'"
+ * @generated
+ */
+ FormalParameter returnParameter();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model annotation=
+ * "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n let returnParameters = self.ownedMember.definition->\n select(oclIsKindOf(FormalParameter)).oclAsType(FormalParameter)->\n select(direction = \'return\') \n in\n if returnParameters->isEmpty() then null\n else returnParameters->any(true)\n endif'"
+ * @generated
+ */
+ FormalParameter NamespaceDefinition_returnParameter();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n let subunit = self.subunit in\n if subunit = null or subunit.definition = null then self.ownedMember\n else subunit.definition.ownedMember\n endif'"
+ * @generated
+ */
+ EList<Member> subunitOwnedMembers();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * Returns true if the annotation is @external.
+ * <!-- end-model-doc -->
+ *
+ * @model required="true" annotationRequired="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='NamespaceDefinition_annotationAllowed(annotation)'"
+ * @generated
+ */
+ boolean annotationAllowed(StereotypeAnnotation annotation);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model required="true" annotationRequired="true"
+ * annotation=
+ * "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n self.annotation().stereotypeName.pathName = \'external\' or\n\n /* TODO: Allow real stereotype application. \052/\n self.annotation().stereotypeName.pathName = \'ModelLibrary\''"
+ * @generated
+ */
+ boolean NamespaceDefinition_annotationAllowed(StereotypeAnnotation annotation);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * Returns the members of this namespace definition that are template parameters.
+ * <!-- end-model-doc -->
+ *
+ * @model annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n self.ownedMember.definition->select(oclIsKindOf(ClassifierTemplateParameter)).\n oclAsType(ClassifierTemplateParameter)'"
+ * @generated
+ */
+ EList<ClassifierTemplateParameter> templateParameters();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * Return all the members of this namespace (at least all the owned and imported members).
+ * <!-- end-model-doc -->
+ *
+ * @model
+ * @generated
+ */
+ EList<Member> membersCached();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='self.NamespaceDefinition_members()'"
+ * @generated
+ */
+ EList<Member> members();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='self.ownedMember->includingAll(self.importedMembers())->asOrderedSet()'"
+ * @generated
+ */
+ EList<Member> NamespaceDefinition_members();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * Returns the members imported into this namespace.
+ * <!-- end-model-doc -->
+ *
+ * @model ordered="false"
+ * annotation=
+ * "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n if self.unit = null then \n Set(Member){}\n else \n self.importMembers(self.unit.imports().importedMembers()->asSet())\n endif'"
+ * @generated
+ */
+ EList<Member> importedMembers();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * Return the subset of the given imported members that are actually imported into the namespace.
+ * This excludes hidden ones, i.e., those that have names that conflict with names of owned members,
+ * and also excludes elements that would have the same name when imported.
+ * <!-- end-model-doc -->
+ *
+ * @model ordered="false" importedMembersMany="true" importedMembersOrdered="false"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n self.includeDistinguishableCaching(self.excludeCollisions(importedMembers))'"
+ * @generated
+ */
+ EList<Member> importMembers(EList<Member> importedMembers);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * Return the subset of the given imported members that excludes any that would not be
+ * distinguishable from each other in this namespace.
+ * <!-- end-model-doc -->
+ *
+ * @model ordered="false" importedMembersMany="true" importedMembersOrdered="false"
+ * annotation=
+ * "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n let remainingMembers = self.removeDuplicates(importedMembers) in\n remainingMembers->reject(imp1 | \n remainingMembers->exists(imp2 | imp1 <> imp2 and \n not imp1.definition.isDistinguishableFrom(imp2.definition)\n )\n )'"
+ * @generated
+ */
+ EList<Member> excludeCollisions(EList<Member> importedMembers);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * Remove duplicate imported members that have the same referent
+ * (but leave one of them).
+ * <!-- end-model-doc -->
+ *
+ * @model ordered="false" importedMembersMany="true" importedMembersOrdered="false"
+ * annotation=
+ * "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n importedMembers->iterate(m1; result : Set(Member) = Set(Member){} | \n if result->exists(m2 | m1.toReference().equals(m2.toReference())) then\n result\n else\n result->including(m1)\n endif\n )'"
+ * @generated
+ */
+ EList<Member> removeDuplicates(EList<Member> importedMembers);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * Cache an intermediate value for member before caling includingDistinguishable,
+ * in order to avoid an infinite loop.
+ * <!-- end-model-doc -->
+ *
+ * @model ordered="false" importedMembersMany="true" importedMembersOrdered="false"
+ * @generated
+ */
+ EList<Member> includeDistinguishableCaching(EList<Member> importedMembers);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * Return the subset of the given imported members that would be distinguishable
+ * from all owned members of this namespace.
+ * <!-- end-model-doc -->
+ *
+ * @model ordered="false" importedMembersMany="true" importedMembersOrdered="false"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n importedMembers->select(imp | self.ownedMember->forAll(m | \n imp.definition.isDistinguishableFrom(m.definition)\n ))'"
+ * @generated
+ */
+ EList<Member> includeDistinguishable(EList<Member> importedMembers);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * Return the stub member the subunit for which has this namespace
+ * definition as its definition, if any. Note that, for an activity
+ * definition, the "stub" may be an external operation or activity.
+ * <!-- end-model-doc -->
+ *
+ * @model annotation=
+ * "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n let unit = self.unit in\n if unit = null then null\n else\n let namespace = self.outerScope() in\n if namespace = null then null\n else namespace.stubFor(unit)\n endif\n endif'"
+ * @generated
+ */
+ ElementReference stub();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model unitRequired="true"
+ * annotation=
+ * "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n if unit = null or unit.definition = null then null\n else\n let members = self.ownedMember.definition->select(m |\n m.actualName() = unit.definition.actualName() and \n m.isStub and m.matchForStub(unit)\n ) in\n if members->isEmpty() then null\n else members->any(true).oclAsType(Member).toReference()\n endif\n endif'"
+ * @generated
+ */
+ ElementReference stubFor(UnitDefinition unit);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The members of a namespace definition include references to all owned members.
+ * Also, if the namespace definition has a unit with imports, then the members
+ * include imported members with referents to all imported elements.
+ * The imported elements and their visibility are determined as given in the
+ * UML Superstructure. The name of an imported member is the name of the
+ * imported element or its alias, if one has been given for it.
+ * Elements that would be indistinguishable from each other or from an owned
+ * member (as determined by the Member::isDistinguishableFrom operation) are not imported. .
+ *
+ * <!-- end-model-doc -->
+ *
+ * @model
+ * @generated
+ */
+ boolean namespaceDefinitionMemberDerivation(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The members of a namespace must be distinguishable as determined by the Member::isDistinguishableFrom operation.
+ * <!-- end-model-doc -->
+ *
+ * @model
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n self.member->forAll(m1 | \n self.member->forAll(m2 | \n m1 = m2 or m1.definition.isDistinguishableFrom(m2.definition)\n )\n )'"
+ * @generated
+ */
+ boolean namespaceDefinitionMemberDistinguishability(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+} // NamespaceDefinition
diff --git a/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/NaturalLiteralExpression.java b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/NaturalLiteralExpression.java
new file mode 100644
index 00000000000..7a3a715775e
--- /dev/null
+++ b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/NaturalLiteralExpression.java
@@ -0,0 +1,87 @@
+/**
+ */
+package org.eclipse.papyrus.uml.alf;
+
+import java.util.Map;
+
+import org.eclipse.emf.common.util.DiagnosticChain;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Natural Literal Expression</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * An expression that comprises a natural literal.
+ * <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.uml.alf.NaturalLiteralExpression#getImage <em>Image</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getNaturalLiteralExpression()
+ * @model
+ * @generated
+ */
+public interface NaturalLiteralExpression extends LiteralExpression {
+ /**
+ * Returns the value of the '<em><b>Image</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The textual image of the literal token for this expression.
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Image</em>' attribute.
+ * @see #setImage(String)
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getNaturalLiteralExpression_Image()
+ * @model required="true"
+ * annotation="http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeRoleName body='SequenceRange'"
+ * annotation="http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeRoleName body='SequenceRange'"
+ * @generated
+ */
+ String getImage();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.uml.alf.NaturalLiteralExpression#getImage <em>Image</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Image</em>' attribute.
+ * @see #getImage()
+ * @generated
+ */
+ void setImage(String value);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='self.naturalType()'"
+ * @generated
+ */
+ ElementReference type();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The type of a natural literal is the Alf library type Natural. NOTE: If
+ * the context of a natural literal expression unambiguously requires either
+ * an Integer or an UnlimitedNatural value, then the result of the literal
+ * expression is implicitly downcast to the required type. If the context is
+ * ambiguous, however, than an explicit cast to Integer or UnlimitedNatural
+ * must be used.
+ * (See the type() operation.)
+ * <!-- end-model-doc -->
+ *
+ * @model
+ * @generated
+ */
+ boolean naturalLiteralExpressionTypeDerivation(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+} // NaturalLiteralExpression
diff --git a/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/NonFinalClause.java b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/NonFinalClause.java
new file mode 100644
index 00000000000..e0974db97c6
--- /dev/null
+++ b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/NonFinalClause.java
@@ -0,0 +1,170 @@
+/**
+ */
+package org.eclipse.papyrus.uml.alf;
+
+import java.util.Map;
+
+import org.eclipse.emf.common.util.DiagnosticChain;
+import org.eclipse.emf.common.util.EList;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Non Final Clause</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * A clause of an if statement with a conditional expression and a sequence of
+ * statements that may be executed if the condition is true.
+ * <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.uml.alf.NonFinalClause#getCondition <em>Condition</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.NonFinalClause#getBody <em>Body</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getNonFinalClause()
+ * @model
+ * @generated
+ */
+public interface NonFinalClause extends SyntaxElement {
+ /**
+ * Returns the value of the '<em><b>Condition</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The expression that is evaluated to determine whether the clause body may
+ * be executed.
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Condition</em>' containment reference.
+ * @see #setCondition(Expression)
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getNonFinalClause_Condition()
+ * @model containment="true" required="true"
+ * @generated
+ */
+ Expression getCondition();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.uml.alf.NonFinalClause#getCondition <em>Condition</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Condition</em>' containment reference.
+ * @see #getCondition()
+ * @generated
+ */
+ void setCondition(Expression value);
+
+ /**
+ * Returns the value of the '<em><b>Body</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The sequence of statements that may be executed if the condition evaluates
+ * to true.
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Body</em>' containment reference.
+ * @see #setBody(Block)
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getNonFinalClause_Body()
+ * @model containment="true" required="true"
+ * @generated
+ */
+ Block getBody();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.uml.alf.NonFinalClause#getBody <em>Body</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Body</em>' containment reference.
+ * @see #getBody()
+ * @generated
+ */
+ void setBody(Block value);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model ordered="false" elementRequired="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n if element = self.body then self.condition.assignmentAfter\n else self.assignmentsBefore()\n endif'"
+ * @generated
+ */
+ EList<AssignedSource> assignmentsBefore(SyntaxElement element);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The assignments before a non-final clause are the assignments before the
+ * condition of the clause.
+ * <!-- end-model-doc -->
+ *
+ * @model ordered="false"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='self.SyntaxElement_assignmentsBefore()'"
+ * @generated
+ */
+ EList<AssignedSource> assignmentsBefore();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The assignments after a non-final clause are the assignments after the
+ * block of the clause.
+ * <!-- end-model-doc -->
+ *
+ * @model ordered="false"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='self.body.assignmentAfter'"
+ * @generated
+ */
+ EList<AssignedSource> assignmentsAfter();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The assignments before the body of a non-final clause are the assignments
+ * after the condition.
+ * (See the assignmentsBefore(element) operation.)
+ * <!-- end-model-doc -->
+ *
+ * @model
+ * @generated
+ */
+ boolean nonFinalClauseAssignmentsBeforeBody(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * If a name is unassigned before the condition expression of a non-final
+ * clause, then it must be unassigned after that expression (i.e., new local
+ * names may not be defined in the condition).
+ * <!-- end-model-doc -->
+ *
+ * @model annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n self.condition.assignmentBefore.name->includesAll(\n self.condition.assignmentAfter.name\n )'"
+ * @generated
+ */
+ boolean nonFinalClauseConditionLocalNames(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The condition of a non-final clause must have type Boolean and a
+ * multiplicity upper bound no greater than 1.
+ * <!-- end-model-doc -->
+ *
+ * @model annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n let type = self.condition.type in\n type <> null and self.isBooleanType(type) and \n condition.upper <= 1'"
+ * @generated
+ */
+ boolean nonFinalClauseConditionType(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+} // NonFinalClause
diff --git a/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/NonReturnParameter.java b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/NonReturnParameter.java
new file mode 100644
index 00000000000..b817ba8916b
--- /dev/null
+++ b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/NonReturnParameter.java
@@ -0,0 +1,21 @@
+/**
+ */
+package org.eclipse.papyrus.uml.alf;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Non Return Parameter</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * A formal parameter representing a parameter that is not a return parameter.
+ * <!-- end-model-doc -->
+ *
+ *
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getNonReturnParameter()
+ * @model
+ * @generated
+ */
+public interface NonReturnParameter extends FormalParameter {
+} // NonReturnParameter
diff --git a/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/NumericUnaryExpression.java b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/NumericUnaryExpression.java
new file mode 100644
index 00000000000..64d56bf2c04
--- /dev/null
+++ b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/NumericUnaryExpression.java
@@ -0,0 +1,107 @@
+/**
+ */
+package org.eclipse.papyrus.uml.alf;
+
+import java.math.BigInteger;
+import java.util.Map;
+
+import org.eclipse.emf.common.util.DiagnosticChain;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Numeric Unary Expression</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * A unary expression with a numeric operator.
+ * <!-- end-model-doc -->
+ *
+ *
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getNumericUnaryExpression()
+ * @model
+ * @generated
+ */
+public interface NumericUnaryExpression extends UnaryExpression {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='self.integerType()'"
+ * @generated
+ */
+ ElementReference type();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model required="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='self.operand.lower'"
+ * @generated
+ */
+ BigInteger lower();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model required="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='1'"
+ * @generated
+ */
+ BigInteger upper();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * A numeric unary expression must have type Integer.
+ * (See the type() operation.)
+ * <!-- end-model-doc -->
+ *
+ * @model
+ * @generated
+ */
+ boolean numericUnaryExpressionTypeDerivation(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * A numeric unary expression has the same multiplicity lower bound as its
+ * operand expression.
+ * (See the lower() operation.)
+ * <!-- end-model-doc -->
+ *
+ * @model
+ * @generated
+ */
+ boolean numericUnaryExpressionLowerDerivation(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * A numeric unary expression has a multiplicity upper bound of 1.
+ * (See the upper() operation.)
+ * <!-- end-model-doc -->
+ *
+ * @model
+ * @generated
+ */
+ boolean numericUnaryExpressionUpperDerivation(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The operand expression must have type Integer and a multiplicity upper
+ * bound of 1.
+ * <!-- end-model-doc -->
+ *
+ * @model annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='self.isIntegerType(self.operand.type) and self.operand.upper = 1'"
+ * @generated
+ */
+ boolean numericUnaryExpressionOperand(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+} // NumericUnaryExpression
diff --git a/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/OperationDefinition.java b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/OperationDefinition.java
new file mode 100644
index 00000000000..a17f22f3ab4
--- /dev/null
+++ b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/OperationDefinition.java
@@ -0,0 +1,463 @@
+/**
+ */
+package org.eclipse.papyrus.uml.alf;
+
+import java.util.Map;
+
+import org.eclipse.emf.common.util.DiagnosticChain;
+import org.eclipse.emf.common.util.EList;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Operation Definition</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * The definition of an operation, with any formal parameters defined as owned members.
+ * <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.uml.alf.OperationDefinition#getRedefinition <em>Redefinition</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.OperationDefinition#isIsAbstract <em>Is Abstract</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.OperationDefinition#getBody <em>Body</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.OperationDefinition#getRedefinedOperation <em>Redefined Operation</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.OperationDefinition#isIsConstructor <em>Is Constructor</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.OperationDefinition#isIsDestructor <em>Is Destructor</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getOperationDefinition()
+ * @model
+ * @generated
+ */
+public interface OperationDefinition extends NamespaceDefinition {
+ /**
+ * Returns the value of the '<em><b>Redefinition</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The names of other operations that are redefined by the operation being defined.
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Redefinition</em>' containment reference.
+ * @see #setRedefinition(QualifiedNameList)
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getOperationDefinition_Redefinition()
+ * @model containment="true"
+ * @generated
+ */
+ QualifiedNameList getRedefinition();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.uml.alf.OperationDefinition#getRedefinition <em>Redefinition</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Redefinition</em>' containment reference.
+ * @see #getRedefinition()
+ * @generated
+ */
+ void setRedefinition(QualifiedNameList value);
+
+ /**
+ * Returns the value of the '<em><b>Is Abstract</b></em>' attribute.
+ * The default value is <code>"false"</code>.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * Whether the operation being defined is abstract.
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Is Abstract</em>' attribute.
+ * @see #setIsAbstract(boolean)
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getOperationDefinition_IsAbstract()
+ * @model default="false" required="true"
+ * @generated
+ */
+ boolean isIsAbstract();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.uml.alf.OperationDefinition#isIsAbstract <em>Is Abstract</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Is Abstract</em>' attribute.
+ * @see #isIsAbstract()
+ * @generated
+ */
+ void setIsAbstract(boolean value);
+
+ /**
+ * Returns the value of the '<em><b>Body</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The sequence of statements that defines the behavior of the operation (empty for a stub).
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Body</em>' containment reference.
+ * @see #setBody(Block)
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getOperationDefinition_Body()
+ * @model containment="true"
+ * @generated
+ */
+ Block getBody();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.uml.alf.OperationDefinition#getBody <em>Body</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Body</em>' containment reference.
+ * @see #getBody()
+ * @generated
+ */
+ void setBody(Block value);
+
+ /**
+ * Returns the value of the '<em><b>Redefined Operation</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.uml.alf.ElementReference}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ *
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Redefined Operation</em>' reference list.
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getOperationDefinition_RedefinedOperation()
+ * @model transient="true" volatile="true" derived="true" ordered="false"
+ * annotation=
+ * "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot derivation='\n if self.redefinition <> null then \n -- NOTE: The current scope for the redefinition qualifed name list is\n -- defined to be the outer scope of the class of the operation. This\n -- prevents an infinite loop in resolving the members of the class,\n -- relying on the fact that redefined operations can not be members of\n -- the class with the redefinition.\n self.redefinition.name.referent->asSet()\n else\n let owner = self.containingMember().namespace.oclAsType(ClassDefinition) in \n owner.specializationReferent.members()->\n select(m | m.visibility() <> \'private\' and not self.isDistinguishableFrom(m.asMember().definition))->\n asSet()\n endif'"
+ * @generated
+ */
+ EList<ElementReference> getRedefinedOperation();
+
+ /**
+ * Returns the value of the '<em><b>Is Constructor</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * Whether this operation definition is for a constructor.
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Is Constructor</em>' attribute.
+ * @see #setIsConstructor(boolean)
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getOperationDefinition_IsConstructor()
+ * @model transient="true" volatile="true" derived="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot derivation='self.annotation()->exists(stereotypeName.pathName = \'Create\')'"
+ * @generated
+ */
+ boolean isIsConstructor();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.uml.alf.OperationDefinition#isIsConstructor <em>Is Constructor</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Is Constructor</em>' attribute.
+ * @see #isIsConstructor()
+ * @generated
+ */
+ void setIsConstructor(boolean value);
+
+ /**
+ * Returns the value of the '<em><b>Is Destructor</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * Whether this operation definition is for a destructor.
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Is Destructor</em>' attribute.
+ * @see #setIsDestructor(boolean)
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getOperationDefinition_IsDestructor()
+ * @model transient="true" volatile="true" derived="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot derivation='self.annotation()->exists(stereotypeName.pathName = \'Destroy\')'"
+ * @generated
+ */
+ boolean isIsDestructor();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.uml.alf.OperationDefinition#isIsDestructor <em>Is Destructor</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Is Destructor</em>' attribute.
+ * @see #isIsDestructor()
+ * @generated
+ */
+ void setIsDestructor(boolean value);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The assignments before the body of an operation definition include an
+ * assigned source for each parameter of the activity definition. The
+ * source for out parameters is actually null, however, to indicate that it
+ * has not been assigned yet (but that the name should not otherwise be used
+ * as a local name).
+ * <!-- end-model-doc -->
+ *
+ * @model ordered="false" elementRequired="true"
+ * annotation=
+ * "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n if self.body <> element then Set(AssignedSource){}\n else\n self.parameters()->collect(parameter |\n AssignedSource{\n name = parameter.actualName(),\n source = if parameter.direction = \'out\' then null else parameter endif,\n type = parameter.typePart.type,\n upper = parameter.typePart.upper,\n lower = parameter.typePart.lower\n }\n )\n endif'"
+ * @generated
+ */
+ EList<AssignedSource> assignmentsBefore(SyntaxElement element);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * Returns true if the annotation is for a stereotype that has a metaclass consistent with Operation.
+ * <!-- end-model-doc -->
+ *
+ * @model required="true" annotationRequired="true"
+ * annotation=
+ * "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n /* TODO: Allow operation stereotype annotations. \052/\n annotation.stereotypeName.pathName = \'Create\' or\n annotation.stereotypeName.pathName = \'Destroy\' or\n self.NamespaceDefinition_annotationAllowed(annotation)'"
+ * @generated
+ */
+ boolean annotationAllowed(StereotypeAnnotation annotation);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The namespace definition associated with the given unit definition must be
+ * an activity definition with no template parameters. In addition, the subunit
+ * definition must have formal parameters that match each of the formal parameters
+ * of the stub definition, in order. Two formal parameters match if they have
+ * the same direction, name, multiplicity bounds, ordering, uniqueness and type
+ * reference. If this operation definition is a constructor, then it is considered
+ * to have an implicit return parameter, following any other formal parameters,
+ * with the same type as the class of the operation definition and a multiplicity of 1..1.
+ *
+ * <!-- end-model-doc -->
+ *
+ * @model required="true" unitRequired="true"
+ * annotation=
+ * "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n let definition = unit.definition in\n definition.oclIsKindOf(ActivityDefinition) and\n definition.templateParameters()->isEmpty() and\n let operationParameters = self.parameters() in\n let activityParameters = definition.parameters() in\n operationParameters->size() = activityParameters->size() and \n Sequence{1 .. operationParameters->size()}->forAll(i | \n operationParameters->at(i).matches(activityParameters->at(i))\n ) and\n let operationReturnParameter = self.returnParameter() in\n let activityReturnParameter = definition.returnParameter() in\n operationReturnParameter = null and activityReturnParameter = null or\n operationReturnParameter <> null and \n operationReturnParameter.matches(activityReturnParameter)'"
+ * @generated
+ */
+ boolean matchForStub(UnitDefinition unit);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * Return true if the given member is either an OperationDefinition or an
+ * imported member whose referent is an OperationDefinition or an Operation,
+ * and the formal parameters of this operation definition match, in order,
+ * the parameters of the other operation definition or operation. In this
+ * context, matching means the same name and type (per UML Superstructure,
+ * Subclause 7.3.5). A constructor operation without an explicit return parameter
+ * is considered to implicitly have a return parameter, following any other
+ * formal parameters, of the same type as the owner of the constructor operation.
+ * <!-- end-model-doc -->
+ *
+ * @model required="true" memberRequired="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n member.isOperation() and self.parametersMatchNameType(member)'"
+ * @generated
+ */
+ boolean isSameKindAs(ElementReference member);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * Returns whether the parameters of this operation definition match the parameters of another operation
+ * in direction, name, multiplicity bounds, ordering, uniqueness and type.
+ * <!-- end-model-doc -->
+ *
+ * @model required="true" otherRequired="true"
+ * annotation=
+ * "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n let parameters = self.parameters() in\n let otherParameters = other.parameters() in\n parameters->size() = otherParameters->size() and\n Sequence{1..parameters->size()}->forAll(i |\n parameters->at(i).matchesElement(otherParameters->at(i))\n ) and\n let returnParameter = self.returnParameter() in\n let otherReturnParameter = other.returnParameter() in\n returnParameter = null and otherReturnParameter = null or\n returnParameter <> null and returnParameter.matchesElement(otherReturnParameter)'"
+ * @generated
+ */
+ boolean parametersMatch(ElementReference other);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * Returns whether the parameters of this operation definition match the parameters of another operation
+ * in name and type only.
+ * <!-- end-model-doc -->
+ *
+ * @model required="true" otherRequired="true"
+ * annotation=
+ * "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n let parameters = self.parameters() in\n let otherParameters = other.parameters() in\n parameters->size() = otherParameters->size() and\n Sequence{1..parameters->size()}->forAll(i |\n parameters->at(i).matchesNameType(otherParameters->at(i))\n ) and\n let returnParameter = self.returnParameter() in\n let otherReturnParameter = other.returnParameter() in\n returnParameter = null and otherReturnParameter = null or\n returnParameter <> null and returnParameter.matchesType(otherReturnParameter)'"
+ * @generated
+ */
+ boolean parametersMatchNameType(ElementReference other);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * Returns the return parameter for this operation. If the operation is a constructor, a
+ * formal parameter is created to represent its implicit return parameter.
+ * <!-- end-model-doc -->
+ *
+ * @model annotation=
+ * "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n if self.isConstructor then \n let namespace = self.containingMember().namespace.toReference() in\n let returnType =\n if not namespace.isTemplate() then namespace\n else\n namespace.bind(\n namespace.parameteredElements()->asSequence()\n )\n endif\n in\n FormalParameter{\n direction = \'return\', \n name = \'\', \n typePart = TypedElementDefinition{\n actualType = returnType\n }\n }\n else\n self.NamespaceDefinition_returnParameter()\n endif'"
+ * @generated
+ */
+ FormalParameter returnParameter();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * Returns the specialization referents for the owning class definition of this operation definition.
+ * <!-- end-model-doc -->
+ *
+ * @model ordered="false"
+ * annotation=
+ * "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n let namespace = self.containingMember().namespace in \n if namespace.oclIsKindOf(ClassDefinition) then \n namespace.oclAsType(ClassDefinition).specializationReferent\n else \n Set{}\n endif'"
+ * @generated
+ */
+ EList<ElementReference> specializationReferents();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The namespace for an operation definition must be a class definition.
+ * <!-- end-model-doc -->
+ *
+ * @model annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n self.containingMember().namespace.oclIsKindOf(ClassDefinition)'"
+ * @generated
+ */
+ boolean operationDefinitionNamespace(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * If an operation definition has a redefinition list, its redefined operations
+ * are the referent operations of the names in the redefinition list for the
+ * operation definition. Otherwise, the redefined operations are any operations
+ * that would otherwise be indistinguishable from the operation being defined
+ * in this operation definition.
+ * <!-- end-model-doc -->
+ *
+ * @model
+ * @generated
+ */
+ boolean operationDefinitionRedefinedOperationDerivation(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * Each name in the redefinition list of an operation definition must have a
+ * single referent that is an operation. This operation must be a non-private
+ * operation that is a member of a specialization referent of the class
+ * definition of the operation definition.
+ * <!-- end-model-doc -->
+ *
+ * @model annotation=
+ * "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n self.redefinition = null or\n self.redefinition.name->forAll(\n referent->size() = 1 and \n referent->forAll(\n visibility() <> \'private\' and \n containedIn(self.specializationReferents().members()) and \n isOperation()\n )\n )'"
+ * @generated
+ */
+ boolean operationDefinitionRedefinition(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The redefined operations of an operation definition must have formal parameters
+ * that match each of the formal parameters of this operation definition, in order.
+ * Two formal parameters match if they have the same direction, name, multiplicity
+ * bounds, ordering, uniqueness and type reference.
+ * <!-- end-model-doc -->
+ *
+ * @model annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n self.redefinedOperation->forAll(op | self.parametersMatch(op))'"
+ * @generated
+ */
+ boolean operationDefinitionRedefinedOperations(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * An operation definition is a feature.
+ * <!-- end-model-doc -->
+ *
+ * @model
+ * @generated
+ */
+ boolean operationDefinitionIsFeatureDerivation(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * An operation definition is a constructor if it has a @Create annotation.
+ * <!-- end-model-doc -->
+ *
+ * @model
+ * @generated
+ */
+ boolean operationDefinitionIsConstructorDerivation(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * An operation definition is a destructor if it has a @Destroy annotation.
+ * <!-- end-model-doc -->
+ *
+ * @model
+ * @generated
+ */
+ boolean operationDefinitionIsDestructorDerivation(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * An operation definition cannot be both a constructor and a destructor.
+ * <!-- end-model-doc -->
+ *
+ * @model annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n not (self.isConstructor and self.isDestructor)'"
+ * @generated
+ */
+ boolean operationDefinitionConstructorDestructor(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * If an operation definition is a constructor, any redefined operation for it must also be a constructor.
+ * The body of a constructor may contain an alternative constructor invocation for another constructor
+ * in the same class or super constructor invocations for constructors in immediate superclasses.
+ * <!-- end-model-doc -->
+ *
+ * @model annotation=
+ * "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n self.isConstructor implies\n ( self.redefinedOperation->forAll(isConstructor)) and\n -- NOTE: The following condition is added.\n -- A constructor may not have an explicit return type.\n not self.ownedMember.definition->exists(\n oclIsKindOf(FormalParameter) and \n oclAsType(FormalParameter).direction = \'return\'\n )'"
+ * @generated
+ */
+ boolean operationDefinitionConstructor(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * If an operation definition is a destructor, any redefined operation for it must also be a destructor.
+ * <!-- end-model-doc -->
+ *
+ * @model annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n self.isDestructor implies\n self.redefinedOperation->forAll(isDestructor)'"
+ * @generated
+ */
+ boolean operationDefinitionDestructor(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+} // OperationDefinition
diff --git a/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/OutputNamedExpression.java b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/OutputNamedExpression.java
new file mode 100644
index 00000000000..c253d15649a
--- /dev/null
+++ b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/OutputNamedExpression.java
@@ -0,0 +1,111 @@
+/**
+ */
+package org.eclipse.papyrus.uml.alf;
+
+import java.util.Map;
+
+import org.eclipse.emf.common.util.DiagnosticChain;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Output Named Expression</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * A named argument expression for an output parameter.
+ * <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.uml.alf.OutputNamedExpression#getLeftHandSide <em>Left Hand Side</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getOutputNamedExpression()
+ * @model
+ * @generated
+ */
+public interface OutputNamedExpression extends InputNamedExpression {
+ /**
+ * Returns the value of the '<em><b>Left Hand Side</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The argument expression considered as an assignment left-hand side.
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Left Hand Side</em>' reference.
+ * @see #setLeftHandSide(LeftHandSide)
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getOutputNamedExpression_LeftHandSide()
+ * @model transient="true" volatile="true" derived="true"
+ * annotation=
+ * "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot derivation='\n if self.expression <> null and self.hasLegalExpression() then\n EffectiveLeftHandSide{\n expression = self.expression,\n owner = self\n }\n else\n null\n endif'"
+ * @generated
+ */
+ LeftHandSide getLeftHandSide();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.uml.alf.OutputNamedExpression#getLeftHandSide <em>Left Hand Side</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Left Hand Side</em>' reference.
+ * @see #getLeftHandSide()
+ * @generated
+ */
+ void setLeftHandSide(LeftHandSide value);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The equivalent left-hand side for an output named expression depends on
+ * the kind of expression. If the expression is a name expression with no
+ * disambiguation, then the left-hand side is a name left-hand side with the
+ * name from the name expression. If the expression is a name expression
+ * that disambiguates to a feature reference, then the left-hand side is a
+ * feature left-hand side for that feature reference. If the expression is a
+ * property access expression, then the left-hand side is a feature left-hand
+ * side for the feature reference of the property access expression. If the
+ * expression is a sequence access expression, then the left-hand side is a
+ * name left-hand side or feature left-hand side, as above, depending on
+ * whether the primary expression of the sequence access expression is a
+ * name expression or property access expression, and an index given by the
+ * index expression of the sequence access expression. Otherwise the left-
+ * hand side is empty.
+ * <!-- end-model-doc -->
+ *
+ * @model
+ * @generated
+ */
+ boolean outputNamedExpressionLeftHandSideDerivation(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The argument for an output parameter must be either be null, a name
+ * expression, a property access expression, or a sequence access expression
+ * whose primary expression is a name expression or a property access
+ * expression.
+ * <!-- end-model-doc -->
+ *
+ * @model annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='self.expression = null or self.hasLegalExpression()'"
+ * @generated
+ */
+ boolean outputNamedExpressionForm(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model required="true"
+ * annotation=
+ * "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n let primary =\n if self.expression.oclIsKindOf(SequenceAccessExpression) then\n self.expression.oclAsType(SequenceAccessExpression).primary\n else\n self.expression\n endif\n in\n primary.oclIsKindOf(NameExpression) or \n primary.oclIsKindOf(PropertyAccessExpression)'"
+ * @generated
+ */
+ boolean hasLegalExpression();
+
+} // OutputNamedExpression
diff --git a/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/PackageDefinition.java b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/PackageDefinition.java
new file mode 100644
index 00000000000..8664b6520ca
--- /dev/null
+++ b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/PackageDefinition.java
@@ -0,0 +1,124 @@
+/**
+ */
+package org.eclipse.papyrus.uml.alf;
+
+import java.util.Map;
+import org.eclipse.emf.common.util.DiagnosticChain;
+import org.eclipse.emf.common.util.EList;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Package Definition</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * The definition of a package, all of whose members must be packageable elements.
+ * <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.uml.alf.PackageDefinition#getAppliedProfile <em>Applied Profile</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getPackageDefinition()
+ * @model
+ * @generated
+ */
+public interface PackageDefinition extends NamespaceDefinition {
+ /**
+ * Returns the value of the '<em><b>Applied Profile</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.uml.alf.ElementReference}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The profiles applied (directly) to this package.
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Applied Profile</em>' reference list.
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getPackageDefinition_AppliedProfile()
+ * @model transient="true" volatile="true" derived="true" ordered="false"
+ * annotation=
+ * "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot derivation='\n let applications : Set(StereotypeAnnotation) = \n self.annotation()->select(stereotypeName.pathName = \'apply\') \n in\n applications.names.name.referent->select(isProfile())->asSet()'"
+ * @generated
+ */
+ EList<ElementReference> getAppliedProfile();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model required="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='false'"
+ * @generated
+ */
+ boolean allowPackageOnly();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * In addition to the annotations allowed on any namespace definition, a package definition
+ * allows @apply annotations plus any stereotype whose metaclass is consistent with Package.
+ * <!-- end-model-doc -->
+ *
+ * @model required="true" annotationRequired="true"
+ * annotation=
+ * "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n /* TODO: Allow package stereotype annotations. \052/\n self.NamespaceDefinition_annotationAllowed(annotation) or\n annotation.stereotypeName.pathName = \'apply\' or\n annotation.stereotypeName.pathName = \'ModelLibrary\''"
+ * @generated
+ */
+ boolean annotationAllowed(StereotypeAnnotation annotation);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * Returns true of the namespace definition associated with the given unit definition is a package definition.
+ * <!-- end-model-doc -->
+ *
+ * @model required="true" unitRequired="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='unit.definition.oclIsKindOf(PackageDefinition)'"
+ * @generated
+ */
+ boolean matchForStub(UnitDefinition unit);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * Return true if the given member is either a PackageDefinition or an imported member whose referent is a PackageDefinition or a Package.
+ * <!-- end-model-doc -->
+ *
+ * @model required="true" memberRequired="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='member.isPackage()'"
+ * @generated
+ */
+ boolean isSameKindAs(ElementReference member);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The applied profiles of a package definition are the profiles listed in any @apply annotations on the package.
+ * <!-- end-model-doc -->
+ *
+ * @model
+ * @generated
+ */
+ boolean packageDefinitionAppliedProfileDerivation(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * Return all profiles applied in this package, any containing package or in the model scope.
+ * <!-- end-model-doc -->
+ *
+ * @model ordered="false"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='self.appliedProfile->union(self.NamespaceDefinition_appliedProfiles())'"
+ * @generated
+ */
+ EList<ElementReference> appliedProfiles();
+
+} // PackageDefinition
diff --git a/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/PackageImportReference.java b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/PackageImportReference.java
new file mode 100644
index 00000000000..74b632b21d5
--- /dev/null
+++ b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/PackageImportReference.java
@@ -0,0 +1,51 @@
+/**
+ */
+package org.eclipse.papyrus.uml.alf;
+
+import java.util.Map;
+
+import org.eclipse.emf.common.util.DiagnosticChain;
+import org.eclipse.emf.common.util.EList;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Package Import Reference</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * An import reference to a package all of whose public members are to be imported.
+ * <!-- end-model-doc -->
+ *
+ *
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getPackageImportReference()
+ * @model
+ * @generated
+ */
+public interface PackageImportReference extends ImportReference {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * Return the visible members of the referent package.
+ * <!-- end-model-doc -->
+ *
+ * @model ordered="false"
+ * annotation=
+ * "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n if self.referent = null then Set(Member){}\n else self.referent.visibleMembers()->collect(m | \n Member{\n visibility = self.visibility,\n definition = ImportedMember{name = m.name(), referent = m}\n }\n )\n endif'"
+ * @generated
+ */
+ EList<Member> importedMembers();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The referent of a package import must be a package.
+ * <!-- end-model-doc -->
+ *
+ * @model annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n self.referent <> null and self.referent.isPackage()'"
+ * @generated
+ */
+ boolean packageImportReferenceReferent(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+} // PackageImportReference
diff --git a/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/PositionalTemplateBinding.java b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/PositionalTemplateBinding.java
new file mode 100644
index 00000000000..7e5adce4b87
--- /dev/null
+++ b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/PositionalTemplateBinding.java
@@ -0,0 +1,98 @@
+/**
+ */
+package org.eclipse.papyrus.uml.alf;
+
+import org.eclipse.emf.common.util.EList;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Positional Template Binding</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * A template binding in which the arguments are matched to formal template parameters in order by position.
+ * <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.uml.alf.PositionalTemplateBinding#getArgumentName <em>Argument Name</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getPositionalTemplateBinding()
+ * @model
+ * @generated
+ */
+public interface PositionalTemplateBinding extends TemplateBinding {
+ /**
+ * Returns the value of the '<em><b>Argument Name</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.uml.alf.QualifiedName}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The arguments for this template binding, to be matched by position to the template parameters.
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Argument Name</em>' containment reference list.
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getPositionalTemplateBinding_ArgumentName()
+ * @model containment="true" required="true"
+ * @generated
+ */
+ EList<QualifiedName> getArgumentName();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model required="true"
+ * annotation=
+ * "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n \'<\' + \n self.argumentName->iterate(name : QualifiedName; s : Types::String = \'\' | \n if s = \'\' then name.pathName\n else s + \',\' + name.pathName\n endif\n ) + \n \'>\''"
+ * @generated
+ */
+ String toString();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model required="true" templateRequired="true"
+ * annotation=
+ * "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n let parameters = template.templateParameters() in \n parameters->size() = self.argumentName->size() and \n Sequence{1 .. parameters->size()}->forAll(i | \n self.matches(parameters->at(i), argumentName->at(i))\n )'"
+ * @generated
+ */
+ boolean matches(ElementReference template);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model required="true" parameterRequired="true" argumentNameRequired="true"
+ * annotation=
+ * "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n let referents = argumentName.referent in\n referents->size() = 1 and\n referents->forAll(referent |\n referent.isClassifier() and\n parameter.parents()->forAll(c | referent.conformsTo(c))\n )'"
+ * @generated
+ */
+ boolean matches(ElementReference parameter, QualifiedName argumentName);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model unique="false" templateRequired="true"
+ * annotation=
+ * "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n self.argumentName->collect(argumentName |\n let referents = argumentName.referent in\n if referents->size() = 1 then referents->asSequence()\n else Sequence(ElementReference){} endif\n )'"
+ * @generated
+ */
+ EList<ElementReference> bindTo(ElementReference template);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model required="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='PositionalTemplateBinding{argumentName = self.argumentName.copy()}'"
+ * @generated
+ */
+ TemplateBinding copy();
+
+} // PositionalTemplateBinding
diff --git a/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/PositionalTuple.java b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/PositionalTuple.java
new file mode 100644
index 00000000000..858481949a6
--- /dev/null
+++ b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/PositionalTuple.java
@@ -0,0 +1,92 @@
+/**
+ */
+package org.eclipse.papyrus.uml.alf;
+
+import java.math.BigInteger;
+import java.util.Map;
+
+import org.eclipse.emf.common.util.DiagnosticChain;
+import org.eclipse.emf.common.util.EList;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Positional Tuple</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * A tuple in which the arguments are matched to parameters in order by position.
+ * <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.uml.alf.PositionalTuple#getExpression <em>Expression</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getPositionalTuple()
+ * @model
+ * @generated
+ */
+public interface PositionalTuple extends Tuple {
+ /**
+ * Returns the value of the '<em><b>Expression</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.uml.alf.Expression}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The argument expressions for this tuple, to be matched by position to the invocation parameters.
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Expression</em>' containment reference list.
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getPositionalTuple_Expression()
+ * @model containment="true"
+ * @generated
+ */
+ EList<Expression> getExpression();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model required="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='self.expression->size()'"
+ * @generated
+ */
+ BigInteger size();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model ordered="false" parametersMany="true"
+ * annotation=
+ * "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n if parameters->isEmpty() then Set(InputNamedExpression){}\n else\n Set{1..parameters->size()}->select(i |\n let direction = parameters->at(i).direction() in\n direction = \'in\' or direction = \'inout\' \n )->collect(i : Integer | \n InputNamedExpression{\n name = parameters->at(i).name(),\n expression = \n if i <= self.size() then\n self.expression->at(i)\n else\n SequenceConstructionExpression{\n hasMultiplicity = true,\n owner = self\n }\n endif,\n owner = self\n }\n )->asSet()\n endif'"
+ * @generated
+ */
+ EList<InputNamedExpression> inputFor(EList<ElementReference> parameters);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model ordered="false" parametersMany="true"
+ * annotation=
+ * "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n if parameters->isEmpty() then Set(OutputNamedExpression){}\n else\n Set{1..parameters->size()}->select(i |\n let direction = parameters->at(i).direction() in\n -- NOTE: This allows missing arguments for out parameters.\n direction = \'out\' and i <= self.size() or \n direction = \'inout\' \n )->collect(i : Integer | \n OutputNamedExpression{\n name = parameters->at(i).name(),\n expression = \n if i <= self.size() then\n self.expression->at(i)\n else\n -- NOTE: This will cause an error for missing arguments for \n -- inout parameters.\n SequenceConstructionExpression{\n hasMultiplicity = true,\n owner = self\n }\n endif,\n owner = self\n }\n )->asSet()\n endif'"
+ * @generated
+ */
+ EList<OutputNamedExpression> outputFor(EList<ElementReference> parameters);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * A positional tuple must not have more arguments than the invocation it is for has parameters.
+ * <!-- end-model-doc -->
+ *
+ * @model annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='self.size() <= self.invocation.parameterCount()'"
+ * @generated
+ */
+ boolean positionalTupleArguments(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+} // PositionalTuple
diff --git a/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/PropertyAccessExpression.java b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/PropertyAccessExpression.java
new file mode 100644
index 00000000000..bf37ce93fc1
--- /dev/null
+++ b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/PropertyAccessExpression.java
@@ -0,0 +1,219 @@
+/**
+ */
+package org.eclipse.papyrus.uml.alf;
+
+import java.math.BigInteger;
+import java.util.Map;
+
+import org.eclipse.emf.common.util.DiagnosticChain;
+import org.eclipse.emf.common.util.EList;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Property Access Expression</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * An expression comprising a reference to a structural feature.
+ * <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.uml.alf.PropertyAccessExpression#getFeatureReference <em>Feature Reference</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.PropertyAccessExpression#getFeature <em>Feature</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getPropertyAccessExpression()
+ * @model
+ * @generated
+ */
+public interface PropertyAccessExpression extends Expression {
+ /**
+ * Returns the value of the '<em><b>Feature Reference</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * A reference to a structural feature.
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Feature Reference</em>' containment reference.
+ * @see #setFeatureReference(FeatureReference)
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getPropertyAccessExpression_FeatureReference()
+ * @model containment="true" required="true"
+ * @generated
+ */
+ FeatureReference getFeatureReference();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.uml.alf.PropertyAccessExpression#getFeatureReference <em>Feature Reference</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Feature Reference</em>' containment reference.
+ * @see #getFeatureReference()
+ * @generated
+ */
+ void setFeatureReference(FeatureReference value);
+
+ /**
+ * Returns the value of the '<em><b>Feature</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The referenced structural feature.
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Feature</em>' reference.
+ * @see #setFeature(ElementReference)
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getPropertyAccessExpression_Feature()
+ * @model transient="true" volatile="true" derived="true"
+ * annotation=
+ * "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot derivation='\n let referents = self.featureReference.referent->select(isProperty()) in\n if referents->size() <> 1 then null\n else referents->any(true)\n endif'"
+ * @generated
+ */
+ ElementReference getFeature();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.uml.alf.PropertyAccessExpression#getFeature <em>Feature</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Feature</em>' reference.
+ * @see #getFeature()
+ * @generated
+ */
+ void setFeature(ElementReference value);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n let feature = self.feature in\n if feature = null then null\n else feature.type()\n endif'"
+ * @generated
+ */
+ ElementReference type();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model required="true"
+ * annotation=
+ * "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n let feature = self.feature in\n if feature = null then 0\n else if feature.upper() = -1 or \n self.featureReference.expression.upper = -1 then -1\n else feature.upper() * self.featureReference.expression.upper\n endif endif'"
+ * @generated
+ */
+ BigInteger upper();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model required="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n let feature = self.feature in\n if feature = null then 0\n else feature.lower() * self.featureReference.expression.lower\n endif'"
+ * @generated
+ */
+ BigInteger lower();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The feature of a property access expression is the structural feature to
+ * which its feature reference resolves.
+ * <!-- end-model-doc -->
+ *
+ * @model
+ * @generated
+ */
+ boolean propertyAccessExpressionFeatureDerivation(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The type of a property access expression is the type of the referenced
+ * feature.
+ * (See the type() operation.)
+ * <!-- end-model-doc -->
+ *
+ * @model
+ * @generated
+ */
+ boolean propertyAccessExpressionTypeDerivation(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The multiplicity upper bound of a property access expression is given by
+ * the product of the multiplicity upper bounds of the referenced feature
+ * and the target expression.
+ * (See the upper() operation.)
+ * <!-- end-model-doc -->
+ *
+ * @model
+ * @generated
+ */
+ boolean propertyAccessExpressionUpperDerivation(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The multiplicity lower bound of a property access expression is given by
+ * the product of the multiplicity lower bounds of the referenced feature
+ * and the target expression.
+ * (See the lower() operation.)
+ * <!-- end-model-doc -->
+ *
+ * @model
+ * @generated
+ */
+ boolean propertyAccessExpressionLowerDerivation(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The feature reference for a property access expression must resolve to a
+ * single structural feature.
+ * <!-- end-model-doc -->
+ *
+ * @model annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='self.feature <> null'"
+ * @generated
+ */
+ boolean propertyAccessExpressionFeatureResolution(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The assignments before the expression of the feature reference of a
+ * property access expression are the same as before the property access
+ * expression.
+ * <!-- end-model-doc -->
+ *
+ * @model
+ * @generated
+ */
+ boolean propertyAccessExpressionAssignmentsBefore(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The assignments after a property access expression are the same as those
+ * after the target expression of its feature reference.
+ * <!-- end-model-doc -->
+ *
+ * @model ordered="false"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='self.featureReference.expression.assignmentAfter'"
+ * @generated
+ */
+ EList<AssignedSource> updateAssignments();
+
+} // PropertyAccessExpression
diff --git a/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/PropertyDefinition.java b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/PropertyDefinition.java
new file mode 100644
index 00000000000..0bb3abc7915
--- /dev/null
+++ b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/PropertyDefinition.java
@@ -0,0 +1,281 @@
+/**
+ */
+package org.eclipse.papyrus.uml.alf;
+
+import java.util.Map;
+
+import org.eclipse.emf.common.util.DiagnosticChain;
+import org.eclipse.emf.common.util.EList;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Property Definition</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * A typed element definition for a property (attribute or association end).
+ * <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.uml.alf.PropertyDefinition#isIsComposite <em>Is Composite</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.PropertyDefinition#getInitializer <em>Initializer</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.PropertyDefinition#isIsCollectionConversion <em>Is Collection Conversion</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.PropertyDefinition#isIsBitStringConversion <em>Is Bit String Conversion</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.PropertyDefinition#getTypePart <em>Type Part</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getPropertyDefinition()
+ * @model
+ * @generated
+ */
+public interface PropertyDefinition extends MemberDefinition {
+ /**
+ * Returns the value of the '<em><b>Is Composite</b></em>' attribute.
+ * The default value is <code>"false"</code>.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * Whether the property being defined has composite aggregation.
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Is Composite</em>' attribute.
+ * @see #setIsComposite(boolean)
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getPropertyDefinition_IsComposite()
+ * @model default="false" required="true"
+ * @generated
+ */
+ boolean isIsComposite();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.uml.alf.PropertyDefinition#isIsComposite <em>Is Composite</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Is Composite</em>' attribute.
+ * @see #isIsComposite()
+ * @generated
+ */
+ void setIsComposite(boolean value);
+
+ /**
+ * Returns the value of the '<em><b>Initializer</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The expression to be evaluated to initialize the property.
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Initializer</em>' containment reference.
+ * @see #setInitializer(Expression)
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getPropertyDefinition_Initializer()
+ * @model containment="true"
+ * @generated
+ */
+ Expression getInitializer();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.uml.alf.PropertyDefinition#getInitializer <em>Initializer</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Initializer</em>' containment reference.
+ * @see #getInitializer()
+ * @generated
+ */
+ void setInitializer(Expression value);
+
+ /**
+ * Returns the value of the '<em><b>Is Collection Conversion</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * Whether collection conversion is required for the initialization of this property.
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Is Collection Conversion</em>' attribute.
+ * @see #setIsCollectionConversion(boolean)
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getPropertyDefinition_IsCollectionConversion()
+ * @model transient="true" volatile="true" derived="true"
+ * annotation=
+ * "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot derivation='\n self.initializer <> null and \n self.initializer.type <> null and\n self.isCollectionClass(self.initializer.type) and\n (self.typePart.type = null or \n not self.isCollectionClass(self.typePart.type)\n )'"
+ * @generated
+ */
+ boolean isIsCollectionConversion();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.uml.alf.PropertyDefinition#isIsCollectionConversion <em>Is Collection Conversion</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Is Collection Conversion</em>' attribute.
+ * @see #isIsCollectionConversion()
+ * @generated
+ */
+ void setIsCollectionConversion(boolean value);
+
+ /**
+ * Returns the value of the '<em><b>Is Bit String Conversion</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * Whether BitString conversion is required for the initialization of this property.
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Is Bit String Conversion</em>' attribute.
+ * @see #setIsBitStringConversion(boolean)
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getPropertyDefinition_IsBitStringConversion()
+ * @model transient="true" volatile="true" derived="true"
+ * annotation=
+ * "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot derivation='\n self.typePart.type <> null and\n self.isIntegerType(self.typePart.type) and\n self.initializer.type <> null and\n (self.isIntegerType(self.initializer.type) or\n self.isIntegerCollectionClass(self.initializer.type)\n )'"
+ * @generated
+ */
+ boolean isIsBitStringConversion();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.uml.alf.PropertyDefinition#isIsBitStringConversion <em>Is Bit String Conversion</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Is Bit String Conversion</em>' attribute.
+ * @see #isIsBitStringConversion()
+ * @generated
+ */
+ void setIsBitStringConversion(boolean value);
+
+ /**
+ * Returns the value of the '<em><b>Type Part</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ *
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Type Part</em>' containment reference.
+ * @see #setTypePart(TypedElementDefinition)
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getPropertyDefinition_TypePart()
+ * @model containment="true"
+ * @generated
+ */
+ TypedElementDefinition getTypePart();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.uml.alf.PropertyDefinition#getTypePart <em>Type Part</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Type Part</em>' containment reference.
+ * @see #getTypePart()
+ * @generated
+ */
+ void setTypePart(TypedElementDefinition value);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model ordered="false" elementRequired="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='Set(AssignedSource){}'"
+ * @generated
+ */
+ EList<AssignedSource> assignmentsBefore(SyntaxElement element);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * Returns true if the annotation is for a stereotype that has a metaclass
+ * consistent with Property.
+ * <!-- end-model-doc -->
+ *
+ * @model required="true" annotationRequired="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n /* TODO: Allow property stereotype annotations. \052/\n false'"
+ * @generated
+ */
+ boolean annotationAllowed(StereotypeAnnotation annotation);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * Return true if the given member is either a PropertyDefinition or an
+ * imported member whose referent is a PropertyDefinition or a Property.
+ * <!-- end-model-doc -->
+ *
+ * @model required="true" memberRequired="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='member.isProperty()'"
+ * @generated
+ */
+ boolean isSameKindAs(ElementReference member);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model kind="operation" required="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='true'"
+ * @generated
+ */
+ boolean isFeature();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * If a property definition has an initializer, then the initializer expression
+ * must be assignable to the property definition. There are no assignments before
+ * an initializer expression.
+ * (See also assignmentsBefore(element) operation.)
+ * <!-- end-model-doc -->
+ *
+ * @model annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n self.initializer <> null implies \n self.typePart.isAssignableFrom(self.initializer)'"
+ * @generated
+ */
+ boolean propertyDefinitionInitializer(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * A property definition requires collection conversion if its initializer has
+ * a collection class as its type and the property definition does not.
+ * <!-- end-model-doc -->
+ *
+ * @model
+ * @generated
+ */
+ boolean propertyDefinitionIsCollectionConversionDerivation(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * A property definition requires BitString conversion if its type is BitString and
+ * the type of its initializer is Integer or a collection class whose argument type is Integer.
+ * <!-- end-model-doc -->
+ *
+ * @model
+ * @generated
+ */
+ boolean propertyDefinitionIsBitStringConversionDerivation(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * A property definition is a feature.
+ * <!-- end-model-doc -->
+ *
+ * @model
+ * @generated
+ */
+ boolean propertyDefinitionIsFeatureDerivation(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+} // PropertyDefinition
diff --git a/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/QualifiedName.java b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/QualifiedName.java
new file mode 100644
index 00000000000..8da06b65d41
--- /dev/null
+++ b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/QualifiedName.java
@@ -0,0 +1,542 @@
+/**
+ */
+package org.eclipse.papyrus.uml.alf;
+
+import java.util.Map;
+
+import org.eclipse.emf.common.util.DiagnosticChain;
+import org.eclipse.emf.common.util.EList;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Qualified Name</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * The representation of a qualified name as a sequence of individual simple
+ * names.
+ * <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.uml.alf.QualifiedName#isIsAmbiguous <em>Is Ambiguous</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.QualifiedName#getPathName <em>Path Name</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.QualifiedName#isIsFeatureReference <em>Is Feature Reference</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.QualifiedName#getQualification <em>Qualification</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.QualifiedName#getDisambiguation <em>Disambiguation</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.QualifiedName#getNameBinding <em>Name Binding</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.QualifiedName#getReferent <em>Referent</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.QualifiedName#getUnqualifiedName <em>Unqualified Name</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.QualifiedName#getTemplateName <em>Template Name</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getQualifiedName()
+ * @model
+ * @generated
+ */
+public interface QualifiedName extends SyntaxElement {
+ /**
+ * Returns the value of the '<em><b>Is Ambiguous</b></em>' attribute.
+ * The default value is <code>"false"</code>.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * Whether this qualified name is ambiguous.
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Is Ambiguous</em>' attribute.
+ * @see #setIsAmbiguous(boolean)
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getQualifiedName_IsAmbiguous()
+ * @model default="false" required="true"
+ * @generated
+ */
+ boolean isIsAmbiguous();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.uml.alf.QualifiedName#isIsAmbiguous <em>Is Ambiguous</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Is Ambiguous</em>' attribute.
+ * @see #isIsAmbiguous()
+ * @generated
+ */
+ void setIsAmbiguous(boolean value);
+
+ /**
+ * Returns the value of the '<em><b>Path Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The complete path name for the qualified name, with individual name
+ * bindings separated by "::" punctuation.
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Path Name</em>' attribute.
+ * @see #setPathName(String)
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getQualifiedName_PathName()
+ * @model transient="true" volatile="true" derived="true"
+ * annotation=
+ * "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot derivation='\n if self.unqualifiedName = null then \'\'\n else if self.qualification = null then self.unqualifiedName.toString()\n else self.qualification.pathName + \'::\' + self.unqualifiedName.toString()\n endif endif'"
+ * @generated
+ */
+ String getPathName();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.uml.alf.QualifiedName#getPathName <em>Path Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Path Name</em>' attribute.
+ * @see #getPathName()
+ * @generated
+ */
+ void setPathName(String value);
+
+ /**
+ * Returns the value of the '<em><b>Is Feature Reference</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * Indicates whether this qualified name has been disambiguated to a
+ * feature reference.
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Is Feature Reference</em>' attribute.
+ * @see #setIsFeatureReference(boolean)
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getQualifiedName_IsFeatureReference()
+ * @model transient="true" volatile="true" derived="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot derivation='self.disambiguation <> null'"
+ * @generated
+ */
+ boolean isIsFeatureReference();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.uml.alf.QualifiedName#isIsFeatureReference <em>Is Feature Reference</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Is Feature Reference</em>' attribute.
+ * @see #isIsFeatureReference()
+ * @generated
+ */
+ void setIsFeatureReference(boolean value);
+
+ /**
+ * Returns the value of the '<em><b>Qualification</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The qualified name corresponding to the qualification part of this
+ * qualified name, if any.
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Qualification</em>' reference.
+ * @see #setQualification(QualifiedName)
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getQualifiedName_Qualification()
+ * @model transient="true" volatile="true" derived="true"
+ * annotation=
+ * "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot derivation='\n let n = self.nameBinding->size() in \n if n <= 1 then null\n else QualifiedName{\n nameBinding = self.nameBinding->subOrderedSet(1, n - 1).copy(),\n isAmbiguous = n > 1 and self.isAmbiguous,\n owner = self.owner()\n }\n endif'"
+ * @generated
+ */
+ QualifiedName getQualification();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.uml.alf.QualifiedName#getQualification <em>Qualification</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Qualification</em>' reference.
+ * @see #getQualification()
+ * @generated
+ */
+ void setQualification(QualifiedName value);
+
+ /**
+ * Returns the value of the '<em><b>Disambiguation</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The disambiguation into a feature reference of a syntactic element
+ * initially parsed as a qualified name.
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Disambiguation</em>' reference.
+ * @see #setDisambiguation(FeatureReference)
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getQualifiedName_Disambiguation()
+ * @model transient="true" volatile="true" derived="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot derivation='self.disambiguationCached()'"
+ * @generated
+ */
+ FeatureReference getDisambiguation();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.uml.alf.QualifiedName#getDisambiguation <em>Disambiguation</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Disambiguation</em>' reference.
+ * @see #getDisambiguation()
+ * @generated
+ */
+ void setDisambiguation(FeatureReference value);
+
+ /**
+ * Returns the value of the '<em><b>Name Binding</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.uml.alf.NameBinding}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The sequence of individual name bindings in this qualified name.
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Name Binding</em>' containment reference list.
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getQualifiedName_NameBinding()
+ * @model containment="true"
+ * @generated
+ */
+ EList<NameBinding> getNameBinding();
+
+ /**
+ * Returns the value of the '<em><b>Referent</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.uml.alf.ElementReference}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The possible referents to which this qualified name may resolve.
+ * (Note that the UML rules for namespaces in general allow a namespace to
+ * contain elements of different kinds with the same name.) If the qualified
+ * name is for a template instantiation, then the referent is the equivalent
+ * bound element.
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Referent</em>' reference list.
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getQualifiedName_Referent()
+ * @model transient="true" volatile="true" derived="true" ordered="false"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot derivation='self.referentCached()'"
+ * @generated
+ */
+ EList<ElementReference> getReferent();
+
+ /**
+ * Returns the value of the '<em><b>Unqualified Name</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The rightmost individual name binding in the qualified name, without the
+ * qualification.
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Unqualified Name</em>' reference.
+ * @see #setUnqualifiedName(NameBinding)
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getQualifiedName_UnqualifiedName()
+ * @model transient="true" volatile="true" derived="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot derivation='self.nameBinding->last()'"
+ * @generated
+ */
+ NameBinding getUnqualifiedName();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.uml.alf.QualifiedName#getUnqualifiedName <em>Unqualified Name</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Unqualified Name</em>' reference.
+ * @see #getUnqualifiedName()
+ * @generated
+ */
+ void setUnqualifiedName(NameBinding value);
+
+ /**
+ * Returns the value of the '<em><b>Template Name</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * If this qualified name is for a template binding, then the name of the
+ * template for which this qualified name is a binding.
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Template Name</em>' reference.
+ * @see #setTemplateName(QualifiedName)
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getQualifiedName_TemplateName()
+ * @model transient="true" volatile="true" derived="true"
+ * annotation=
+ * "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot derivation='\n if self.unqualifiedName = null or \n self.unqualifiedName.binding = null then \n null\n else if self.nameBinding->size() = 1 then\n QualifiedName{\n nameBinding = Sequence{NameBinding{name = self.unqualifiedName.name}},\n isAmbiguous = false,\n owner = self.owner()\n }\n else\n QualifiedName{\n nameBinding = self.nameBinding->subOrderedSet(1, self.nameBinding->size() - 1).copy()->\n append(NameBinding{name = self.unqualifiedName.name}),\n isAmbiguous = false,\n owner = self.owner()\n }\n endif endif'"
+ * @generated
+ */
+ QualifiedName getTemplateName();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.uml.alf.QualifiedName#getTemplateName <em>Template Name</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Template Name</em>' reference.
+ * @see #getTemplateName()
+ * @generated
+ */
+ void setTemplateName(QualifiedName value);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model required="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='QualifiedName{\n nameBinding = self.nameBinding.copy(),\n isAmbiguous = self.isAmbiguous,\n owner = self.owner()\n }'"
+ * @generated
+ */
+ QualifiedName copy();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model required="true" nameRequired="true"
+ * annotation=
+ * "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n let nameBinding = NameBinding{name = name} in\n QualifiedName{\n nameBinding = self.nameBinding.copy()->append(nameBinding),\n isAmbiguous = self.isAmbiguous,\n owner = self.owner()\n }'"
+ * @generated
+ */
+ QualifiedName addName(String name);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model required="true" nameBindingsMany="true"
+ * annotation=
+ * "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n QualifiedName{\n nameBinding = self.nameBinding.copy()->includingAll(nameBindings),\n isAmbiguous = self.isAmbiguous,\n owner = self.owner()\n }'"
+ * @generated
+ */
+ QualifiedName addNameBindings(EList<NameBinding> nameBindings);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * EXTERNAL
+ * Get the referents for this qualified name as a fully qualified name in
+ * model scope.
+ * <!-- end-model-doc -->
+ *
+ * @model ordered="false"
+ * @generated
+ */
+ EList<ElementReference> modelReferents();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The unqualified name of a qualified name is the last name binding.
+ *
+ * <!-- end-model-doc -->
+ *
+ * @model
+ * @generated
+ */
+ boolean qualifiedNameUnqualifiedNameDerivation(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The path name for a qualified name consists of the string representation
+ * of each of the name bindings, separated by "::" punctuation. The string
+ * representation of a name binding is its name followed by the
+ * representation of its template binding, if it has one. The string
+ * representation of a positional template binding consists of an ordered
+ * list of the path names of its argument qualified names separated by
+ * commas, all surrounded by the angle brackets "<" and ">".
+ * The string representation of a named template binding consists of an
+ * ordered list of its template parameter substitutions, each consisting of
+ * the formal parameter name followed by "=>" followed by the path name of
+ * the argument qualified name, separated by commas, all surrounded by the
+ * angle brackets "<" and ">".
+ * <!-- end-model-doc -->
+ *
+ * @model
+ * @generated
+ */
+ boolean qualifiedNamePathNameDerivation(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * A qualified name is a feature reference if its disambiguation is not
+ * empty.
+ * <!-- end-model-doc -->
+ *
+ * @model
+ * @generated
+ */
+ boolean qualifiedNameIsFeatureReferenceDerivation(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The qualification of a qualified name is a empty if the qualified name
+ * has only one name binding. Otherwise it is the qualified name consisting
+ * of all the name bindings of the original qualified name except for the
+ * last one. The qualification of a qualified name is considered ambiguous
+ * if the qualified name is ambiguous and has more than two name bindings.
+ * <!-- end-model-doc -->
+ *
+ * @model
+ * @generated
+ */
+ boolean qualifiedNameQualificationDerivation(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * If a qualified name is not ambiguous or it has a qualification that resolves
+ * to a namespace, then it is has no disambiguation. Otherwise, its
+ * disambiguation is a feature reference with a name given by the unqualified
+ * name of the qualified name and a target expression determined by the
+ * disambiguation of the qualification of the qualified name.
+ * <!-- end-model-doc -->
+ *
+ * @model
+ * @generated
+ */
+ boolean qualifiedNameDisambiguationDerivation(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The referents of a qualified name are the elements to which the name may
+ * resolve in the current scope, according to the UML rules for namespaces
+ * and named elements.
+ * <!-- end-model-doc -->
+ *
+ * @model
+ * @generated
+ */
+ boolean qualifiedNameReferentDerivation(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * If a qualified name is a local name, then the reference must be within
+ * the same local scope as the definition of the named element.
+ * <!-- end-model-doc -->
+ *
+ * @model
+ * @generated
+ */
+ boolean qualifiedNameLocalName(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * If a qualified name is an unqualified, non-local name, then it must be
+ * visible in the current scope of the use of the name.
+ * <!-- end-model-doc -->
+ *
+ * @model
+ * @generated
+ */
+ boolean qualifiedNameNonLocalUnqualifiedName(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * If a qualified name has a qualification, then its unqualified name must
+ * name an element of the namespace named by the qualification, where the
+ * first name in the qualification must name an element of the current scope.
+ * <!-- end-model-doc -->
+ *
+ * @model
+ * @generated
+ */
+ boolean qualifiedNameQualifiedResolution(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * If the unqualified name of a qualified name has a template binding, then
+ * the template name must resolve to a template. The template binding must
+ * have an argument name for each of the template parameters and each argument
+ * name must resolve to a classifier. If the template parameter has constraining
+ * classifiers, then the referent of the corresponding argument name must conform
+ * to all those constraining classifiers.
+ * <!-- end-model-doc -->
+ *
+ * @model annotation=
+ * "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n self.templateName <> null implies\n let templates = self.templateName.referent in \n templates->size() = 1 and \n templates->forAll(template | \n template.isTemplate() and \n self.unqualifiedName.binding.matches(template)\n )'"
+ * @generated
+ */
+ boolean qualifiedNameTemplateBinding(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * If the last name binding in a qualified name has a template binding, then
+ * the template name is a qualified name with the same template bindings as
+ * the original qualified name, but with the template binding removed on the
+ * last name binding.
+ * <!-- end-model-doc -->
+ *
+ * @model
+ * @generated
+ */
+ boolean qualifiedNameTemplateNameDerivation(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model
+ * @generated
+ */
+ FeatureReference disambiguationCached();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model annotation=
+ * "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n if not self.isAmbiguous or self.qualification = null then null\n else if self.qualification.referent->exists(isNamespace()) then null\n else \n FeatureReference{\n nameBinding = self.unqualifiedName.copy(), \n expression = \n if self.qualification.isFeatureReference then \n PropertyAccessExpression{\n featureReference = self.qualification.disambiguation\n }\n else NameExpression{name = self.qualification}\n endif,\n owner = self.owner()\n }\n endif endif'"
+ * @generated
+ */
+ FeatureReference disambiguation();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model ordered="false"
+ * @generated
+ */
+ EList<ElementReference> referentCached();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model ordered="false"
+ * annotation=
+ * "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n if self.isFeatureReference then\n Set(ElementReference){}\n else if self.templateName = null then\n let n = self.nameBinding->size() in\n let currentScope = self.currentScope() in\n if n = 0 or currentScope = null then\n Set(ElementReference){}\n else if n = 1 then\n -- Resolve as an unqualified name.\n currentScope.resolve(self.unqualifiedName.toName())\n else\n -- Resolve as a qualified name.\n self.qualification.referent->select(isNamespace()).\n resolveVisible(self.unqualifiedName.toName(), currentScope)->\n asSet()\n endif endif\n else\n -- Resolve as a bound element.\n let referents = self.templateName.referent in\n if referents->size() <> 1 then\n Set(ElementReference){}\n else\n let template = referents->any(true) in\n let actuals = self.unqualifiedName.binding.bindTo(template) in\n Set{template.bind(actuals)}\n endif\n endif endif'"
+ * @generated
+ */
+ EList<ElementReference> referent();
+
+} // QualifiedName
diff --git a/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/QualifiedNameList.java b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/QualifiedNameList.java
new file mode 100644
index 00000000000..a28621c304d
--- /dev/null
+++ b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/QualifiedNameList.java
@@ -0,0 +1,57 @@
+/**
+ */
+package org.eclipse.papyrus.uml.alf;
+
+import org.eclipse.emf.common.util.EList;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Qualified Name List</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * A group of qualified names.
+ * <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.uml.alf.QualifiedNameList#getName <em>Name</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getQualifiedNameList()
+ * @model
+ * @generated
+ */
+public interface QualifiedNameList extends SyntaxElement {
+ /**
+ * Returns the value of the '<em><b>Name</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.uml.alf.QualifiedName}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The names in the group.
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Name</em>' containment reference list.
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getQualifiedNameList_Name()
+ * @model containment="true" required="true" ordered="false"
+ * @generated
+ */
+ EList<QualifiedName> getName();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * Handle specially the cases of a specialization list and a redefinition list.
+ * <!-- end-model-doc -->
+ *
+ * @model annotation=
+ * "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n let owner = self.owner() in\n if owner.oclIsKindOf(ClassifierDefinition) then\n owner.oclAsType(ClassifierDefinition).outerScope()\n else if owner.oclIsKindOf(OperationDefinition) then\n owner.oclAsType(OperationDefinition).containingMember().namespace.outerScope()\n else\n self.SyntaxElement_currentScope()\n endif endif'"
+ * @generated
+ */
+ ElementReference currentScope();
+
+} // QualifiedNameList
diff --git a/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/ReceptionDefinition.java b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/ReceptionDefinition.java
new file mode 100644
index 00000000000..8a69bb984be
--- /dev/null
+++ b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/ReceptionDefinition.java
@@ -0,0 +1,172 @@
+/**
+ */
+package org.eclipse.papyrus.uml.alf;
+
+import java.util.Map;
+
+import org.eclipse.emf.common.util.DiagnosticChain;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Reception Definition</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * The declaration of the ability of an active class to receive a signal.
+ * <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.uml.alf.ReceptionDefinition#getSignalName <em>Signal Name</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.ReceptionDefinition#getSignal <em>Signal</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getReceptionDefinition()
+ * @model
+ * @generated
+ */
+public interface ReceptionDefinition extends MemberDefinition {
+ /**
+ * Returns the value of the '<em><b>Signal Name</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The name of the signal to be received.
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Signal Name</em>' containment reference.
+ * @see #setSignalName(QualifiedName)
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getReceptionDefinition_SignalName()
+ * @model containment="true" required="true"
+ * @generated
+ */
+ QualifiedName getSignalName();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.uml.alf.ReceptionDefinition#getSignalName <em>Signal Name</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Signal Name</em>' containment reference.
+ * @see #getSignalName()
+ * @generated
+ */
+ void setSignalName(QualifiedName value);
+
+ /**
+ * Returns the value of the '<em><b>Signal</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ *
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Signal</em>' reference.
+ * @see #setSignal(ElementReference)
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getReceptionDefinition_Signal()
+ * @model transient="true" volatile="true" derived="true"
+ * annotation=
+ * "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot derivation='\n let referents = self.signalName.referent->select(isSignal()) in\n if referents->size() = 1 then\n referents->any(true)\n else\n null\n endif'"
+ * @generated
+ */
+ ElementReference getSignal();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.uml.alf.ReceptionDefinition#getSignal <em>Signal</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Signal</em>' reference.
+ * @see #getSignal()
+ * @generated
+ */
+ void setSignal(ElementReference value);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model required="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='self.signalName.unqualifiedName.toName()'"
+ * @generated
+ */
+ String actualName();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * Returns true if the annotation is for a stereotype that has a metaclass consistent with Reception.
+ * <!-- end-model-doc -->
+ *
+ * @model required="true" annotationRequired="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n /* TODO: Allow reception stereoype annotations. \052/\n false'"
+ * @generated
+ */
+ boolean annotationAllowed(StereotypeAnnotation annotation);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * Return true if the given member is either a ReceptionDefinition, a SignalReceptionDefinition or an
+ * imported member whose referent is a ReceptionDefinition, a SignalReceptionDefinition or a Reception.
+ * <!-- end-model-doc -->
+ *
+ * @model required="true" memberRequired="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='member.isReception()'"
+ * @generated
+ */
+ boolean isSameKindAs(ElementReference member);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model kind="operation" required="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='true'"
+ * @generated
+ */
+ boolean isFeature();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The signal name for a reception definition must have a single referent that is a signal. This referent must not be a template.
+ * <!-- end-model-doc -->
+ *
+ * @model annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n self.signal <> null and not self.signal.isTemplate()'"
+ * @generated
+ */
+ boolean receptionDefinitionSignalName(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The signal for a reception definition is the signal referent of the signal name for the reception definition.
+ * <!-- end-model-doc -->
+ *
+ * @model
+ * @generated
+ */
+ boolean receptionDefinitionSignalDerivation(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * A reception definition is a feature.
+ * <!-- end-model-doc -->
+ *
+ * @model
+ * @generated
+ */
+ boolean receptionDefinitionIsFeatureDerivation(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+} // ReceptionDefinition
diff --git a/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/RelationalExpression.java b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/RelationalExpression.java
new file mode 100644
index 00000000000..2fd11062917
--- /dev/null
+++ b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/RelationalExpression.java
@@ -0,0 +1,157 @@
+/**
+ */
+package org.eclipse.papyrus.uml.alf;
+
+import java.math.BigInteger;
+import java.util.Map;
+
+import org.eclipse.emf.common.util.DiagnosticChain;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Relational Expression</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * A binary expression with a relational operator.
+ * <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.uml.alf.RelationalExpression#isIsUnlimitedNatural <em>Is Unlimited Natural</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getRelationalExpression()
+ * @model
+ * @generated
+ */
+public interface RelationalExpression extends BinaryExpression {
+ /**
+ * Returns the value of the '<em><b>Is Unlimited Natural</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * Whether this is an UnlimitedNatural comparison.
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Is Unlimited Natural</em>' attribute.
+ * @see #setIsUnlimitedNatural(boolean)
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getRelationalExpression_IsUnlimitedNatural()
+ * @model transient="true" volatile="true" derived="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot derivation='self.isUnlimitedNaturalType(self.operand1.type) or self.isUnlimitedNaturalType(self.operand2.type)'"
+ * @generated
+ */
+ boolean isIsUnlimitedNatural();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.uml.alf.RelationalExpression#isIsUnlimitedNatural <em>Is Unlimited Natural</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Is Unlimited Natural</em>' attribute.
+ * @see #isIsUnlimitedNatural()
+ * @generated
+ */
+ void setIsUnlimitedNatural(boolean value);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='self.booleanType()'"
+ * @generated
+ */
+ ElementReference type();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model required="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n if self.operand1.lower = 0 or self.operand2.lower = 0 then 0\n else 1\n endif'"
+ * @generated
+ */
+ BigInteger lower();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model required="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='1'"
+ * @generated
+ */
+ BigInteger upper();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * A relational expression is an UnlimitedNatural comparison if either one
+ * of its operands has type UnlimitedNatural.
+ * <!-- end-model-doc -->
+ *
+ * @model
+ * @generated
+ */
+ boolean relationalExpressionIsUnlimitedNaturalDerivation(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The type of a relational expression is Boolean.
+ * (See the type() operation.)
+ * <!-- end-model-doc -->
+ *
+ * @model
+ * @generated
+ */
+ boolean relationalExpressionTypeDerivation(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * A relational expression has a multiplicity lower bound of 0 if the lower
+ * bound if either operand expression is 0 and 1 otherwise.
+ * (See the lower() operation.)
+ * <!-- end-model-doc -->
+ *
+ * @model
+ * @generated
+ */
+ boolean relationalExpressionLowerDerivation(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * A relational expression has a multiplicity upper bound of 1.
+ * (See the upper() operation.)
+ * <!-- end-model-doc -->
+ *
+ * @model
+ * @generated
+ */
+ boolean relationalExpressionUpperDerivation(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The operand expressions for a comparison operator must have type Integer,
+ * UnlimitedNatural or Natural. However, it is not allowed to have one
+ * operand expression be Integer and the other be UnlimitedNatural.
+ * <!-- end-model-doc -->
+ *
+ * @model annotation=
+ * "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n let type1 = self.operand1.type in\n let type2 = self.operand2.type in\n self.isNaturalType(type1) and self.isNumericType(type2) or\n self.isIntegerType(type1) and self.isIntegerType(type2) or\n self.isUnlimitedNaturalType(type1) and self.isUnlimitedNaturalType(type2)'"
+ * @generated
+ */
+ boolean relationalExpressionOperandTypes(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+} // RelationalExpression
diff --git a/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/ReturnParameter.java b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/ReturnParameter.java
new file mode 100644
index 00000000000..1f853697009
--- /dev/null
+++ b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/ReturnParameter.java
@@ -0,0 +1,21 @@
+/**
+ */
+package org.eclipse.papyrus.uml.alf;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Return Parameter</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * A formal parameter representing a return parameter.
+ * <!-- end-model-doc -->
+ *
+ *
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getReturnParameter()
+ * @model
+ * @generated
+ */
+public interface ReturnParameter extends FormalParameter {
+} // ReturnParameter
diff --git a/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/ReturnStatement.java b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/ReturnStatement.java
new file mode 100644
index 00000000000..3401c53e722
--- /dev/null
+++ b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/ReturnStatement.java
@@ -0,0 +1,146 @@
+/**
+ */
+package org.eclipse.papyrus.uml.alf;
+
+import java.util.Map;
+
+import org.eclipse.emf.common.util.DiagnosticChain;
+import org.eclipse.emf.common.util.EList;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Return Statement</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * A statement that provides a value for the return parameter of an activity.
+ * <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.uml.alf.ReturnStatement#getExpression <em>Expression</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.ReturnStatement#getBehavior <em>Behavior</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getReturnStatement()
+ * @model
+ * @generated
+ */
+public interface ReturnStatement extends Statement {
+ /**
+ * Returns the value of the '<em><b>Expression</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The expression to be evaluated to provide the returned value.
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Expression</em>' containment reference.
+ * @see #setExpression(Expression)
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getReturnStatement_Expression()
+ * @model containment="true"
+ * @generated
+ */
+ Expression getExpression();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.uml.alf.ReturnStatement#getExpression <em>Expression</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Expression</em>' containment reference.
+ * @see #getExpression()
+ * @generated
+ */
+ void setExpression(Expression value);
+
+ /**
+ * Returns the value of the '<em><b>Behavior</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * A reference to the enclosing behavior for this return statement.
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Behavior</em>' reference.
+ * @see #setBehavior(ElementReference)
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getReturnStatement_Behavior()
+ * @model transient="true" volatile="true" derived="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot derivation='self.currentScope()'"
+ * @generated
+ */
+ ElementReference getBehavior();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.uml.alf.ReturnStatement#getBehavior <em>Behavior</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Behavior</em>' reference.
+ * @see #getBehavior()
+ * @generated
+ */
+ void setBehavior(ElementReference value);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model ordered="false"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n if self.expression = null then self.assignmentBefore\n else self.expression.assignmentAfter\n endif'"
+ * @generated
+ */
+ EList<AssignedSource> assignmentsAfter();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * If the behavior containing the return statement has a return parameter,
+ * then the return statement must have an expression, and the expression
+ * must be assignable to that return parameter.
+ * (And, if the behavior does not have a return parameter, then the return
+ * statement must not have an expression.)
+ * <!-- end-model-doc -->
+ *
+ * @model annotation=
+ * "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n let behavior = self.behavior in\n if behavior = null then false\n else\n let returnParameter = behavior.returnParameter() in\n self.expression = null and returnParameter = null or\n self.expression <> null and returnParameter <> null and\n returnParameter.isAssignableFrom(self.expression)\n endif'"
+ * @generated
+ */
+ boolean returnStatementContext(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The assignments before the expression of a return statement are the same
+ * as the assignments before the statement.
+ * (See the assignmentsBefore(element) operation.)
+ * <!-- end-model-doc -->
+ *
+ * @model
+ * @generated
+ */
+ boolean returnStatementAssignmentsBefore(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The assignments after a return statement are the same as the assignments
+ * after the expression of the return statement.
+ * (Or, if the statement has no expression, the same as the assignments
+ * before the statement.)
+ * (See the assignmentsAfter() operation.)
+ * <!-- end-model-doc -->
+ *
+ * @model
+ * @generated
+ */
+ boolean returnStatementAssignmentsAfter(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+} // ReturnStatement
diff --git a/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/SelectOrRejectExpression.java b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/SelectOrRejectExpression.java
new file mode 100644
index 00000000000..fdc0844ce39
--- /dev/null
+++ b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/SelectOrRejectExpression.java
@@ -0,0 +1,72 @@
+/**
+ */
+package org.eclipse.papyrus.uml.alf;
+
+import java.util.Map;
+
+import org.eclipse.emf.common.util.DiagnosticChain;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Select Or Reject Expression</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * A sequence expansion expression with a select or reject operation.
+ * <!-- end-model-doc -->
+ *
+ *
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getSelectOrRejectExpression()
+ * @model
+ * @generated
+ */
+public interface SelectOrRejectExpression extends SequenceExpansionExpression {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * A select or reject expression has the same type as its primary expression.
+ * <!-- end-model-doc -->
+ *
+ * @model
+ * @generated
+ */
+ boolean selectOrRejectExpressionTypeDerivation(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * A select or reject expression has a multiplicity lower bound of 0.
+ * <!-- end-model-doc -->
+ *
+ * @model
+ * @generated
+ */
+ boolean selectOrRejectExpressionLowerDerivation(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * A select or reject expression has a multiplicity upper bound of *.
+ * <!-- end-model-doc -->
+ *
+ * @model
+ * @generated
+ */
+ boolean selectOrRejectExpressionUpperDerivation(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The argument of a select or reject expression must have type Boolean and a multiplicity upper bound of 1.
+ * <!-- end-model-doc -->
+ *
+ * @model
+ * @generated
+ */
+ boolean selectOrRejectExpressionArgument(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+} // SelectOrRejectExpression
diff --git a/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/SequenceAccessExpression.java b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/SequenceAccessExpression.java
new file mode 100644
index 00000000000..eed08858c78
--- /dev/null
+++ b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/SequenceAccessExpression.java
@@ -0,0 +1,193 @@
+/**
+ */
+package org.eclipse.papyrus.uml.alf;
+
+import java.math.BigInteger;
+import java.util.Map;
+
+import org.eclipse.emf.common.util.DiagnosticChain;
+import org.eclipse.emf.common.util.EList;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Sequence Access Expression</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * An expression used to access a specific element of a sequence.
+ * <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.uml.alf.SequenceAccessExpression#getPrimary <em>Primary</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.SequenceAccessExpression#getIndex <em>Index</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getSequenceAccessExpression()
+ * @model
+ * @generated
+ */
+public interface SequenceAccessExpression extends Expression {
+ /**
+ * Returns the value of the '<em><b>Primary</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The expression whose value is the sequence being accessed.
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Primary</em>' containment reference.
+ * @see #setPrimary(Expression)
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getSequenceAccessExpression_Primary()
+ * @model containment="true" required="true"
+ * @generated
+ */
+ Expression getPrimary();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.uml.alf.SequenceAccessExpression#getPrimary <em>Primary</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Primary</em>' containment reference.
+ * @see #getPrimary()
+ * @generated
+ */
+ void setPrimary(Expression value);
+
+ /**
+ * Returns the value of the '<em><b>Index</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The expression whose value is the index of the element being accessed in
+ * the sequence.
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Index</em>' containment reference.
+ * @see #setIndex(Expression)
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getSequenceAccessExpression_Index()
+ * @model containment="true" required="true"
+ * @generated
+ */
+ Expression getIndex();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.uml.alf.SequenceAccessExpression#getIndex <em>Index</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Index</em>' containment reference.
+ * @see #getIndex()
+ * @generated
+ */
+ void setIndex(Expression value);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='self.primary.type'"
+ * @generated
+ */
+ ElementReference type();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='0'"
+ * @generated
+ */
+ BigInteger lower();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='1'"
+ * @generated
+ */
+ BigInteger upper();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model ordered="false"
+ * annotation=
+ * "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n self.updateAll(\n self.updateAll(\n self.assignmentBefore,\n self.primary.newAssignments()\n ),\n self.index.newAssignments()\n )'"
+ * @generated
+ */
+ EList<AssignedSource> updateAssignments();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The type of a sequence access expression is the same as the type of its
+ * primary expression.
+ * (See the type() operation.)
+ * <!-- end-model-doc -->
+ *
+ * @model
+ * @generated
+ */
+ boolean sequenceAccessExpressionTypeDerivation(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The multiplicity lower bound of a sequence access expression is 0.
+ * (See the lower() operation.)
+ * <!-- end-model-doc -->
+ *
+ * @model
+ * @generated
+ */
+ boolean sequenceAccessExpressionLowerDerivation(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The multiplicity upper bound of a sequence access expression is 1.
+ * (See the upper() operation.)
+ * <!-- end-model-doc -->
+ *
+ * @model
+ * @generated
+ */
+ boolean sequenceAccessExpressionUpperDerivation(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The type of the index of a sequence access expression must be Integer.
+ * <!-- end-model-doc -->
+ *
+ * @model annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n let type = self.index.type in\n type <> null and self.isIntegerType(type)'"
+ * @generated
+ */
+ boolean sequenceAccessExpressionIndexType(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The multiplicity upper bound of the index of a sequence access expression
+ * must be 1.
+ * <!-- end-model-doc -->
+ *
+ * @model annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='self.index.upper = 1'"
+ * @generated
+ */
+ boolean sequenceAccessExpressionIndexMultiplicity(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+} // SequenceAccessExpression
diff --git a/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/SequenceConstructionExpression.java b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/SequenceConstructionExpression.java
new file mode 100644
index 00000000000..74ac611aa05
--- /dev/null
+++ b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/SequenceConstructionExpression.java
@@ -0,0 +1,311 @@
+/**
+ */
+package org.eclipse.papyrus.uml.alf;
+
+import java.math.BigInteger;
+import java.util.Map;
+
+import org.eclipse.emf.common.util.DiagnosticChain;
+import org.eclipse.emf.common.util.EList;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Sequence Construction Expression</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * An expression used to construct a sequence of values.
+ * <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.uml.alf.SequenceConstructionExpression#getElements <em>Elements</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.SequenceConstructionExpression#isHasMultiplicity <em>Has Multiplicity</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.SequenceConstructionExpression#getTypeName <em>Type Name</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.SequenceConstructionExpression#isIsAny <em>Is Any</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getSequenceConstructionExpression()
+ * @model
+ * @generated
+ */
+public interface SequenceConstructionExpression extends Expression {
+ /**
+ * Returns the value of the '<em><b>Elements</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The specification of the elements in the sequence.
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Elements</em>' containment reference.
+ * @see #setElements(SequenceElements)
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getSequenceConstructionExpression_Elements()
+ * @model containment="true"
+ * @generated
+ */
+ SequenceElements getElements();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.uml.alf.SequenceConstructionExpression#getElements <em>Elements</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Elements</em>' containment reference.
+ * @see #getElements()
+ * @generated
+ */
+ void setElements(SequenceElements value);
+
+ /**
+ * Returns the value of the '<em><b>Has Multiplicity</b></em>' attribute.
+ * The default value is <code>"false"</code>.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * Whether the sequence construction expression has a multiplicity indicator.
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Has Multiplicity</em>' attribute.
+ * @see #setHasMultiplicity(boolean)
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getSequenceConstructionExpression_HasMultiplicity()
+ * @model default="false" required="true"
+ * @generated
+ */
+ boolean isHasMultiplicity();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.uml.alf.SequenceConstructionExpression#isHasMultiplicity <em>Has Multiplicity</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Has Multiplicity</em>' attribute.
+ * @see #isHasMultiplicity()
+ * @generated
+ */
+ void setHasMultiplicity(boolean value);
+
+ /**
+ * Returns the value of the '<em><b>Type Name</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The name of the type of the elements in the sequence.
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Type Name</em>' containment reference.
+ * @see #setTypeName(QualifiedName)
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getSequenceConstructionExpression_TypeName()
+ * @model containment="true"
+ * @generated
+ */
+ QualifiedName getTypeName();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.uml.alf.SequenceConstructionExpression#getTypeName <em>Type Name</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Type Name</em>' containment reference.
+ * @see #getTypeName()
+ * @generated
+ */
+ void setTypeName(QualifiedName value);
+
+ /**
+ * Returns the value of the '<em><b>Is Any</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * Whether the sequence construction expression has an empty type.
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Is Any</em>' attribute.
+ * @see #setIsAny(boolean)
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getSequenceConstructionExpression_IsAny()
+ * @model
+ * @generated
+ */
+ boolean isIsAny();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.uml.alf.SequenceConstructionExpression#isIsAny <em>Is Any</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Is Any</em>' attribute.
+ * @see #isIsAny()
+ * @generated
+ */
+ void setIsAny(boolean value);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * If this expression is contained in the element list of a sequence
+ * construction expression with a collection type, then return that type
+ * name. Otherwise return null.
+ * <!-- end-model-doc -->
+ *
+ * @model annotation=
+ * "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n let expression = self.enclosingExpression() in\n if expression = null or \n not expression.oclIsKindOf(SequenceConstructionExpression) then \n null\n else\n let sequenceExpression = \n expression.oclAsType(SequenceConstructionExpression) \n in\n if sequenceExpression.hasMultiplicity then null\n else sequenceExpression.type\n endif\n endif'"
+ * @generated
+ */
+ ElementReference collectionType();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model annotation=
+ * "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n if self.typeName <> null then\n let referents = self.typeName.referent->select(isClassifier()) in\n if referents->size() <> 1 then null\n else referents->any(true)\n endif\n else\n let collectionType = self.collectionType() in\n if collectionType = null then null\n else collectionType.collectionArgument()\n endif\n endif'"
+ * @generated
+ */
+ ElementReference type();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model required="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n if not self.hasMultiplicity then 1\n else if self.elements = null then 0 \n else self.elements.upper\n endif endif'"
+ * @generated
+ */
+ BigInteger upper();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model required="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n if not self.hasMultiplicity then 1\n else if self.elements = null then 0 \n else self.elements.lower\n endif endif'"
+ * @generated
+ */
+ BigInteger lower();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * If the type name of a sequence construction expression is not empty,
+ * then the type of the expression is the classifier to which the type name
+ * resolves.
+ * <!-- end-model-doc -->
+ *
+ * @model
+ * @generated
+ */
+ boolean sequenceConstructionExpressionTypeDerivation(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * If a sequence construction expression has multiplicity, then its
+ * multiplicity upper bound is given by its elements, if this is not empty,
+ * and zero otherwise. If a sequence construction expression does not have
+ * multiplicity, then its multiplicity upper bound is one.
+ * <!-- end-model-doc -->
+ *
+ * @model
+ * @generated
+ */
+ boolean sequenceConstructionExpressionUpperDerivation(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * If a sequence construction expression has multiplicity, then its
+ * multiplicity lower bound is given by its elements, if this is not empty,
+ * and zero otherwise. If a sequence construction expression does not have
+ * multiplicity, then its multiplicity lower bound is one.
+ * <!-- end-model-doc -->
+ *
+ * @model
+ * @generated
+ */
+ boolean sequenceConstructionExpressionLowerDerivation(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * If the type name of a sequence construction expression is not empty, then
+ * it must resolve to a non-template classifier. If the expression does not
+ * have multiplicity, then the type name must not be empty and the
+ * classifier to which it resolves must be the instantiation of a collection
+ * class.
+ * <!-- end-model-doc -->
+ *
+ * @model annotation=
+ * "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n (self.typeName <> null implies self.type <> null) and\n (not self.hasMultiplicity implies \n self.type <> null and self.isCollectionClass(self.type)\n )'"
+ * @generated
+ */
+ boolean sequenceConstructionExpressionType(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * If the elements of a sequence construction expression are given by a
+ * sequence range, then the expression must have type Integer. If the
+ * elements are given by a sequence element list, and the sequence
+ * construction expression has a non-empty type, then each expression in the
+ * list must have a type that either conforms to the type of the sequence
+ * construction expression or is convertible to it by bit string conversion.
+ * <!-- end-model-doc -->
+ *
+ * @model annotation=
+ * "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n self.elements <> null implies \n let type =\n if self.hasMultiplicity or self.type = null then self.type\n else self.type.collectionArgument() \n endif\n in\n self.elements.conformsTo(type)'"
+ * @generated
+ */
+ boolean sequenceConstructionExpressionElementType(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * If the elements of a sequence construction expression are given by a
+ * sequence expression list, then the assignments before the first
+ * expression in the list are the same as the assignments before the
+ * sequence construction expression, and the assignments before each
+ * subsequent expression are the assignments after the previous expression.
+ * If the elements are given by a sequence range, the assignments before
+ * both expressions in the range are the same as the assignments before the
+ * sequence construction expression.
+ * (See the SyntaxElement::assignmentsBefore(element) operation. See also
+ * the SequenceExpressionList::assignmentsBefore(element) operation.)
+ * <!-- end-model-doc -->
+ *
+ * @model
+ * @generated
+ */
+ boolean sequenceConstructionExpressionAssignmentsBefore(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * If the elements of the sequence construction expression are given by a
+ * sequence expression list, then return the assignments after the last
+ * expression in the list (if the list is empty, then return the assignments
+ * before the sequence construction expression). If the elements are given
+ * by a sequence range, then return the union of the assignments after each
+ * of the expressions in the range.
+ * <!-- end-model-doc -->
+ *
+ * @model ordered="false"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n if self.elements = null then self.assignmentBefore\n else self.elements.assignmentsAfter()\n endif'"
+ * @generated
+ */
+ EList<AssignedSource> updateAssignments();
+
+} // SequenceConstructionExpression
diff --git a/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/SequenceElements.java b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/SequenceElements.java
new file mode 100644
index 00000000000..cfaf415f963
--- /dev/null
+++ b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/SequenceElements.java
@@ -0,0 +1,126 @@
+/**
+ */
+package org.eclipse.papyrus.uml.alf;
+
+import java.math.BigInteger;
+import org.eclipse.emf.common.util.EList;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Sequence Elements</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * A specification of the elements of a sequence.
+ * <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.uml.alf.SequenceElements#getUpper <em>Upper</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.SequenceElements#getLower <em>Lower</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getSequenceElements()
+ * @model abstract="true"
+ * @generated
+ */
+public interface SequenceElements extends SyntaxElement {
+ /**
+ * Returns the value of the '<em><b>Upper</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The multiplicity upper bound of the elements of the sequence. The
+ * derivation for this property is given in the subclasses of SequenceElements.
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Upper</em>' attribute.
+ * @see #setUpper(BigInteger)
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getSequenceElements_Upper()
+ * @model required="true" transient="true" volatile="true" derived="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot derivation='self.upper()'"
+ * @generated
+ */
+ BigInteger getUpper();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.uml.alf.SequenceElements#getUpper <em>Upper</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Upper</em>' attribute.
+ * @see #getUpper()
+ * @generated
+ */
+ void setUpper(BigInteger value);
+
+ /**
+ * Returns the value of the '<em><b>Lower</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The multiplicity lower bound of the elements of the sequence. The derivation
+ * for this property is given in the subclasses of SequenceElements.
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Lower</em>' attribute.
+ * @see #setLower(BigInteger)
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getSequenceElements_Lower()
+ * @model required="true" transient="true" volatile="true" derived="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot derivation='self.lower()'"
+ * @generated
+ */
+ BigInteger getLower();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.uml.alf.SequenceElements#getLower <em>Lower</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Lower</em>' attribute.
+ * @see #getLower()
+ * @generated
+ */
+ void setLower(BigInteger value);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model required="true"
+ * @generated
+ */
+ boolean conformsTo(ElementReference type);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model ordered="false"
+ * @generated
+ */
+ EList<AssignedSource> assignmentsAfter();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model required="true"
+ * @generated
+ */
+ BigInteger upper();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model required="true"
+ * @generated
+ */
+ BigInteger lower();
+
+} // SequenceElements
diff --git a/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/SequenceExpansionExpression.java b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/SequenceExpansionExpression.java
new file mode 100644
index 00000000000..bc27f784dfd
--- /dev/null
+++ b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/SequenceExpansionExpression.java
@@ -0,0 +1,648 @@
+/**
+ */
+package org.eclipse.papyrus.uml.alf;
+
+import java.math.BigInteger;
+import java.util.Map;
+
+import org.eclipse.emf.common.util.DiagnosticChain;
+import org.eclipse.emf.common.util.EList;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Sequence Expansion Expression</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * An expression used to carry out one of a predefined set of operations over each of the elements in a sequence.
+ * <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.uml.alf.SequenceExpansionExpression#getOperation <em>Operation</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.SequenceExpansionExpression#getVariable <em>Variable</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.SequenceExpansionExpression#getVariableSource <em>Variable Source</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.SequenceExpansionExpression#getArgument <em>Argument</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.SequenceExpansionExpression#getPrimary <em>Primary</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.SequenceExpansionExpression#isIsSelectOrReject <em>Is Select Or Reject</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.SequenceExpansionExpression#isIsCollectOrIterate <em>Is Collect Or Iterate</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.SequenceExpansionExpression#isIsForAllOrExistsOrOne <em>Is For All Or Exists Or One</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.SequenceExpansionExpression#isIsIsUnique <em>Is Is Unique</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getSequenceExpansionExpression()
+ * @model
+ * @generated
+ */
+public interface SequenceExpansionExpression extends Expression {
+ /**
+ * Returns the value of the '<em><b>Operation</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The name of the operation to be carried out.
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Operation</em>' attribute.
+ * @see #setOperation(String)
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getSequenceExpansionExpression_Operation()
+ * @model required="true"
+ * @generated
+ */
+ String getOperation();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.uml.alf.SequenceExpansionExpression#getOperation <em>Operation</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Operation</em>' attribute.
+ * @see #getOperation()
+ * @generated
+ */
+ void setOperation(String value);
+
+ /**
+ * Returns the value of the '<em><b>Variable</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The name of the expansion variable available as a local name within the
+ * argument expression.
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Variable</em>' attribute.
+ * @see #setVariable(String)
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getSequenceExpansionExpression_Variable()
+ * @model required="true"
+ * @generated
+ */
+ String getVariable();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.uml.alf.SequenceExpansionExpression#getVariable <em>Variable</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Variable</em>' attribute.
+ * @see #getVariable()
+ * @generated
+ */
+ void setVariable(String value);
+
+ /**
+ * Returns the value of the '<em><b>Variable Source</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The assigned source for the expansion variable within the argument
+ * expression. The source is actually the sequence expansion expression
+ * itself.
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Variable Source</em>' reference.
+ * @see #setVariableSource(AssignedSource)
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getSequenceExpansionExpression_VariableSource()
+ * @model transient="true" volatile="true" derived="true"
+ * annotation=
+ * "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot derivation='\n let expression = self.primary.expression in\n AssignedSource{\n name = variable,\n source = self,\n type = if expression = null then null else expression.type endif,\n lower = 1,\n upper = 1\n }'"
+ * @generated
+ */
+ AssignedSource getVariableSource();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.uml.alf.SequenceExpansionExpression#getVariableSource <em>Variable Source</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Variable Source</em>' reference.
+ * @see #getVariableSource()
+ * @generated
+ */
+ void setVariableSource(AssignedSource value);
+
+ /**
+ * Returns the value of the '<em><b>Argument</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The argument expression. The exact form required for this expression
+ * depends on which expansion operation is being carried out.
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Argument</em>' containment reference.
+ * @see #setArgument(Expression)
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getSequenceExpansionExpression_Argument()
+ * @model containment="true" required="true"
+ * @generated
+ */
+ Expression getArgument();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.uml.alf.SequenceExpansionExpression#getArgument <em>Argument</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Argument</em>' containment reference.
+ * @see #getArgument()
+ * @generated
+ */
+ void setArgument(Expression value);
+
+ /**
+ * Returns the value of the '<em><b>Primary</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The class name or primary expression that evaluates to the sequence to
+ * be acted on.
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Primary</em>' containment reference.
+ * @see #setPrimary(ExtentOrExpression)
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getSequenceExpansionExpression_Primary()
+ * @model containment="true" required="true"
+ * @generated
+ */
+ ExtentOrExpression getPrimary();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.uml.alf.SequenceExpansionExpression#getPrimary <em>Primary</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Primary</em>' containment reference.
+ * @see #getPrimary()
+ * @generated
+ */
+ void setPrimary(ExtentOrExpression value);
+
+ /**
+ * Returns the value of the '<em><b>Is Select Or Reject</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Is Select Or Reject</em>' attribute isn't clear, there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ *
+ * @return the value of the '<em>Is Select Or Reject</em>' attribute.
+ * @see #setIsSelectOrReject(boolean)
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getSequenceExpansionExpression_IsSelectOrReject()
+ * @model required="true" transient="true" volatile="true" derived="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot derivation='self.operation = \'select\' or self.operation = \'reject\''"
+ * @generated
+ */
+ boolean isIsSelectOrReject();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.uml.alf.SequenceExpansionExpression#isIsSelectOrReject <em>Is Select Or Reject</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Is Select Or Reject</em>' attribute.
+ * @see #isIsSelectOrReject()
+ * @generated
+ */
+ void setIsSelectOrReject(boolean value);
+
+ /**
+ * Returns the value of the '<em><b>Is Collect Or Iterate</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Is Collect Or Iterate</em>' attribute isn't clear, there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ *
+ * @return the value of the '<em>Is Collect Or Iterate</em>' attribute.
+ * @see #setIsCollectOrIterate(boolean)
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getSequenceExpansionExpression_IsCollectOrIterate()
+ * @model required="true" transient="true" volatile="true" derived="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot derivation='self.operation = \'collect\' or self.operation = \'iterate\''"
+ * @generated
+ */
+ boolean isIsCollectOrIterate();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.uml.alf.SequenceExpansionExpression#isIsCollectOrIterate <em>Is Collect Or Iterate</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Is Collect Or Iterate</em>' attribute.
+ * @see #isIsCollectOrIterate()
+ * @generated
+ */
+ void setIsCollectOrIterate(boolean value);
+
+ /**
+ * Returns the value of the '<em><b>Is For All Or Exists Or One</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Is For All Or Exists Or One</em>' attribute isn't clear, there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ *
+ * @return the value of the '<em>Is For All Or Exists Or One</em>' attribute.
+ * @see #setIsForAllOrExistsOrOne(boolean)
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getSequenceExpansionExpression_IsForAllOrExistsOrOne()
+ * @model required="true" transient="true" volatile="true" derived="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot derivation='self.operation = \'forAll\' or self.operation = \'exists\' or self.operation = \'one\''"
+ * @generated
+ */
+ boolean isIsForAllOrExistsOrOne();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.uml.alf.SequenceExpansionExpression#isIsForAllOrExistsOrOne <em>Is For All Or Exists Or One</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Is For All Or Exists Or One</em>' attribute.
+ * @see #isIsForAllOrExistsOrOne()
+ * @generated
+ */
+ void setIsForAllOrExistsOrOne(boolean value);
+
+ /**
+ * Returns the value of the '<em><b>Is Is Unique</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Is Is Unique</em>' attribute isn't clear, there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ *
+ * @return the value of the '<em>Is Is Unique</em>' attribute.
+ * @see #setIsIsUnique(boolean)
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getSequenceExpansionExpression_IsIsUnique()
+ * @model required="true" transient="true" volatile="true" derived="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot derivation='self.operation = \'isUnique\''"
+ * @generated
+ */
+ boolean isIsIsUnique();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.uml.alf.SequenceExpansionExpression#isIsIsUnique <em>Is Is Unique</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Is Is Unique</em>' attribute.
+ * @see #isIsIsUnique()
+ * @generated
+ */
+ void setIsIsUnique(boolean value);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model ordered="false" elementRequired="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n if self.argument <> element then self.assignmentBefore\n else\n self.variableSource.update(self.assignmentsAfterPrimary())\n endif'"
+ * @generated
+ */
+ EList<AssignedSource> assignmentsBefore(SyntaxElement element);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model ordered="false"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n let expression = self.primary.expression in\n if expression = null then self.assignmentBefore\n else expression.assignmentAfter\n endif'"
+ * @generated
+ */
+ EList<AssignedSource> assignmentsAfterPrimary();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model annotation=
+ * "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n if self.isSelectOrReject then\n let expression = self.primary.expression in\n if expression = null then null else expression.type endif\n else if self.isCollectOrIterate then\n if self.argument = null then null else self.argument.type endif\n else if self.isForAllOrExistsOrOne or self.isIsUnique then\n self.booleanType()\n else\n null\n endif endif endif'"
+ * @generated
+ */
+ ElementReference type();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model required="true"
+ * annotation=
+ * "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n if self.isSelectOrReject then 0\n else if self.isCollectOrIterate then\n let expression = self.primary.expression in\n if expression = null or self.argument = null then 0\n else expression.lower * self.argument.lower\n endif\n else if self.isForAllOrExistsOrOne or self.isIsUnique then 1\n else 0\n endif endif endif'"
+ * @generated
+ */
+ BigInteger lower();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model required="true"
+ * annotation=
+ * "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n if self.isSelectOrReject then -1\n else if self.isCollectOrIterate then\n let expression = self.primary.expression in\n if expression = null or self.argument = null then 0\n else \n let upper1 = expression.upper in\n let upper2 = self.argument.upper in\n if upper1 = -1 or upper2 = -1 then -1 else upper1 * upper2 endif\n endif\n else if self.isForAllOrExistsOrOne or self.isIsUnique then 1\n else 0\n endif endif endif'"
+ * @generated
+ */
+ BigInteger upper();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The assigned source for the expansion variable of a sequence expansion
+ * expression is the expression itself. The type for the assignment is the
+ * type of the primary expression of the sequence expansion expression and
+ * the multiplicity lower and upper bounds are 1.
+ * <!-- end-model-doc -->
+ *
+ * @model
+ * @generated
+ */
+ boolean sequenceExpansionExpressionVariableSourceDerivation(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The assignments before the primary expression of a sequence expansion
+ * expression are the same as the assignments before the sequence expansion
+ * expression.
+ * (See the assignmentsBefore(element) operation.)
+ * <!-- end-model-doc -->
+ *
+ * @model
+ * @generated
+ */
+ boolean sequenceExpansionExpressionAssignmentsBeforePrimary(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The assignments before the argument expression of a sequence expansion
+ * expression include those after the primary expression plus one for the
+ * expansion variable.
+ * (See the assignmentsBefore(element) operation.)
+ * <!-- end-model-doc -->
+ *
+ * @model
+ * @generated
+ */
+ boolean sequenceExpansionExpressionAssignmentsBeforeArgument(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The expansion variable name may not conflict with any name already
+ * assigned after the primary expression.
+ * <!-- end-model-doc -->
+ *
+ * @model annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n not self.assignmentsAfterPrimary()->exists(name = self.variable)'"
+ * @generated
+ */
+ boolean sequenceExpansionExpressionVariableName(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The assignments after the argument expression of a sequence expansion
+ * expression must be the same as the assignments before the argument
+ * expression.
+ * <!-- end-model-doc -->
+ *
+ * @model annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n self.argument <> null implies self.argument.newAssignments()->isEmpty()'"
+ * @generated
+ */
+ boolean sequenceExpansionExpressionAssignmentsAfterArgument(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * A select or reject expression has the same type as its primary expression.
+ * (See the type() operation.)
+ * <!-- end-model-doc -->
+ *
+ * @model
+ * @generated
+ */
+ boolean selectOrRejectExpressionTypeDerivation(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * A select or reject expression has a multiplicity lower bound of 0.
+ * (See the lower operation.)
+ * <!-- end-model-doc -->
+ *
+ * @model
+ * @generated
+ */
+ boolean selectOrRejectExpressionLowerDerivation(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * A select or reject expression has a multiplicity upper bound of *.
+ * (See the upper() operation.)
+ * <!-- end-model-doc -->
+ *
+ * @model
+ * @generated
+ */
+ boolean selectOrRejectExpressionUpperDerivation(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The argument of a select or reject expression must have type Boolean and
+ * a multiplicity upper bound of 1.
+ * <!-- end-model-doc -->
+ *
+ * @model annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n (self.isSelectOrReject and self.argument <> null) implies\n self.isBooleanType(self.argument.type) and\n self.argument.upper = 1'"
+ * @generated
+ */
+ boolean selectOrRejectExpressionArgument(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * A collect or iterate expression has the same type as its argument
+ * expression.
+ * (See the type() operation.)
+ * <!-- end-model-doc -->
+ *
+ * @model
+ * @generated
+ */
+ boolean collectOrIterateExpressionTypeDerivation(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * A collect or iterate expression has a multiplicity lower bound that is
+ * the product of the bounds of its primary and argument expressions.
+ * (See the lower() operation.)
+ * <!-- end-model-doc -->
+ *
+ * @model
+ * @generated
+ */
+ boolean collectOrIterateExpressionLowerDerivation(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * A collect or iterate expression has a multiplicity upper bound that is
+ * the product of the bounds of its primary and argument expressions.
+ * (See the upper() operation.)
+ * <!-- end-model-doc -->
+ *
+ * @model
+ * @generated
+ */
+ boolean collectOrIterateExpressionUpperDerivation(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * A forAll, exists or one expression has the type Boolean.
+ * (See the type() operation.)
+ * <!-- end-model-doc -->
+ *
+ * @model
+ * @generated
+ */
+ boolean forAllOrExistsOrOneExpressionTypeDerivation(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * A forAll, exists or one expression has a multiplicity lower bound of 1.
+ * (See the lower() operation.)
+ * <!-- end-model-doc -->
+ *
+ * @model
+ * @generated
+ */
+ boolean forAllOrExistsOrOneExpressionLowerDerivation(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * A forAll, exists or one expression has a multiplicity upper bound of 1.
+ * (See the upper() operation.)
+ * <!-- end-model-doc -->
+ *
+ * @model
+ * @generated
+ */
+ boolean forAllOrExistsOrOneExpressionUpperDerivation(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The argument of a forAll, exists or one expression must have type Boolean
+ * and a multiplicity upper bound of 1.
+ * <!-- end-model-doc -->
+ *
+ * @model annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n (self.isForAllOrExistsOrOne and self.argument <> null) implies\n self.isBooleanType(self.argument.type) and\n self.argument.upper = 1'"
+ * @generated
+ */
+ boolean forAllOrExistsOrOneExpressionArgument(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * An isUnique expression has the type Boolean.
+ * (See the type() operation.)
+ * <!-- end-model-doc -->
+ *
+ * @model
+ * @generated
+ */
+ boolean isUniqueExpressionTypeDerivation(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * An isUnique expression has a multiplicity lower bound of 1.
+ * (See the lower() operation.)
+ * <!-- end-model-doc -->
+ *
+ * @model
+ * @generated
+ */
+ boolean isUniqueExpressionLowerDerivation(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * An isUnique expression has a multiplicity upper bound of 1.
+ * (See the upper() operation.)
+ * <!-- end-model-doc -->
+ *
+ * @model
+ * @generated
+ */
+ boolean isUniqueExpressionUpperDerivation(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The argument of an isUnique expression must have a multiplicity upper
+ * bound of 1.
+ * <!-- end-model-doc -->
+ *
+ * @model annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n (self.isIsUnique and self.argument <> null) implies \n self.argument.upper = 1'"
+ * @generated
+ */
+ boolean isUniqueExpressionExpressionArgument(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The assignments after a sequence expansion expression are the same as
+ * after its primary expression.
+ * <!-- end-model-doc -->
+ *
+ * @model ordered="false"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='self.assignmentsAfterPrimary()'"
+ * @generated
+ */
+ EList<AssignedSource> updateAssignments();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n self.isSelectOrReject or self.isCollectOrIterate or \n self.isForAllOrExistsOrOne or self.isIsUnique'"
+ * @generated
+ */
+ boolean sequenceExpansionExpressionOperation(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+} // SequenceExpansionExpression
diff --git a/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/SequenceExpressionList.java b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/SequenceExpressionList.java
new file mode 100644
index 00000000000..52a9a66356c
--- /dev/null
+++ b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/SequenceExpressionList.java
@@ -0,0 +1,137 @@
+/**
+ */
+package org.eclipse.papyrus.uml.alf;
+
+import java.math.BigInteger;
+import java.util.Map;
+
+import org.eclipse.emf.common.util.DiagnosticChain;
+import org.eclipse.emf.common.util.EList;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Sequence Expression List</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * A specification of the elements of a sequence using a list of expressions.
+ * <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.uml.alf.SequenceExpressionList#getElement <em>Element</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getSequenceExpressionList()
+ * @model
+ * @generated
+ */
+public interface SequenceExpressionList extends SequenceElements {
+ /**
+ * Returns the value of the '<em><b>Element</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.uml.alf.Expression}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The list of expressions whose values determine the elements of the sequence.
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Element</em>' containment reference list.
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getSequenceExpressionList_Element()
+ * @model containment="true" required="true"
+ * @generated
+ */
+ EList<Expression> getElement();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * Each expression in the list must have a multiplicity upper bound of no
+ * more than 1. The type of each expression in the list must conform to
+ * the given type (with allowance for bit string conversion).
+ * <!-- end-model-doc -->
+ *
+ * @model required="true"
+ * annotation=
+ * "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n self.element->forAll(element |\n let elementType = element.type in\n element.upper <= 1 and \n (type = null or elementType <> null and\n (elementType.conformsTo(type) or\n self.isIntegerType(elementType) and self.isBitStringType(type)\n )\n )\n )'"
+ * @generated
+ */
+ boolean conformsTo(ElementReference type);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model ordered="false" elementRequired="true"
+ * annotation=
+ * "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n if not self.element->includes(element) or \n self.element->first() = element then\n self.assignmentsBefore()\n else\n let i = self.element->indexOf(element) in\n self.element->at(i-1).assignmentAfter\n endif'"
+ * @generated
+ */
+ EList<AssignedSource> assignmentsBefore(SyntaxElement element);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model ordered="false"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='self.element->last().assignmentAfter'"
+ * @generated
+ */
+ EList<AssignedSource> assignmentsAfter();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model required="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='self.element.lower->sum()'"
+ * @generated
+ */
+ BigInteger lower();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model required="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n let lowerBounds = self.element.lower in\n if lowerBounds->includes(-1) then -1\n else lowerBounds->sum()\n endif'"
+ * @generated
+ */
+ BigInteger upper();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The multiplicity lower bound of the elements of a sequence expression
+ * list is given by the sum of the lower bounds of each of the expressions
+ * in the list.
+ * (See the lower() operation.)
+ * <!-- end-model-doc -->
+ *
+ * @model
+ * @generated
+ */
+ boolean sequenceExpressionListLowerDerivation(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The multiplicity upper bound of the elements of a sequence expression
+ * list is given by the sum of the upper bounds of each of the expressions
+ * in the list. If any of the expressions in the list have an unbounded
+ * upper bound, then the sequence expression list also has an unbounded
+ * upper bound.
+ * (See the upper() operation.)
+ * <!-- end-model-doc -->
+ *
+ * @model
+ * @generated
+ */
+ boolean sequenceExpressionListUpperDerivation(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+} // SequenceExpressionList
diff --git a/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/SequenceOperationExpression.java b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/SequenceOperationExpression.java
new file mode 100644
index 00000000000..7764f099f9f
--- /dev/null
+++ b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/SequenceOperationExpression.java
@@ -0,0 +1,420 @@
+/**
+ */
+package org.eclipse.papyrus.uml.alf;
+
+import java.util.Map;
+
+import org.eclipse.emf.common.util.DiagnosticChain;
+import org.eclipse.emf.common.util.EList;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Sequence Operation Expression</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * An expression used to invoke a behavior as if it was an operation on a target sequence as a whole.
+ * <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.uml.alf.SequenceOperationExpression#getPrimary <em>Primary</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.SequenceOperationExpression#getOperation <em>Operation</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.SequenceOperationExpression#isIsCollectionConversion <em>Is Collection Conversion</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.SequenceOperationExpression#isIsBitStringConversion <em>Is Bit String Conversion</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.SequenceOperationExpression#getLeftHandSide <em>Left Hand Side</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getSequenceOperationExpression()
+ * @model
+ * @generated
+ */
+public interface SequenceOperationExpression extends InvocationExpression {
+ /**
+ * Returns the value of the '<em><b>Primary</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The expression or class name whose value is gives the sequence to be
+ * operated on.
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Primary</em>' containment reference.
+ * @see #setPrimary(ExtentOrExpression)
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getSequenceOperationExpression_Primary()
+ * @model containment="true" required="true"
+ * @generated
+ */
+ ExtentOrExpression getPrimary();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.uml.alf.SequenceOperationExpression#getPrimary <em>Primary</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Primary</em>' containment reference.
+ * @see #getPrimary()
+ * @generated
+ */
+ void setPrimary(ExtentOrExpression value);
+
+ /**
+ * Returns the value of the '<em><b>Operation</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The qualified name of the behavior being invoked.
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Operation</em>' containment reference.
+ * @see #setOperation(QualifiedName)
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getSequenceOperationExpression_Operation()
+ * @model containment="true"
+ * @generated
+ */
+ QualifiedName getOperation();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.uml.alf.SequenceOperationExpression#getOperation <em>Operation</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Operation</em>' containment reference.
+ * @see #getOperation()
+ * @generated
+ */
+ void setOperation(QualifiedName value);
+
+ /**
+ * Returns the value of the '<em><b>Is Collection Conversion</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * Whether the primary expression requires collection conversion.
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Is Collection Conversion</em>' attribute.
+ * @see #setIsCollectionConversion(boolean)
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getSequenceOperationExpression_IsCollectionConversion()
+ * @model transient="true" volatile="true" derived="true"
+ * annotation=
+ * "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot derivation='\n let expression = self.primary.expression in\n expression <> null and expression.upper = 1 and\n let type = expression.type in\n type <> null and self.isCollectionClass(type)'"
+ * @generated
+ */
+ boolean isIsCollectionConversion();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.uml.alf.SequenceOperationExpression#isIsCollectionConversion <em>Is Collection Conversion</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Is Collection Conversion</em>' attribute.
+ * @see #isIsCollectionConversion()
+ * @generated
+ */
+ void setIsCollectionConversion(boolean value);
+
+ /**
+ * Returns the value of the '<em><b>Is Bit String Conversion</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * Whether type primary expression requires BitString conversion.
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Is Bit String Conversion</em>' attribute.
+ * @see #setIsBitStringConversion(boolean)
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getSequenceOperationExpression_IsBitStringConversion()
+ * @model transient="true" volatile="true" derived="true"
+ * annotation=
+ * "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot derivation='\n let referent = self.referent in\n let firstParameter = self.firstParameter() in\n let expression = self.primary.expression in\n referent <> null and firstParameter <> null and expression <> null and\n let parameterType = firstParameter.type() in\n let primaryType =\n if self.isCollectionConversion then\n expression.type.collectionArgument()\n else\n expression.type\n endif\n in\n parameterType <> null and self.isBitStringType(parameterType) and\n primaryType <> null and self.isIntegerType(primaryType)'"
+ * @generated
+ */
+ boolean isIsBitStringConversion();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.uml.alf.SequenceOperationExpression#isIsBitStringConversion <em>Is Bit String Conversion</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Is Bit String Conversion</em>' attribute.
+ * @see #isIsBitStringConversion()
+ * @generated
+ */
+ void setIsBitStringConversion(boolean value);
+
+ /**
+ * Returns the value of the '<em><b>Left Hand Side</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The effective left-hand side corresponding to the primary expression, if
+ * the sequence operation is “in place” (that is, has a first parameter with
+ * direction inout).
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Left Hand Side</em>' reference.
+ * @see #setLeftHandSide(LeftHandSide)
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getSequenceOperationExpression_LeftHandSide()
+ * @model transient="true" volatile="true" derived="true"
+ * annotation=
+ * "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot derivation='\n let expression = self.primary.expression in\n let firstParameter = self.firstParameter() in\n if expression = null or firstParameter = null or \n firstParameter.direction() <> \'inout\' then\n null\n else\n EffectiveLeftHandSide{\n expression = expression,\n owner = self\n }\n endif'"
+ * @generated
+ */
+ LeftHandSide getLeftHandSide();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.uml.alf.SequenceOperationExpression#getLeftHandSide <em>Left Hand Side</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Left Hand Side</em>' reference.
+ * @see #getLeftHandSide()
+ * @generated
+ */
+ void setLeftHandSide(LeftHandSide value);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='null'"
+ * @generated
+ */
+ FeatureReference feature();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model annotation=
+ * "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n let referents = self.operation.referent in\n if referents->select(isBehavior())->size() <> 1 then null\n else\n let referent = referents->any(isBehavior()) in\n if referent.isTemplate() then \n self.bindTemplateImplicitArguments(\n referent, self.primary.expression\n )\n else referent\n endif\n endif'"
+ * @generated
+ */
+ ElementReference referent();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model required="true" targetExpressionRequired="true"
+ * annotation=
+ * "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n let collectionFunctionAdd = self.collectionFunctionAdd() in\n if collectionFunctionAdd = null then false\n else\n collectionFunctionAdd.containedIn(self.operation.referent->asBag()) and\n /* Note: This works even if the target expression is the\n * derived name expression of an ExtentOrExpression element.\n \052/\n targetExpression.owner() = self.primary \n endif'"
+ * @generated
+ */
+ boolean isAddTarget(Expression targetExpression);
+
+ /**
+ * <!-- 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 referent = null then null\n else\n let parameters = referent.parameters() in\n if parameters->isEmpty() then null\n else parameters->first()\n endif\n endif'"
+ * @generated
+ */
+ ElementReference firstParameter();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The referent for a sequence operation expression is the behavior named by
+ * the operation for the expression.
+ * (See the referent() operation.)
+ * <!-- end-model-doc -->
+ *
+ * @model
+ * @generated
+ */
+ boolean sequenceOperationExpressionReferentDerivation(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * There is no feature for a sequence operation expression.
+ * (See the feature() operation.)
+ * <!-- end-model-doc -->
+ *
+ * @model
+ * @generated
+ */
+ boolean sequenceOperationExpressionFeatureDerivation(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * There must be a single behavior that is a resolution of the operation
+ * qualified name of a sequence operation expression with a least one
+ * parameter, whose first parameter has direction in or inout, has
+ * multiplicity [0..*] and to which the target primary expression is
+ * assignable.
+ * <!-- end-model-doc -->
+ *
+ * @model annotation=
+ * "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n let parameter = self.firstParameter() in\n parameter <> null and\n let direction = parameter.direction() in\n let expression = self.primary.expression in\n (direction = \'in\' or direction = \'inout\') and\n parameter.lower() = 0 and parameter.upper() = -1 and\n expression <> null implies parameter.isAssignableFrom(expression)'"
+ * @generated
+ */
+ boolean sequenceOperationExpressionOperationReferent(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * If the first parameter of the referent has direction inout, then the
+ * parameter type must have the same type as the primary expression, the
+ * primary expression must have the form of a left-hand side and, if the
+ * equivalent left-hand side is for a local name, that name must already
+ * exist.
+ * <!-- end-model-doc -->
+ *
+ * @model annotation=
+ * "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n let expression = self.primary.expression in\n let parameter = self.firstParameter() in\n expression <> null and parameter <> null and \n parameter.direction() = \'inout\' implies\n let lhs = self.leftHandSide in\n lhs <> null and \n let assignedName = lhs.assignedName() in\n (assignedName <> null implies \n self.assignmentBefore->exists(name = assignedName)\n ) and\n let expressionType = self.type in\n let type = parameter.type() in\n type <> null and type.equals(expressionType) or\n type = null and expressionType = null'"
+ * @generated
+ */
+ boolean sequenceOperationExpressionTargetCompatibility(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The type of an input argument expression of a sequence operation
+ * parameter must be assignable to its corresponding parameter. The type of
+ * an output parameter must be assignable to its corresponding argument
+ * expression. (Note that this implies that the type of an argument
+ * expression for an inout parameter must be the same as the type of that
+ * parameter.)
+ * <!-- end-model-doc -->
+ *
+ * @model annotation=
+ * "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n self.referent <> null implies\n (self.tuple.input->forAll(input | self.parameterIsAssignableFrom(input)) and\n self.tuple.output->forAll(output | self.parameterIsAssignableTo(output))\n )'"
+ * @generated
+ */
+ boolean sequenceOperationExpressionArgumentCompatibility(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The assignments before the primary expression of a sequence operation
+ * expression are the same as the assignments before the sequence operation
+ * expression.
+ * (See the InvocationExpression::assignmentsBefore(element) operation.)
+ * <!-- end-model-doc -->
+ *
+ * @model
+ * @generated
+ */
+ boolean sequenceOperationExpressionAssignmentsBefore(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * Collection conversion is required if the type of the primary expression
+ * of a sequence operation expression is a collection class and the
+ * multiplicity upper bound of the primary expression is 1.
+ * <!-- end-model-doc -->
+ *
+ * @model
+ * @generated
+ */
+ boolean sequenceOperationExpressionIsCollectionConversionDerivation(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * BitString conversion is required if type of the first parameter of the
+ * referent of a sequence operation expression is BitString and either the
+ * type of its primary expression is Integer or collection conversion is
+ * required and the type of its primary expression is a collection class
+ * whose argument type is Integer.
+ * <!-- end-model-doc -->
+ *
+ * @model
+ * @generated
+ */
+ boolean sequenceOperationExpressionIsBitStringConversionDerivation(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * A local name that is assigned in the primary expression of a sequence
+ * operation expression may not be assigned in any expression in the tuple
+ * of the sequence operation expression.
+ * <!-- end-model-doc -->
+ *
+ * @model annotation=
+ * "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n let expression = self.primary.expression in\n expression <> null implies\n expression.newAssignments().name->\n excludesAll(self.tuple.newAssignments().name)'"
+ * @generated
+ */
+ boolean sequenceOperationExpressionAssignmentsAfter(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * If the operation of a sequence operation expression has a first
+ * parameter whose direction is inout, then the effective left-hand side for
+ * the expression is constructed as follows: If the primary is a name
+ * expression, then the left-hand side is a name left-hand side with the
+ * name from the name expression as its target. If the primary is a property
+ * access expression, then the left-hand side is a feature left hand side
+ * with the feature reference from the property access expression as its
+ * feature. If the primary is a sequence access expression whose primary is
+ * a name expression or a property access expression, then the left-hand
+ * side is constructed from the primary of the sequence access expression as
+ * given previously and the index of the sequence access expression becomes
+ * the index of the left-hand side.
+ * <!-- end-model-doc -->
+ *
+ * @model
+ * @generated
+ */
+ boolean sequenceOperationExpressionLeftHandSideDerivation(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The assignments after a sequence operation expression include those made
+ * in the primary expression and those made in the tuple and, for an "in
+ * place" operation (one whose first parameter is inout), that made by the
+ * sequence operation expression itself.
+ * <!-- end-model-doc -->
+ *
+ * @model ordered="false"
+ * annotation=
+ * "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n let expression = self.primary.expression in\n let firstParameter = self.firstParameter() in\n let assignments1 =\n if expression = null then self.assignmentBefore\n else expression.assignmentAfter\n endif\n in\n let assignments2 =\n self.updateAll(assignments1, self.tuple.assignmentsAfter())\n in\n if firstParameter = null or firstParameter.direction() <> \'inout\' then\n assignments2\n else\n let oldAssignment = self.assignmentBefore->\n select(name = self.leftHandSide.assignedName())\n in\n if oldAssignment->isEmpty() or oldAssignment->forAll(isParallelLocalName) then\n assignments2\n else\n oldAssignment->any(true).copy(self, null).update(assignments2)\n endif\n endif'"
+ * @generated
+ */
+ EList<AssignedSource> updateAssignments();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * Returns the list of parameter elements from the superclass operation,
+ * with the first parameter removed (since the argument for the first
+ * parameter is given by the primary expression of a sequence operation
+ * expression, not in its tuple).
+ * <!-- end-model-doc -->
+ *
+ * @model required="true"
+ * annotation=
+ * "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n let parameters = self.InvocationExpression_parameterElements() in\n if parameters->size() < 2 then OrderedSet(ElementReference){}\n else parameters->subOrderedSet(2, parameters->size())\n endif'"
+ * @generated
+ */
+ EList<ElementReference> parameterElements();
+
+} // SequenceOperationExpression
diff --git a/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/SequenceRange.java b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/SequenceRange.java
new file mode 100644
index 00000000000..e70e1af4ca2
--- /dev/null
+++ b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/SequenceRange.java
@@ -0,0 +1,188 @@
+/**
+ */
+package org.eclipse.papyrus.uml.alf;
+
+import java.math.BigInteger;
+import java.util.Map;
+
+import org.eclipse.emf.common.util.DiagnosticChain;
+import org.eclipse.emf.common.util.EList;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Sequence Range</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * A specification of the elements of a sequence as a range of integers.
+ * <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.uml.alf.SequenceRange#getRangeLower <em>Range Lower</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.SequenceRange#getRangeUpper <em>Range Upper</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getSequenceRange()
+ * @model
+ * @generated
+ */
+public interface SequenceRange extends SequenceElements {
+ /**
+ * Returns the value of the '<em><b>Range Lower</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The expression whose value gives the lower bound for the range.
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Range Lower</em>' containment reference.
+ * @see #setRangeLower(Expression)
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getSequenceRange_RangeLower()
+ * @model containment="true" required="true"
+ * @generated
+ */
+ Expression getRangeLower();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.uml.alf.SequenceRange#getRangeLower <em>Range Lower</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Range Lower</em>' containment reference.
+ * @see #getRangeLower()
+ * @generated
+ */
+ void setRangeLower(Expression value);
+
+ /**
+ * Returns the value of the '<em><b>Range Upper</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The expression whose value gives the upper bound for the range.
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Range Upper</em>' containment reference.
+ * @see #setRangeUpper(Expression)
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getSequenceRange_RangeUpper()
+ * @model containment="true" required="true"
+ * @generated
+ */
+ Expression getRangeUpper();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.uml.alf.SequenceRange#getRangeUpper <em>Range Upper</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Range Upper</em>' containment reference.
+ * @see #getRangeUpper()
+ * @generated
+ */
+ void setRangeUpper(Expression value);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The lower and upper range expressions must have type Integer.
+ * <!-- end-model-doc -->
+ *
+ * @model required="true"
+ * annotation=
+ * "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n let rangeLowerType = self.rangeLower.type in\n let rangeUpperType = self.rangeUpper.type in\n rangeLowerType <> null and self.isIntegerType(rangeLowerType) and\n rangeUpperType <> null and self.isIntegerType(rangeUpperType)'"
+ * @generated
+ */
+ boolean conformsTo(ElementReference type);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model ordered="false"
+ * annotation=
+ * "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n self.updateAll(\n self.updateAll(\n self.assignmentsBefore(),\n self.rangeLower.assignmentAfter\n ),\n self.rangeUpper.assignmentAfter\n )'"
+ * @generated
+ */
+ EList<AssignedSource> assignmentsAfter();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model required="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='-1'"
+ * @generated
+ */
+ BigInteger upper();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model required="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='0'"
+ * @generated
+ */
+ BigInteger lower();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The multiplicity lower bound of a sequence range is 0.
+ * (See the lower() operation.)
+ * <!-- end-model-doc -->
+ *
+ * @model
+ * @generated
+ */
+ boolean sequenceRangeLowerDerivation(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The multiplicity upper bound of a sequence range is * (since it is not
+ * possible, in general, to statically determine a more constrained upper
+ * bound).
+ * (See the upper() operation.)
+ * <!-- end-model-doc -->
+ *
+ * @model
+ * @generated
+ */
+ boolean sequenceRangeUpperDerivation(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * Both expressions in a sequence range must have a multiplicity upper bound
+ * of 1.
+ * <!-- end-model-doc -->
+ *
+ * @model annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='self.rangeLower.upper = 1 and self.rangeUpper.upper = 1'"
+ * @generated
+ */
+ boolean sequenceRangeExpressionMultiplicity(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * A local name may be defined or reassigned in at most one of the
+ * expressions of a sequence range.
+ * <!-- end-model-doc -->
+ *
+ * @model annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n self.rangeLower.newAssignments().name->\n excludesAll(self.rangeUpper.newAssignments().name)'"
+ * @generated
+ */
+ boolean sequenceRangeAssignments(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+} // SequenceRange
diff --git a/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/SequenceReductionExpression.java b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/SequenceReductionExpression.java
new file mode 100644
index 00000000000..02d95505a30
--- /dev/null
+++ b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/SequenceReductionExpression.java
@@ -0,0 +1,289 @@
+/**
+ */
+package org.eclipse.papyrus.uml.alf;
+
+import java.math.BigInteger;
+import java.util.Map;
+
+import org.eclipse.emf.common.util.DiagnosticChain;
+import org.eclipse.emf.common.util.EList;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Sequence Reduction Expression</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * An expression used to reduce a sequence of values effectively by inserting
+ * a binary operation between the values.
+ * <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.uml.alf.SequenceReductionExpression#getReferent <em>Referent</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.SequenceReductionExpression#isIsOrdered <em>Is Ordered</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.SequenceReductionExpression#getPrimary <em>Primary</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.SequenceReductionExpression#getBehaviorName <em>Behavior Name</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getSequenceReductionExpression()
+ * @model
+ * @generated
+ */
+public interface SequenceReductionExpression extends Expression {
+ /**
+ * Returns the value of the '<em><b>Referent</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * A reference to the behavior to be used as the reducer.
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Referent</em>' reference.
+ * @see #setReferent(ElementReference)
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getSequenceReductionExpression_Referent()
+ * @model transient="true" volatile="true" derived="true"
+ * annotation=
+ * "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot derivation='\n let referents = self.behaviorName.referent->select(isBehavior()) in\n if referents->size() <> 1 then null\n else referents->any(true)\n endif'"
+ * @generated
+ */
+ ElementReference getReferent();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.uml.alf.SequenceReductionExpression#getReferent <em>Referent</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Referent</em>' reference.
+ * @see #getReferent()
+ * @generated
+ */
+ void setReferent(ElementReference value);
+
+ /**
+ * Returns the value of the '<em><b>Is Ordered</b></em>' attribute.
+ * The default value is <code>"false"</code>.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * Whether this is an ordered reduction or not.
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Is Ordered</em>' attribute.
+ * @see #setIsOrdered(boolean)
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getSequenceReductionExpression_IsOrdered()
+ * @model default="false" required="true"
+ * @generated
+ */
+ boolean isIsOrdered();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.uml.alf.SequenceReductionExpression#isIsOrdered <em>Is Ordered</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Is Ordered</em>' attribute.
+ * @see #isIsOrdered()
+ * @generated
+ */
+ void setIsOrdered(boolean value);
+
+ /**
+ * Returns the value of the '<em><b>Primary</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The target class name or primary expression for the reduction.
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Primary</em>' containment reference.
+ * @see #setPrimary(ExtentOrExpression)
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getSequenceReductionExpression_Primary()
+ * @model containment="true" required="true"
+ * @generated
+ */
+ ExtentOrExpression getPrimary();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.uml.alf.SequenceReductionExpression#getPrimary <em>Primary</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Primary</em>' containment reference.
+ * @see #getPrimary()
+ * @generated
+ */
+ void setPrimary(ExtentOrExpression value);
+
+ /**
+ * Returns the value of the '<em><b>Behavior Name</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The name of the behavior to be used as the reducer.
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Behavior Name</em>' containment reference.
+ * @see #setBehaviorName(QualifiedName)
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getSequenceReductionExpression_BehaviorName()
+ * @model containment="true" required="true"
+ * @generated
+ */
+ QualifiedName getBehaviorName();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.uml.alf.SequenceReductionExpression#getBehaviorName <em>Behavior Name</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Behavior Name</em>' containment reference.
+ * @see #getBehaviorName()
+ * @generated
+ */
+ void setBehaviorName(QualifiedName value);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='self.primary.expression.type'"
+ * @generated
+ */
+ ElementReference type();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model required="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='1'"
+ * @generated
+ */
+ BigInteger upper();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model required="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='1'"
+ * @generated
+ */
+ BigInteger lower();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The referent for a sequence reduction expression is the behavior denoted
+ * by the behavior name of the expression.
+ * <!-- end-model-doc -->
+ *
+ * @model
+ * @generated
+ */
+ boolean sequenceReductionExpressionReferentDerivation(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * A sequence reduction expression has the same type as its primary
+ * expression.
+ * (See the type() operation.)
+ * <!-- end-model-doc -->
+ *
+ * @model
+ * @generated
+ */
+ boolean sequenceReductionExpressionTypeDerivation(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * A sequence reduction expression has a multiplicity upper bound of 1.
+ * (See the upper() operation.)
+ * <!-- end-model-doc -->
+ *
+ * @model
+ * @generated
+ */
+ boolean sequenceReductionExpressionUpperDerivation(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * A sequence reduction expression has a multiplicity lower bound of 1.
+ * (See the lower() operation.)
+ * <!-- end-model-doc -->
+ *
+ * @model
+ * @generated
+ */
+ boolean sequenceReductionExpressionLowerDerivation(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The behavior name in a sequence reduction expression must denote a behavior.
+ * <!-- end-model-doc -->
+ *
+ * @model annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n let referent = self.referent in\n referent <> null and not referent.isTemplate()'"
+ * @generated
+ */
+ boolean sequenceReductionExpressionBehavior(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The referent behavior must have two in parameters, a return parameter and
+ * no other parameters. The parameters must all have the same type as the
+ * argument expression and multiplicity [1..1].
+ * <!-- end-model-doc -->
+ *
+ * @model annotation=
+ * "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n referent <> null implies\n let parameters = referent.parameters() in\n let returnParameter = referent.returnParameter() in\n let type = self.type in\n parameters->size() = 2 and returnParameter <> null and\n parameters->forAll(direction() = \'in\') and\n parameters->including(returnParameter)->forAll(\n lower() = 1 and upper() = 1 and\n let parameterType = type() in\n parameterType = null and type = null or\n parameterType <> null and parameterType.equals(type) \n )'"
+ * @generated
+ */
+ boolean sequenceReductionExpressionBehaviorParameters(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The assignments before the target expression of a sequence reduction
+ * expression are the same as the assignments before the sequence reduction
+ * expression.
+ * (See the SyntaxElement::assignmentsBefore(element) operation.)
+ * <!-- end-model-doc -->
+ *
+ * @model
+ * @generated
+ */
+ boolean sequenceReductionExpressionAssignmentsBefore(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The assignments after a sequence reduction expression are the same as
+ * after its primary expression.
+ * <!-- end-model-doc -->
+ *
+ * @model ordered="false"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='self.primary.expression.assignmentAfter'"
+ * @generated
+ */
+ EList<AssignedSource> updateAssignments();
+
+} // SequenceReductionExpression
diff --git a/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/ShiftExpression.java b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/ShiftExpression.java
new file mode 100644
index 00000000000..85060f8a716
--- /dev/null
+++ b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/ShiftExpression.java
@@ -0,0 +1,153 @@
+/**
+ */
+package org.eclipse.papyrus.uml.alf;
+
+import java.math.BigInteger;
+import java.util.Map;
+
+import org.eclipse.emf.common.util.DiagnosticChain;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Shift Expression</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.uml.alf.ShiftExpression#isIsBitStringConversion <em>Is Bit String Conversion</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getShiftExpression()
+ * @model
+ * @generated
+ */
+public interface ShiftExpression extends BinaryExpression {
+ /**
+ * Returns the value of the '<em><b>Is Bit String Conversion</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * Whether the first operand expression requires BitString conversion.
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Is Bit String Conversion</em>' attribute.
+ * @see #setIsBitStringConversion(boolean)
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getShiftExpression_IsBitStringConversion()
+ * @model transient="true" volatile="true" derived="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot derivation='self.isIntegerType(self.operand1.type)'"
+ * @generated
+ */
+ boolean isIsBitStringConversion();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.uml.alf.ShiftExpression#isIsBitStringConversion <em>Is Bit String Conversion</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Is Bit String Conversion</em>' attribute.
+ * @see #isIsBitStringConversion()
+ * @generated
+ */
+ void setIsBitStringConversion(boolean value);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='self.bitStringType()'"
+ * @generated
+ */
+ ElementReference type();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model required="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n if self.operand1.lower = 0 or self.operand2.lower = 0 then 0\n else 1\n endif'"
+ * @generated
+ */
+ BigInteger lower();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model required="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='1'"
+ * @generated
+ */
+ BigInteger upper();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * A shift expression has type BitString.
+ * (See the type() operation.)
+ * <!-- end-model-doc -->
+ *
+ * @model
+ * @generated
+ */
+ boolean shiftExpressionTypeDerivation(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * A shift expression has a multiplicity lower bound of 0 if the lower bound
+ * if either operand expression is 0 and 1 otherwise.
+ * (See the lower() operation.)
+ * <!-- end-model-doc -->
+ *
+ * @model
+ * @generated
+ */
+ boolean shiftExpressionLowerDerivation(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * A shift expression has a multiplicity upper bound of 1.
+ * (See the upper() operation.)
+ * <!-- end-model-doc -->
+ *
+ * @model
+ * @generated
+ */
+ boolean shiftExpressionUpperDerivation(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The first operand expression of a shift expression must have the type
+ * BitString or Integer. The second operand expression must have the type
+ * Integer.
+ * <!-- end-model-doc -->
+ *
+ * @model annotation=
+ * "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n let type1 = self.operand1.type in\n let type2 = self.operand2.type in\n (self.isBitStringType(type1) or self.isIntegerType(type1)) and self.isIntegerType(type2)'"
+ * @generated
+ */
+ boolean shiftExpressionOperands(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * BitString conversion is required if the first operand expression of a
+ * shift expression has type Integer.
+ * <!-- end-model-doc -->
+ *
+ * @model
+ * @generated
+ */
+ boolean shiftExpressionIsBitStringConversionDerivation(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+} // ShiftExpression
diff --git a/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/SignalDefinition.java b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/SignalDefinition.java
new file mode 100644
index 00000000000..6fedbf88304
--- /dev/null
+++ b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/SignalDefinition.java
@@ -0,0 +1,79 @@
+/**
+ */
+package org.eclipse.papyrus.uml.alf;
+
+import java.util.Map;
+
+import org.eclipse.emf.common.util.DiagnosticChain;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Signal Definition</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * The definition of a signal, whose members must all be properties.
+ * <!-- end-model-doc -->
+ *
+ *
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getSignalDefinition()
+ * @model
+ * @generated
+ */
+public interface SignalDefinition extends ClassifierDefinition {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * Returns true if the given unit definition matches this signal definition considered
+ * as a classifier definition and the subunit is for a signal definition.
+ * <!-- end-model-doc -->
+ *
+ * @model required="true" unitRequired="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n self.ClassifierDefinition_matchForStub(unit) and\n unit.definition.oclIsKindOf(SignalDefinition)'"
+ * @generated
+ */
+ boolean matchForStub(UnitDefinition unit);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * In addition to the annotations allowed for classifiers in general, a signal definition
+ * allows an annotation for any stereotype whose metaclass is consistent with Signal.
+ * <!-- end-model-doc -->
+ *
+ * @model required="true" annotationRequired="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n /* TODO: Allow signal stereotype annotations \052/\n self.ClassifierDefinition_annotationAllowed(annotation)'"
+ * @generated
+ */
+ boolean annotationAllowed(StereotypeAnnotation annotation);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * Return true if the given member is either a SignalDefinition or an imported member
+ * whose referent is a SignalDefinition or a Signal (where signal reception definitions are
+ * considered to be kinds of signal definitions).
+ * <!-- end-model-doc -->
+ *
+ * @model required="true" memberRequired="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='member.isSignal()'"
+ * @generated
+ */
+ boolean isSameKindAs(ElementReference member);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The specialization referents of a signal definition must all be signals.
+ * <!-- end-model-doc -->
+ *
+ * @model annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n self.specializationReferent->forAll(isSignal())'"
+ * @generated
+ */
+ boolean signalDefinitionSpecializationReferent(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+} // SignalDefinition
diff --git a/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/SignalReceptionDefinition.java b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/SignalReceptionDefinition.java
new file mode 100644
index 00000000000..7f63a28d072
--- /dev/null
+++ b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/SignalReceptionDefinition.java
@@ -0,0 +1,46 @@
+/**
+ */
+package org.eclipse.papyrus.uml.alf;
+
+import java.util.Map;
+
+import org.eclipse.emf.common.util.DiagnosticChain;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Signal Reception Definition</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * The definition of both a signal and a reception of that signal as a feature of the containing active class.
+ * <!-- end-model-doc -->
+ *
+ *
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getSignalReceptionDefinition()
+ * @model
+ * @generated
+ */
+public interface SignalReceptionDefinition extends SignalDefinition {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model kind="operation" required="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='true'"
+ * @generated
+ */
+ boolean isFeature();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * A signal reception definition is a feature.
+ * <!-- end-model-doc -->
+ *
+ * @model
+ * @generated
+ */
+ boolean signalReceptionDefinitionIsFeatureDerivation(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+} // SignalReceptionDefinition
diff --git a/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/Statement.java b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/Statement.java
new file mode 100644
index 00000000000..9c32be447a7
--- /dev/null
+++ b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/Statement.java
@@ -0,0 +1,310 @@
+/**
+ */
+package org.eclipse.papyrus.uml.alf;
+
+import java.util.Map;
+import org.eclipse.emf.common.util.DiagnosticChain;
+import org.eclipse.emf.common.util.EList;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Statement</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * A model of an Alf statement.
+ * <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.uml.alf.Statement#getAssignmentBefore <em>Assignment Before</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.Statement#getAssignmentAfter <em>Assignment After</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.Statement#getEnclosingStatement <em>Enclosing Statement</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.Statement#isIsIsolated <em>Is Isolated</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getStatement()
+ * @model abstract="true"
+ * @generated
+ */
+public interface Statement extends SyntaxElement {
+ /**
+ * Returns the value of the '<em><b>Assignment Before</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.uml.alf.AssignedSource}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The assigned sources for local names available lexically before this statement.
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Assignment Before</em>' reference list.
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getStatement_AssignmentBefore()
+ * @model transient="true" volatile="true" derived="true" ordered="false"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot derivation='self.assignmentsBefore()'"
+ * @generated
+ */
+ EList<AssignedSource> getAssignmentBefore();
+
+ /**
+ * Returns the value of the '<em><b>Assignment After</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.uml.alf.AssignedSource}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The assigned sources for local names available lexically after this statement.
+ * This includes not only any assignments made within the statement, but also
+ * any assignments that are unchanged from before the statement.
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Assignment After</em>' reference list.
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getStatement_AssignmentAfter()
+ * @model transient="true" volatile="true" derived="true" ordered="false"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot derivation='self.assignmentsAfterCached()'"
+ * @generated
+ */
+ EList<AssignedSource> getAssignmentAfter();
+
+ /**
+ * Returns the value of the '<em><b>Enclosing Statement</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The statement immediately enclosing this statement, if any.
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Enclosing Statement</em>' reference.
+ * @see #setEnclosingStatement(Statement)
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getStatement_EnclosingStatement()
+ * @model transient="true" volatile="true" derived="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot derivation='self.enclosingStatement()'"
+ * @generated
+ */
+ Statement getEnclosingStatement();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.uml.alf.Statement#getEnclosingStatement <em>Enclosing Statement</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Enclosing Statement</em>' reference.
+ * @see #getEnclosingStatement()
+ * @generated
+ */
+ void setEnclosingStatement(Statement value);
+
+ /**
+ * Returns the value of the '<em><b>Is Isolated</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * Whether this statement should be executed in isolation.
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Is Isolated</em>' attribute.
+ * @see #setIsIsolated(boolean)
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getStatement_IsIsolated()
+ * @model transient="true" volatile="true" derived="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot derivation='self.hasAnnotation(\'isolated\')'"
+ * @generated
+ */
+ boolean isIsIsolated();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.uml.alf.Statement#isIsIsolated <em>Is Isolated</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Is Isolated</em>' attribute.
+ * @see #isIsIsolated()
+ * @generated
+ */
+ void setIsIsolated(boolean value);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * Return the nearest enclosing loop statement, or this statement, if it is
+ * a loop statement. (This operation is overridden for loop statements.)
+ * <!-- end-model-doc -->
+ *
+ * @model annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='let enclosingStatement = self.enclosingStatement() in\n if enclosingStatement = null then null\n else enclosingStatement.enclosingLoopStatement()\n endif'"
+ * @generated
+ */
+ Statement enclosingLoopStatement();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * Returns true if the given annotation is allowed for this kind of statement.
+ * By default, only an @isolated annotation is allowed, with no arguments.
+ * This operation is redefined only in subclasses of Statement for kinds of
+ * statements that allow different annotations than this default.
+ * <!-- end-model-doc -->
+ *
+ * @model required="true" annotationRequired="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='self.Statement_annotationAllowed(annotation)'"
+ * @generated
+ */
+ boolean annotationAllowed(Annotation annotation);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model required="true" annotationRequired="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='annotation.identifier = \'isolated\' and annotation.argument->isEmpty()'"
+ * @generated
+ */
+ boolean Statement_annotationAllowed(Annotation annotation);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model ordered="false"
+ * annotation=
+ * "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n let container = self.oclContainer() in\n if container = null or not container.oclIsKindOf(AnnotatedStatement) then\n Set(Annotation){}\n else\n container.oclAsType(AnnotatedStatement).annotations()->collect(a |\n Annotation{text = a}->asSet()\n )->asSet()\n endif'"
+ * @generated
+ */
+ EList<Annotation> annotation();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model required="true" nameRequired="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='self.annotation()->exists(identifier = name)'"
+ * @generated
+ */
+ boolean hasAnnotation(String name);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * Get the assigned sources for assignments made within this statement.
+ * <!-- end-model-doc -->
+ *
+ * @model ordered="false"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n let assignmentsBefore = self.assignmentBefore in\n self.assignmentAfter->select(isNew(assignmentsBefore))'"
+ * @generated
+ */
+ EList<AssignedSource> newAssignments();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * Return the source of the given local name in the assignments before this
+ * statement, if any.
+ * <!-- end-model-doc -->
+ *
+ * @model nameRequired="true"
+ * annotation=
+ * "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n let assignment = self.assignmentBefore->select(a | a.name = name) in\n if assignment->isEmpty() then null\n else assignment->any(true).source\n endif'"
+ * @generated
+ */
+ SyntaxElement resolve(String name);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * By default, the assignments after are the same as the assignments
+ * before.
+ * <!-- end-model-doc -->
+ *
+ * @model ordered="false"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='self.Statement_assignmentsAfter()'"
+ * @generated
+ */
+ EList<AssignedSource> assignmentsAfter();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model ordered="false"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='self.assignmentBefore'"
+ * @generated
+ */
+ EList<AssignedSource> Statement_assignmentsAfter();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model ordered="false"
+ * @generated
+ */
+ EList<AssignedSource> assignmentsAfterCached();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * Merge the assignments made in a collection of blocks, such as occur in an
+ * accept or if statement.
+ * <!-- end-model-doc -->
+ *
+ * @model ordered="false" blocksUnique="false" blocksMany="true" blocksOrdered="false"
+ * annotation=
+ * "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n let newAssignments : Set(AssignedSource) = blocks->collect(b | \n if b = null then Set(AssignedSource){}\n else b.assignmentAfter->select(isNew(b.assignmentBefore))\n endif\n ) in\n newAssignments.name->asSet()->collect(n | \n self.merge(n, newAssignments->select(name = n))\n )->asSet()'"
+ * @generated
+ */
+ EList<AssignedSource> mergeAssignments(EList<Block> blocks);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model required="true" nameRequired="true" assignmentsMany="true" assignmentsOrdered="false"
+ * annotation=
+ * "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n AssignedSource{\n name = name,\n source = self,\n type = self.commonAncestor(assignments.type->asSet()),\n lower = assignments.lower->min(),\n upper = \n if assignments.upper->exists(n | n = -1) then -1\n else assignments.upper->max()\n endif\n }'"
+ * @generated
+ */
+ AssignedSource merge(String name, EList<AssignedSource> assignments);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * All the annotations of a statement must be allowed, as given by the annotationAllowed operation for the statement.
+ * <!-- end-model-doc -->
+ *
+ * @model annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='self.annotation()->forAll(a | self.annotationAllowed(a))'"
+ * @generated
+ */
+ boolean statementAnnotationsAllowed(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * No name may be assigned more than once before or after a statement.
+ * <!-- end-model-doc -->
+ *
+ * @model annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='self.assignmentBefore->isUnique(name) and self.assignmentAfter->isUnique(name)'"
+ * @generated
+ */
+ boolean statementUniqueAssignments(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * A statement is isolated if it has an @isolated annotation.
+ * <!-- end-model-doc -->
+ *
+ * @model
+ * @generated
+ */
+ boolean statementIsIsolatedDerivation(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+} // Statement
diff --git a/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/StereotypeAnnotation.java b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/StereotypeAnnotation.java
new file mode 100644
index 00000000000..34c97548613
--- /dev/null
+++ b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/StereotypeAnnotation.java
@@ -0,0 +1,249 @@
+/**
+ */
+package org.eclipse.papyrus.uml.alf;
+
+import java.util.Map;
+import org.eclipse.emf.common.util.DiagnosticChain;
+import org.eclipse.emf.common.util.EList;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Stereotype Annotation</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * An annotation of a member definition indicating the application of a stereotype (or one of a small number of special-case annotations).
+ * <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.uml.alf.StereotypeAnnotation#getTaggedValues <em>Tagged Values</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.StereotypeAnnotation#getNames <em>Names</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.StereotypeAnnotation#getStereotypeName <em>Stereotype Name</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.StereotypeAnnotation#getStereotype <em>Stereotype</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getStereotypeAnnotation()
+ * @model
+ * @generated
+ */
+public interface StereotypeAnnotation extends SyntaxElement {
+ /**
+ * Returns the value of the '<em><b>Tagged Values</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * A set of tagged values for the applied stereotype.
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Tagged Values</em>' containment reference.
+ * @see #setTaggedValues(TaggedValueList)
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getStereotypeAnnotation_TaggedValues()
+ * @model containment="true"
+ * @generated
+ */
+ TaggedValueList getTaggedValues();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.uml.alf.StereotypeAnnotation#getTaggedValues <em>Tagged Values</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Tagged Values</em>' containment reference.
+ * @see #getTaggedValues()
+ * @generated
+ */
+ void setTaggedValues(TaggedValueList value);
+
+ /**
+ * Returns the value of the '<em><b>Names</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * A set of references to model elements required for the stereotype being applied.
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Names</em>' containment reference.
+ * @see #setNames(QualifiedNameList)
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getStereotypeAnnotation_Names()
+ * @model containment="true"
+ * @generated
+ */
+ QualifiedNameList getNames();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.uml.alf.StereotypeAnnotation#getNames <em>Names</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Names</em>' containment reference.
+ * @see #getNames()
+ * @generated
+ */
+ void setNames(QualifiedNameList value);
+
+ /**
+ * Returns the value of the '<em><b>Stereotype Name</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The name of the stereotype being applied.
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Stereotype Name</em>' containment reference.
+ * @see #setStereotypeName(QualifiedName)
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getStereotypeAnnotation_StereotypeName()
+ * @model containment="true" required="true"
+ * @generated
+ */
+ QualifiedName getStereotypeName();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.uml.alf.StereotypeAnnotation#getStereotypeName <em>Stereotype Name</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Stereotype Name</em>' containment reference.
+ * @see #getStereotypeName()
+ * @generated
+ */
+ void setStereotypeName(QualifiedName value);
+
+ /**
+ * Returns the value of the '<em><b>Stereotype</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The stereotype denoted by the stereotype name.
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Stereotype</em>' reference.
+ * @see #setStereotype(ElementReference)
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getStereotypeAnnotation_Stereotype()
+ * @model required="true" transient="true" volatile="true" derived="true"
+ * annotation=
+ * "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot derivation='\n let profiles = self.appliedProfiles() in\n let qualification = self.stereotypeName.qualification in\n let name = self.stereotypeName.unqualifiedName.toName() in\n if self.stereotypeName.qualification = null then\n let standardProfile = profiles->select(name() = \'StandardProfile\') in\n let standardStereotype = standardProfile.resolveStereotype(name) in\n if standardStereotype->size() = 1 then\n standardStereotype->any(true)\n else\n let stereotype = profiles.resolveStereotype(name) in\n if stereotype->size() = 1 then\n stereotype->any(true)\n else\n null\n endif\n endif\n else\n let profile = profiles->select(qualifiedName() = qualification.pathName) in\n if profile->size() = 1 then\n let stereotype = profile.resolveStereotype(name) in\n if stereotype->size() = 1 then\n stereotype->any(true)\n else\n null\n endif\n else\n null\n endif\n endif'"
+ * @generated
+ */
+ ElementReference getStereotype();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.uml.alf.StereotypeAnnotation#getStereotype <em>Stereotype</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Stereotype</em>' reference.
+ * @see #getStereotype()
+ * @generated
+ */
+ void setStereotype(ElementReference value);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * Unless the stereotype name is "apply", "primitive" or "external" then the stereotype for a stereotype annotation is the stereotype denoted by the stereotype name.
+ * <!-- end-model-doc -->
+ *
+ * @model
+ * @generated
+ */
+ boolean stereotypeAnnotationStereotypeDerivation(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The stereotype name of a stereotype annotation must either be one of "apply",
+ * "primitive" or "external", or it must denote a single stereotype from a profile
+ * applied to an enclosing package. The stereotype name does not need to be qualified
+ * if there is only one applied profile with a stereotype of that name or if the
+ * there is a standard UML profile with the name.
+ * <!-- end-model-doc -->
+ *
+ * @model annotation=
+ * "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n let name = self.stereotypeName.pathName in \n name = \'apply\' or name = \'primitive\' or name = \'external\' or\n self.stereotype <> null'"
+ * @generated
+ */
+ boolean stereotypeAnnotationStereotypeName(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * If the stereotype name of a stereotype annotation is "apply", then it must have a name list and all of the names in the list must resolve to profiles.
+ * <!-- end-model-doc -->
+ *
+ * @model annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n self.stereotypeName.pathName = \'apply\' implies names->notEmpty()'"
+ * @generated
+ */
+ boolean stereotypeAnnotationApply(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * If the stereotype name of a stereotype annotation is "primitive", then it may not have tagged values or names.
+ * <!-- end-model-doc -->
+ *
+ * @model annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n self.stereotypeName.pathName = \'primitive\' implies\n (self.taggedValues = null and self.names = null)'"
+ * @generated
+ */
+ boolean stereotypeAnnotationPrimitive(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * If the stereotype name of a stereotype annotation is "external", then it may optionally have a single tagged value with the name "file" and no operator.
+ * <!-- end-model-doc -->
+ *
+ * @model annotation=
+ * "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n self.stereotypeName.pathName = \'external\' implies\n (self.names = null and \n (self.taggedValues = null or \n self.taggedValues.taggedValue->size() = 1 and \n self.taggedValues.taggedValue->exists(\n name = \'file\' and operator = null\n )\n )\n )'"
+ * @generated
+ */
+ boolean stereotypeAnnotationExternal(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * If a stereotype annotation has a stereotype and tagged values, then the each tagged value must have the name of an attribute of the stereotype and a value that is legally interpretable for the type of that attribute.
+ * <!-- end-model-doc -->
+ *
+ * @model
+ * @generated
+ */
+ boolean stereotypeAnnotationTaggedValues(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * If a stereotype annotation has a stereotype and a list of names, then all the names in the list must resolve to visible model elements and the stereotype must have a single attribute with a (metaclass) type and multiplicity that are consistent with the
+ * types and number of the elements denoted by the given names.
+ * <!-- end-model-doc -->
+ *
+ * @model
+ * @generated
+ */
+ boolean stereotypeAnnotationNames(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model ordered="false"
+ * annotation=
+ * "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n let owner = self.owner() in\n if owner.oclIsKindOf(UnitDefinition) then\n owner.oclAsType(UnitDefinition).appliedProfile\n else\n self.currentScope().appliedProfiles()\n endif'"
+ * @generated
+ */
+ EList<ElementReference> appliedProfiles();
+
+} // StereotypeAnnotation
diff --git a/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/StringLiteralExpression.java b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/StringLiteralExpression.java
new file mode 100644
index 00000000000..f43587301b2
--- /dev/null
+++ b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/StringLiteralExpression.java
@@ -0,0 +1,80 @@
+/**
+ */
+package org.eclipse.papyrus.uml.alf;
+
+import java.util.Map;
+
+import org.eclipse.emf.common.util.DiagnosticChain;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>String Literal Expression</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * An expression that comprises a String literal.
+ * <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.uml.alf.StringLiteralExpression#getImage <em>Image</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getStringLiteralExpression()
+ * @model
+ * @generated
+ */
+public interface StringLiteralExpression extends LiteralExpression {
+ /**
+ * Returns the value of the '<em><b>Image</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The textual image of the literal token for this expression, with quote characters removed and escaped sequences resolved to the denoted special character.
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Image</em>' attribute.
+ * @see #setImage(String)
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getStringLiteralExpression_Image()
+ * @model required="true"
+ * @generated
+ */
+ String getImage();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.uml.alf.StringLiteralExpression#getImage <em>Image</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Image</em>' attribute.
+ * @see #getImage()
+ * @generated
+ */
+ void setImage(String value);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='self.stringType()'"
+ * @generated
+ */
+ ElementReference type();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The type of a string literal expression is String.
+ * (See the type() operation.)
+ * <!-- end-model-doc -->
+ *
+ * @model
+ * @generated
+ */
+ boolean stringLiteralExpressionTypeDerivation(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+} // StringLiteralExpression
diff --git a/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/SuperInvocationExpression.java b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/SuperInvocationExpression.java
new file mode 100644
index 00000000000..fcb474d0060
--- /dev/null
+++ b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/SuperInvocationExpression.java
@@ -0,0 +1,191 @@
+/**
+ */
+package org.eclipse.papyrus.uml.alf;
+
+import java.util.Map;
+
+import org.eclipse.emf.common.util.DiagnosticChain;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Super Invocation Expression</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * An invocation expression used to invoke an operation of a superclass.
+ * <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.uml.alf.SuperInvocationExpression#getTarget <em>Target</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getSuperInvocationExpression()
+ * @model
+ * @generated
+ */
+public interface SuperInvocationExpression extends InvocationExpression {
+ /**
+ * Returns the value of the '<em><b>Target</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The name of the operation to be invoked, optionally qualified with the
+ * name of the appropriate superclass.
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Target</em>' containment reference.
+ * @see #setTarget(QualifiedName)
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getSuperInvocationExpression_Target()
+ * @model containment="true"
+ * @generated
+ */
+ QualifiedName getTarget();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.uml.alf.SuperInvocationExpression#getTarget <em>Target</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Target</em>' containment reference.
+ * @see #getTarget()
+ * @generated
+ */
+ void setTarget(QualifiedName value);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model annotation=
+ * "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n let context = self.currentScope().namespace() in\n if context = null or not context.isClass() then\n null\n else\n let superclasses =\n if target = null or target.qualification = null then\n context.parents()\n else\n target.qualification.referent->select(isClass())\n endif\n in\n if (target = null or target.qualification <> null) and\n superclasses->size() <> 1 then null\n else\n let name =\n if target = null then superclasses->any(true).name()\n else target.unqualifiedName.toName()\n endif\n in\n let referents = superclasses.base().members()->\n select(isOperation() and name() = name) \n in\n -- TODO: Handle overloading resolution.\n if referents->size() <> 1 then\n null\n else\n referents->any(true)\n endif\n endif\n endif'"
+ * @generated
+ */
+ ElementReference referent();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='null'"
+ * @generated
+ */
+ FeatureReference feature();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model annotation=
+ * "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n let currentScope = self.currentScope() in\n if currentScope = null then null\n else if currentScope.isClassifier() and not currentScope.isMethod() and\n not currentScope.isActiveBehavior() then\n currentScope\n else if currentScope.isActiveBehavior() then\n currentScope.activeClass()\n else\n let outerScope = currentScope.namespace() in\n if outerScope = null or not outerScope.isClassifier() then null\n else outerScope\n endif\n endif endif endif'"
+ * @generated
+ */
+ ElementReference context();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The referent of a super invocation expression is the method behavior of
+ * the operation identified using the overloading resolution rules.
+ * (See the referent() operation. Actually returns the operation, not the
+ * method.)
+ * <!-- end-model-doc -->
+ *
+ * @model
+ * @generated
+ */
+ boolean superInvocationExpressionReferentDerivation(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * There is no feature for a super invocation.
+ * (See the feature() operation.)
+ * <!-- end-model-doc -->
+ *
+ * @model
+ * @generated
+ */
+ boolean superInvocationExpressionFeatureDerivation(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * If the target has a qualification, then this must resolve to one of the
+ * superclasses of the current context class.
+ * <!-- end-model-doc -->
+ *
+ * @model annotation=
+ * "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n self.target = null or\n let qualification = self.target.qualification in\n qualification <> null implies\n let superclass = qualification.referent->select(isClass()) in\n let context = self.context() in\n superclass->size() = 1 and context <> null and\n superclass->forAll(containedIn(context.parents()->asBag()))'"
+ * @generated
+ */
+ boolean superInvocationExpressionQualification(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * If the target is empty, the referent must be the method for a constructor
+ * operation and the context class for the behavior containing the super
+ * invocation expression must have exactly one superclass.
+ * <!-- end-model-doc -->
+ *
+ * @model annotation=
+ * "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n self.target = null implies\n let referent = self.referent in\n let context = self.context() in\n referent <> null and referent.isConstructor() and\n context <> null and context.parents()->size() = 1'"
+ * @generated
+ */
+ boolean superInvocationExpressionImplicitTarget(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * If the referent is the method of a constructor operation, the super
+ * invocation expression must occur in an expression statement at the start
+ * of the definition for the method of a constructor operation, such that
+ * any statements preceding it are also super constructor invocations.
+ * <!-- end-model-doc -->
+ *
+ * @model annotation=
+ * "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n let referent = self.referent in\n let context = self.context() in\n referent <> null and referent.isConstructor() and context <> null implies\n let operation = self.currentScope().specification() in\n operation.isConstructor() and\n let statement = self.enclosingStatement() in\n statement <> null and statement.oclIsKindOf(ExpressionStatement) and\n let annotatedStatement = statement.owner() in\n let owner = annotatedStatement.owner() in\n owner <> null implies owner.oclIsKindOf(Block) and\n let block = owner.oclAsType(Block) in\n block.enclosingStatement() = null and\n let classReference = referent.namespace() in\n let i = block.statement->indexOf(annotatedStatement) in\n i = 1 or\n block.statement->subOrderedSet(1, i-1).statement->forAll(\n oclIsKindOf(ExpressionStatement) and\n let expression = oclAsType(ExpressionStatement).expression in\n expression.oclIsKindOf(SuperInvocationExpression) and\n -- NOTE: This checks to ensure that no previous\n -- super-constructor invocation is for the same\n -- superclass\n not expression.oclAsType(SuperInvocationExpression).\n referent.namespace().equals(classReference)\n )'"
+ * @generated
+ */
+ boolean superInvocationExpressionConstructorCall(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * If the referent is the method of a destructor operation, the super
+ * invocation expression must occur within the method of a destructor
+ * operation.
+ * <!-- end-model-doc -->
+ *
+ * @model annotation=
+ * "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n let referent = self.referent in\n referent <> null and referent.isDestructor() implies\n let operation = self.currentScope() in\n operation <> null and operation.isDestructor()'"
+ * @generated
+ */
+ boolean superInvocationExpressionDestructorCall(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * It must be possible to identify a single valid operation denoted by the
+ * target of a super invocation expression that satisfies the overloading
+ * resolution rules.
+ * <!-- end-model-doc -->
+ *
+ * @model annotation=
+ * "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n self.referent <> null and\n -- TODO: Remove this check once overloading resolution is implemented.\n self.tuple.size() <= self.parameterCount() and\n self.tuple.input->forAll(input | self.parameterIsAssignableFrom(input)) and\n self.tuple.output->forAll(output | self.parameterIsAssignableTo(output))'"
+ * @generated
+ */
+ boolean superInvocationExpressionOperation(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+} // SuperInvocationExpression
diff --git a/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/SwitchClause.java b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/SwitchClause.java
new file mode 100644
index 00000000000..eec8d9fb0b3
--- /dev/null
+++ b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/SwitchClause.java
@@ -0,0 +1,159 @@
+/**
+ */
+package org.eclipse.papyrus.uml.alf;
+
+import java.util.Map;
+
+import org.eclipse.emf.common.util.DiagnosticChain;
+import org.eclipse.emf.common.util.EList;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Switch Clause</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * A clause in a switch statement with a set of cases and a sequence of
+ * statements that may be executed if one of the cases matches the switch value.
+ * <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.uml.alf.SwitchClause#getCase <em>Case</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.SwitchClause#getBlock <em>Block</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getSwitchClause()
+ * @model
+ * @generated
+ */
+public interface SwitchClause extends SyntaxElement {
+ /**
+ * Returns the value of the '<em><b>Case</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.uml.alf.Expression}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The expressions to be evaluated to provide values to test against the switch value.
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Case</em>' containment reference list.
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getSwitchClause_Case()
+ * @model containment="true" required="true" ordered="false"
+ * @generated
+ */
+ EList<Expression> getCase();
+
+ /**
+ * Returns the value of the '<em><b>Block</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The sequence of statements that may be executed if one of the cases matches the switch value.
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Block</em>' containment reference.
+ * @see #setBlock(Block)
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getSwitchClause_Block()
+ * @model containment="true" required="true"
+ * @generated
+ */
+ Block getBlock();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.uml.alf.SwitchClause#getBlock <em>Block</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Block</em>' containment reference.
+ * @see #getBlock()
+ * @generated
+ */
+ void setBlock(Block value);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model ordered="false" elementRequired="true"
+ * annotation=
+ * "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n if self.block <> element then \n self.assignmentsBefore()\n else\n self.updateAll(\n self.assignmentsBefore(),\n self.case.newAssignments()->asSet()\n )\n endif'"
+ * @generated
+ */
+ EList<AssignedSource> assignmentsBefore(SyntaxElement element);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The assignments before a switch clause are the assignments before any
+ * case expression of the clause.
+ * <!-- end-model-doc -->
+ *
+ * @model ordered="false"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='self.SyntaxElement_assignmentsBefore()'"
+ * @generated
+ */
+ EList<AssignedSource> assignmentsBefore();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The assignments after a switch clause are the assignments after the block
+ * of the switch clause.
+ * <!-- end-model-doc -->
+ *
+ * @model ordered="false"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='self.block.assignmentAfter'"
+ * @generated
+ */
+ EList<AssignedSource> assignmentsAfter();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The assignments before any case expression of a switch clause are the
+ * same as the assignments before the clause. The assignments before the
+ * block of a switch clause are the assignments after all case expressions.
+ * (See assignmentsBefore(element) operation.)
+ *
+ * <!-- end-model-doc -->
+ *
+ * @model
+ * @generated
+ */
+ boolean switchClauseAssignmentsBefore(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * If a name is unassigned before a switch clause, then it must be
+ * unassigned after all case expressions of the clause (i.e., new local
+ * names may not be defined in case expressions).
+ * <!-- end-model-doc -->
+ *
+ * @model annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='self.assignmentsBefore().name->includesAll(self.case.assignmentAfter.name)'"
+ * @generated
+ */
+ boolean switchClauseCaseLocalNames(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * All the case expressions of a switch clause must have a multiplicity
+ * no greater than 1.
+ * <!-- end-model-doc -->
+ *
+ * @model annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='self.case->forAll(upper <= 1)'"
+ * @generated
+ */
+ boolean switchClauseCases(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+} // SwitchClause
diff --git a/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/SwitchStatement.java b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/SwitchStatement.java
new file mode 100644
index 00000000000..da13bc852da
--- /dev/null
+++ b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/SwitchStatement.java
@@ -0,0 +1,322 @@
+/**
+ */
+package org.eclipse.papyrus.uml.alf;
+
+import java.util.Map;
+
+import org.eclipse.emf.common.util.DiagnosticChain;
+import org.eclipse.emf.common.util.EList;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Switch Statement</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * A statement that executes (at most) one of a set of statement sequences
+ * based on matching a switch value to a set of test cases.
+ * <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.uml.alf.SwitchStatement#getNonDefaultClause <em>Non Default Clause</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.SwitchStatement#getExpression <em>Expression</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.SwitchStatement#getDefaultClause <em>Default Clause</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.SwitchStatement#isIsAssured <em>Is Assured</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.SwitchStatement#isIsDeterminate <em>Is Determinate</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getSwitchStatement()
+ * @model
+ * @generated
+ */
+public interface SwitchStatement extends Statement {
+ /**
+ * Returns the value of the '<em><b>Non Default Clause</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.uml.alf.SwitchClause}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The set of switch clauses whose cases are to be tested against the switch
+ * value.
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Non Default Clause</em>' containment reference list.
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getSwitchStatement_NonDefaultClause()
+ * @model containment="true" required="true" ordered="false"
+ * @generated
+ */
+ EList<SwitchClause> getNonDefaultClause();
+
+ /**
+ * Returns the value of the '<em><b>Expression</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The expression to be evaluated to provide the switch value.
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Expression</em>' containment reference.
+ * @see #setExpression(Expression)
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getSwitchStatement_Expression()
+ * @model containment="true" required="true"
+ * @generated
+ */
+ Expression getExpression();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.uml.alf.SwitchStatement#getExpression <em>Expression</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Expression</em>' containment reference.
+ * @see #getExpression()
+ * @generated
+ */
+ void setExpression(Expression value);
+
+ /**
+ * Returns the value of the '<em><b>Default Clause</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * A sequence of statements to be executed if no switch clause case matches
+ * the switch value.
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Default Clause</em>' containment reference.
+ * @see #setDefaultClause(Block)
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getSwitchStatement_DefaultClause()
+ * @model containment="true"
+ * @generated
+ */
+ Block getDefaultClause();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.uml.alf.SwitchStatement#getDefaultClause <em>Default Clause</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Default Clause</em>' containment reference.
+ * @see #getDefaultClause()
+ * @generated
+ */
+ void setDefaultClause(Block value);
+
+ /**
+ * Returns the value of the '<em><b>Is Assured</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * Whether at least one case in the switch statement is assured to match.
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Is Assured</em>' attribute.
+ * @see #setIsAssured(boolean)
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getSwitchStatement_IsAssured()
+ * @model transient="true" volatile="true" derived="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot derivation='self.hasAnnotation(\'assured\')'"
+ * @generated
+ */
+ boolean isIsAssured();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.uml.alf.SwitchStatement#isIsAssured <em>Is Assured</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Is Assured</em>' attribute.
+ * @see #isIsAssured()
+ * @generated
+ */
+ void setIsAssured(boolean value);
+
+ /**
+ * Returns the value of the '<em><b>Is Determinate</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * Whether at most one case in the if statement will ever to match.
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Is Determinate</em>' attribute.
+ * @see #setIsDeterminate(boolean)
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getSwitchStatement_IsDeterminate()
+ * @model transient="true" volatile="true" derived="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot derivation='self.hasAnnotation(\'determinate\')'"
+ * @generated
+ */
+ boolean isIsDeterminate();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.uml.alf.SwitchStatement#isIsDeterminate <em>Is Determinate</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Is Determinate</em>' attribute.
+ * @see #isIsDeterminate()
+ * @generated
+ */
+ void setIsDeterminate(boolean value);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model ordered="false" elementRequired="true"
+ * annotation=
+ * "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n if self.nonDefaultClause->includes(element) or \n self.defaultClause = element then\n self.expression.assignmentAfter\n else\n self.assignmentBefore\n endif'"
+ * @generated
+ */
+ EList<AssignedSource> assignmentsBefore(SyntaxElement element);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model ordered="false"
+ * annotation=
+ * "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n let blocks =\n if self.defaultClause = null then\n self.nonDefaultClause.block\n else\n self.nonDefaultClause.block->including(self.defaultClause)\n endif\n in\n self.updateAll(\n self.Statement_assignmentsAfter(),\n self.mergeAssignments(blocks)\n )'"
+ * @generated
+ */
+ EList<AssignedSource> assignmentsAfter();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The assignments before all clauses of a switch statement are the same as
+ * the assignments after the expression of the switch statement.
+ * (See assignmentBefore(element) expression.)
+ * <!-- end-model-doc -->
+ *
+ * @model
+ * @generated
+ */
+ boolean switchStatementAssignmentsBefore(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The same local name may not be assigned in more than one case expression
+ * in a switch statement.
+ * <!-- end-model-doc -->
+ *
+ * @model annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n self.nonDefaultClause.case.newAssignments()->isUnique(name)'"
+ * @generated
+ */
+ boolean switchStatementCaseAssignments(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * If a name has an assigned source after any clause of a switch statement
+ * that is different than before that clause (including newly defined names),
+ * the assigned source after the switch statement is the switch statement.
+ * Otherwise, the assigned source of a name after the switch statement is
+ * the same as before the switch statement.
+ * (See assignmentsAfter() operation.)
+ * <!-- end-model-doc -->
+ *
+ * @model
+ * @generated
+ */
+ boolean switchStatementAssignmentsAfter(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * If a switch statement does not have a final default clause, then any name
+ * that is not an out parameter and is unassigned before the switch statement
+ * is unassigned after the switch statement. If a switch statement does have
+ * a final default clause, then any name that is unassigned before the switch
+ * statement and is assigned after any one clause of the switch statement
+ * must also be assigned after every other clause. The type of such names
+ * after the switch statement is the effective common ancestor of the types
+ * of the name in each clause with a multiplicity lower bound that is the
+ * minimum of the lower bound for the name in each clause and a multiplicity
+ * upper bound that is the maximum for the name in each clause.
+ * (See also assignmentsAfter() operation.)
+ * <!-- end-model-doc -->
+ *
+ * @model annotation=
+ * "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n if self.defaultClause = null then\n self.assignmentBefore.name->includesAll(self.assignmentBefore.name)\n else\n let blocks =\n if self.defaultClause = null then\n self.nonDefaultClause.block\n else\n self.nonDefaultClause.block->including(self.defaultClause)\n endif\n in\n let names = blocks.newAssignments().name in\n let n = blocks->size() in\n names->forAll(name | names->count(name) = n)\n endif'"
+ * @generated
+ */
+ boolean switchStatementAssignments(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * A switch statement expression must have a multiplicity no greater than 1.
+ * <!-- end-model-doc -->
+ *
+ * @model annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='self.expression.upper <= 1'"
+ * @generated
+ */
+ boolean switchStatementExpression(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * A switch statement is the enclosing statement for the statements in all
+ * of its switch clauses.
+ * (See SyntaxElement::enclosingStatement() operation.)
+ * <!-- end-model-doc -->
+ *
+ * @model
+ * @generated
+ */
+ boolean switchStatementEnclosedStatements(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * A switch statement is determinate if it has a @determinate annotation.
+ * <!-- end-model-doc -->
+ *
+ * @model
+ * @generated
+ */
+ boolean switchStatementIsDeterminateDerivation(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * A switch statement is assured if it has an @assured annotation.
+ * <!-- end-model-doc -->
+ *
+ * @model
+ * @generated
+ */
+ boolean switchStatementIsAssuredDerivation(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * In addition to an @isolated annotation, a switch statement may have
+ *
+ * @assured and @determinate annotations. They may not have arguments.
+ * <!-- end-model-doc -->
+ * @model required="true" annotationRequired="true"
+ * annotation=
+ * "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='self.Statement_annotationAllowed(annotation) or\n (annotation.identifier = \'assured\' or annotation.identifier = \'determinate\') and \n annotation.argument->isEmpty()'"
+ * @generated
+ */
+ boolean annotationAllowed(Annotation annotation);
+
+} // SwitchStatement
diff --git a/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/SyntaxElement.java b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/SyntaxElement.java
new file mode 100644
index 00000000000..9b5d6ffc49c
--- /dev/null
+++ b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/SyntaxElement.java
@@ -0,0 +1,435 @@
+/**
+ */
+package org.eclipse.papyrus.uml.alf;
+
+import org.eclipse.emf.cdo.CDOObject;
+import org.eclipse.emf.common.util.EList;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Syntax Element</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * A syntax element synthesized in an abstract syntax tree, along with any additional information determined during static semantic analysis.
+ * <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.uml.alf.SyntaxElement#getOwner <em>Owner</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getSyntaxElement()
+ * @model abstract="true"
+ * @extends CDOObject
+ * @generated
+ */
+public interface SyntaxElement extends CDOObject {
+ /**
+ * Returns the value of the '<em><b>Owner</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The element to consider the owner of this element, if this element
+ * does not have a composite container.
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Owner</em>' reference.
+ * @see #setOwner(SyntaxElement)
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getSyntaxElement_Owner()
+ * @model
+ * @generated
+ */
+ SyntaxElement getOwner();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.uml.alf.SyntaxElement#getOwner <em>Owner</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Owner</em>' reference.
+ * @see #getOwner()
+ * @generated
+ */
+ void setOwner(SyntaxElement value);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * Return a reference to this element.
+ * <!-- end-model-doc -->
+ *
+ * @model required="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='InternalElementReference{element = self}'"
+ * @generated
+ */
+ ElementReference toReference();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * Return the owner of this element.
+ * <!-- end-model-doc -->
+ *
+ * @model annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='SyntaxElement_owner()'"
+ * @generated
+ */
+ SyntaxElement owner();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model annotation=
+ * "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n let container = self.oclContainer() in\n if container = null or not container.oclIsKindOf(SyntaxElement) then\n self.owner\n else\n container.oclAsType(SyntaxElement)\n endif'"
+ * @generated
+ */
+ SyntaxElement SyntaxElement_owner();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * Return the current scope for this element. By default, this is the current
+ * scope of the owner of this element, if any.
+ * <!-- end-model-doc -->
+ *
+ * @model annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='self.SyntaxElement_currentScope()'"
+ * @generated
+ */
+ ElementReference currentScope();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n let owner = self.owner() in\n if owner = null then null\n else owner.currentScope()\n endif'"
+ * @generated
+ */
+ ElementReference SyntaxElement_currentScope();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * Return the enclosing statement for this element, if there is one.
+ * <!-- end-model-doc -->
+ *
+ * @model annotation=
+ * "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n let owner = self.owner() in\n if owner = null or owner.oclIsKindOf(MemberDefinition) then null\n else if owner.oclIsKindOf(Statement) then owner.oclAsType(Statement)\n else owner.enclosingStatement()\n endif endif'"
+ * @generated
+ */
+ Statement enclosingStatement();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * Return the enclosing expression for this element, if there is one.
+ * <!-- end-model-doc -->
+ *
+ * @model annotation=
+ * "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n let owner = self.owner() in\n if owner = null or owner.oclIsKindOf(MemberDefinition) or\n owner.oclIsKindOf(Statement) then null\n else if owner.oclIsKindOf(Expression) then owner.oclAsType(Expression)\n else owner.enclosingExpression()\n endif endif'"
+ * @generated
+ */
+ Expression enclosingExpression();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * Return the assignments before this element, as appropriate.
+ * <!-- end-model-doc -->
+ *
+ * @model ordered="false"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='self.SyntaxElement_assignmentsBefore()'"
+ * @generated
+ */
+ EList<AssignedSource> assignmentsBefore();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model ordered="false"
+ * @generated
+ */
+ EList<AssignedSource> SyntaxElement_assignmentsBefore();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model ordered="false"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n let owner = self.owner() in\n if owner = null then Set(AssignedSource){}\n else owner.assignmentsBefore(self)\n endif'"
+ * @generated
+ */
+ EList<AssignedSource> SyntaxElement_assignmentsBefore_base();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * Return the assignments before the given subelement of this element,
+ * if any, as appropriate. (By default, by default they are are the
+ * assignments before this element.)
+ * <!-- end-model-doc -->
+ *
+ * @model ordered="false" elementRequired="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='self.assignmentsBefore()'"
+ * @generated
+ */
+ EList<AssignedSource> assignmentsBefore(SyntaxElement element);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * Update the initial set of assignments with all the assigned sources in
+ * newAssignments.
+ * <!-- end-model-doc -->
+ *
+ * @model ordered="false" assignmentsMany="true" assignmentsOrdered="false" newAssignmentsMany="true" newAssignmentsOrdered="false"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n newAssignments->iterate(\n assignment, updatedAssignments : Set(AssignedSource) = assignments |\n assignment.update(updatedAssignments)\n )'"
+ * @generated
+ */
+ EList<AssignedSource> updateAll(EList<AssignedSource> assignments, EList<AssignedSource> newAssignments);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * Return the effective common ancestor of a set of classifiers.
+ * <!-- end-model-doc -->
+ *
+ * @model classifiersMany="true" classifiersOrdered="false"
+ * annotation=
+ * "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n if classifiers->isEmpty() or classifiers->exists(c | c = null) then null\n else\n let classifierSet = self.removeDuplicateElements(classifiers->asBag()) in\n if classifierSet->size() = 1 then classifierSet->any(true)\n else\n let ancestors = self.commonAncestors(classifierSet) in\n let parents = ancestors.allParents() in\n self.commonAncestor(ancestors->reject(containedIn(parents)))\n endif \n endif'"
+ * @generated
+ */
+ ElementReference commonAncestor(EList<ElementReference> classifiers);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model ordered="false" classifiersMany="true" classifiersOrdered="false"
+ * annotation=
+ * "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n let ancestors : Bag(ElementReference) = \n classifiers.allParents()->union(classifiers) in\n self.removeDuplicateElements(\n ancestors->select(countIn(ancestors) = classifiers->size())\n )'"
+ * @generated
+ */
+ EList<ElementReference> commonAncestors(EList<ElementReference> classifiers);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model ordered="false" elementsUnique="false" elementsMany="true" elementsOrdered="false"
+ * annotation=
+ * "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n elements->iterate(e, bag : Bag(ElementReference) = Bag{} |\n if e.containedIn(bag) then bag\n else bag->including(e)\n endif\n )->asSet()'"
+ * @generated
+ */
+ EList<ElementReference> removeDuplicateElements(EList<ElementReference> elements);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model ordered="false" pathNameRequired="true"
+ * annotation=
+ * "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n let currentScope = self.currentScope() in\n if currentScope = null then Set(ElementReference){}\n else\n let modelScope = currentScope.modelScope() in\n if modelScope = null then Set(ElementReference){}\n else modelScope.resolvePathName(\'Alf::Library::\' + pathName)\n endif\n endif'"
+ * @generated
+ */
+ EList<ElementReference> resolveInLibrary(String pathName);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model typeNameRequired="true"
+ * @generated
+ */
+ ElementReference primitiveType(String typeName);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model typeNameRequired="true"
+ * annotation=
+ * "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n let referents = self.resolveInLibrary(\'PrimitiveTypes::\' + typeName)->\n select(isPrimitiveType()) in\n if referents->isEmpty() then null\n else referents->any(true)\n endif'"
+ * @generated
+ */
+ ElementReference primitiveType_(String typeName);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='self.primitiveType(\'Boolean\')'"
+ * @generated
+ */
+ ElementReference booleanType();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model required="true" elementRequired="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='element <> null and element.conformsTo(self.booleanType())'"
+ * @generated
+ */
+ boolean isBooleanType(ElementReference element);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='self.primitiveType(\'Integer\')'"
+ * @generated
+ */
+ ElementReference integerType();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model required="true" elementRequired="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='element <> null and element.conformsTo(self.integerType())'"
+ * @generated
+ */
+ boolean isIntegerType(ElementReference element);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='self.primitiveType(\'String\')'"
+ * @generated
+ */
+ ElementReference stringType();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model required="true" elementRequired="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='element <> null and element.conformsTo(self.stringType())'"
+ * @generated
+ */
+ boolean isStringType(ElementReference element);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='self.primitiveType(\'UnlimitedNatural\')'"
+ * @generated
+ */
+ ElementReference unlimitedNaturalType();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model required="true" elementRequired="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='element <> null and element.conformsTo(self.unlimitedNaturalType())'"
+ * @generated
+ */
+ boolean isUnlimitedNaturalType(ElementReference element);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='self.primitiveType(\'BitString\')'"
+ * @generated
+ */
+ ElementReference bitStringType();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model required="true" elementRequired="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='element <> null and element.conformsTo(self.bitStringType())'"
+ * @generated
+ */
+ boolean isBitStringType(ElementReference element);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='self.primitiveType(\'Natural\')'"
+ * @generated
+ */
+ ElementReference naturalType();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model required="true" elementRequired="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='element <> null and element.conformsTo(self.naturalType())'"
+ * @generated
+ */
+ boolean isNaturalType(ElementReference element);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model required="true" elementRequired="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='self.isIntegerType(element) or \n self.isUnlimitedNaturalType(element) or \n self.isNaturalType(element)'"
+ * @generated
+ */
+ boolean isNumericType(ElementReference element);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model annotation=
+ * "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n let referents = self.resolveInLibrary(\'CollectionFunctions::add\')->\n select(isBehavior()) in\n if referents->isEmpty() then null\n else referents->any(true)\n endif'"
+ * @generated
+ */
+ ElementReference collectionFunctionAdd();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model required="true" elementRequired="true"
+ * annotation=
+ * "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n let template = element.template() in\n template <> null and\n let collectionClasses = self.resolveInLibrary(\'CollectionClasses\') in\n collectionClasses->notEmpty() and\n collectionClasses->any(true).equals(template.namespace())'"
+ * @generated
+ */
+ boolean isCollectionClass(ElementReference element);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model required="true" elementRequired="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n self.isCollectionClass(element) and \n self.isIntegerType(element.collectionArgument())'"
+ * @generated
+ */
+ boolean isIntegerCollectionClass(ElementReference element);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model required="true" elementRequired="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n self.isCollectionClass(element) and \n self.isBitStringType(element.collectionArgument())'"
+ * @generated
+ */
+ boolean isBitStringCollectionClass(ElementReference element);
+
+} // SyntaxElement
diff --git a/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/TaggedValue.java b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/TaggedValue.java
new file mode 100644
index 00000000000..a121c8ed3a3
--- /dev/null
+++ b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/TaggedValue.java
@@ -0,0 +1,114 @@
+/**
+ */
+package org.eclipse.papyrus.uml.alf;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Tagged Value</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * An assignment of a value to an attribute of an applied stereotype.
+ * <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.uml.alf.TaggedValue#getName <em>Name</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.TaggedValue#getValue <em>Value</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.TaggedValue#getOperator <em>Operator</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getTaggedValue()
+ * @model
+ * @generated
+ */
+public interface TaggedValue extends SyntaxElement {
+ /**
+ * Returns the value of the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The name of the stereotype attribute to be assigned a value.
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Name</em>' attribute.
+ * @see #setName(String)
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getTaggedValue_Name()
+ * @model required="true"
+ * annotation="http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeRoleName body='UnitDefinition'"
+ * @generated
+ */
+ String getName();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.uml.alf.TaggedValue#getName <em>Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Name</em>' attribute.
+ * @see #getName()
+ * @generated
+ */
+ void setName(String value);
+
+ /**
+ * Returns the value of the '<em><b>Value</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The string image of a literal value to be assigned to the stereotype attribute.
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Value</em>' attribute.
+ * @see #setValue(String)
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getTaggedValue_Value()
+ * @model required="true"
+ * @generated
+ */
+ String getValue();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.uml.alf.TaggedValue#getValue <em>Value</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Value</em>' attribute.
+ * @see #getValue()
+ * @generated
+ */
+ void setValue(String value);
+
+ /**
+ * Returns the value of the '<em><b>Operator</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * For a numeric value, an optional unary plus or minus operator.
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Operator</em>' attribute.
+ * @see #setOperator(String)
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getTaggedValue_Operator()
+ * @model
+ * @generated
+ */
+ String getOperator();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.uml.alf.TaggedValue#getOperator <em>Operator</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Operator</em>' attribute.
+ * @see #getOperator()
+ * @generated
+ */
+ void setOperator(String value);
+
+} // TaggedValue
diff --git a/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/TaggedValueList.java b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/TaggedValueList.java
new file mode 100644
index 00000000000..7397940c261
--- /dev/null
+++ b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/TaggedValueList.java
@@ -0,0 +1,44 @@
+/**
+ */
+package org.eclipse.papyrus.uml.alf;
+
+import org.eclipse.emf.common.util.EList;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Tagged Value List</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * A set of tagged values for a stereotype application.
+ * <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.uml.alf.TaggedValueList#getTaggedValue <em>Tagged Value</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getTaggedValueList()
+ * @model
+ * @generated
+ */
+public interface TaggedValueList extends SyntaxElement {
+ /**
+ * Returns the value of the '<em><b>Tagged Value</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.uml.alf.TaggedValue}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The tagged values in the set.
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Tagged Value</em>' containment reference list.
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getTaggedValueList_TaggedValue()
+ * @model containment="true" required="true" ordered="false"
+ * @generated
+ */
+ EList<TaggedValue> getTaggedValue();
+
+} // TaggedValueList
diff --git a/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/TemplateBinding.java b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/TemplateBinding.java
new file mode 100644
index 00000000000..7ded8e1951c
--- /dev/null
+++ b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/TemplateBinding.java
@@ -0,0 +1,58 @@
+/**
+ */
+package org.eclipse.papyrus.uml.alf;
+
+import org.eclipse.emf.common.util.EList;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Template Binding</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * A list of type names used to provide arguments for the parameters of a template.
+ * <!-- end-model-doc -->
+ *
+ *
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getTemplateBinding()
+ * @model abstract="true"
+ * @generated
+ */
+public interface TemplateBinding extends SyntaxElement {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model required="true"
+ * @generated
+ */
+ String toString();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model required="true" templateRequired="true"
+ * @generated
+ */
+ boolean matches(ElementReference template);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model required="true"
+ * @generated
+ */
+ TemplateBinding copy();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model unique="false" templateRequired="true"
+ * @generated
+ */
+ EList<ElementReference> bindTo(ElementReference template);
+
+} // TemplateBinding
diff --git a/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/TemplateParameterSubstitution.java b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/TemplateParameterSubstitution.java
new file mode 100644
index 00000000000..dbf395586dd
--- /dev/null
+++ b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/TemplateParameterSubstitution.java
@@ -0,0 +1,146 @@
+/**
+ */
+package org.eclipse.papyrus.uml.alf;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Template Parameter Substitution</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * A specification of the substitution of an argument type name for a template parameter.
+ * <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.uml.alf.TemplateParameterSubstitution#getParameterName <em>Parameter Name</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.TemplateParameterSubstitution#getArgumentName <em>Argument Name</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.TemplateParameterSubstitution#getReferent <em>Referent</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getTemplateParameterSubstitution()
+ * @model
+ * @generated
+ */
+public interface TemplateParameterSubstitution extends SyntaxElement {
+ /**
+ * Returns the value of the '<em><b>Parameter Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The name of the template parameter.
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Parameter Name</em>' attribute.
+ * @see #setParameterName(String)
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getTemplateParameterSubstitution_ParameterName()
+ * @model required="true"
+ * @generated
+ */
+ String getParameterName();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.uml.alf.TemplateParameterSubstitution#getParameterName <em>Parameter Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Parameter Name</em>' attribute.
+ * @see #getParameterName()
+ * @generated
+ */
+ void setParameterName(String value);
+
+ /**
+ * Returns the value of the '<em><b>Argument Name</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The name of the argument type.
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Argument Name</em>' containment reference.
+ * @see #setArgumentName(QualifiedName)
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getTemplateParameterSubstitution_ArgumentName()
+ * @model containment="true" required="true"
+ * @generated
+ */
+ QualifiedName getArgumentName();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.uml.alf.TemplateParameterSubstitution#getArgumentName <em>Argument Name</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Argument Name</em>' containment reference.
+ * @see #getArgumentName()
+ * @generated
+ */
+ void setArgumentName(QualifiedName value);
+
+ /**
+ * Returns the value of the '<em><b>Referent</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Referent</em>' reference isn't clear, there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ *
+ * @return the value of the '<em>Referent</em>' reference.
+ * @see #setReferent(ElementReference)
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getTemplateParameterSubstitution_Referent()
+ * @model transient="true" volatile="true" derived="true"
+ * annotation=
+ * "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot derivation='\n let referents = argumentName.referent in \n if referents->size() <> 1 or not referents->forAll(isClassifier()) then null\n else referents->any(true)\n endif'"
+ * @generated
+ */
+ ElementReference getReferent();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.uml.alf.TemplateParameterSubstitution#getReferent <em>Referent</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Referent</em>' reference.
+ * @see #getReferent()
+ * @generated
+ */
+ void setReferent(ElementReference value);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model required="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='NameBinding{name = self.parameterName}.toName()'"
+ * @generated
+ */
+ String actualParameterName();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model required="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='self.parameterName + \'=>\' + argumentName.pathName'"
+ * @generated
+ */
+ String toString();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model required="true"
+ * annotation=
+ * "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='TemplateParameterSubstitution{\n parameterName = self.parameterName,\n argumentName = if self.argumentName = null then null else self.argumentName.copy() endif\n }'"
+ * @generated
+ */
+ TemplateParameterSubstitution copy();
+
+} // TemplateParameterSubstitution
diff --git a/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/ThisExpression.java b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/ThisExpression.java
new file mode 100644
index 00000000000..4bfe58678a2
--- /dev/null
+++ b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/ThisExpression.java
@@ -0,0 +1,95 @@
+/**
+ */
+package org.eclipse.papyrus.uml.alf;
+
+import java.math.BigInteger;
+import java.util.Map;
+
+import org.eclipse.emf.common.util.DiagnosticChain;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>This Expression</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * An expression comprising the keyword “this”.
+ * <!-- end-model-doc -->
+ *
+ *
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getThisExpression()
+ * @model
+ * @generated
+ */
+public interface ThisExpression extends Expression {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model annotation=
+ * "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n let context = self.currentScope() in\n if context = null then \n null\n else if context.isOperation() or context.isMethod() then\n context.namespace()\n else if context.isBehavior() then\n let activeClass = context.activeClass() in\n if activeClass = null then context else activeClass endif\n else if context.isClass() then\n context\n else\n null\n endif endif endif endif'"
+ * @generated
+ */
+ ElementReference type();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model required="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='1'"
+ * @generated
+ */
+ BigInteger upper();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model required="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='1'"
+ * @generated
+ */
+ BigInteger lower();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The static type of a this expression is the statically determined context
+ * classifier for the context in which the this expression occurs.
+ * (See the type() operation.)
+ * <!-- end-model-doc -->
+ *
+ * @model
+ * @generated
+ */
+ boolean thisExpressionTypeDerivation(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The multiplicity upper bound of a this expression is always 1.
+ * (See the upper() operation.)
+ * <!-- end-model-doc -->
+ *
+ * @model
+ * @generated
+ */
+ boolean thisExpressionUpperDerivation(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The multiplicity lower bound of a this expression is always 1.
+ * (See the lower() operation.)
+ * <!-- end-model-doc -->
+ *
+ * @model
+ * @generated
+ */
+ boolean thisExpressionLowerDerivation(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+} // ThisExpression
diff --git a/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/Tuple.java b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/Tuple.java
new file mode 100644
index 00000000000..62ad1bc6d24
--- /dev/null
+++ b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/Tuple.java
@@ -0,0 +1,309 @@
+/**
+ */
+package org.eclipse.papyrus.uml.alf;
+
+import java.math.BigInteger;
+import java.util.Map;
+
+import org.eclipse.emf.common.util.DiagnosticChain;
+import org.eclipse.emf.common.util.EList;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Tuple</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * A list of expressions used to provide the arguments for an invocation.
+ * <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.uml.alf.Tuple#getInput <em>Input</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.Tuple#getInvocation <em>Invocation</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.Tuple#getOutput <em>Output</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getTuple()
+ * @model abstract="true"
+ * @generated
+ */
+public interface Tuple extends SyntaxElement {
+ /**
+ * Returns the value of the '<em><b>Input</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.uml.alf.InputNamedExpression}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The argument expressions from this tuple, matched to the input parameters
+ * (direction in and inout) of the invocation. An empty sequence construction
+ * expression is included for any input parameter that is not explicitly
+ * matched in the tuple.
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Input</em>' reference list.
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getTuple_Input()
+ * @model transient="true" volatile="true" derived="true" ordered="false"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot derivation='self.inputCached()'"
+ * @generated
+ */
+ EList<InputNamedExpression> getInput();
+
+ /**
+ * Returns the value of the '<em><b>Invocation</b></em>' container reference.
+ * It is bidirectional and its opposite is '{@link org.eclipse.papyrus.uml.alf.InvocationExpression#getTuple <em>Tuple</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The invocation expression of which this tuple is a part.
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Invocation</em>' container reference.
+ * @see #setInvocation(InvocationExpression)
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getTuple_Invocation()
+ * @see org.eclipse.papyrus.uml.alf.InvocationExpression#getTuple
+ * @model opposite="tuple" required="true" transient="false"
+ * @generated
+ */
+ InvocationExpression getInvocation();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.uml.alf.Tuple#getInvocation <em>Invocation</em>}' container reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Invocation</em>' container reference.
+ * @see #getInvocation()
+ * @generated
+ */
+ void setInvocation(InvocationExpression value);
+
+ /**
+ * Returns the value of the '<em><b>Output</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.uml.alf.OutputNamedExpression}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The argument expressions from this tuple, matched to the output parameters
+ * (direction inout and out) of the invocation. An empty sequence construction
+ * expression is included for any output parameter that is not explicitly
+ * matched in the tuple.
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Output</em>' reference list.
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getTuple_Output()
+ * @model transient="true" volatile="true" derived="true" ordered="false"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot derivation='self.outputCached()'"
+ * @generated
+ */
+ EList<OutputNamedExpression> getOutput();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model required="true"
+ * @generated
+ */
+ BigInteger size();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model ordered="false"
+ * @generated
+ */
+ EList<InputNamedExpression> inputCached();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model ordered="false"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='self.inputFor(self.invocation.parameter)'"
+ * @generated
+ */
+ EList<InputNamedExpression> input();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model ordered="false" parametersMany="true"
+ * @generated
+ */
+ EList<InputNamedExpression> inputFor(EList<ElementReference> parameters);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model ordered="false"
+ * @generated
+ */
+ EList<OutputNamedExpression> outputCached();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model ordered="false"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='self.outputFor(self.invocation.parameter)'"
+ * @generated
+ */
+ EList<OutputNamedExpression> output();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model ordered="false" parametersMany="true"
+ * @generated
+ */
+ EList<OutputNamedExpression> outputFor(EList<ElementReference> parameters);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model ordered="false" elementRequired="true"
+ * annotation=
+ * "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n-- let assignmentsBefore = self.assignmentsBefore() in\n-- if not element.oclIsKindOf(NameExpression) then assignmentsBefore\n-- else\n-- let outputs : Set = self.output->select(expression = element) in\n-- if outputs->isEmpty() then assignmentsBefore\n-- else self.updateFor(assignmentsBefore, \n-- outputs->any(true).oclAsType(OutputNamedExpression)\n-- )\n-- endif\n-- endif\n self.assignmentsBefore()'"
+ * @generated
+ */
+ EList<AssignedSource> assignmentsBefore(SyntaxElement element);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model ordered="false"
+ * annotation=
+ * "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n let assignments1 = self.updateAll(\n self.assignmentsBefore(),\n self.input.expression->union(self.output.expression).newAssignments()->asSet()\n ) in\n let assignments2 = self.output->iterate(\n output, assignments : Set(AssignedSource) = assignments1 |\n self.updateFor(assignments, output)\n ) in\n self.updateAll(\n assignments2,\n self.output->reject(leftHandSide = null)->\n collect(output : OutputNamedExpression | \n assignments2->select(name = output.leftHandSide.assignedName())\n )->\n reject(isParallelLocalName).copy(self.invocation, null)->asSet()\n )'"
+ * @generated
+ */
+ EList<AssignedSource> assignmentsAfter();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model ordered="false"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n let assignmentsBefore = self.assignmentsBefore() in\n self.assignmentsAfter()->select(isNew(assignmentsBefore()))'"
+ * @generated
+ */
+ EList<AssignedSource> newAssignments();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model ordered="false" assignmentsMany="true" assignmentsOrdered="false" outputRequired="true"
+ * annotation=
+ * "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n let parameter = self.invocation.parameterNamed(output.name) in\n if parameter = null or parameter.direction() <> \'out\' then \n assignments\n else\n let lhs = output.leftHandSide in\n if lhs = null or lhs.localName() = null or lhs.index() <> null or \n assignments->exists(name = lhs.localName()) then \n assignments\n else\n AssignedSource{\n name = lhs.localName(),\n source = self,\n type = parameter.type(),\n lower = 0,\n upper = if parameter.upper() = 1 then 1 else -1 endif\n }.update(assignments)\n endif\n endif'"
+ * @generated
+ */
+ EList<AssignedSource> updateFor(EList<AssignedSource> assignments, OutputNamedExpression output);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * A tuple has the same number of inputs as its invocation has input
+ * parameters. For each input parameter, the tuple has a corresponding input
+ * with the same name as the parameter and an expression that is the
+ * matching argument from the tuple, or an empty sequence construction
+ * expression if there is no matching argument.
+ * <!-- end-model-doc -->
+ *
+ * @model
+ * @generated
+ */
+ boolean tupleInputDerivation(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * A tuple has the same number of outputs as its invocation has output
+ * parameters. For each output parameter, the tuple has a corresponding
+ * output with the same name as the parameter and an expression that is the
+ * matching argument from the tuple, or an empty sequence construction
+ * expression if there is no matching argument.
+ * <!-- end-model-doc -->
+ *
+ * @model
+ * @generated
+ */
+ boolean tupleOutputDerivation(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * An input parameter may only have a null argument if it has a multiplicity
+ * lower bound of 0.
+ * <!-- end-model-doc -->
+ *
+ * @model annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n self.input->forAll(\n expression.isNull() implies \n self.invocation.parameterNamed(name).lower() = 0\n )'"
+ * @generated
+ */
+ boolean tupleNullInputs(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * An output parameter may only have a null argument if it is an out parameter.
+ * <!-- end-model-doc -->
+ *
+ * @model annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n self.output->forAll(\n expression.isNull() implies \n self.invocation.parameterNamed(name).direction() = \'out\'\n )'"
+ * @generated
+ */
+ boolean tupleOutputs(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The assignments before each expression in a tuple are the same as the
+ * assignments before the tuple, except in the case of a name expression
+ * that defines a new local name, in which case the assigned source for the
+ * new name is included in the assignments before the name expression. (Note
+ * that the assigned source for a new name is included before the name
+ * expression so that the nameExpressionResolution constraint is not
+ * violated.) The assignments before the tuple are the same as the
+ * assignments after the feature reference of the invocation of the tuple,
+ * if the invocation has one, or otherwise the assignments before the
+ * invocation.
+ *
+ * CHANGE: An assignment before is NOT given to a name expression that
+ * that defines a local name. Instead the nameExpressionResolution
+ * constraint has been modified. (This avoids a potential infinite recursion
+ * in InvocationExpression::bindTemplateImplicitArguments().)
+ *
+ * (See also the InvocationExpression::assignmentsBefore(element) operation.)
+ * <!-- end-model-doc -->
+ *
+ * @model
+ * @generated
+ */
+ boolean tupleAssignmentsBefore(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * A name may be assigned in at most one argument expression of a tuple.
+ * <!-- end-model-doc -->
+ *
+ * @model annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n self.input.expression->union(self.output.expression).\n newAssignments()->isUnique(name)'"
+ * @generated
+ */
+ boolean tupleAssignmentsAfter(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+} // Tuple
diff --git a/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/TypedElementDefinition.java b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/TypedElementDefinition.java
new file mode 100644
index 00000000000..543c7f96510
--- /dev/null
+++ b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/TypedElementDefinition.java
@@ -0,0 +1,403 @@
+/**
+ */
+package org.eclipse.papyrus.uml.alf;
+
+import java.math.BigInteger;
+
+import java.util.Map;
+
+import org.eclipse.emf.common.util.DiagnosticChain;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Typed Element Definition</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * The common properties of the definitions of typed elements.
+ * <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.uml.alf.TypedElementDefinition#getLowerBound <em>Lower Bound</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.TypedElementDefinition#getUpperBound <em>Upper Bound</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.TypedElementDefinition#isIsOrdered <em>Is Ordered</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.TypedElementDefinition#isIsNonunique <em>Is Nonunique</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.TypedElementDefinition#isIsSequence <em>Is Sequence</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.TypedElementDefinition#getTypeName <em>Type Name</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.TypedElementDefinition#getActualType <em>Actual Type</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.TypedElementDefinition#isIsAny <em>Is Any</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.TypedElementDefinition#isIsMultiplicity <em>Is Multiplicity</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getTypedElementDefinition()
+ * @model
+ * @generated
+ */
+public interface TypedElementDefinition extends AssignableElement {
+ /**
+ * Returns the value of the '<em><b>Lower Bound</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The string image of the literal given to specify the lower bound of the
+ * multiplicity of the element being defined.
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Lower Bound</em>' attribute.
+ * @see #setLowerBound(String)
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getTypedElementDefinition_LowerBound()
+ * @model
+ * @generated
+ */
+ String getLowerBound();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.uml.alf.TypedElementDefinition#getLowerBound <em>Lower Bound</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Lower Bound</em>' attribute.
+ * @see #getLowerBound()
+ * @generated
+ */
+ void setLowerBound(String value);
+
+ /**
+ * Returns the value of the '<em><b>Upper Bound</b></em>' attribute.
+ * The default value is <code>"1"</code>.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The string image of the literal given to specify the upper bound of the
+ * multiplicity of the element being defined.
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Upper Bound</em>' attribute.
+ * @see #setUpperBound(String)
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getTypedElementDefinition_UpperBound()
+ * @model default="1" required="true"
+ * @generated
+ */
+ String getUpperBound();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.uml.alf.TypedElementDefinition#getUpperBound <em>Upper Bound</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Upper Bound</em>' attribute.
+ * @see #getUpperBound()
+ * @generated
+ */
+ void setUpperBound(String value);
+
+ /**
+ * Returns the value of the '<em><b>Is Ordered</b></em>' attribute.
+ * The default value is <code>"false"</code>.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * Whether the element being defined is ordered.
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Is Ordered</em>' attribute.
+ * @see #setIsOrdered(boolean)
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getTypedElementDefinition_IsOrdered()
+ * @model default="false" required="true"
+ * @generated
+ */
+ boolean isIsOrdered();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.uml.alf.TypedElementDefinition#isIsOrdered <em>Is Ordered</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Is Ordered</em>' attribute.
+ * @see #isIsOrdered()
+ * @generated
+ */
+ void setIsOrdered(boolean value);
+
+ /**
+ * Returns the value of the '<em><b>Is Nonunique</b></em>' attribute.
+ * The default value is <code>"false"</code>.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * Whether the element being defined is non-unique.
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Is Nonunique</em>' attribute.
+ * @see #setIsNonunique(boolean)
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getTypedElementDefinition_IsNonunique()
+ * @model default="false" required="true"
+ * @generated
+ */
+ boolean isIsNonunique();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.uml.alf.TypedElementDefinition#isIsNonunique <em>Is Nonunique</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Is Nonunique</em>' attribute.
+ * @see #isIsNonunique()
+ * @generated
+ */
+ void setIsNonunique(boolean value);
+
+ /**
+ * Returns the value of the '<em><b>Type Name</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The name of the type of the element being defined.
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Type Name</em>' containment reference.
+ * @see #setTypeName(QualifiedName)
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getTypedElementDefinition_TypeName()
+ * @model containment="true"
+ * @generated
+ */
+ QualifiedName getTypeName();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.uml.alf.TypedElementDefinition#getTypeName <em>Type Name</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Type Name</em>' containment reference.
+ * @see #getTypeName()
+ * @generated
+ */
+ void setTypeName(QualifiedName value);
+
+ /**
+ * Returns the value of the '<em><b>Actual Type</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Actual Type</em>' reference isn't clear, there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ *
+ * @return the value of the '<em>Actual Type</em>' reference.
+ * @see #setActualType(ElementReference)
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getTypedElementDefinition_ActualType()
+ * @model
+ * @generated
+ */
+ ElementReference getActualType();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.uml.alf.TypedElementDefinition#getActualType <em>Actual Type</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Actual Type</em>' reference.
+ * @see #getActualType()
+ * @generated
+ */
+ void setActualType(ElementReference value);
+
+ /**
+ * Returns the value of the '<em><b>Is Any</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * Whether the element being defined has an empty type.
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Is Any</em>' attribute.
+ * @see #setIsAny(boolean)
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getTypedElementDefinition_IsAny()
+ * @model
+ * @generated
+ */
+ boolean isIsAny();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.uml.alf.TypedElementDefinition#isIsAny <em>Is Any</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Is Any</em>' attribute.
+ * @see #isIsAny()
+ * @generated
+ */
+ void setIsAny(boolean value);
+
+ /**
+ * Returns the value of the '<em><b>Is Sequence</b></em>' attribute.
+ * The default value is <code>"false"</code>.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * Whether the element being defined is a sequence (and hence both ordered
+ * and non-unique).
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Is Sequence</em>' attribute.
+ * @see #setIsSequence(boolean)
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getTypedElementDefinition_IsSequence()
+ * @model default="false" required="true"
+ * @generated
+ */
+ boolean isIsSequence();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.uml.alf.TypedElementDefinition#isIsSequence <em>Is Sequence</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Is Sequence</em>' attribute.
+ * @see #isIsSequence()
+ * @generated
+ */
+ void setIsSequence(boolean value);
+
+ /**
+ * Returns the value of the '<em><b>Is Multiplicity</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * Whether the element being defined has multiplicity specified as 0..*
+ * using the shortand multiplicity indicator "[]".
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Is Multiplicity</em>' attribute.
+ * @see #setIsMultiplicity(boolean)
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getTypedElementDefinition_IsMultiplicity()
+ * @model
+ * @generated
+ */
+ boolean isIsMultiplicity();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.uml.alf.TypedElementDefinition#isIsMultiplicity <em>Is Multiplicity</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Is Multiplicity</em>' attribute.
+ * @see #isIsMultiplicity()
+ * @generated
+ */
+ void setIsMultiplicity(boolean value);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model kind="operation" required="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='self.isOrdered or self.isSequence'"
+ * @generated
+ */
+ boolean isOrdered();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model kind="operation" required="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='self.isNonunique or self.isSequence'"
+ * @generated
+ */
+ boolean isNonunique();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * If the lower bound string image of a typed element definition is not empty,
+ * then the integer lower bound is the integer value of the lower bound string.
+ * Otherwise the lower bound is equal to the upper bound, unless the upper bound
+ * is unbounded, in which case the lower bound is 0.
+ * <!-- end-model-doc -->
+ *
+ * @model
+ * @generated
+ */
+ boolean typedElementDefinitionLowerDerivation(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The unlimited natural upper bound value is the unlimited natural value of
+ * the upper bound string (with "*" representing the unbounded value).
+ * <!-- end-model-doc -->
+ *
+ * @model
+ * @generated
+ */
+ boolean typedElementDefinitionUpperDerivation(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The type of a typed element definition is the single classifier referent
+ * of the type name.
+ * <!-- end-model-doc -->
+ *
+ * @model
+ * @generated
+ */
+ boolean typedElementDefinitionTypeDerivation(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The type name of a typed element definition must have a single classifier
+ * referent. This referent may not be a template.
+ * <!-- end-model-doc -->
+ *
+ * @model annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n self.typeName = null or self.type <> null and not self.type.isTemplate()'"
+ * @generated
+ */
+ boolean typedElementDefinitionTypeName(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model annotation=
+ * "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n if self.actualType <> null then\n self.actualType\n else if self.typeName = null then\n null\n else\n let types = self.typeName.referent->select(isClassifier()) in \n if types->size() <> 1 then\n null\n else\n types->any(true)\n endif\n endif endif'"
+ * @generated
+ */
+ ElementReference type();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model annotation=
+ * "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n if self.lowerBound <> null then\n self.lowerBound.toInteger()\n else if self.isMultiplicity or self.upperBound = \'*\' then\n 0\n else\n self.upper\n endif endif'"
+ * @generated
+ */
+ BigInteger lower();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n if self.isMultiplicity or self.upperBound = \'*\' then\n -1\n else \n self.upperBound.toInteger()\n endif'"
+ * @generated
+ */
+ BigInteger upper();
+
+} // TypedElementDefinition
diff --git a/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/UnaryExpression.java b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/UnaryExpression.java
new file mode 100644
index 00000000000..c1934d42cc5
--- /dev/null
+++ b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/UnaryExpression.java
@@ -0,0 +1,115 @@
+/**
+ */
+package org.eclipse.papyrus.uml.alf;
+
+import java.util.Map;
+
+import org.eclipse.emf.common.util.DiagnosticChain;
+import org.eclipse.emf.common.util.EList;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Unary Expression</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * An expression consisting of an operator acting on a single operand expression.
+ * <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.uml.alf.UnaryExpression#getOperator <em>Operator</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.UnaryExpression#getOperand <em>Operand</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getUnaryExpression()
+ * @model abstract="true"
+ * @generated
+ */
+public interface UnaryExpression extends Expression {
+ /**
+ * Returns the value of the '<em><b>Operator</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The symbol representing the operator.
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Operator</em>' attribute.
+ * @see #setOperator(String)
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getUnaryExpression_Operator()
+ * @model required="true"
+ * @generated
+ */
+ String getOperator();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.uml.alf.UnaryExpression#getOperator <em>Operator</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Operator</em>' attribute.
+ * @see #getOperator()
+ * @generated
+ */
+ void setOperator(String value);
+
+ /**
+ * Returns the value of the '<em><b>Operand</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The expression giving the operand.
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Operand</em>' containment reference.
+ * @see #setOperand(Expression)
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getUnaryExpression_Operand()
+ * @model containment="true" required="true"
+ * @generated
+ */
+ Expression getOperand();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.uml.alf.UnaryExpression#getOperand <em>Operand</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Operand</em>' containment reference.
+ * @see #getOperand()
+ * @generated
+ */
+ void setOperand(Expression value);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The assignments before the operand of a unary expression are the same as
+ * those before the unary expression.
+ * <!-- end-model-doc -->
+ *
+ * @model
+ * @generated
+ */
+ boolean unaryExpressionAssignmentsBefore(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * By default, the assignments after a unary expression are the same as
+ * those after its operand expression.
+ * <!-- end-model-doc -->
+ *
+ * @model ordered="false"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='self.operand.assignmentAfter'"
+ * @generated
+ */
+ EList<AssignedSource> updateAssignments();
+
+} // UnaryExpression
diff --git a/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/UnboundedLiteralExpression.java b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/UnboundedLiteralExpression.java
new file mode 100644
index 00000000000..96eeb99569a
--- /dev/null
+++ b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/UnboundedLiteralExpression.java
@@ -0,0 +1,46 @@
+/**
+ */
+package org.eclipse.papyrus.uml.alf;
+
+import java.util.Map;
+
+import org.eclipse.emf.common.util.DiagnosticChain;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Unbounded Literal Expression</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * An expression that comprises an unbounded value literal.
+ * <!-- end-model-doc -->
+ *
+ *
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getUnboundedLiteralExpression()
+ * @model
+ * @generated
+ */
+public interface UnboundedLiteralExpression extends LiteralExpression {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='self.unlimitedNaturalType()'"
+ * @generated
+ */
+ ElementReference type();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The type of an unbounded literal expression is UnlimitedNatural.
+ * (See the type() operation.)
+ * <!-- end-model-doc -->
+ *
+ * @model
+ * @generated
+ */
+ boolean unboundedLiteralExpressionTypeDerivation(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+} // UnboundedLiteralExpression
diff --git a/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/UnitDefinition.java b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/UnitDefinition.java
new file mode 100644
index 00000000000..63b4f792250
--- /dev/null
+++ b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/UnitDefinition.java
@@ -0,0 +1,309 @@
+/**
+ */
+package org.eclipse.papyrus.uml.alf;
+
+import java.util.Map;
+import org.eclipse.emf.common.util.DiagnosticChain;
+import org.eclipse.emf.common.util.EList;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Unit Definition</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * The definition of a namespace as an Alf unit.
+ * <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.uml.alf.UnitDefinition#getNamespaceName <em>Namespace Name</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.UnitDefinition#getDefinition <em>Definition</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.UnitDefinition#getImport <em>Import</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.UnitDefinition#getNamespace <em>Namespace</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.UnitDefinition#isIsModelLibrary <em>Is Model Library</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.UnitDefinition#getAppliedProfile <em>Applied Profile</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.UnitDefinition#getAnnotation <em>Annotation</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getUnitDefinition()
+ * @model
+ * @generated
+ */
+public interface UnitDefinition extends DocumentedElement {
+ /**
+ * Returns the value of the '<em><b>Namespace Name</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * A declaration of the name of the namespace that contains this unit as a
+ * subunit.
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Namespace Name</em>' containment reference.
+ * @see #setNamespaceName(QualifiedName)
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getUnitDefinition_NamespaceName()
+ * @model containment="true"
+ * @generated
+ */
+ QualifiedName getNamespaceName();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.uml.alf.UnitDefinition#getNamespaceName <em>Namespace Name</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Namespace Name</em>' containment reference.
+ * @see #getNamespaceName()
+ * @generated
+ */
+ void setNamespaceName(QualifiedName value);
+
+ /**
+ * Returns the value of the '<em><b>Definition</b></em>' containment reference.
+ * It is bidirectional and its opposite is '{@link org.eclipse.papyrus.uml.alf.NamespaceDefinition#getUnit <em>Unit</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The definition of the unit as a namespace.
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Definition</em>' containment reference.
+ * @see #setDefinition(NamespaceDefinition)
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getUnitDefinition_Definition()
+ * @see org.eclipse.papyrus.uml.alf.NamespaceDefinition#getUnit
+ * @model opposite="unit" containment="true" required="true"
+ * @generated
+ */
+ NamespaceDefinition getDefinition();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.uml.alf.UnitDefinition#getDefinition <em>Definition</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Definition</em>' containment reference.
+ * @see #getDefinition()
+ * @generated
+ */
+ void setDefinition(NamespaceDefinition value);
+
+ /**
+ * Returns the value of the '<em><b>Import</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.uml.alf.ImportReference}.
+ * It is bidirectional and its opposite is '{@link org.eclipse.papyrus.uml.alf.ImportReference#getUnit <em>Unit</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The set of references to imported elements or packages.
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Import</em>' containment reference list.
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getUnitDefinition_Import()
+ * @see org.eclipse.papyrus.uml.alf.ImportReference#getUnit
+ * @model opposite="unit" containment="true" ordered="false"
+ * @generated
+ */
+ EList<ImportReference> getImport();
+
+ /**
+ * Returns the value of the '<em><b>Namespace</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * A reference to the namespace denoted by the declared namespace name for
+ * the unit, if any.
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Namespace</em>' reference.
+ * @see #setNamespace(ElementReference)
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getUnitDefinition_Namespace()
+ * @model transient="true" volatile="true" derived="true"
+ * annotation=
+ * "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot derivation='\n if self.namespaceName = null then\n null\n else\n let referents = self.namespaceName.modelReferents() in\n if referents->size() = 1 then\n referents->any(true)\n else\n null\n endif\n endif'"
+ * @generated
+ */
+ ElementReference getNamespace();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.uml.alf.UnitDefinition#getNamespace <em>Namespace</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Namespace</em>' reference.
+ * @see #getNamespace()
+ * @generated
+ */
+ void setNamespace(ElementReference value);
+
+ /**
+ * Returns the value of the '<em><b>Is Model Library</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * Whether this unit definition is for a model library or not.
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Is Model Library</em>' attribute.
+ * @see #setIsModelLibrary(boolean)
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getUnitDefinition_IsModelLibrary()
+ * @model transient="true" volatile="true" derived="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot derivation='\n\n /* TODO: Allow real stereotype application. \052/\n self.annotation->exists(stereotypeName.pathName = \'ModelLibrary\')'"
+ * @generated
+ */
+ boolean isIsModelLibrary();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.uml.alf.UnitDefinition#isIsModelLibrary <em>Is Model Library</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Is Model Library</em>' attribute.
+ * @see #isIsModelLibrary()
+ * @generated
+ */
+ void setIsModelLibrary(boolean value);
+
+ /**
+ * Returns the value of the '<em><b>Applied Profile</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.uml.alf.ElementReference}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The profiles applied to this unit.
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Applied Profile</em>' reference list.
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getUnitDefinition_AppliedProfile()
+ * @model transient="true" volatile="true" derived="true" ordered="false"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot derivation='self.definition.appliedProfiles()'"
+ * @generated
+ */
+ EList<ElementReference> getAppliedProfile();
+
+ /**
+ * Returns the value of the '<em><b>Annotation</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.uml.alf.StereotypeAnnotation}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The stereotype annotations on this unit definition.
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Annotation</em>' containment reference list.
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getUnitDefinition_Annotation()
+ * @model containment="true" ordered="false"
+ * @generated
+ */
+ EList<StereotypeAnnotation> getAnnotation();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model ordered="false"
+ * annotation=
+ * "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n if self.isModelLibrary then\n self.import\n else\n self.import->union(self.implicitImports())\n endif'"
+ * @generated
+ */
+ EList<ImportReference> imports();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model ordered="false"
+ * annotation=
+ * "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n Set{\'PrimitiveTypes\', \'PrimitiveBehaviors\', \'BasicInputOutput\', \n \'CollectionFunctions\', \'CollectionClasses\'}->\n collect(name | self.implicitImportFor(name))->asSet()'"
+ * @generated
+ */
+ EList<ImportReference> implicitImports();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model required="true" nameRequired="true"
+ * annotation=
+ * "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n PackageImportReference {\n referentName = QualifiedName{\n nameBinding = Sequence{\n NameBinding{name = \'Alf\'},\n NameBinding{name = \'Library\'},\n NameBinding{name = name}\n }\n }\n }'"
+ * @generated
+ */
+ ImportReference implicitImportFor(String name);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * If a unit definition has a declared namespace name, then the containing
+ * namespace for the unit is the referent for that name.
+ * <!-- end-model-doc -->
+ *
+ * @model
+ * @generated
+ */
+ boolean unitDefinitionNamespaceDerivation(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The declared namespace name for a unit definition, if any, must resolve
+ * to a UML namespace or an Alf unit definition. If it is an Alf unit
+ * definition, then it must have a stub for this unit definition.
+ * <!-- end-model-doc -->
+ *
+ * @model annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n self.namespaceName <> null implies\n let namespace = self.namespace in\n namespace <> null and namespace.isNamespaceFor(self)'"
+ * @generated
+ */
+ boolean unitDefinitionNamespace(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * A unit definition is for a model library if its associated namespace
+ * definition has a stereotype annotation for the UML standard stereotype
+ * ModelLibrary.
+ * <!-- end-model-doc -->
+ *
+ * @model
+ * @generated
+ */
+ boolean unitDefinitionIsModelLibraryDerivation(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * Unless the unit definition is a model library, it has private package
+ * import references for all the sub-packages of the Alf::Library package.
+ * <!-- end-model-doc -->
+ *
+ * @model
+ * @generated
+ */
+ boolean unitDefinitionImplicitImports(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The profiles applied to a unit definition include any profiles applied
+ * to the containing namespace of the unit definition. If the unit
+ * definition is for a package, then the applied profiles for the unit
+ * definition also include the applied profiles for its associated package
+ * definition.
+ * <!-- end-model-doc -->
+ *
+ * @model
+ * @generated
+ */
+ boolean unitDefinitionAppliedProfileDerivation(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+} // UnitDefinition
diff --git a/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/WhileStatement.java b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/WhileStatement.java
new file mode 100644
index 00000000000..81adcf79232
--- /dev/null
+++ b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/WhileStatement.java
@@ -0,0 +1,180 @@
+/**
+ */
+package org.eclipse.papyrus.uml.alf;
+
+import java.util.Map;
+
+import org.eclipse.emf.common.util.DiagnosticChain;
+import org.eclipse.emf.common.util.EList;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>While Statement</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * A looping statement for which the continuation condition is first tested
+ * before the first iteration.
+ * <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.uml.alf.WhileStatement#getBody <em>Body</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.WhileStatement#getCondition <em>Condition</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getWhileStatement()
+ * @model
+ * @generated
+ */
+public interface WhileStatement extends Statement {
+ /**
+ * Returns the value of the '<em><b>Body</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The sequence of statements to be iteratively executed.
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Body</em>' containment reference.
+ * @see #setBody(Block)
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getWhileStatement_Body()
+ * @model containment="true" required="true"
+ * @generated
+ */
+ Block getBody();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.uml.alf.WhileStatement#getBody <em>Body</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Body</em>' containment reference.
+ * @see #getBody()
+ * @generated
+ */
+ void setBody(Block value);
+
+ /**
+ * Returns the value of the '<em><b>Condition</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The expression to be evaluated to determine whether to continue looping.
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Condition</em>' containment reference.
+ * @see #setCondition(Expression)
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#getWhileStatement_Condition()
+ * @model containment="true" required="true"
+ * @generated
+ */
+ Expression getCondition();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.uml.alf.WhileStatement#getCondition <em>Condition</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Condition</em>' containment reference.
+ * @see #getCondition()
+ * @generated
+ */
+ void setCondition(Expression value);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='self'"
+ * @generated
+ */
+ Statement enclosingLoopStatement();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model ordered="false" elementRequired="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n if self.body <> element then self.assignmentBefore\n else self.condition.assignmentAfter \n endif'"
+ * @generated
+ */
+ EList<AssignedSource> assignmentsBefore(SyntaxElement element);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model ordered="false"
+ * annotation=
+ * "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n let assignmentsBeforeBlock = self.body.assignmentBefore in\n self.body.newAssignments()->\n reject(a | assignmentsBeforeBlock.name->excludes(a.name))->\n iterate(a, assignments : Set(AssignedSource) = assignmentsBeforeBlock |\n AssignedSource{\n name = a.name,\n source = self,\n type = a.type,\n lower = a.lower,\n upper = a.upper\n }.update(assignments)\n )'"
+ * @generated
+ */
+ EList<AssignedSource> assignmentsAfter();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The assignments before the condition expression of a while statement
+ * are the same as the assignments before the while statement. The
+ * assignments before the block of the while statement are the same as the
+ * assignments after the condition expression.
+ * (See assignmentsBefore(element) operation.)
+ * <!-- end-model-doc -->
+ *
+ * @model
+ * @generated
+ */
+ boolean whileStatementAssignmentsBefore(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * If a name is assigned before the block, but the assigned source for the
+ * name after the block is different than before the block, then the assigned
+ * source of the name after the while statement is the while statement.
+ * Otherwise it is the same as before the block. If a name is unassigned
+ * before the block of a while statement, then it is unassigned after the
+ * while statement, even if it is assigned after the block.
+ * (See assignmentsAfter() operation.)
+ * <!-- end-model-doc -->
+ *
+ * @model
+ * @generated
+ */
+ boolean whileStatementAssignmentsAfter(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The condition expression of a while statement must have type Boolean and
+ * a multiplicity upper bound of 1.
+ * <!-- end-model-doc -->
+ *
+ * @model annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body='\n let type = self.condition.type in\n type <> null and self.isBooleanType(type) and self.condition.upper = 1'"
+ * @generated
+ */
+ boolean whileStatementCondition(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The enclosing statement for all statements in the body of a while
+ * statement are the while statement.
+ * (See the SyntaxElement::enclosingStatement() operation.)
+ * <!-- end-model-doc -->
+ *
+ * @model
+ * @generated
+ */
+ boolean whileStatementEnclosedStatements(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+} // WhileStatement
diff --git a/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/AcceptBlockImpl.java b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/AcceptBlockImpl.java
new file mode 100644
index 00000000000..82a03b6506b
--- /dev/null
+++ b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/AcceptBlockImpl.java
@@ -0,0 +1,293 @@
+package org.eclipse.papyrus.uml.alf.impl;
+
+import java.lang.reflect.InvocationTargetException;
+
+import java.util.Map;
+
+import org.eclipse.emf.common.util.BasicDiagnostic;
+import org.eclipse.emf.common.util.BasicEList;
+import org.eclipse.emf.common.util.Diagnostic;
+import org.eclipse.emf.common.util.DiagnosticChain;
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.common.util.WrappedException;
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.EOperation;
+import org.eclipse.emf.ecore.plugin.EcorePlugin;
+
+import org.eclipse.emf.ecore.util.EObjectValidator;
+
+import org.eclipse.papyrus.uml.alf.AcceptBlock;
+import org.eclipse.papyrus.uml.alf.AlfPackage;
+import org.eclipse.papyrus.uml.alf.AssignedSource;
+import org.eclipse.papyrus.uml.alf.Block;
+import org.eclipse.papyrus.uml.alf.ElementReference;
+import org.eclipse.papyrus.uml.alf.QualifiedNameList;
+
+import org.eclipse.papyrus.uml.alf.SyntaxElement;
+import org.eclipse.papyrus.uml.alf.util.AlfValidator;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Accept Block</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.uml.alf.impl.AcceptBlockImpl#getName <em>Name</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.impl.AcceptBlockImpl#getBlock <em>Block</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.impl.AcceptBlockImpl#getSignalNames <em>Signal Names</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.impl.AcceptBlockImpl#getSignal <em>Signal</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class AcceptBlockImpl extends SyntaxElementImpl implements AcceptBlock {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected AcceptBlockImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return AlfPackage.eINSTANCE.getAcceptBlock();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public String getName() {
+ return (String) eGet(AlfPackage.eINSTANCE.getAcceptBlock_Name(), true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setName(String newName) {
+ eSet(AlfPackage.eINSTANCE.getAcceptBlock_Name(), newName);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public Block getBlock() {
+ return (Block) eGet(AlfPackage.eINSTANCE.getAcceptBlock_Block(), true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setBlock(Block newBlock) {
+ eSet(AlfPackage.eINSTANCE.getAcceptBlock_Block(), newBlock);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public QualifiedNameList getSignalNames() {
+ return (QualifiedNameList) eGet(AlfPackage.eINSTANCE.getAcceptBlock_SignalNames(), true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setSignalNames(QualifiedNameList newSignalNames) {
+ eSet(AlfPackage.eINSTANCE.getAcceptBlock_SignalNames(), newSignalNames);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<ElementReference> getSignal() {
+ return (EList<ElementReference>) eGet(AlfPackage.eINSTANCE.getAcceptBlock_Signal(), true);
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #actualName() <em>Actual Name</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #actualName()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate ACTUAL_NAME__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getAcceptBlock__ActualName()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public String actualName() {
+ try {
+ return (String) ACTUAL_NAME__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #assignmentsBefore(org.eclipse.papyrus.uml.alf.SyntaxElement) <em>Assignments Before</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #assignmentsBefore(org.eclipse.papyrus.uml.alf.SyntaxElement)
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate ASSIGNMENTS_BEFORE_SYNTAX_ELEMENT__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getAcceptBlock__AssignmentsBefore__SyntaxElement()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<AssignedSource> assignmentsBefore(SyntaxElement element) {
+ try {
+ return (EList<AssignedSource>) ASSIGNMENTS_BEFORE_SYNTAX_ELEMENT__EINVOCATION_DELEGATE.dynamicInvoke(this, new BasicEList.UnmodifiableEList<Object>(1, new Object[] { element }));
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean acceptBlockSignalDerivation(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.ACCEPT_BLOCK__ACCEPT_BLOCK_SIGNAL_DERIVATION,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "acceptBlockSignalDerivation", EObjectValidator.getObjectLabel(this, context) }),
+ new Object[] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * The cached validation expression for the '{@link #acceptBlockSignalNames(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Accept Block Signal Names</em>}' invariant operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #acceptBlockSignalNames(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ * @ordered
+ */
+ protected static final String ACCEPT_BLOCK_SIGNAL_NAMES_DIAGNOSTIC_CHAIN_MAP__EEXPRESSION = "\n" +
+ " self.signalNames.name->forAll(\n" +
+ " referent->select(isSignal())->size() = 1\n" +
+ " )";
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean acceptBlockSignalNames(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return AlfValidator.validate
+ (AlfPackage.eINSTANCE.getAcceptBlock(),
+ this,
+ diagnostics,
+ context,
+ "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot",
+ AlfPackage.eINSTANCE.getAcceptBlock__AcceptBlockSignalNames__DiagnosticChain_Map(),
+ ACCEPT_BLOCK_SIGNAL_NAMES_DIAGNOSTIC_CHAIN_MAP__EEXPRESSION,
+ Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.ACCEPT_BLOCK__ACCEPT_BLOCK_SIGNAL_NAMES);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public int eDerivedOperationID(int baseOperationID, Class<?> baseClass) {
+ if (baseClass == SyntaxElement.class) {
+ switch (baseOperationID) {
+ case AlfPackage.SYNTAX_ELEMENT___ASSIGNMENTS_BEFORE__SYNTAXELEMENT:
+ return AlfPackage.ACCEPT_BLOCK___ASSIGNMENTS_BEFORE__SYNTAXELEMENT;
+ default:
+ return super.eDerivedOperationID(baseOperationID, baseClass);
+ }
+ }
+ return super.eDerivedOperationID(baseOperationID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object eInvoke(int operationID, EList<?> arguments) throws InvocationTargetException {
+ switch (operationID) {
+ case AlfPackage.ACCEPT_BLOCK___ACTUAL_NAME:
+ return actualName();
+ case AlfPackage.ACCEPT_BLOCK___ASSIGNMENTS_BEFORE__SYNTAXELEMENT:
+ return assignmentsBefore((SyntaxElement) arguments.get(0));
+ case AlfPackage.ACCEPT_BLOCK___ACCEPT_BLOCK_SIGNAL_DERIVATION__DIAGNOSTICCHAIN_MAP:
+ return acceptBlockSignalDerivation((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ case AlfPackage.ACCEPT_BLOCK___ACCEPT_BLOCK_SIGNAL_NAMES__DIAGNOSTICCHAIN_MAP:
+ return acceptBlockSignalNames((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ }
+ return super.eInvoke(operationID, arguments);
+ }
+
+} // AcceptBlockImpl
diff --git a/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/AcceptStatementImpl.java b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/AcceptStatementImpl.java
new file mode 100644
index 00000000000..612c7d93912
--- /dev/null
+++ b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/AcceptStatementImpl.java
@@ -0,0 +1,585 @@
+/**
+ */
+package org.eclipse.papyrus.uml.alf.impl;
+
+import java.lang.reflect.InvocationTargetException;
+
+import java.util.Map;
+
+import org.eclipse.emf.common.util.BasicDiagnostic;
+import org.eclipse.emf.common.util.BasicEList;
+import org.eclipse.emf.common.util.Diagnostic;
+import org.eclipse.emf.common.util.DiagnosticChain;
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.common.util.WrappedException;
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.EOperation;
+import org.eclipse.emf.ecore.plugin.EcorePlugin;
+
+import org.eclipse.emf.ecore.util.EObjectValidator;
+
+import org.eclipse.papyrus.uml.alf.AcceptBlock;
+import org.eclipse.papyrus.uml.alf.AcceptStatement;
+import org.eclipse.papyrus.uml.alf.AlfPackage;
+import org.eclipse.papyrus.uml.alf.AssignedSource;
+import org.eclipse.papyrus.uml.alf.ElementReference;
+
+import org.eclipse.papyrus.uml.alf.Statement;
+import org.eclipse.papyrus.uml.alf.util.AlfValidator;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Accept Statement</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.uml.alf.impl.AcceptStatementImpl#getAcceptBlock <em>Accept Block</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.impl.AcceptStatementImpl#getBehavior <em>Behavior</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.impl.AcceptStatementImpl#isIsSimple <em>Is Simple</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class AcceptStatementImpl extends StatementImpl implements AcceptStatement {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected AcceptStatementImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return AlfPackage.eINSTANCE.getAcceptStatement();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<AcceptBlock> getAcceptBlock() {
+ return (EList<AcceptBlock>) eGet(AlfPackage.eINSTANCE.getAcceptStatement_AcceptBlock(), true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public ElementReference getBehavior() {
+ return (ElementReference) eGet(AlfPackage.eINSTANCE.getAcceptStatement_Behavior(), true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setBehavior(ElementReference newBehavior) {
+ eSet(AlfPackage.eINSTANCE.getAcceptStatement_Behavior(), newBehavior);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isIsSimple() {
+ return (Boolean) eGet(AlfPackage.eINSTANCE.getAcceptStatement_IsSimple(), true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setIsSimple(boolean newIsSimple) {
+ eSet(AlfPackage.eINSTANCE.getAcceptStatement_IsSimple(), newIsSimple);
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #assignmentsAfter() <em>Assignments After</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #assignmentsAfter()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate ASSIGNMENTS_AFTER__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getAcceptStatement__AssignmentsAfter()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<AssignedSource> assignmentsAfter() {
+ try {
+ return (EList<AssignedSource>) ASSIGNMENTS_AFTER__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated NOT
+ */
+ public ElementReference effectiveBehavior() {
+ return this.effectiveBehavior_();
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #effectiveBehavior_() <em>Effective Behavior </em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #effectiveBehavior_()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate EFFECTIVE_BEHAVIOR___EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getAcceptStatement__EffectiveBehavior_()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public ElementReference effectiveBehavior_() {
+ try {
+ return (ElementReference) EFFECTIVE_BEHAVIOR___EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached validation expression for the '{@link #acceptStatementContext(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Accept Statement Context</em>}' invariant operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #acceptStatementContext(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ * @ordered
+ */
+ protected static final String ACCEPT_STATEMENT_CONTEXT_DIAGNOSTIC_CHAIN_MAP__EEXPRESSION = "\n" +
+ " let behavior = self.effectiveBehavior() in\n" +
+ " behavior <> null and behavior.isActiveBehavior()";
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean acceptStatementContext(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return AlfValidator.validate
+ (AlfPackage.eINSTANCE.getAcceptStatement(),
+ this,
+ diagnostics,
+ context,
+ "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot",
+ AlfPackage.eINSTANCE.getAcceptStatement__AcceptStatementContext__DiagnosticChain_Map(),
+ ACCEPT_STATEMENT_CONTEXT_DIAGNOSTIC_CHAIN_MAP__EEXPRESSION,
+ Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.ACCEPT_STATEMENT__ACCEPT_STATEMENT_CONTEXT);
+ }
+
+ /**
+ * The cached validation expression for the '{@link #acceptStatementSignals(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Accept Statement Signals</em>}' invariant operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #acceptStatementSignals(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ * @ordered
+ */
+ protected static final String ACCEPT_STATEMENT_SIGNALS_DIAGNOSTIC_CHAIN_MAP__EEXPRESSION = "\n" +
+ " let signals : Bag(ElementReference) = self.acceptBlock.signal in\n" +
+ " let behavior = self.effectiveBehavior() in\n" +
+ " let activeClass = \n" +
+ " if behavior = null then null \n" +
+ " else behavior.activeClass() \n" +
+ " endif \n" +
+ " in\n" +
+ " signals->forAll(s | signals->select(equals(s))->size() = 1) and\n" +
+ " (activeClass = null or -- Let the acceptStatementContext constraint catch a null active class.\n" +
+ " signals->forAll(containedIn(self.receivedSignals(activeClass))))";
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean acceptStatementSignals(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return AlfValidator.validate
+ (AlfPackage.eINSTANCE.getAcceptStatement(),
+ this,
+ diagnostics,
+ context,
+ "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot",
+ AlfPackage.eINSTANCE.getAcceptStatement__AcceptStatementSignals__DiagnosticChain_Map(),
+ ACCEPT_STATEMENT_SIGNALS_DIAGNOSTIC_CHAIN_MAP__EEXPRESSION,
+ Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.ACCEPT_STATEMENT__ACCEPT_STATEMENT_SIGNALS);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated NOT
+ */
+ public EList<ElementReference> receivedSignals(ElementReference activeClass) {
+ return this.receivedSignals_(activeClass);
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #receivedSignals_(org.eclipse.papyrus.uml.alf.ElementReference) <em>Received Signals </em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #receivedSignals_(org.eclipse.papyrus.uml.alf.ElementReference)
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate RECEIVED_SIGNALS_ELEMENT_REFERENCE__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getAcceptStatement__ReceivedSignals___ElementReference()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<ElementReference> receivedSignals_(ElementReference activeClass) {
+ try {
+ return (EList<ElementReference>) RECEIVED_SIGNALS_ELEMENT_REFERENCE__EINVOCATION_DELEGATE.dynamicInvoke(this, new BasicEList.UnmodifiableEList<Object>(1, new Object[] { activeClass }));
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached validation expression for the '{@link #acceptStatementNames(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Accept Statement Names</em>}' invariant operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #acceptStatementNames(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ * @ordered
+ */
+ protected static final String ACCEPT_STATEMENT_NAMES_DIAGNOSTIC_CHAIN_MAP__EEXPRESSION = "\n" +
+ " let namesBefore = self.assignmentBefore.name in\n" +
+ " self.acceptBlock.actualName()->excludesAll(namesBefore)";
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean acceptStatementNames(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return AlfValidator.validate
+ (AlfPackage.eINSTANCE.getAcceptStatement(),
+ this,
+ diagnostics,
+ context,
+ "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot",
+ AlfPackage.eINSTANCE.getAcceptStatement__AcceptStatementNames__DiagnosticChain_Map(),
+ ACCEPT_STATEMENT_NAMES_DIAGNOSTIC_CHAIN_MAP__EEXPRESSION,
+ Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.ACCEPT_STATEMENT__ACCEPT_STATEMENT_NAMES);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean acceptStatementSimpleAcceptLocalName(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.ACCEPT_STATEMENT__ACCEPT_STATEMENT_SIMPLE_ACCEPT_LOCAL_NAME,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "acceptStatementSimpleAcceptLocalName", EObjectValidator.getObjectLabel(this, context) }),
+ new Object[] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean acceptStatementCompoundAcceptLocalName(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.ACCEPT_STATEMENT__ACCEPT_STATEMENT_COMPOUND_ACCEPT_LOCAL_NAME,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "acceptStatementCompoundAcceptLocalName", EObjectValidator.getObjectLabel(this, context) }),
+ new Object[] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean acceptStatementAssignmentsBefore(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.ACCEPT_STATEMENT__ACCEPT_STATEMENT_ASSIGNMENTS_BEFORE,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "acceptStatementAssignmentsBefore", EObjectValidator.getObjectLabel(this, context) }),
+ new Object[] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean acceptStatementAssignmentsAfter(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.ACCEPT_STATEMENT__ACCEPT_STATEMENT_ASSIGNMENTS_AFTER,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "acceptStatementAssignmentsAfter", EObjectValidator.getObjectLabel(this, context) }),
+ new Object[] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * The cached validation expression for the '{@link #acceptStatementNewAssignments(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Accept Statement New Assignments</em>}' invariant operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #acceptStatementNewAssignments(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ * @ordered
+ */
+ protected static final String ACCEPT_STATEMENT_NEW_ASSIGNMENTS_DIAGNOSTIC_CHAIN_MAP__EEXPRESSION = "\n" +
+ " if self.acceptBlock->size() = 1 then true\n" +
+ " else\n" +
+ " let namesBefore = self.assignmentBefore.name in\n" +
+ " let newNames : Bag(String) = \n" +
+ " self.acceptBlock.block.newAssignments().name in\n" +
+ " newNames->forAll(name | \n" +
+ " namesBefore->excludes(name) implies \n" +
+ " newNames->count(name) = self.acceptBlock->size()\n" +
+ " )\n" +
+ " endif";
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean acceptStatementNewAssignments(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return AlfValidator.validate
+ (AlfPackage.eINSTANCE.getAcceptStatement(),
+ this,
+ diagnostics,
+ context,
+ "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot",
+ AlfPackage.eINSTANCE.getAcceptStatement__AcceptStatementNewAssignments__DiagnosticChain_Map(),
+ ACCEPT_STATEMENT_NEW_ASSIGNMENTS_DIAGNOSTIC_CHAIN_MAP__EEXPRESSION,
+ Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.ACCEPT_STATEMENT__ACCEPT_STATEMENT_NEW_ASSIGNMENTS);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean acceptStatementIsSimpleDerivation(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.ACCEPT_STATEMENT__ACCEPT_STATEMENT_IS_SIMPLE_DERIVATION,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "acceptStatementIsSimpleDerivation", EObjectValidator.getObjectLabel(this, context) }),
+ new Object[] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean acceptStatementEnclosedStatements(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.ACCEPT_STATEMENT__ACCEPT_STATEMENT_ENCLOSED_STATEMENTS,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "acceptStatementEnclosedStatements", EObjectValidator.getObjectLabel(this, context) }),
+ new Object[] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public int eDerivedOperationID(int baseOperationID, Class<?> baseClass) {
+ if (baseClass == Statement.class) {
+ switch (baseOperationID) {
+ case AlfPackage.STATEMENT___ASSIGNMENTS_AFTER:
+ return AlfPackage.ACCEPT_STATEMENT___ASSIGNMENTS_AFTER;
+ default:
+ return super.eDerivedOperationID(baseOperationID, baseClass);
+ }
+ }
+ return super.eDerivedOperationID(baseOperationID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object eInvoke(int operationID, EList<?> arguments) throws InvocationTargetException {
+ switch (operationID) {
+ case AlfPackage.ACCEPT_STATEMENT___ASSIGNMENTS_AFTER:
+ return assignmentsAfter();
+ case AlfPackage.ACCEPT_STATEMENT___EFFECTIVE_BEHAVIOR:
+ return effectiveBehavior();
+ case AlfPackage.ACCEPT_STATEMENT___EFFECTIVE_BEHAVIOR_:
+ return effectiveBehavior_();
+ case AlfPackage.ACCEPT_STATEMENT___ACCEPT_STATEMENT_CONTEXT__DIAGNOSTICCHAIN_MAP:
+ return acceptStatementContext((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ case AlfPackage.ACCEPT_STATEMENT___ACCEPT_STATEMENT_SIGNALS__DIAGNOSTICCHAIN_MAP:
+ return acceptStatementSignals((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ case AlfPackage.ACCEPT_STATEMENT___RECEIVED_SIGNALS__ELEMENTREFERENCE:
+ return receivedSignals((ElementReference) arguments.get(0));
+ case AlfPackage.ACCEPT_STATEMENT___RECEIVED_SIGNALS____ELEMENTREFERENCE:
+ return receivedSignals_((ElementReference) arguments.get(0));
+ case AlfPackage.ACCEPT_STATEMENT___ACCEPT_STATEMENT_NAMES__DIAGNOSTICCHAIN_MAP:
+ return acceptStatementNames((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ case AlfPackage.ACCEPT_STATEMENT___ACCEPT_STATEMENT_SIMPLE_ACCEPT_LOCAL_NAME__DIAGNOSTICCHAIN_MAP:
+ return acceptStatementSimpleAcceptLocalName((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ case AlfPackage.ACCEPT_STATEMENT___ACCEPT_STATEMENT_COMPOUND_ACCEPT_LOCAL_NAME__DIAGNOSTICCHAIN_MAP:
+ return acceptStatementCompoundAcceptLocalName((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ case AlfPackage.ACCEPT_STATEMENT___ACCEPT_STATEMENT_ASSIGNMENTS_BEFORE__DIAGNOSTICCHAIN_MAP:
+ return acceptStatementAssignmentsBefore((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ case AlfPackage.ACCEPT_STATEMENT___ACCEPT_STATEMENT_ASSIGNMENTS_AFTER__DIAGNOSTICCHAIN_MAP:
+ return acceptStatementAssignmentsAfter((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ case AlfPackage.ACCEPT_STATEMENT___ACCEPT_STATEMENT_NEW_ASSIGNMENTS__DIAGNOSTICCHAIN_MAP:
+ return acceptStatementNewAssignments((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ case AlfPackage.ACCEPT_STATEMENT___ACCEPT_STATEMENT_IS_SIMPLE_DERIVATION__DIAGNOSTICCHAIN_MAP:
+ return acceptStatementIsSimpleDerivation((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ case AlfPackage.ACCEPT_STATEMENT___ACCEPT_STATEMENT_ENCLOSED_STATEMENTS__DIAGNOSTICCHAIN_MAP:
+ return acceptStatementEnclosedStatements((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ }
+ return super.eInvoke(operationID, arguments);
+ }
+
+} // AcceptStatementImpl
diff --git a/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/ActiveClassDefinitionImpl.java b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/ActiveClassDefinitionImpl.java
new file mode 100644
index 00000000000..21497998292
--- /dev/null
+++ b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/ActiveClassDefinitionImpl.java
@@ -0,0 +1,189 @@
+/**
+ */
+package org.eclipse.papyrus.uml.alf.impl;
+
+import java.lang.reflect.InvocationTargetException;
+import java.util.Map;
+import org.eclipse.emf.common.util.BasicEList;
+import org.eclipse.emf.common.util.Diagnostic;
+import org.eclipse.emf.common.util.DiagnosticChain;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.common.util.WrappedException;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EOperation;
+import org.eclipse.papyrus.uml.alf.ActiveClassDefinition;
+import org.eclipse.papyrus.uml.alf.ActivityDefinition;
+import org.eclipse.papyrus.uml.alf.AlfPackage;
+import org.eclipse.papyrus.uml.alf.ClassDefinition;
+import org.eclipse.papyrus.uml.alf.ClassifierDefinition;
+import org.eclipse.papyrus.uml.alf.MemberDefinition;
+import org.eclipse.papyrus.uml.alf.UnitDefinition;
+import org.eclipse.papyrus.uml.alf.util.AlfValidator;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Active Class Definition</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.uml.alf.impl.ActiveClassDefinitionImpl#getClassifierBehavior <em>Classifier Behavior</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class ActiveClassDefinitionImpl extends ClassDefinitionImpl implements ActiveClassDefinition {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected ActiveClassDefinitionImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return AlfPackage.eINSTANCE.getActiveClassDefinition();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public ActivityDefinition getClassifierBehavior() {
+ return (ActivityDefinition) eGet(AlfPackage.eINSTANCE.getActiveClassDefinition_ClassifierBehavior(), true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setClassifierBehavior(ActivityDefinition newClassifierBehavior) {
+ eSet(AlfPackage.eINSTANCE.getActiveClassDefinition_ClassifierBehavior(), newClassifierBehavior);
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #matchForStub(org.eclipse.papyrus.uml.alf.UnitDefinition) <em>Match For Stub</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #matchForStub(org.eclipse.papyrus.uml.alf.UnitDefinition)
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate MATCH_FOR_STUB_UNIT_DEFINITION__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getActiveClassDefinition__MatchForStub__UnitDefinition()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean matchForStub(UnitDefinition unit) {
+ try {
+ return (Boolean) MATCH_FOR_STUB_UNIT_DEFINITION__EINVOCATION_DELEGATE.dynamicInvoke(this, new BasicEList.UnmodifiableEList<Object>(1, new Object[] { unit }));
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached validation expression for the '{@link #activeClassDefinitionClassifierBehavior(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Active Class Definition Classifier Behavior</em>}' invariant operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #activeClassDefinitionClassifierBehavior(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ * @ordered
+ */
+ protected static final String ACTIVE_CLASS_DEFINITION_CLASSIFIER_BEHAVIOR_DIAGNOSTIC_CHAIN_MAP__EEXPRESSION = "\n" +
+ " not self.isAbstract implies self.classifierBehavior <> null";
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean activeClassDefinitionClassifierBehavior(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return AlfValidator.validate
+ (AlfPackage.eINSTANCE.getActiveClassDefinition(),
+ this,
+ diagnostics,
+ context,
+ "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot",
+ AlfPackage.eINSTANCE.getActiveClassDefinition__ActiveClassDefinitionClassifierBehavior__DiagnosticChain_Map(),
+ ACTIVE_CLASS_DEFINITION_CLASSIFIER_BEHAVIOR_DIAGNOSTIC_CHAIN_MAP__EEXPRESSION,
+ Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.ACTIVE_CLASS_DEFINITION__ACTIVE_CLASS_DEFINITION_CLASSIFIER_BEHAVIOR);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public int eDerivedOperationID(int baseOperationID, Class<?> baseClass) {
+ if (baseClass == MemberDefinition.class) {
+ switch (baseOperationID) {
+ case AlfPackage.MEMBER_DEFINITION___MATCH_FOR_STUB__UNITDEFINITION:
+ return AlfPackage.ACTIVE_CLASS_DEFINITION___MATCH_FOR_STUB__UNITDEFINITION;
+ default:
+ return super.eDerivedOperationID(baseOperationID, baseClass);
+ }
+ }
+ if (baseClass == ClassifierDefinition.class) {
+ switch (baseOperationID) {
+ case AlfPackage.CLASSIFIER_DEFINITION___MATCH_FOR_STUB__UNITDEFINITION:
+ return AlfPackage.ACTIVE_CLASS_DEFINITION___MATCH_FOR_STUB__UNITDEFINITION;
+ default:
+ return super.eDerivedOperationID(baseOperationID, baseClass);
+ }
+ }
+ if (baseClass == ClassDefinition.class) {
+ switch (baseOperationID) {
+ case AlfPackage.CLASS_DEFINITION___MATCH_FOR_STUB__UNITDEFINITION:
+ return AlfPackage.ACTIVE_CLASS_DEFINITION___MATCH_FOR_STUB__UNITDEFINITION;
+ default:
+ return super.eDerivedOperationID(baseOperationID, baseClass);
+ }
+ }
+ return super.eDerivedOperationID(baseOperationID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object eInvoke(int operationID, EList<?> arguments) throws InvocationTargetException {
+ switch (operationID) {
+ case AlfPackage.ACTIVE_CLASS_DEFINITION___MATCH_FOR_STUB__UNITDEFINITION:
+ return matchForStub((UnitDefinition) arguments.get(0));
+ case AlfPackage.ACTIVE_CLASS_DEFINITION___ACTIVE_CLASS_DEFINITION_CLASSIFIER_BEHAVIOR__DIAGNOSTICCHAIN_MAP:
+ return activeClassDefinitionClassifierBehavior((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ }
+ return super.eInvoke(operationID, arguments);
+ }
+
+} // ActiveClassDefinitionImpl
diff --git a/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/ActivityDefinitionImpl.java b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/ActivityDefinitionImpl.java
new file mode 100644
index 00000000000..ee2421206b8
--- /dev/null
+++ b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/ActivityDefinitionImpl.java
@@ -0,0 +1,353 @@
+/**
+ */
+package org.eclipse.papyrus.uml.alf.impl;
+
+import java.lang.reflect.InvocationTargetException;
+import java.util.Map;
+import org.eclipse.emf.common.util.BasicEList;
+import org.eclipse.emf.common.util.Diagnostic;
+import org.eclipse.emf.common.util.DiagnosticChain;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.common.util.WrappedException;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EOperation;
+import org.eclipse.papyrus.uml.alf.ActivityDefinition;
+import org.eclipse.papyrus.uml.alf.AlfPackage;
+import org.eclipse.papyrus.uml.alf.AssignedSource;
+import org.eclipse.papyrus.uml.alf.Block;
+import org.eclipse.papyrus.uml.alf.ClassifierDefinition;
+import org.eclipse.papyrus.uml.alf.ElementReference;
+import org.eclipse.papyrus.uml.alf.MemberDefinition;
+import org.eclipse.papyrus.uml.alf.NamespaceDefinition;
+import org.eclipse.papyrus.uml.alf.StereotypeAnnotation;
+import org.eclipse.papyrus.uml.alf.SyntaxElement;
+import org.eclipse.papyrus.uml.alf.UnitDefinition;
+import org.eclipse.papyrus.uml.alf.util.AlfValidator;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Activity Definition</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.uml.alf.impl.ActivityDefinitionImpl#getBody <em>Body</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class ActivityDefinitionImpl extends ClassifierDefinitionImpl implements ActivityDefinition {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected ActivityDefinitionImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return AlfPackage.eINSTANCE.getActivityDefinition();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public Block getBody() {
+ return (Block) eGet(AlfPackage.eINSTANCE.getActivityDefinition_Body(), true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setBody(Block newBody) {
+ eSet(AlfPackage.eINSTANCE.getActivityDefinition_Body(), newBody);
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #assignmentsBefore(org.eclipse.papyrus.uml.alf.SyntaxElement) <em>Assignments Before</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #assignmentsBefore(org.eclipse.papyrus.uml.alf.SyntaxElement)
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate ASSIGNMENTS_BEFORE_SYNTAX_ELEMENT__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getActivityDefinition__AssignmentsBefore__SyntaxElement()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<AssignedSource> assignmentsBefore(SyntaxElement element) {
+ try {
+ return (EList<AssignedSource>) ASSIGNMENTS_BEFORE_SYNTAX_ELEMENT__EINVOCATION_DELEGATE.dynamicInvoke(this, new BasicEList.UnmodifiableEList<Object>(1, new Object[] { element }));
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #outerScope() <em>Outer Scope</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #outerScope()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate OUTER_SCOPE__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getActivityDefinition__OuterScope()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public ElementReference outerScope() {
+ try {
+ return (ElementReference) OUTER_SCOPE__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #annotationAllowed(org.eclipse.papyrus.uml.alf.StereotypeAnnotation) <em>Annotation Allowed</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #annotationAllowed(org.eclipse.papyrus.uml.alf.StereotypeAnnotation)
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate ANNOTATION_ALLOWED_STEREOTYPE_ANNOTATION__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getActivityDefinition__AnnotationAllowed__StereotypeAnnotation())
+ .getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean annotationAllowed(StereotypeAnnotation annotation) {
+ try {
+ return (Boolean) ANNOTATION_ALLOWED_STEREOTYPE_ANNOTATION__EINVOCATION_DELEGATE.dynamicInvoke(this, new BasicEList.UnmodifiableEList<Object>(1, new Object[] { annotation }));
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #matchForStub(org.eclipse.papyrus.uml.alf.UnitDefinition) <em>Match For Stub</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #matchForStub(org.eclipse.papyrus.uml.alf.UnitDefinition)
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate MATCH_FOR_STUB_UNIT_DEFINITION__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getActivityDefinition__MatchForStub__UnitDefinition()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean matchForStub(UnitDefinition unit) {
+ try {
+ return (Boolean) MATCH_FOR_STUB_UNIT_DEFINITION__EINVOCATION_DELEGATE.dynamicInvoke(this, new BasicEList.UnmodifiableEList<Object>(1, new Object[] { unit }));
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #isSameKindAs(org.eclipse.papyrus.uml.alf.ElementReference) <em>Is Same Kind As</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #isSameKindAs(org.eclipse.papyrus.uml.alf.ElementReference)
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate IS_SAME_KIND_AS_ELEMENT_REFERENCE__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getActivityDefinition__IsSameKindAs__ElementReference()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isSameKindAs(ElementReference member) {
+ try {
+ return (Boolean) IS_SAME_KIND_AS_ELEMENT_REFERENCE__EINVOCATION_DELEGATE.dynamicInvoke(this, new BasicEList.UnmodifiableEList<Object>(1, new Object[] { member }));
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached validation expression for the '{@link #activityDefinitionSpecialization(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Activity Definition Specialization</em>}' invariant operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #activityDefinitionSpecialization(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ * @ordered
+ */
+ protected static final String ACTIVITY_DEFINITION_SPECIALIZATION_DIAGNOSTIC_CHAIN_MAP__EEXPRESSION = "\n" +
+ " self.specialization = null";
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean activityDefinitionSpecialization(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return AlfValidator.validate
+ (AlfPackage.eINSTANCE.getActivityDefinition(),
+ this,
+ diagnostics,
+ context,
+ "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot",
+ AlfPackage.eINSTANCE.getActivityDefinition__ActivityDefinitionSpecialization__DiagnosticChain_Map(),
+ ACTIVITY_DEFINITION_SPECIALIZATION_DIAGNOSTIC_CHAIN_MAP__EEXPRESSION,
+ Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.ACTIVITY_DEFINITION__ACTIVITY_DEFINITION_SPECIALIZATION);
+ }
+
+ /**
+ * The cached validation expression for the '{@link #activityDefinitionPrimitive(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Activity Definition Primitive</em>}' invariant operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #activityDefinitionPrimitive(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ * @ordered
+ */
+ protected static final String ACTIVITY_DEFINITION_PRIMITIVE_DIAGNOSTIC_CHAIN_MAP__EEXPRESSION = "\n" +
+ " self.isPrimitive implies self.body = null";
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean activityDefinitionPrimitive(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return AlfValidator.validate
+ (AlfPackage.eINSTANCE.getActivityDefinition(),
+ this,
+ diagnostics,
+ context,
+ "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot",
+ AlfPackage.eINSTANCE.getActivityDefinition__ActivityDefinitionPrimitive__DiagnosticChain_Map(),
+ ACTIVITY_DEFINITION_PRIMITIVE_DIAGNOSTIC_CHAIN_MAP__EEXPRESSION,
+ Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.ACTIVITY_DEFINITION__ACTIVITY_DEFINITION_PRIMITIVE);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public int eDerivedOperationID(int baseOperationID, Class<?> baseClass) {
+ if (baseClass == SyntaxElement.class) {
+ switch (baseOperationID) {
+ case AlfPackage.SYNTAX_ELEMENT___ASSIGNMENTS_BEFORE__SYNTAXELEMENT:
+ return AlfPackage.ACTIVITY_DEFINITION___ASSIGNMENTS_BEFORE__SYNTAXELEMENT;
+ default:
+ return super.eDerivedOperationID(baseOperationID, baseClass);
+ }
+ }
+ if (baseClass == MemberDefinition.class) {
+ switch (baseOperationID) {
+ case AlfPackage.MEMBER_DEFINITION___OUTER_SCOPE:
+ return AlfPackage.ACTIVITY_DEFINITION___OUTER_SCOPE;
+ case AlfPackage.MEMBER_DEFINITION___ANNOTATION_ALLOWED__STEREOTYPEANNOTATION:
+ return AlfPackage.ACTIVITY_DEFINITION___ANNOTATION_ALLOWED__STEREOTYPEANNOTATION;
+ case AlfPackage.MEMBER_DEFINITION___MATCH_FOR_STUB__UNITDEFINITION:
+ return AlfPackage.ACTIVITY_DEFINITION___MATCH_FOR_STUB__UNITDEFINITION;
+ case AlfPackage.MEMBER_DEFINITION___IS_SAME_KIND_AS__ELEMENTREFERENCE:
+ return AlfPackage.ACTIVITY_DEFINITION___IS_SAME_KIND_AS__ELEMENTREFERENCE;
+ default:
+ return super.eDerivedOperationID(baseOperationID, baseClass);
+ }
+ }
+ if (baseClass == NamespaceDefinition.class) {
+ switch (baseOperationID) {
+ case AlfPackage.NAMESPACE_DEFINITION___OUTER_SCOPE:
+ return AlfPackage.ACTIVITY_DEFINITION___OUTER_SCOPE;
+ case AlfPackage.NAMESPACE_DEFINITION___ANNOTATION_ALLOWED__STEREOTYPEANNOTATION:
+ return AlfPackage.ACTIVITY_DEFINITION___ANNOTATION_ALLOWED__STEREOTYPEANNOTATION;
+ default:
+ return super.eDerivedOperationID(baseOperationID, baseClass);
+ }
+ }
+ if (baseClass == ClassifierDefinition.class) {
+ switch (baseOperationID) {
+ case AlfPackage.CLASSIFIER_DEFINITION___MATCH_FOR_STUB__UNITDEFINITION:
+ return AlfPackage.ACTIVITY_DEFINITION___MATCH_FOR_STUB__UNITDEFINITION;
+ default:
+ return super.eDerivedOperationID(baseOperationID, baseClass);
+ }
+ }
+ return super.eDerivedOperationID(baseOperationID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object eInvoke(int operationID, EList<?> arguments) throws InvocationTargetException {
+ switch (operationID) {
+ case AlfPackage.ACTIVITY_DEFINITION___ASSIGNMENTS_BEFORE__SYNTAXELEMENT:
+ return assignmentsBefore((SyntaxElement) arguments.get(0));
+ case AlfPackage.ACTIVITY_DEFINITION___OUTER_SCOPE:
+ return outerScope();
+ case AlfPackage.ACTIVITY_DEFINITION___ANNOTATION_ALLOWED__STEREOTYPEANNOTATION:
+ return annotationAllowed((StereotypeAnnotation) arguments.get(0));
+ case AlfPackage.ACTIVITY_DEFINITION___MATCH_FOR_STUB__UNITDEFINITION:
+ return matchForStub((UnitDefinition) arguments.get(0));
+ case AlfPackage.ACTIVITY_DEFINITION___IS_SAME_KIND_AS__ELEMENTREFERENCE:
+ return isSameKindAs((ElementReference) arguments.get(0));
+ case AlfPackage.ACTIVITY_DEFINITION___ACTIVITY_DEFINITION_SPECIALIZATION__DIAGNOSTICCHAIN_MAP:
+ return activityDefinitionSpecialization((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ case AlfPackage.ACTIVITY_DEFINITION___ACTIVITY_DEFINITION_PRIMITIVE__DIAGNOSTICCHAIN_MAP:
+ return activityDefinitionPrimitive((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ }
+ return super.eInvoke(operationID, arguments);
+ }
+
+} // ActivityDefinitionImpl
diff --git a/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/AlfFactoryImpl.java b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/AlfFactoryImpl.java
new file mode 100644
index 00000000000..6572db6cf07
--- /dev/null
+++ b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/AlfFactoryImpl.java
@@ -0,0 +1,1571 @@
+/**
+ */
+package org.eclipse.papyrus.uml.alf.impl;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EPackage;
+
+import org.eclipse.emf.ecore.impl.EFactoryImpl;
+
+import org.eclipse.emf.ecore.plugin.EcorePlugin;
+
+import org.eclipse.papyrus.uml.alf.*;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model <b>Factory</b>.
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+public class AlfFactoryImpl extends EFactoryImpl implements AlfFactory {
+ /**
+ * Creates the default factory implementation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static AlfFactory init() {
+ try {
+ AlfFactory theAlfFactory = (AlfFactory) EPackage.Registry.INSTANCE.getEFactory(AlfPackage.eNS_URI);
+ if (theAlfFactory != null) {
+ return theAlfFactory;
+ }
+ } catch (Exception exception) {
+ EcorePlugin.INSTANCE.log(exception);
+ }
+ return new AlfFactoryImpl();
+ }
+
+ /**
+ * Creates an instance of the factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public AlfFactoryImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EObject create(EClass eClass) {
+ switch (eClass.getClassifierID()) {
+ case AlfPackage.ASSIGNED_SOURCE:
+ return (EObject) createAssignedSource();
+ case AlfPackage.INTERNAL_ELEMENT_REFERENCE:
+ return (EObject) createInternalElementReference();
+ case AlfPackage.EXTERNAL_ELEMENT_REFERENCE:
+ return (EObject) createExternalElementReference();
+ case AlfPackage.EXTERNAL_ENUMERATION_LITERAL_REFERENCE:
+ return (EObject) createExternalEnumerationLiteralReference();
+ case AlfPackage.BOUND_ELEMENT_REFERENCE:
+ return (EObject) createBoundElementReference();
+ case AlfPackage.SEQUENCE_EXPANSION_EXPRESSION:
+ return (EObject) createSequenceExpansionExpression();
+ case AlfPackage.ASSIGNABLE_ELEMENT_REFERENCE:
+ return (EObject) createAssignableElementReference();
+ case AlfPackage.EXTENT_OR_EXPRESSION:
+ return (EObject) createExtentOrExpression();
+ case AlfPackage.QUALIFIED_NAME:
+ return (EObject) createQualifiedName();
+ case AlfPackage.FEATURE_REFERENCE:
+ return (EObject) createFeatureReference();
+ case AlfPackage.NAME_BINDING:
+ return (EObject) createNameBinding();
+ case AlfPackage.NAMED_TEMPLATE_BINDING:
+ return (EObject) createNamedTemplateBinding();
+ case AlfPackage.TEMPLATE_PARAMETER_SUBSTITUTION:
+ return (EObject) createTemplateParameterSubstitution();
+ case AlfPackage.NUMERIC_UNARY_EXPRESSION:
+ return (EObject) createNumericUnaryExpression();
+ case AlfPackage.FOR_ALL_OR_EXISTS_OR_ONE_EXPRESSION:
+ return (EObject) createForAllOrExistsOrOneExpression();
+ case AlfPackage.ISOLATION_EXPRESSION:
+ return (EObject) createIsolationExpression();
+ case AlfPackage.BOOLEAN_UNARY_EXPRESSION:
+ return (EObject) createBooleanUnaryExpression();
+ case AlfPackage.CAST_EXPRESSION:
+ return (EObject) createCastExpression();
+ case AlfPackage.POSITIONAL_TUPLE:
+ return (EObject) createPositionalTuple();
+ case AlfPackage.NAMED_EXPRESSION:
+ return (EObject) createNamedExpression();
+ case AlfPackage.INPUT_NAMED_EXPRESSION:
+ return (EObject) createInputNamedExpression();
+ case AlfPackage.OUTPUT_NAMED_EXPRESSION:
+ return (EObject) createOutputNamedExpression();
+ case AlfPackage.SEQUENCE_ACCESS_EXPRESSION:
+ return (EObject) createSequenceAccessExpression();
+ case AlfPackage.STRING_LITERAL_EXPRESSION:
+ return (EObject) createStringLiteralExpression();
+ case AlfPackage.SEQUENCE_OPERATION_EXPRESSION:
+ return (EObject) createSequenceOperationExpression();
+ case AlfPackage.SELECT_OR_REJECT_EXPRESSION:
+ return (EObject) createSelectOrRejectExpression();
+ case AlfPackage.CLASS_EXTENT_EXPRESSION:
+ return (EObject) createClassExtentExpression();
+ case AlfPackage.POSITIONAL_TEMPLATE_BINDING:
+ return (EObject) createPositionalTemplateBinding();
+ case AlfPackage.CONDITIONAL_LOGICAL_EXPRESSION:
+ return (EObject) createConditionalLogicalExpression();
+ case AlfPackage.LINK_OPERATION_EXPRESSION:
+ return (EObject) createLinkOperationExpression();
+ case AlfPackage.EQUALITY_EXPRESSION:
+ return (EObject) createEqualityExpression();
+ case AlfPackage.ASSIGNMENT_EXPRESSION:
+ return (EObject) createAssignmentExpression();
+ case AlfPackage.LOGICAL_EXPRESSION:
+ return (EObject) createLogicalExpression();
+ case AlfPackage.SEQUENCE_CONSTRUCTION_EXPRESSION:
+ return (EObject) createSequenceConstructionExpression();
+ case AlfPackage.COLLECT_OR_ITERATE_EXPRESSION:
+ return (EObject) createCollectOrIterateExpression();
+ case AlfPackage.IS_UNIQUE_EXPRESSION:
+ return (EObject) createIsUniqueExpression();
+ case AlfPackage.ARITHMETIC_EXPRESSION:
+ return (EObject) createArithmeticExpression();
+ case AlfPackage.FEATURE_LEFT_HAND_SIDE:
+ return (EObject) createFeatureLeftHandSide();
+ case AlfPackage.CONDITIONAL_TEST_EXPRESSION:
+ return (EObject) createConditionalTestExpression();
+ case AlfPackage.INSTANCE_CREATION_EXPRESSION:
+ return (EObject) createInstanceCreationExpression();
+ case AlfPackage.PROPERTY_ACCESS_EXPRESSION:
+ return (EObject) createPropertyAccessExpression();
+ case AlfPackage.NAME_EXPRESSION:
+ return (EObject) createNameExpression();
+ case AlfPackage.BIT_STRING_UNARY_EXPRESSION:
+ return (EObject) createBitStringUnaryExpression();
+ case AlfPackage.FEATURE_INVOCATION_EXPRESSION:
+ return (EObject) createFeatureInvocationExpression();
+ case AlfPackage.BEHAVIOR_INVOCATION_EXPRESSION:
+ return (EObject) createBehaviorInvocationExpression();
+ case AlfPackage.SHIFT_EXPRESSION:
+ return (EObject) createShiftExpression();
+ case AlfPackage.UNBOUNDED_LITERAL_EXPRESSION:
+ return (EObject) createUnboundedLiteralExpression();
+ case AlfPackage.THIS_EXPRESSION:
+ return (EObject) createThisExpression();
+ case AlfPackage.CLASSIFICATION_EXPRESSION:
+ return (EObject) createClassificationExpression();
+ case AlfPackage.SUPER_INVOCATION_EXPRESSION:
+ return (EObject) createSuperInvocationExpression();
+ case AlfPackage.INCREMENT_OR_DECREMENT_EXPRESSION:
+ return (EObject) createIncrementOrDecrementExpression();
+ case AlfPackage.BOOLEAN_LITERAL_EXPRESSION:
+ return (EObject) createBooleanLiteralExpression();
+ case AlfPackage.NAMED_TUPLE:
+ return (EObject) createNamedTuple();
+ case AlfPackage.NATURAL_LITERAL_EXPRESSION:
+ return (EObject) createNaturalLiteralExpression();
+ case AlfPackage.SEQUENCE_RANGE:
+ return (EObject) createSequenceRange();
+ case AlfPackage.NAME_LEFT_HAND_SIDE:
+ return (EObject) createNameLeftHandSide();
+ case AlfPackage.EFFECTIVE_LEFT_HAND_SIDE:
+ return (EObject) createEffectiveLeftHandSide();
+ case AlfPackage.SEQUENCE_REDUCTION_EXPRESSION:
+ return (EObject) createSequenceReductionExpression();
+ case AlfPackage.SEQUENCE_EXPRESSION_LIST:
+ return (EObject) createSequenceExpressionList();
+ case AlfPackage.RELATIONAL_EXPRESSION:
+ return (EObject) createRelationalExpression();
+ case AlfPackage.LOCAL_NAME_DECLARATION_STATEMENT:
+ return (EObject) createLocalNameDeclarationStatement();
+ case AlfPackage.ASSIGNABLE_LOCAL_NAME_DECLARATION:
+ return (EObject) createAssignableLocalNameDeclaration();
+ case AlfPackage.ANNOTATION:
+ return (EObject) createAnnotation();
+ case AlfPackage.QUALIFIED_NAME_LIST:
+ return (EObject) createQualifiedNameList();
+ case AlfPackage.NON_FINAL_CLAUSE:
+ return (EObject) createNonFinalClause();
+ case AlfPackage.BLOCK:
+ return (EObject) createBlock();
+ case AlfPackage.BLOCK_STATEMENT:
+ return (EObject) createBlockStatement();
+ case AlfPackage.DO_STATEMENT:
+ return (EObject) createDoStatement();
+ case AlfPackage.CONCURRENT_CLAUSES:
+ return (EObject) createConcurrentClauses();
+ case AlfPackage.BREAK_STATEMENT:
+ return (EObject) createBreakStatement();
+ case AlfPackage.EXPRESSION_STATEMENT:
+ return (EObject) createExpressionStatement();
+ case AlfPackage.CLASSIFY_STATEMENT:
+ return (EObject) createClassifyStatement();
+ case AlfPackage.FOR_STATEMENT:
+ return (EObject) createForStatement();
+ case AlfPackage.LOOP_VARIABLE_DEFINITION:
+ return (EObject) createLoopVariableDefinition();
+ case AlfPackage.IF_STATEMENT:
+ return (EObject) createIfStatement();
+ case AlfPackage.SWITCH_STATEMENT:
+ return (EObject) createSwitchStatement();
+ case AlfPackage.SWITCH_CLAUSE:
+ return (EObject) createSwitchClause();
+ case AlfPackage.WHILE_STATEMENT:
+ return (EObject) createWhileStatement();
+ case AlfPackage.RETURN_STATEMENT:
+ return (EObject) createReturnStatement();
+ case AlfPackage.IN_LINE_STATEMENT:
+ return (EObject) createInLineStatement();
+ case AlfPackage.ACCEPT_STATEMENT:
+ return (EObject) createAcceptStatement();
+ case AlfPackage.ACCEPT_BLOCK:
+ return (EObject) createAcceptBlock();
+ case AlfPackage.EMPTY_STATEMENT:
+ return (EObject) createEmptyStatement();
+ case AlfPackage.MODEL_NAMESPACE:
+ return (EObject) createModelNamespace();
+ case AlfPackage.NAMESPACE_DEFINITION:
+ return (EObject) createNamespaceDefinition();
+ case AlfPackage.STEREOTYPE_ANNOTATION:
+ return (EObject) createStereotypeAnnotation();
+ case AlfPackage.TAGGED_VALUE_LIST:
+ return (EObject) createTaggedValueList();
+ case AlfPackage.TAGGED_VALUE:
+ return (EObject) createTaggedValue();
+ case AlfPackage.UNIT_DEFINITION:
+ return (EObject) createUnitDefinition();
+ case AlfPackage.IMPORTED_MEMBER:
+ return (EObject) createImportedMember();
+ case AlfPackage.ENUMERATION_LITERAL_NAME:
+ return (EObject) createEnumerationLiteralName();
+ case AlfPackage.OPERATION_DEFINITION:
+ return (EObject) createOperationDefinition();
+ case AlfPackage.ASSOCIATION_DEFINITION:
+ return (EObject) createAssociationDefinition();
+ case AlfPackage.CLASS_DEFINITION:
+ return (EObject) createClassDefinition();
+ case AlfPackage.TYPED_ELEMENT_DEFINITION:
+ return (EObject) createTypedElementDefinition();
+ case AlfPackage.DATA_TYPE_DEFINITION:
+ return (EObject) createDataTypeDefinition();
+ case AlfPackage.PACKAGE_DEFINITION:
+ return (EObject) createPackageDefinition();
+ case AlfPackage.PROPERTY_DEFINITION:
+ return (EObject) createPropertyDefinition();
+ case AlfPackage.SIGNAL_DEFINITION:
+ return (EObject) createSignalDefinition();
+ case AlfPackage.ACTIVE_CLASS_DEFINITION:
+ return (EObject) createActiveClassDefinition();
+ case AlfPackage.ACTIVITY_DEFINITION:
+ return (EObject) createActivityDefinition();
+ case AlfPackage.ELEMENT_IMPORT_REFERENCE:
+ return (EObject) createElementImportReference();
+ case AlfPackage.SIGNAL_RECEPTION_DEFINITION:
+ return (EObject) createSignalReceptionDefinition();
+ case AlfPackage.ENUMERATION_DEFINITION:
+ return (EObject) createEnumerationDefinition();
+ case AlfPackage.PACKAGE_IMPORT_REFERENCE:
+ return (EObject) createPackageImportReference();
+ case AlfPackage.CLASSIFIER_TEMPLATE_PARAMETER:
+ return (EObject) createClassifierTemplateParameter();
+ case AlfPackage.FORMAL_PARAMETER:
+ return (EObject) createFormalParameter();
+ case AlfPackage.RECEPTION_DEFINITION:
+ return (EObject) createReceptionDefinition();
+ case AlfPackage.MEMBER:
+ return (EObject) createMember();
+ case AlfPackage.ANNOTATED_STATEMENT:
+ return (EObject) createAnnotatedStatement();
+ case AlfPackage.BOUND_CLASSIFIER:
+ return (EObject) createBoundClassifier();
+ case AlfPackage.RETURN_PARAMETER:
+ return (EObject) createReturnParameter();
+ case AlfPackage.NON_RETURN_PARAMETER:
+ return (EObject) createNonReturnParameter();
+ case AlfPackage.ANY_TYPE:
+ return (EObject) createAnyType();
+ default:
+ throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier");
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public AssignedSource createAssignedSource() {
+ AssignedSourceImpl assignedSource = new AssignedSourceImpl();
+ return assignedSource;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public InternalElementReference createInternalElementReference() {
+ InternalElementReferenceImpl internalElementReference = new InternalElementReferenceImpl();
+ return internalElementReference;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public ExternalElementReference createExternalElementReference() {
+ ExternalElementReferenceImpl externalElementReference = new ExternalElementReferenceImpl();
+ return externalElementReference;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public ExternalEnumerationLiteralReference createExternalEnumerationLiteralReference() {
+ ExternalEnumerationLiteralReferenceImpl externalEnumerationLiteralReference = new ExternalEnumerationLiteralReferenceImpl();
+ return externalEnumerationLiteralReference;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public BoundElementReference createBoundElementReference() {
+ BoundElementReferenceImpl boundElementReference = new BoundElementReferenceImpl();
+ return boundElementReference;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public SequenceExpansionExpression createSequenceExpansionExpression() {
+ SequenceExpansionExpressionImpl sequenceExpansionExpression = new SequenceExpansionExpressionImpl();
+ return sequenceExpansionExpression;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public AssignableElementReference createAssignableElementReference() {
+ AssignableElementReferenceImpl assignableElementReference = new AssignableElementReferenceImpl();
+ return assignableElementReference;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public ExtentOrExpression createExtentOrExpression() {
+ ExtentOrExpressionImpl extentOrExpression = new ExtentOrExpressionImpl();
+ return extentOrExpression;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public QualifiedName createQualifiedName() {
+ QualifiedNameImpl qualifiedName = new QualifiedNameImpl();
+ return qualifiedName;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public FeatureReference createFeatureReference() {
+ FeatureReferenceImpl featureReference = new FeatureReferenceImpl();
+ return featureReference;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public NameBinding createNameBinding() {
+ NameBindingImpl nameBinding = new NameBindingImpl();
+ return nameBinding;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public NamedTemplateBinding createNamedTemplateBinding() {
+ NamedTemplateBindingImpl namedTemplateBinding = new NamedTemplateBindingImpl();
+ return namedTemplateBinding;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public TemplateParameterSubstitution createTemplateParameterSubstitution() {
+ TemplateParameterSubstitutionImpl templateParameterSubstitution = new TemplateParameterSubstitutionImpl();
+ return templateParameterSubstitution;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public NumericUnaryExpression createNumericUnaryExpression() {
+ NumericUnaryExpressionImpl numericUnaryExpression = new NumericUnaryExpressionImpl();
+ return numericUnaryExpression;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public ForAllOrExistsOrOneExpression createForAllOrExistsOrOneExpression() {
+ ForAllOrExistsOrOneExpressionImpl forAllOrExistsOrOneExpression = new ForAllOrExistsOrOneExpressionImpl();
+ return forAllOrExistsOrOneExpression;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public IsolationExpression createIsolationExpression() {
+ IsolationExpressionImpl isolationExpression = new IsolationExpressionImpl();
+ return isolationExpression;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public BooleanUnaryExpression createBooleanUnaryExpression() {
+ BooleanUnaryExpressionImpl booleanUnaryExpression = new BooleanUnaryExpressionImpl();
+ return booleanUnaryExpression;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public CastExpression createCastExpression() {
+ CastExpressionImpl castExpression = new CastExpressionImpl();
+ return castExpression;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public PositionalTuple createPositionalTuple() {
+ PositionalTupleImpl positionalTuple = new PositionalTupleImpl();
+ return positionalTuple;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public NamedExpression createNamedExpression() {
+ NamedExpressionImpl namedExpression = new NamedExpressionImpl();
+ return namedExpression;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public InputNamedExpression createInputNamedExpression() {
+ InputNamedExpressionImpl inputNamedExpression = new InputNamedExpressionImpl();
+ return inputNamedExpression;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public OutputNamedExpression createOutputNamedExpression() {
+ OutputNamedExpressionImpl outputNamedExpression = new OutputNamedExpressionImpl();
+ return outputNamedExpression;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public SequenceAccessExpression createSequenceAccessExpression() {
+ SequenceAccessExpressionImpl sequenceAccessExpression = new SequenceAccessExpressionImpl();
+ return sequenceAccessExpression;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public StringLiteralExpression createStringLiteralExpression() {
+ StringLiteralExpressionImpl stringLiteralExpression = new StringLiteralExpressionImpl();
+ return stringLiteralExpression;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public SequenceOperationExpression createSequenceOperationExpression() {
+ SequenceOperationExpressionImpl sequenceOperationExpression = new SequenceOperationExpressionImpl();
+ return sequenceOperationExpression;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public SelectOrRejectExpression createSelectOrRejectExpression() {
+ SelectOrRejectExpressionImpl selectOrRejectExpression = new SelectOrRejectExpressionImpl();
+ return selectOrRejectExpression;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public ClassExtentExpression createClassExtentExpression() {
+ ClassExtentExpressionImpl classExtentExpression = new ClassExtentExpressionImpl();
+ return classExtentExpression;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public PositionalTemplateBinding createPositionalTemplateBinding() {
+ PositionalTemplateBindingImpl positionalTemplateBinding = new PositionalTemplateBindingImpl();
+ return positionalTemplateBinding;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public ConditionalLogicalExpression createConditionalLogicalExpression() {
+ ConditionalLogicalExpressionImpl conditionalLogicalExpression = new ConditionalLogicalExpressionImpl();
+ return conditionalLogicalExpression;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public LinkOperationExpression createLinkOperationExpression() {
+ LinkOperationExpressionImpl linkOperationExpression = new LinkOperationExpressionImpl();
+ return linkOperationExpression;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EqualityExpression createEqualityExpression() {
+ EqualityExpressionImpl equalityExpression = new EqualityExpressionImpl();
+ return equalityExpression;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public AssignmentExpression createAssignmentExpression() {
+ AssignmentExpressionImpl assignmentExpression = new AssignmentExpressionImpl();
+ return assignmentExpression;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public LogicalExpression createLogicalExpression() {
+ LogicalExpressionImpl logicalExpression = new LogicalExpressionImpl();
+ return logicalExpression;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public SequenceConstructionExpression createSequenceConstructionExpression() {
+ SequenceConstructionExpressionImpl sequenceConstructionExpression = new SequenceConstructionExpressionImpl();
+ return sequenceConstructionExpression;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public CollectOrIterateExpression createCollectOrIterateExpression() {
+ CollectOrIterateExpressionImpl collectOrIterateExpression = new CollectOrIterateExpressionImpl();
+ return collectOrIterateExpression;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public IsUniqueExpression createIsUniqueExpression() {
+ IsUniqueExpressionImpl isUniqueExpression = new IsUniqueExpressionImpl();
+ return isUniqueExpression;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public ArithmeticExpression createArithmeticExpression() {
+ ArithmeticExpressionImpl arithmeticExpression = new ArithmeticExpressionImpl();
+ return arithmeticExpression;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public FeatureLeftHandSide createFeatureLeftHandSide() {
+ FeatureLeftHandSideImpl featureLeftHandSide = new FeatureLeftHandSideImpl();
+ return featureLeftHandSide;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public ConditionalTestExpression createConditionalTestExpression() {
+ ConditionalTestExpressionImpl conditionalTestExpression = new ConditionalTestExpressionImpl();
+ return conditionalTestExpression;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public InstanceCreationExpression createInstanceCreationExpression() {
+ InstanceCreationExpressionImpl instanceCreationExpression = new InstanceCreationExpressionImpl();
+ return instanceCreationExpression;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public PropertyAccessExpression createPropertyAccessExpression() {
+ PropertyAccessExpressionImpl propertyAccessExpression = new PropertyAccessExpressionImpl();
+ return propertyAccessExpression;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public NameExpression createNameExpression() {
+ NameExpressionImpl nameExpression = new NameExpressionImpl();
+ return nameExpression;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public BitStringUnaryExpression createBitStringUnaryExpression() {
+ BitStringUnaryExpressionImpl bitStringUnaryExpression = new BitStringUnaryExpressionImpl();
+ return bitStringUnaryExpression;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public FeatureInvocationExpression createFeatureInvocationExpression() {
+ FeatureInvocationExpressionImpl featureInvocationExpression = new FeatureInvocationExpressionImpl();
+ return featureInvocationExpression;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public BehaviorInvocationExpression createBehaviorInvocationExpression() {
+ BehaviorInvocationExpressionImpl behaviorInvocationExpression = new BehaviorInvocationExpressionImpl();
+ return behaviorInvocationExpression;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public ShiftExpression createShiftExpression() {
+ ShiftExpressionImpl shiftExpression = new ShiftExpressionImpl();
+ return shiftExpression;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public UnboundedLiteralExpression createUnboundedLiteralExpression() {
+ UnboundedLiteralExpressionImpl unboundedLiteralExpression = new UnboundedLiteralExpressionImpl();
+ return unboundedLiteralExpression;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public ThisExpression createThisExpression() {
+ ThisExpressionImpl thisExpression = new ThisExpressionImpl();
+ return thisExpression;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public ClassificationExpression createClassificationExpression() {
+ ClassificationExpressionImpl classificationExpression = new ClassificationExpressionImpl();
+ return classificationExpression;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public SuperInvocationExpression createSuperInvocationExpression() {
+ SuperInvocationExpressionImpl superInvocationExpression = new SuperInvocationExpressionImpl();
+ return superInvocationExpression;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public IncrementOrDecrementExpression createIncrementOrDecrementExpression() {
+ IncrementOrDecrementExpressionImpl incrementOrDecrementExpression = new IncrementOrDecrementExpressionImpl();
+ return incrementOrDecrementExpression;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public BooleanLiteralExpression createBooleanLiteralExpression() {
+ BooleanLiteralExpressionImpl booleanLiteralExpression = new BooleanLiteralExpressionImpl();
+ return booleanLiteralExpression;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public NamedTuple createNamedTuple() {
+ NamedTupleImpl namedTuple = new NamedTupleImpl();
+ return namedTuple;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public NaturalLiteralExpression createNaturalLiteralExpression() {
+ NaturalLiteralExpressionImpl naturalLiteralExpression = new NaturalLiteralExpressionImpl();
+ return naturalLiteralExpression;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public SequenceRange createSequenceRange() {
+ SequenceRangeImpl sequenceRange = new SequenceRangeImpl();
+ return sequenceRange;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public NameLeftHandSide createNameLeftHandSide() {
+ NameLeftHandSideImpl nameLeftHandSide = new NameLeftHandSideImpl();
+ return nameLeftHandSide;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EffectiveLeftHandSide createEffectiveLeftHandSide() {
+ EffectiveLeftHandSideImpl effectiveLeftHandSide = new EffectiveLeftHandSideImpl();
+ return effectiveLeftHandSide;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public SequenceReductionExpression createSequenceReductionExpression() {
+ SequenceReductionExpressionImpl sequenceReductionExpression = new SequenceReductionExpressionImpl();
+ return sequenceReductionExpression;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public SequenceExpressionList createSequenceExpressionList() {
+ SequenceExpressionListImpl sequenceExpressionList = new SequenceExpressionListImpl();
+ return sequenceExpressionList;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public RelationalExpression createRelationalExpression() {
+ RelationalExpressionImpl relationalExpression = new RelationalExpressionImpl();
+ return relationalExpression;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public LocalNameDeclarationStatement createLocalNameDeclarationStatement() {
+ LocalNameDeclarationStatementImpl localNameDeclarationStatement = new LocalNameDeclarationStatementImpl();
+ return localNameDeclarationStatement;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public AssignableLocalNameDeclaration createAssignableLocalNameDeclaration() {
+ AssignableLocalNameDeclarationImpl assignableLocalNameDeclaration = new AssignableLocalNameDeclarationImpl();
+ return assignableLocalNameDeclaration;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public Annotation createAnnotation() {
+ AnnotationImpl annotation = new AnnotationImpl();
+ return annotation;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public QualifiedNameList createQualifiedNameList() {
+ QualifiedNameListImpl qualifiedNameList = new QualifiedNameListImpl();
+ return qualifiedNameList;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public NonFinalClause createNonFinalClause() {
+ NonFinalClauseImpl nonFinalClause = new NonFinalClauseImpl();
+ return nonFinalClause;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public Block createBlock() {
+ BlockImpl block = new BlockImpl();
+ return block;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public BlockStatement createBlockStatement() {
+ BlockStatementImpl blockStatement = new BlockStatementImpl();
+ return blockStatement;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public DoStatement createDoStatement() {
+ DoStatementImpl doStatement = new DoStatementImpl();
+ return doStatement;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public ConcurrentClauses createConcurrentClauses() {
+ ConcurrentClausesImpl concurrentClauses = new ConcurrentClausesImpl();
+ return concurrentClauses;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public BreakStatement createBreakStatement() {
+ BreakStatementImpl breakStatement = new BreakStatementImpl();
+ return breakStatement;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public ExpressionStatement createExpressionStatement() {
+ ExpressionStatementImpl expressionStatement = new ExpressionStatementImpl();
+ return expressionStatement;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public ClassifyStatement createClassifyStatement() {
+ ClassifyStatementImpl classifyStatement = new ClassifyStatementImpl();
+ return classifyStatement;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public ForStatement createForStatement() {
+ ForStatementImpl forStatement = new ForStatementImpl();
+ return forStatement;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public LoopVariableDefinition createLoopVariableDefinition() {
+ LoopVariableDefinitionImpl loopVariableDefinition = new LoopVariableDefinitionImpl();
+ return loopVariableDefinition;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public IfStatement createIfStatement() {
+ IfStatementImpl ifStatement = new IfStatementImpl();
+ return ifStatement;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public SwitchStatement createSwitchStatement() {
+ SwitchStatementImpl switchStatement = new SwitchStatementImpl();
+ return switchStatement;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public SwitchClause createSwitchClause() {
+ SwitchClauseImpl switchClause = new SwitchClauseImpl();
+ return switchClause;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public WhileStatement createWhileStatement() {
+ WhileStatementImpl whileStatement = new WhileStatementImpl();
+ return whileStatement;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public ReturnStatement createReturnStatement() {
+ ReturnStatementImpl returnStatement = new ReturnStatementImpl();
+ return returnStatement;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public InLineStatement createInLineStatement() {
+ InLineStatementImpl inLineStatement = new InLineStatementImpl();
+ return inLineStatement;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public AcceptStatement createAcceptStatement() {
+ AcceptStatementImpl acceptStatement = new AcceptStatementImpl();
+ return acceptStatement;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public AcceptBlock createAcceptBlock() {
+ AcceptBlockImpl acceptBlock = new AcceptBlockImpl();
+ return acceptBlock;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EmptyStatement createEmptyStatement() {
+ EmptyStatementImpl emptyStatement = new EmptyStatementImpl();
+ return emptyStatement;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public ModelNamespace createModelNamespace() {
+ ModelNamespaceImpl modelNamespace = new ModelNamespaceImpl();
+ return modelNamespace;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public NamespaceDefinition createNamespaceDefinition() {
+ NamespaceDefinitionImpl namespaceDefinition = new NamespaceDefinitionImpl();
+ return namespaceDefinition;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public StereotypeAnnotation createStereotypeAnnotation() {
+ StereotypeAnnotationImpl stereotypeAnnotation = new StereotypeAnnotationImpl();
+ return stereotypeAnnotation;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public TaggedValueList createTaggedValueList() {
+ TaggedValueListImpl taggedValueList = new TaggedValueListImpl();
+ return taggedValueList;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public TaggedValue createTaggedValue() {
+ TaggedValueImpl taggedValue = new TaggedValueImpl();
+ return taggedValue;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public UnitDefinition createUnitDefinition() {
+ UnitDefinitionImpl unitDefinition = new UnitDefinitionImpl();
+ return unitDefinition;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public ImportedMember createImportedMember() {
+ ImportedMemberImpl importedMember = new ImportedMemberImpl();
+ return importedMember;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EnumerationLiteralName createEnumerationLiteralName() {
+ EnumerationLiteralNameImpl enumerationLiteralName = new EnumerationLiteralNameImpl();
+ return enumerationLiteralName;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public OperationDefinition createOperationDefinition() {
+ OperationDefinitionImpl operationDefinition = new OperationDefinitionImpl();
+ return operationDefinition;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public AssociationDefinition createAssociationDefinition() {
+ AssociationDefinitionImpl associationDefinition = new AssociationDefinitionImpl();
+ return associationDefinition;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public ClassDefinition createClassDefinition() {
+ ClassDefinitionImpl classDefinition = new ClassDefinitionImpl();
+ return classDefinition;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public TypedElementDefinition createTypedElementDefinition() {
+ TypedElementDefinitionImpl typedElementDefinition = new TypedElementDefinitionImpl();
+ return typedElementDefinition;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public DataTypeDefinition createDataTypeDefinition() {
+ DataTypeDefinitionImpl dataTypeDefinition = new DataTypeDefinitionImpl();
+ return dataTypeDefinition;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public PackageDefinition createPackageDefinition() {
+ PackageDefinitionImpl packageDefinition = new PackageDefinitionImpl();
+ return packageDefinition;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public PropertyDefinition createPropertyDefinition() {
+ PropertyDefinitionImpl propertyDefinition = new PropertyDefinitionImpl();
+ return propertyDefinition;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public SignalDefinition createSignalDefinition() {
+ SignalDefinitionImpl signalDefinition = new SignalDefinitionImpl();
+ return signalDefinition;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public ActiveClassDefinition createActiveClassDefinition() {
+ ActiveClassDefinitionImpl activeClassDefinition = new ActiveClassDefinitionImpl();
+ return activeClassDefinition;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public ActivityDefinition createActivityDefinition() {
+ ActivityDefinitionImpl activityDefinition = new ActivityDefinitionImpl();
+ return activityDefinition;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public ElementImportReference createElementImportReference() {
+ ElementImportReferenceImpl elementImportReference = new ElementImportReferenceImpl();
+ return elementImportReference;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public SignalReceptionDefinition createSignalReceptionDefinition() {
+ SignalReceptionDefinitionImpl signalReceptionDefinition = new SignalReceptionDefinitionImpl();
+ return signalReceptionDefinition;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EnumerationDefinition createEnumerationDefinition() {
+ EnumerationDefinitionImpl enumerationDefinition = new EnumerationDefinitionImpl();
+ return enumerationDefinition;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public PackageImportReference createPackageImportReference() {
+ PackageImportReferenceImpl packageImportReference = new PackageImportReferenceImpl();
+ return packageImportReference;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public ClassifierTemplateParameter createClassifierTemplateParameter() {
+ ClassifierTemplateParameterImpl classifierTemplateParameter = new ClassifierTemplateParameterImpl();
+ return classifierTemplateParameter;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public FormalParameter createFormalParameter() {
+ FormalParameterImpl formalParameter = new FormalParameterImpl();
+ return formalParameter;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public ReceptionDefinition createReceptionDefinition() {
+ ReceptionDefinitionImpl receptionDefinition = new ReceptionDefinitionImpl();
+ return receptionDefinition;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public Member createMember() {
+ MemberImpl member = new MemberImpl();
+ return member;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public AnnotatedStatement createAnnotatedStatement() {
+ AnnotatedStatementImpl annotatedStatement = new AnnotatedStatementImpl();
+ return annotatedStatement;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public BoundClassifier createBoundClassifier() {
+ BoundClassifierImpl boundClassifier = new BoundClassifierImpl();
+ return boundClassifier;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public ReturnParameter createReturnParameter() {
+ ReturnParameterImpl returnParameter = new ReturnParameterImpl();
+ return returnParameter;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public NonReturnParameter createNonReturnParameter() {
+ NonReturnParameterImpl nonReturnParameter = new NonReturnParameterImpl();
+ return nonReturnParameter;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public AnyType createAnyType() {
+ AnyTypeImpl anyType = new AnyTypeImpl();
+ return anyType;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public AlfPackage getAlfPackage() {
+ return (AlfPackage) getEPackage();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @deprecated
+ * @generated
+ */
+ @Deprecated
+ public static AlfPackage getPackage() {
+ return AlfPackage.eINSTANCE;
+ }
+
+} // AlfFactoryImpl
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
new file mode 100644
index 00000000000..84b79dedace
--- /dev/null
+++ b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/AlfPackageImpl.java
@@ -0,0 +1,19228 @@
+/**
+ */
+package org.eclipse.papyrus.uml.alf.impl;
+
+import java.io.IOException;
+import java.net.URL;
+import org.eclipse.emf.common.util.URI;
+import org.eclipse.emf.common.util.WrappedException;
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EClassifier;
+import org.eclipse.emf.ecore.EOperation;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.EReference;
+import org.eclipse.emf.ecore.EValidator;
+import org.eclipse.emf.ecore.impl.EPackageImpl;
+import org.eclipse.emf.ecore.resource.Resource;
+import org.eclipse.emf.ecore.xmi.impl.EcoreResourceFactoryImpl;
+import org.eclipse.papyrus.uml.alf.AlfFactory;
+import org.eclipse.papyrus.uml.alf.AlfPackage;
+import org.eclipse.papyrus.uml.alf.util.AlfValidator;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model <b>Package</b>.
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+public class AlfPackageImpl extends EPackageImpl implements AlfPackage {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected String packageFilename = "alf.ecore";
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EClass assignedSourceEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EClass syntaxElementEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EClass elementReferenceEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EClass internalElementReferenceEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EClass externalElementReferenceEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EClass externalEnumerationLiteralReferenceEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EClass boundElementReferenceEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EClass documentedElementEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EClass sequenceExpansionExpressionEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EClass assignableElementEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EClass assignableElementReferenceEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EClass expressionEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EClass extentOrExpressionEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EClass qualifiedNameEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EClass featureReferenceEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EClass nameBindingEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EClass templateBindingEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EClass namedTemplateBindingEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EClass templateParameterSubstitutionEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EClass numericUnaryExpressionEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EClass unaryExpressionEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EClass forAllOrExistsOrOneExpressionEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EClass isolationExpressionEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EClass binaryExpressionEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EClass booleanUnaryExpressionEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EClass castExpressionEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EClass positionalTupleEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EClass tupleEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EClass namedExpressionEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EClass inputNamedExpressionEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EClass invocationExpressionEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EClass outputNamedExpressionEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EClass leftHandSideEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EClass sequenceAccessExpressionEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EClass stringLiteralExpressionEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EClass literalExpressionEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EClass sequenceOperationExpressionEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EClass selectOrRejectExpressionEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EClass classExtentExpressionEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EClass positionalTemplateBindingEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EClass conditionalLogicalExpressionEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EClass linkOperationExpressionEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EClass equalityExpressionEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EClass assignmentExpressionEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EClass logicalExpressionEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EClass sequenceConstructionExpressionEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EClass sequenceElementsEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EClass collectOrIterateExpressionEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EClass isUniqueExpressionEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EClass arithmeticExpressionEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EClass featureLeftHandSideEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EClass conditionalTestExpressionEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EClass instanceCreationExpressionEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EClass propertyAccessExpressionEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EClass nameExpressionEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EClass bitStringUnaryExpressionEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EClass featureInvocationExpressionEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EClass behaviorInvocationExpressionEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EClass shiftExpressionEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EClass unboundedLiteralExpressionEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EClass thisExpressionEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EClass classificationExpressionEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EClass superInvocationExpressionEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EClass incrementOrDecrementExpressionEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EClass booleanLiteralExpressionEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EClass namedTupleEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EClass naturalLiteralExpressionEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EClass sequenceRangeEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EClass nameLeftHandSideEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EClass effectiveLeftHandSideEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EClass sequenceReductionExpressionEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EClass sequenceExpressionListEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EClass relationalExpressionEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EClass localNameDeclarationStatementEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EClass assignableLocalNameDeclarationEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EClass statementEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EClass annotationEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EClass qualifiedNameListEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EClass nonFinalClauseEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EClass blockEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EClass blockStatementEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EClass doStatementEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EClass concurrentClausesEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EClass breakStatementEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EClass expressionStatementEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EClass classifyStatementEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EClass forStatementEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EClass loopVariableDefinitionEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EClass ifStatementEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EClass switchStatementEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EClass switchClauseEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EClass whileStatementEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EClass returnStatementEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EClass inLineStatementEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EClass acceptStatementEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EClass acceptBlockEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EClass emptyStatementEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EClass modelNamespaceEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EClass namespaceDefinitionEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EClass memberDefinitionEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EClass stereotypeAnnotationEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EClass taggedValueListEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EClass taggedValueEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EClass unitDefinitionEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EClass importReferenceEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EClass importedMemberEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EClass enumerationLiteralNameEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EClass operationDefinitionEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EClass associationDefinitionEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EClass classifierDefinitionEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EClass classDefinitionEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EClass typedElementDefinitionEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EClass dataTypeDefinitionEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EClass packageDefinitionEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EClass propertyDefinitionEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EClass signalDefinitionEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EClass activeClassDefinitionEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EClass activityDefinitionEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EClass elementImportReferenceEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EClass signalReceptionDefinitionEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EClass enumerationDefinitionEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EClass packageImportReferenceEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EClass classifierTemplateParameterEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EClass formalParameterEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EClass receptionDefinitionEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EClass memberEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EClass annotatedStatementEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EClass boundClassifierEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EClass returnParameterEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EClass nonReturnParameterEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EClass anyTypeEClass = null;
+
+ /**
+ * Creates an instance of the model <b>Package</b>, registered with {@link org.eclipse.emf.ecore.EPackage.Registry EPackage.Registry} by the package
+ * package URI value.
+ * <p>
+ * Note: the correct way to create the package is via the static factory method {@link #init init()}, which also performs initialization of the package, or returns the registered package, if one already exists. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see org.eclipse.emf.ecore.EPackage.Registry
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage#eNS_URI
+ * @see #init()
+ * @generated
+ */
+ private AlfPackageImpl() {
+ super(eNS_URI, AlfFactory.eINSTANCE);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private static boolean isInited = false;
+
+ /**
+ * Creates, registers, and initializes the <b>Package</b> for this model, and for any others upon which it depends.
+ *
+ * <p>
+ * This method is used to initialize {@link AlfPackage#eINSTANCE} when that field is accessed. Clients should not invoke it directly. Instead, they should simply access that field to obtain the package. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #eNS_URI
+ * @generated
+ */
+ public static AlfPackage init() {
+ if (isInited)
+ return (AlfPackage) EPackage.Registry.INSTANCE.getEPackage(AlfPackage.eNS_URI);
+
+ // Obtain or create and register package
+ AlfPackageImpl theAlfPackage = (AlfPackageImpl) (EPackage.Registry.INSTANCE.get(eNS_URI) instanceof AlfPackageImpl ? EPackage.Registry.INSTANCE.get(eNS_URI) : new AlfPackageImpl());
+
+ isInited = true;
+
+ // Load packages
+ theAlfPackage.loadPackage();
+
+ // Fix loaded packages
+ theAlfPackage.fixPackageContents();
+
+ // Register package validator
+ EValidator.Registry.INSTANCE.put
+ (theAlfPackage,
+ new EValidator.Descriptor() {
+ public EValidator getEValidator() {
+ return AlfValidator.INSTANCE;
+ }
+ });
+
+ // Mark meta-data to indicate it can't be changed
+ theAlfPackage.freeze();
+
+
+ // Update the registry and return the package
+ EPackage.Registry.INSTANCE.put(AlfPackage.eNS_URI, theAlfPackage);
+ return theAlfPackage;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EClass getAssignedSource() {
+ if (assignedSourceEClass == null) {
+ assignedSourceEClass = (EClass) EPackage.Registry.INSTANCE.getEPackage(AlfPackage.eNS_URI).getEClassifiers().get(0);
+ }
+ return assignedSourceEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EAttribute getAssignedSource_Name() {
+ return (EAttribute) getAssignedSource().getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EReference getAssignedSource_Source() {
+ return (EReference) getAssignedSource().getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EAttribute getAssignedSource_Upper() {
+ return (EAttribute) getAssignedSource().getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EAttribute getAssignedSource_Lower() {
+ return (EAttribute) getAssignedSource().getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EReference getAssignedSource_Type() {
+ return (EReference) getAssignedSource().getEStructuralFeatures().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EAttribute getAssignedSource_IsParallelLocalName() {
+ return (EAttribute) getAssignedSource().getEStructuralFeatures().get(5);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getAssignedSource__IsNew__EList() {
+ return getAssignedSource().getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getAssignedSource__Update__EList() {
+ return getAssignedSource().getEOperations().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getAssignedSource__Copy__SyntaxElement_boolean() {
+ return getAssignedSource().getEOperations().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EClass getSyntaxElement() {
+ if (syntaxElementEClass == null) {
+ syntaxElementEClass = (EClass) EPackage.Registry.INSTANCE.getEPackage(AlfPackage.eNS_URI).getEClassifiers().get(1);
+ }
+ return syntaxElementEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EReference getSyntaxElement_Owner() {
+ return (EReference) getSyntaxElement().getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getSyntaxElement__ToReference() {
+ return getSyntaxElement().getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getSyntaxElement__Owner() {
+ return getSyntaxElement().getEOperations().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getSyntaxElement__SyntaxElement_owner() {
+ return getSyntaxElement().getEOperations().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getSyntaxElement__CurrentScope() {
+ return getSyntaxElement().getEOperations().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getSyntaxElement__SyntaxElement_currentScope() {
+ return getSyntaxElement().getEOperations().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getSyntaxElement__EnclosingStatement() {
+ return getSyntaxElement().getEOperations().get(5);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getSyntaxElement__EnclosingExpression() {
+ return getSyntaxElement().getEOperations().get(6);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getSyntaxElement__AssignmentsBefore() {
+ return getSyntaxElement().getEOperations().get(7);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getSyntaxElement__SyntaxElement_assignmentsBefore() {
+ return getSyntaxElement().getEOperations().get(8);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getSyntaxElement__SyntaxElement_assignmentsBefore_base() {
+ return getSyntaxElement().getEOperations().get(9);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getSyntaxElement__AssignmentsBefore__SyntaxElement() {
+ return getSyntaxElement().getEOperations().get(10);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getSyntaxElement__UpdateAll__EList_EList() {
+ return getSyntaxElement().getEOperations().get(11);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getSyntaxElement__CommonAncestor__EList() {
+ return getSyntaxElement().getEOperations().get(12);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getSyntaxElement__CommonAncestors__EList() {
+ return getSyntaxElement().getEOperations().get(13);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getSyntaxElement__RemoveDuplicateElements__EList() {
+ return getSyntaxElement().getEOperations().get(14);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getSyntaxElement__ResolveInLibrary__String() {
+ return getSyntaxElement().getEOperations().get(15);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getSyntaxElement__PrimitiveType__String() {
+ return getSyntaxElement().getEOperations().get(16);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getSyntaxElement__PrimitiveType___String() {
+ return getSyntaxElement().getEOperations().get(17);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getSyntaxElement__BooleanType() {
+ return getSyntaxElement().getEOperations().get(18);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getSyntaxElement__IsBooleanType__ElementReference() {
+ return getSyntaxElement().getEOperations().get(19);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getSyntaxElement__IntegerType() {
+ return getSyntaxElement().getEOperations().get(20);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getSyntaxElement__IsIntegerType__ElementReference() {
+ return getSyntaxElement().getEOperations().get(21);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getSyntaxElement__StringType() {
+ return getSyntaxElement().getEOperations().get(22);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getSyntaxElement__IsStringType__ElementReference() {
+ return getSyntaxElement().getEOperations().get(23);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getSyntaxElement__UnlimitedNaturalType() {
+ return getSyntaxElement().getEOperations().get(24);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getSyntaxElement__IsUnlimitedNaturalType__ElementReference() {
+ return getSyntaxElement().getEOperations().get(25);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getSyntaxElement__BitStringType() {
+ return getSyntaxElement().getEOperations().get(26);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getSyntaxElement__IsBitStringType__ElementReference() {
+ return getSyntaxElement().getEOperations().get(27);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getSyntaxElement__NaturalType() {
+ return getSyntaxElement().getEOperations().get(28);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getSyntaxElement__IsNaturalType__ElementReference() {
+ return getSyntaxElement().getEOperations().get(29);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getSyntaxElement__IsNumericType__ElementReference() {
+ return getSyntaxElement().getEOperations().get(30);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getSyntaxElement__CollectionFunctionAdd() {
+ return getSyntaxElement().getEOperations().get(31);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getSyntaxElement__IsCollectionClass__ElementReference() {
+ return getSyntaxElement().getEOperations().get(32);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getSyntaxElement__IsIntegerCollectionClass__ElementReference() {
+ return getSyntaxElement().getEOperations().get(33);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getSyntaxElement__IsBitStringCollectionClass__ElementReference() {
+ return getSyntaxElement().getEOperations().get(34);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EClass getElementReference() {
+ if (elementReferenceEClass == null) {
+ elementReferenceEClass = (EClass) EPackage.Registry.INSTANCE.getEPackage(AlfPackage.eNS_URI).getEClassifiers().get(2);
+ }
+ return elementReferenceEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getElementReference__IsUml() {
+ return getElementReference().getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getElementReference__IsAlf() {
+ return getElementReference().getEOperations().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getElementReference__AsUml() {
+ return getElementReference().getEOperations().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getElementReference__AsAlf() {
+ return getElementReference().getEOperations().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getElementReference__AsMember() {
+ return getElementReference().getEOperations().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getElementReference__IsSameKindAs__ElementReference() {
+ return getElementReference().getEOperations().get(5);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getElementReference__IsNamedElement() {
+ return getElementReference().getEOperations().get(6);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getElementReference__IsNamespace() {
+ return getElementReference().getEOperations().get(7);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getElementReference__IsNamespaceFor__UnitDefinition() {
+ return getElementReference().getEOperations().get(8);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getElementReference__IsModelNamespace() {
+ return getElementReference().getEOperations().get(9);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getElementReference__IsPackage() {
+ return getElementReference().getEOperations().get(10);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getElementReference__IsProfile() {
+ return getElementReference().getEOperations().get(11);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getElementReference__IsPackageableElement() {
+ return getElementReference().getEOperations().get(12);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getElementReference__IsClassifier() {
+ return getElementReference().getEOperations().get(13);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getElementReference__IsAbstractClassifier() {
+ return getElementReference().getEOperations().get(14);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getElementReference__IsAssociation() {
+ return getElementReference().getEOperations().get(15);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getElementReference__IsDataType() {
+ return getElementReference().getEOperations().get(16);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getElementReference__IsClass() {
+ return getElementReference().getEOperations().get(17);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getElementReference__IsActiveClass() {
+ return getElementReference().getEOperations().get(18);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getElementReference__IsSignal() {
+ return getElementReference().getEOperations().get(19);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getElementReference__IsEnumeration() {
+ return getElementReference().getEOperations().get(20);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getElementReference__IsBehavior() {
+ return getElementReference().getEOperations().get(21);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getElementReference__IsActivity() {
+ return getElementReference().getEOperations().get(22);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getElementReference__IsMethod() {
+ return getElementReference().getEOperations().get(23);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getElementReference__IsPrimitiveType() {
+ return getElementReference().getEOperations().get(24);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getElementReference__IsReception() {
+ return getElementReference().getEOperations().get(25);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getElementReference__IsOperation() {
+ return getElementReference().getEOperations().get(26);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getElementReference__IsConstructor() {
+ return getElementReference().getEOperations().get(27);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getElementReference__IsDestructor() {
+ return getElementReference().getEOperations().get(28);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getElementReference__IsFeature() {
+ return getElementReference().getEOperations().get(29);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getElementReference__IsProperty() {
+ return getElementReference().getEOperations().get(30);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getElementReference__IsAssociationEnd() {
+ return getElementReference().getEOperations().get(31);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getElementReference__IsParameter() {
+ return getElementReference().getEOperations().get(32);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getElementReference__IsTemplate() {
+ return getElementReference().getEOperations().get(33);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getElementReference__IsTemplateParameter() {
+ return getElementReference().getEOperations().get(34);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getElementReference__IsClassifierTemplateParameter() {
+ return getElementReference().getEOperations().get(35);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getElementReference__IsParameteredElement() {
+ return getElementReference().getEOperations().get(36);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getElementReference__IsTemplateBinding() {
+ return getElementReference().getEOperations().get(37);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getElementReference__IsStereotype() {
+ return getElementReference().getEOperations().get(38);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getElementReference__IsEnumerationLiteral() {
+ return getElementReference().getEOperations().get(39);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getElementReference__IsLoopVariable() {
+ return getElementReference().getEOperations().get(40);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getElementReference__IsAnnotation() {
+ return getElementReference().getEOperations().get(41);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getElementReference__IsSequenceExpansionExpression() {
+ return getElementReference().getEOperations().get(42);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getElementReference__IsAnyType() {
+ return getElementReference().getEOperations().get(43);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getElementReference__IsDistinguishableFrom__ElementReference() {
+ return getElementReference().getEOperations().get(44);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getElementReference__IsAssignableFrom__AssignableElement() {
+ return getElementReference().getEOperations().get(45);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getElementReference__CollectionArgument() {
+ return getElementReference().getEOperations().get(46);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getElementReference__Name() {
+ return getElementReference().getEOperations().get(47);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getElementReference__Visibility() {
+ return getElementReference().getEOperations().get(48);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getElementReference__OwnedMembers() {
+ return getElementReference().getEOperations().get(49);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getElementReference__Members() {
+ return getElementReference().getEOperations().get(50);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getElementReference__VisibleMembers() {
+ return getElementReference().getEOperations().get(51);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getElementReference__Properties() {
+ return getElementReference().getEOperations().get(52);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getElementReference__AssociationEnds() {
+ return getElementReference().getEOperations().get(53);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getElementReference__Opposite() {
+ return getElementReference().getEOperations().get(54);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getElementReference__Receptions() {
+ return getElementReference().getEOperations().get(55);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getElementReference__Signal() {
+ return getElementReference().getEOperations().get(56);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getElementReference__Parameters() {
+ return getElementReference().getEOperations().get(57);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getElementReference__ReturnParameter() {
+ return getElementReference().getEOperations().get(58);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getElementReference__Specification() {
+ return getElementReference().getEOperations().get(59);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getElementReference__RedefinedOperations() {
+ return getElementReference().getEOperations().get(60);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getElementReference__Namespace() {
+ return getElementReference().getEOperations().get(61);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getElementReference__Template() {
+ return getElementReference().getEOperations().get(62);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getElementReference__TemplateParameters() {
+ return getElementReference().getEOperations().get(63);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getElementReference__ParameteredElements() {
+ return getElementReference().getEOperations().get(64);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getElementReference__TemplateActuals() {
+ return getElementReference().getEOperations().get(65);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getElementReference__Direction() {
+ return getElementReference().getEOperations().get(66);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getElementReference__Association() {
+ return getElementReference().getEOperations().get(67);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getElementReference__Type() {
+ return getElementReference().getEOperations().get(68);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getElementReference__Lower() {
+ return getElementReference().getEOperations().get(69);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getElementReference__Upper() {
+ return getElementReference().getEOperations().get(70);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getElementReference__IsOrdered() {
+ return getElementReference().getEOperations().get(71);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getElementReference__IsNonunique() {
+ return getElementReference().getEOperations().get(72);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getElementReference__Parents() {
+ return getElementReference().getEOperations().get(73);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getElementReference__AllParents() {
+ return getElementReference().getEOperations().get(74);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getElementReference__ClassifierBehavior() {
+ return getElementReference().getEOperations().get(75);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getElementReference__AppliedProfiles() {
+ return getElementReference().getEOperations().get(76);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getElementReference__Base() {
+ return getElementReference().getEOperations().get(77);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getElementReference__Reference() {
+ return getElementReference().getEOperations().get(78);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getElementReference__TemplateBinding() {
+ return getElementReference().getEOperations().get(79);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getElementReference__Bind__EList() {
+ return getElementReference().getEOperations().get(80);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getElementReference__BoundElementName__EList() {
+ return getElementReference().getEOperations().get(81);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getElementReference__BoundPathName() {
+ return getElementReference().getEOperations().get(82);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getElementReference__QualifiedName() {
+ return getElementReference().getEOperations().get(83);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getElementReference__ActiveClass() {
+ return getElementReference().getEOperations().get(84);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getElementReference__IsActiveBehavior() {
+ return getElementReference().getEOperations().get(85);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getElementReference__ConformsTo__ElementReference() {
+ return getElementReference().getEOperations().get(86);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getElementReference__Equals__ElementReference() {
+ return getElementReference().getEOperations().get(87);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getElementReference__ContainedIn__EList() {
+ return getElementReference().getEOperations().get(88);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getElementReference__CountIn__EList() {
+ return getElementReference().getEOperations().get(89);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getElementReference__PositionIn__EList() {
+ return getElementReference().getEOperations().get(90);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getElementReference__Copy() {
+ return getElementReference().getEOperations().get(91);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getElementReference__ModelScope() {
+ return getElementReference().getEOperations().get(92);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getElementReference__ResolvePathName__String() {
+ return getElementReference().getEOperations().get(93);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getElementReference__Resolve__String() {
+ return getElementReference().getEOperations().get(96);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getElementReference__ResolveInScope__String() {
+ return getElementReference().getEOperations().get(94);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getElementReference__ResolveStereotype__String() {
+ return getElementReference().getEOperations().get(95);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getElementReference__ResolveVisible__String_ElementReference() {
+ return getElementReference().getEOperations().get(97);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getElementReference__ResolveAssociationEnd__ElementReference_String() {
+ return getElementReference().getEOperations().get(98);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getElementReference__ContainsMember__ElementReference() {
+ return getElementReference().getEOperations().get(99);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getElementReference__AllowPackageOnly() {
+ return getElementReference().getEOperations().get(100);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getElementReference__Stub() {
+ return getElementReference().getEOperations().get(101);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getElementReference__StubFor__UnitDefinition() {
+ return getElementReference().getEOperations().get(102);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EClass getInternalElementReference() {
+ if (internalElementReferenceEClass == null) {
+ internalElementReferenceEClass = (EClass) EPackage.Registry.INSTANCE.getEPackage(AlfPackage.eNS_URI).getEClassifiers().get(3);
+ }
+ return internalElementReferenceEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EReference getInternalElementReference_Element() {
+ return (EReference) getInternalElementReference().getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getInternalElementReference__IsAlf() {
+ return getInternalElementReference().getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getInternalElementReference__AsAlf() {
+ return getInternalElementReference().getEOperations().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getInternalElementReference__AsMember() {
+ return getInternalElementReference().getEOperations().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getInternalElementReference__IsSameKindAs__ElementReference() {
+ return getInternalElementReference().getEOperations().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getInternalElementReference__IsNamedElement() {
+ return getInternalElementReference().getEOperations().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getInternalElementReference__IsNamespace() {
+ return getInternalElementReference().getEOperations().get(5);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getInternalElementReference__IsNamespaceFor__UnitDefinition() {
+ return getInternalElementReference().getEOperations().get(6);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getInternalElementReference__IsModelNamespace() {
+ return getInternalElementReference().getEOperations().get(7);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getInternalElementReference__IsPackage() {
+ return getInternalElementReference().getEOperations().get(8);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getInternalElementReference__IsProfile() {
+ return getInternalElementReference().getEOperations().get(9);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getInternalElementReference__IsPackageableElement() {
+ return getInternalElementReference().getEOperations().get(10);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getInternalElementReference__IsClassifier() {
+ return getInternalElementReference().getEOperations().get(11);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getInternalElementReference__IsAbstractClassifier() {
+ return getInternalElementReference().getEOperations().get(12);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getInternalElementReference__IsAssociation() {
+ return getInternalElementReference().getEOperations().get(13);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getInternalElementReference__IsDataType() {
+ return getInternalElementReference().getEOperations().get(14);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getInternalElementReference__IsClass() {
+ return getInternalElementReference().getEOperations().get(15);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getInternalElementReference__IsActiveClass() {
+ return getInternalElementReference().getEOperations().get(16);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getInternalElementReference__IsSignal() {
+ return getInternalElementReference().getEOperations().get(17);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getInternalElementReference__IsEnumeration() {
+ return getInternalElementReference().getEOperations().get(18);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getInternalElementReference__IsBehavior() {
+ return getInternalElementReference().getEOperations().get(19);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getInternalElementReference__IsActivity() {
+ return getInternalElementReference().getEOperations().get(20);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getInternalElementReference__IsMethod() {
+ return getInternalElementReference().getEOperations().get(21);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getInternalElementReference__IsReception() {
+ return getInternalElementReference().getEOperations().get(23);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getInternalElementReference__IsPrimitiveType() {
+ return getInternalElementReference().getEOperations().get(22);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getInternalElementReference__IsOperation() {
+ return getInternalElementReference().getEOperations().get(24);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getInternalElementReference__IsConstructor() {
+ return getInternalElementReference().getEOperations().get(25);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getInternalElementReference__IsDestructor() {
+ return getInternalElementReference().getEOperations().get(26);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getInternalElementReference__IsFeature() {
+ return getInternalElementReference().getEOperations().get(27);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getInternalElementReference__IsProperty() {
+ return getInternalElementReference().getEOperations().get(28);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getInternalElementReference__IsAssociationEnd() {
+ return getInternalElementReference().getEOperations().get(29);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getInternalElementReference__IsParameter() {
+ return getInternalElementReference().getEOperations().get(30);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getInternalElementReference__IsTemplate() {
+ return getInternalElementReference().getEOperations().get(31);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getInternalElementReference__IsTemplateParameter() {
+ return getInternalElementReference().getEOperations().get(32);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getInternalElementReference__IsClassifierTemplateParameter() {
+ return getInternalElementReference().getEOperations().get(33);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getInternalElementReference__IsParameteredElement() {
+ return getInternalElementReference().getEOperations().get(34);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getInternalElementReference__IsTemplateBinding() {
+ return getInternalElementReference().getEOperations().get(35);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getInternalElementReference__IsEnumerationLiteral() {
+ return getInternalElementReference().getEOperations().get(37);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getInternalElementReference__IsLoopVariable() {
+ return getInternalElementReference().getEOperations().get(38);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getInternalElementReference__IsAnnotation() {
+ return getInternalElementReference().getEOperations().get(39);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getInternalElementReference__IsSequenceExpansionExpression() {
+ return getInternalElementReference().getEOperations().get(40);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getInternalElementReference__IsAnyType() {
+ return getInternalElementReference().getEOperations().get(41);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getInternalElementReference__IsStereotype() {
+ return getInternalElementReference().getEOperations().get(36);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getInternalElementReference__Name() {
+ return getInternalElementReference().getEOperations().get(42);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getInternalElementReference__Visibility() {
+ return getInternalElementReference().getEOperations().get(43);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getInternalElementReference__OwnedMembers() {
+ return getInternalElementReference().getEOperations().get(44);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getInternalElementReference__Members() {
+ return getInternalElementReference().getEOperations().get(45);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getInternalElementReference__Opposite() {
+ return getInternalElementReference().getEOperations().get(46);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getInternalElementReference__Signal() {
+ return getInternalElementReference().getEOperations().get(47);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getInternalElementReference__Parameters() {
+ return getInternalElementReference().getEOperations().get(48);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getInternalElementReference__ReturnParameter() {
+ return getInternalElementReference().getEOperations().get(49);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getInternalElementReference__Specification() {
+ return getInternalElementReference().getEOperations().get(50);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getInternalElementReference__RedefinedOperaions() {
+ return getInternalElementReference().getEOperations().get(51);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getInternalElementReference__Namespace() {
+ return getInternalElementReference().getEOperations().get(52);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getInternalElementReference__Template() {
+ return getInternalElementReference().getEOperations().get(53);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getInternalElementReference__TemplateParameters() {
+ return getInternalElementReference().getEOperations().get(54);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getInternalElementReference__ParameteredElements() {
+ return getInternalElementReference().getEOperations().get(55);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getInternalElementReference__TemplateActuals() {
+ return getInternalElementReference().getEOperations().get(56);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getInternalElementReference__Direction() {
+ return getInternalElementReference().getEOperations().get(57);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getInternalElementReference__Association() {
+ return getInternalElementReference().getEOperations().get(58);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getInternalElementReference__Type() {
+ return getInternalElementReference().getEOperations().get(59);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getInternalElementReference__Lower() {
+ return getInternalElementReference().getEOperations().get(60);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getInternalElementReference__Upper() {
+ return getInternalElementReference().getEOperations().get(61);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getInternalElementReference__IsOrdered() {
+ return getInternalElementReference().getEOperations().get(62);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getInternalElementReference__IsNonunique() {
+ return getInternalElementReference().getEOperations().get(63);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getInternalElementReference__Parents() {
+ return getInternalElementReference().getEOperations().get(64);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getInternalElementReference__AllParents() {
+ return getInternalElementReference().getEOperations().get(65);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getInternalElementReference__ClassifierBehavior() {
+ return getInternalElementReference().getEOperations().get(66);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getInternalElementReference__AppliedProfiles() {
+ return getInternalElementReference().getEOperations().get(67);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getInternalElementReference__ActiveClass() {
+ return getInternalElementReference().getEOperations().get(68);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getInternalElementReference__ConformsTo__ElementReference() {
+ return getInternalElementReference().getEOperations().get(69);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getInternalElementReference__Equals__ElementReference() {
+ return getInternalElementReference().getEOperations().get(70);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getInternalElementReference__Copy() {
+ return getInternalElementReference().getEOperations().get(71);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getInternalElementReference__ModelScope() {
+ return getInternalElementReference().getEOperations().get(72);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getInternalElementReference__ResolvePathName__String() {
+ return getInternalElementReference().getEOperations().get(73);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getInternalElementReference__ResolveInScope__String() {
+ return getInternalElementReference().getEOperations().get(74);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getInternalElementReference__ResolveStereotypeName__String() {
+ return getInternalElementReference().getEOperations().get(75);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getInternalElementReference__Stub() {
+ return getInternalElementReference().getEOperations().get(76);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getInternalElementReference__StubFor__UnitDefinition() {
+ return getInternalElementReference().getEOperations().get(77);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EClass getExternalElementReference() {
+ if (externalElementReferenceEClass == null) {
+ externalElementReferenceEClass = (EClass) EPackage.Registry.INSTANCE.getEPackage(AlfPackage.eNS_URI).getEClassifiers().get(4);
+ }
+ return externalElementReferenceEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EReference getExternalElementReference_Element() {
+ return (EReference) getExternalElementReference().getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EAttribute getExternalElementReference_Alias() {
+ return (EAttribute) getExternalElementReference().getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getExternalElementReference__IsUml() {
+ return getExternalElementReference().getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getExternalElementReference__AsUml() {
+ return getExternalElementReference().getEOperations().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getExternalElementReference__AsMember() {
+ return getExternalElementReference().getEOperations().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getExternalElementReference__IsSameKindAs__ElementReference() {
+ return getExternalElementReference().getEOperations().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getExternalElementReference__IsNamedElement() {
+ return getExternalElementReference().getEOperations().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getExternalElementReference__IsNamespace() {
+ return getExternalElementReference().getEOperations().get(5);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getExternalElementReference__IsNamespaceFor__UnitDefinition() {
+ return getExternalElementReference().getEOperations().get(6);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getExternalElementReference__IsModelNamespace() {
+ return getExternalElementReference().getEOperations().get(7);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getExternalElementReference__IsPackage() {
+ return getExternalElementReference().getEOperations().get(8);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getExternalElementReference__IsProfile() {
+ return getExternalElementReference().getEOperations().get(9);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getExternalElementReference__IsPackageableElement() {
+ return getExternalElementReference().getEOperations().get(10);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getExternalElementReference__IsClassifier() {
+ return getExternalElementReference().getEOperations().get(11);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getExternalElementReference__IsAbstractClassifier() {
+ return getExternalElementReference().getEOperations().get(12);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getExternalElementReference__IsAssociation() {
+ return getExternalElementReference().getEOperations().get(13);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getExternalElementReference__IsDataType() {
+ return getExternalElementReference().getEOperations().get(14);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getExternalElementReference__IsClass() {
+ return getExternalElementReference().getEOperations().get(15);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getExternalElementReference__IsActiveClass() {
+ return getExternalElementReference().getEOperations().get(16);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getExternalElementReference__IsSignal() {
+ return getExternalElementReference().getEOperations().get(17);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getExternalElementReference__IsEnumeration() {
+ return getExternalElementReference().getEOperations().get(18);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getExternalElementReference__IsBehavior() {
+ return getExternalElementReference().getEOperations().get(19);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getExternalElementReference__IsActivity() {
+ return getExternalElementReference().getEOperations().get(20);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getExternalElementReference__IsMethod() {
+ return getExternalElementReference().getEOperations().get(21);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getExternalElementReference__IsReception() {
+ return getExternalElementReference().getEOperations().get(23);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getExternalElementReference__IsPrimitiveType() {
+ return getExternalElementReference().getEOperations().get(22);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getExternalElementReference__IsOperation() {
+ return getExternalElementReference().getEOperations().get(24);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getExternalElementReference__IsConstructor() {
+ return getExternalElementReference().getEOperations().get(25);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getExternalElementReference__IsDestructor() {
+ return getExternalElementReference().getEOperations().get(26);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getExternalElementReference__IsFeature() {
+ return getExternalElementReference().getEOperations().get(27);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getExternalElementReference__IsProperty() {
+ return getExternalElementReference().getEOperations().get(28);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getExternalElementReference__IsAssociationEnd() {
+ return getExternalElementReference().getEOperations().get(29);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getExternalElementReference__IsParameter() {
+ return getExternalElementReference().getEOperations().get(30);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getExternalElementReference__IsTemplate() {
+ return getExternalElementReference().getEOperations().get(31);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getExternalElementReference__IsTemplateParameter() {
+ return getExternalElementReference().getEOperations().get(32);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getExternalElementReference__IsClassifierTemplateParameter() {
+ return getExternalElementReference().getEOperations().get(33);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getExternalElementReference__IsParameteredElement() {
+ return getExternalElementReference().getEOperations().get(34);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getExternalElementReference__IsTemplateBinding() {
+ return getExternalElementReference().getEOperations().get(35);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getExternalElementReference__IsStereotype() {
+ return getExternalElementReference().getEOperations().get(36);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getExternalElementReference__IsEnumerationLiteral() {
+ return getExternalElementReference().getEOperations().get(37);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getExternalElementReference__IsLoopVariable() {
+ return getExternalElementReference().getEOperations().get(38);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getExternalElementReference__IsAnnotation() {
+ return getExternalElementReference().getEOperations().get(39);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getExternalElementReference__IsSequenceExpansionExpression() {
+ return getExternalElementReference().getEOperations().get(40);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getExternalElementReference__Name() {
+ return getExternalElementReference().getEOperations().get(41);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getExternalElementReference__Visibility() {
+ return getExternalElementReference().getEOperations().get(42);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getExternalElementReference__OwnedMembers() {
+ return getExternalElementReference().getEOperations().get(43);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getExternalElementReference__EnumerationMembers() {
+ return getExternalElementReference().getEOperations().get(44);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getExternalElementReference__Members() {
+ return getExternalElementReference().getEOperations().get(45);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getExternalElementReference__AdditionalMembers() {
+ return getExternalElementReference().getEOperations().get(46);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getExternalElementReference__Inherit__EList() {
+ return getExternalElementReference().getEOperations().get(47);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getExternalElementReference__Properties() {
+ return getExternalElementReference().getEOperations().get(48);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getExternalElementReference__MemberEnds() {
+ return getExternalElementReference().getEOperations().get(49);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getExternalElementReference__AssociationEnds() {
+ return getExternalElementReference().getEOperations().get(50);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getExternalElementReference__OwnedEnds() {
+ return getExternalElementReference().getEOperations().get(51);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getExternalElementReference__Opposite() {
+ return getExternalElementReference().getEOperations().get(52);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getExternalElementReference__Signal() {
+ return getExternalElementReference().getEOperations().get(53);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getExternalElementReference__Namespace() {
+ return getExternalElementReference().getEOperations().get(54);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getExternalElementReference__OwnedParameters() {
+ return getExternalElementReference().getEOperations().get(55);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getExternalElementReference__Parameters() {
+ return getExternalElementReference().getEOperations().get(56);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getExternalElementReference__ReturnParameter() {
+ return getExternalElementReference().getEOperations().get(57);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getExternalElementReference__Specification() {
+ return getExternalElementReference().getEOperations().get(58);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getExternalElementReference__RedefinedOperations() {
+ return getExternalElementReference().getEOperations().get(59);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getExternalElementReference__Template() {
+ return getExternalElementReference().getEOperations().get(60);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getExternalElementReference__UmlTemplateBinding() {
+ return getExternalElementReference().getEOperations().get(61);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getExternalElementReference__TemplateParameters() {
+ return getExternalElementReference().getEOperations().get(62);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getExternalElementReference__ParameteredElements() {
+ return getExternalElementReference().getEOperations().get(63);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getExternalElementReference__TemplateActuals() {
+ return getExternalElementReference().getEOperations().get(64);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getExternalElementReference__Direction() {
+ return getExternalElementReference().getEOperations().get(65);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getExternalElementReference__Association() {
+ return getExternalElementReference().getEOperations().get(66);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getExternalElementReference__Type() {
+ return getExternalElementReference().getEOperations().get(67);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getExternalElementReference__Lower() {
+ return getExternalElementReference().getEOperations().get(68);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getExternalElementReference__Upper() {
+ return getExternalElementReference().getEOperations().get(69);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getExternalElementReference__IsOrdered() {
+ return getExternalElementReference().getEOperations().get(70);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getExternalElementReference__IsNonunique() {
+ return getExternalElementReference().getEOperations().get(71);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getExternalElementReference__Parents() {
+ return getExternalElementReference().getEOperations().get(72);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getExternalElementReference__AllParents() {
+ return getExternalElementReference().getEOperations().get(73);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getExternalElementReference__ClassifierBehavior() {
+ return getExternalElementReference().getEOperations().get(74);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getExternalElementReference__AppliedProfiles() {
+ return getExternalElementReference().getEOperations().get(75);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getExternalElementReference__ActiveClass() {
+ return getExternalElementReference().getEOperations().get(76);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getExternalElementReference__ConformsTo__ElementReference() {
+ return getExternalElementReference().getEOperations().get(77);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getExternalElementReference__Equals__ElementReference() {
+ return getExternalElementReference().getEOperations().get(78);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getExternalElementReference__Copy() {
+ return getExternalElementReference().getEOperations().get(79);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getExternalElementReference__ModelScope() {
+ return getExternalElementReference().getEOperations().get(80);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getExternalElementReference__ResolvePathName__String() {
+ return getExternalElementReference().getEOperations().get(81);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getExternalElementReference__ExternalElementReference_resolvePathName__String() {
+ return getExternalElementReference().getEOperations().get(82);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getExternalElementReference__ResolveInScope__String() {
+ return getExternalElementReference().getEOperations().get(83);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getExternalElementReference__ResolveStereotype__String() {
+ return getExternalElementReference().getEOperations().get(84);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getExternalElementReference__Stub() {
+ return getExternalElementReference().getEOperations().get(85);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getExternalElementReference__StubFor__UnitDefinition() {
+ return getExternalElementReference().getEOperations().get(86);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EClass getExternalEnumerationLiteralReference() {
+ if (externalEnumerationLiteralReferenceEClass == null) {
+ externalEnumerationLiteralReferenceEClass = (EClass) EPackage.Registry.INSTANCE.getEPackage(AlfPackage.eNS_URI).getEClassifiers().get(5);
+ }
+ return externalEnumerationLiteralReferenceEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getExternalEnumerationLiteralReference__IsNamedEement() {
+ return getExternalEnumerationLiteralReference().getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getExternalEnumerationLiteralReference__IsClassifier() {
+ return getExternalEnumerationLiteralReference().getEOperations().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getExternalEnumerationLiteralReference__IsParameter() {
+ return getExternalEnumerationLiteralReference().getEOperations().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getExternalEnumerationLiteralReference__IsEnumerationLiteral() {
+ return getExternalEnumerationLiteralReference().getEOperations().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getExternalEnumerationLiteralReference__ExternalEnumerationLiteralReference_visibility() {
+ return getExternalEnumerationLiteralReference().getEOperations().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getExternalEnumerationLiteralReference__Visibility() {
+ return getExternalEnumerationLiteralReference().getEOperations().get(5);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getExternalEnumerationLiteralReference__ExternalEnumerationLiteralReference_type() {
+ return getExternalEnumerationLiteralReference().getEOperations().get(6);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getExternalEnumerationLiteralReference__Type() {
+ return getExternalEnumerationLiteralReference().getEOperations().get(7);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EClass getBoundElementReference() {
+ if (boundElementReferenceEClass == null) {
+ boundElementReferenceEClass = (EClass) EPackage.Registry.INSTANCE.getEPackage(AlfPackage.eNS_URI).getEClassifiers().get(6);
+ }
+ return boundElementReferenceEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EReference getBoundElementReference_Referent() {
+ return (EReference) getBoundElementReference().getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EReference getBoundElementReference_Namespace() {
+ return (EReference) getBoundElementReference().getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EReference getBoundElementReference_TemplateBinding() {
+ return (EReference) getBoundElementReference().getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getBoundElementReference__IsUml() {
+ return getBoundElementReference().getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getBoundElementReference__IsAlf() {
+ return getBoundElementReference().getEOperations().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getBoundElementReference__AsUml() {
+ return getBoundElementReference().getEOperations().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getBoundElementReference__AsAlf() {
+ return getBoundElementReference().getEOperations().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getBoundElementReference__AsMember() {
+ return getBoundElementReference().getEOperations().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getBoundElementReference__IsSameKindAs__ElementReference() {
+ return getBoundElementReference().getEOperations().get(5);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getBoundElementReference__IsNamedElement() {
+ return getBoundElementReference().getEOperations().get(6);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getBoundElementReference__IsNamespace() {
+ return getBoundElementReference().getEOperations().get(7);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getBoundElementReference__IsNamespaceFor__UnitDefinition() {
+ return getBoundElementReference().getEOperations().get(8);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getBoundElementReference__IsModelNamespace() {
+ return getBoundElementReference().getEOperations().get(9);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getBoundElementReference__IsPackage() {
+ return getBoundElementReference().getEOperations().get(10);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getBoundElementReference__IsProfile() {
+ return getBoundElementReference().getEOperations().get(11);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getBoundElementReference__IsPackageableElement() {
+ return getBoundElementReference().getEOperations().get(12);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getBoundElementReference__IsClassifier() {
+ return getBoundElementReference().getEOperations().get(13);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getBoundElementReference__IsAbstractClassifier() {
+ return getBoundElementReference().getEOperations().get(14);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getBoundElementReference__IsAssociation() {
+ return getBoundElementReference().getEOperations().get(15);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getBoundElementReference__IsDataType() {
+ return getBoundElementReference().getEOperations().get(16);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getBoundElementReference__IsClass() {
+ return getBoundElementReference().getEOperations().get(17);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getBoundElementReference__IsActiveClass() {
+ return getBoundElementReference().getEOperations().get(18);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getBoundElementReference__IsSignal() {
+ return getBoundElementReference().getEOperations().get(19);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getBoundElementReference__IsEnumeration() {
+ return getBoundElementReference().getEOperations().get(20);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getBoundElementReference__IsBehavior() {
+ return getBoundElementReference().getEOperations().get(21);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getBoundElementReference__IsActivity() {
+ return getBoundElementReference().getEOperations().get(22);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getBoundElementReference__IsMethod() {
+ return getBoundElementReference().getEOperations().get(23);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getBoundElementReference__IsPrimitiveType() {
+ return getBoundElementReference().getEOperations().get(24);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getBoundElementReference__IsReception() {
+ return getBoundElementReference().getEOperations().get(25);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getBoundElementReference__IsOperation() {
+ return getBoundElementReference().getEOperations().get(26);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getBoundElementReference__IsConstructor() {
+ return getBoundElementReference().getEOperations().get(27);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getBoundElementReference__IsDestructor() {
+ return getBoundElementReference().getEOperations().get(28);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getBoundElementReference__IsFeature() {
+ return getBoundElementReference().getEOperations().get(29);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getBoundElementReference__IsProperty() {
+ return getBoundElementReference().getEOperations().get(30);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getBoundElementReference__IsAssociationEnd() {
+ return getBoundElementReference().getEOperations().get(31);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getBoundElementReference__IsParameter() {
+ return getBoundElementReference().getEOperations().get(32);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getBoundElementReference__IsTemplate() {
+ return getBoundElementReference().getEOperations().get(33);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getBoundElementReference__IsTemplateParameter() {
+ return getBoundElementReference().getEOperations().get(34);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getBoundElementReference__IsClassifierTemplateParameter() {
+ return getBoundElementReference().getEOperations().get(35);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getBoundElementReference__IsParameteredElement() {
+ return getBoundElementReference().getEOperations().get(36);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getBoundElementReference__IsStereotype() {
+ return getBoundElementReference().getEOperations().get(37);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getBoundElementReference__IsEnumerationLiteral() {
+ return getBoundElementReference().getEOperations().get(38);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getBoundElementReference__IsLoopVariable() {
+ return getBoundElementReference().getEOperations().get(39);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getBoundElementReference__IsAnnotation() {
+ return getBoundElementReference().getEOperations().get(40);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getBoundElementReference__IsSequenceExpansionExpression() {
+ return getBoundElementReference().getEOperations().get(41);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getBoundElementReference__IsDistinguishableFrom__ElementReference() {
+ return getBoundElementReference().getEOperations().get(42);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getBoundElementReference__Name() {
+ return getBoundElementReference().getEOperations().get(43);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getBoundElementReference__Visibility() {
+ return getBoundElementReference().getEOperations().get(44);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getBoundElementReference__OwnedMembers() {
+ return getBoundElementReference().getEOperations().get(45);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getBoundElementReference__Members() {
+ return getBoundElementReference().getEOperations().get(46);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getBoundElementReference__Opposite() {
+ return getBoundElementReference().getEOperations().get(47);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getBoundElementReference__Signal() {
+ return getBoundElementReference().getEOperations().get(48);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getBoundElementReference__Parameters() {
+ return getBoundElementReference().getEOperations().get(49);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getBoundElementReference__ReturnParameter() {
+ return getBoundElementReference().getEOperations().get(50);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getBoundElementReference__Specification() {
+ return getBoundElementReference().getEOperations().get(51);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getBoundElementReference__RedefinedOperations() {
+ return getBoundElementReference().getEOperations().get(52);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getBoundElementReference__Namespace() {
+ return getBoundElementReference().getEOperations().get(53);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getBoundElementReference__Template() {
+ return getBoundElementReference().getEOperations().get(54);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getBoundElementReference__TemplateParameters() {
+ return getBoundElementReference().getEOperations().get(55);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getBoundElementReference__ParameteredElements() {
+ return getBoundElementReference().getEOperations().get(56);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getBoundElementReference__IsTemplateBinding() {
+ return getBoundElementReference().getEOperations().get(57);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getBoundElementReference__TemplateActuals() {
+ return getBoundElementReference().getEOperations().get(58);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getBoundElementReference__Direction() {
+ return getBoundElementReference().getEOperations().get(59);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getBoundElementReference__Association() {
+ return getBoundElementReference().getEOperations().get(60);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getBoundElementReference__Type() {
+ return getBoundElementReference().getEOperations().get(61);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getBoundElementReference__Lower() {
+ return getBoundElementReference().getEOperations().get(62);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getBoundElementReference__Upper() {
+ return getBoundElementReference().getEOperations().get(63);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getBoundElementReference__IsOrdered() {
+ return getBoundElementReference().getEOperations().get(64);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getBoundElementReference__IsNonunique() {
+ return getBoundElementReference().getEOperations().get(65);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getBoundElementReference__Parents() {
+ return getBoundElementReference().getEOperations().get(66);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getBoundElementReference__AllParents() {
+ return getBoundElementReference().getEOperations().get(67);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getBoundElementReference__ClassifierBehavior() {
+ return getBoundElementReference().getEOperations().get(68);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getBoundElementReference__AppliedProfiles() {
+ return getBoundElementReference().getEOperations().get(69);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getBoundElementReference__Reference() {
+ return getBoundElementReference().getEOperations().get(70);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getBoundElementReference__TemplateBinding() {
+ return getBoundElementReference().getEOperations().get(71);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getBoundElementReference__ActiveClass() {
+ return getBoundElementReference().getEOperations().get(72);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getBoundElementReference__IsActiveBehavior() {
+ return getBoundElementReference().getEOperations().get(73);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getBoundElementReference__ConformsTo__ElementReference() {
+ return getBoundElementReference().getEOperations().get(74);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getBoundElementReference__Equals__ElementReference() {
+ return getBoundElementReference().getEOperations().get(75);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getBoundElementReference__Copy() {
+ return getBoundElementReference().getEOperations().get(76);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getBoundElementReference__ModelScope() {
+ return getBoundElementReference().getEOperations().get(77);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getBoundElementReference__ResolvePathName__String() {
+ return getBoundElementReference().getEOperations().get(78);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getBoundElementReference__ResolveInScope__String() {
+ return getBoundElementReference().getEOperations().get(79);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getBoundElementReference__ResolveStereotype__String() {
+ return getBoundElementReference().getEOperations().get(80);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getBoundElementReference__Stub() {
+ return getBoundElementReference().getEOperations().get(81);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getBoundElementReference__StubFor__UnitDefinition() {
+ return getBoundElementReference().getEOperations().get(82);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getBoundElementReference__BoundReferenceTo__ElementReference() {
+ return getBoundElementReference().getEOperations().get(83);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getBoundElementReference__BoundReferenceTo1__ElementReference() {
+ return getBoundElementReference().getEOperations().get(84);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getBoundElementReference__BoundReferencesTo__EList() {
+ return getBoundElementReference().getEOperations().get(85);
+ }
+
+ /**
+ * <!-- 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);
+ }
+ return documentedElementEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EAttribute getDocumentedElement_Documentation() {
+ return (EAttribute) getDocumentedElement().getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EClass getSequenceExpansionExpression() {
+ if (sequenceExpansionExpressionEClass == null) {
+ sequenceExpansionExpressionEClass = (EClass) EPackage.Registry.INSTANCE.getEPackage(AlfPackage.eNS_URI).getEClassifiers().get(8);
+ }
+ return sequenceExpansionExpressionEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EAttribute getSequenceExpansionExpression_Operation() {
+ return (EAttribute) getSequenceExpansionExpression().getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EAttribute getSequenceExpansionExpression_Variable() {
+ return (EAttribute) getSequenceExpansionExpression().getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EReference getSequenceExpansionExpression_VariableSource() {
+ return (EReference) getSequenceExpansionExpression().getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EReference getSequenceExpansionExpression_Argument() {
+ return (EReference) getSequenceExpansionExpression().getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EReference getSequenceExpansionExpression_Primary() {
+ return (EReference) getSequenceExpansionExpression().getEStructuralFeatures().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EAttribute getSequenceExpansionExpression_IsSelectOrReject() {
+ return (EAttribute) getSequenceExpansionExpression().getEStructuralFeatures().get(5);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EAttribute getSequenceExpansionExpression_IsCollectOrIterate() {
+ return (EAttribute) getSequenceExpansionExpression().getEStructuralFeatures().get(6);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EAttribute getSequenceExpansionExpression_IsForAllOrExistsOrOne() {
+ return (EAttribute) getSequenceExpansionExpression().getEStructuralFeatures().get(7);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EAttribute getSequenceExpansionExpression_IsIsUnique() {
+ return (EAttribute) getSequenceExpansionExpression().getEStructuralFeatures().get(8);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getSequenceExpansionExpression__AssignmentsBefore__SyntaxElement() {
+ return getSequenceExpansionExpression().getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getSequenceExpansionExpression__AssignmentsAfterPrimary() {
+ return getSequenceExpansionExpression().getEOperations().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getSequenceExpansionExpression__Type() {
+ return getSequenceExpansionExpression().getEOperations().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getSequenceExpansionExpression__Lower() {
+ return getSequenceExpansionExpression().getEOperations().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getSequenceExpansionExpression__Upper() {
+ return getSequenceExpansionExpression().getEOperations().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getSequenceExpansionExpression__SequenceExpansionExpressionVariableSourceDerivation__DiagnosticChain_Map() {
+ return getSequenceExpansionExpression().getEOperations().get(5);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getSequenceExpansionExpression__SequenceExpansionExpressionAssignmentsBeforePrimary__DiagnosticChain_Map() {
+ return getSequenceExpansionExpression().getEOperations().get(6);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getSequenceExpansionExpression__SequenceExpansionExpressionAssignmentsBeforeArgument__DiagnosticChain_Map() {
+ return getSequenceExpansionExpression().getEOperations().get(7);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getSequenceExpansionExpression__SequenceExpansionExpressionVariableName__DiagnosticChain_Map() {
+ return getSequenceExpansionExpression().getEOperations().get(8);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getSequenceExpansionExpression__SequenceExpansionExpressionAssignmentsAfterArgument__DiagnosticChain_Map() {
+ return getSequenceExpansionExpression().getEOperations().get(9);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getSequenceExpansionExpression__SelectOrRejectExpressionTypeDerivation__DiagnosticChain_Map() {
+ return getSequenceExpansionExpression().getEOperations().get(10);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getSequenceExpansionExpression__SelectOrRejectExpressionLowerDerivation__DiagnosticChain_Map() {
+ return getSequenceExpansionExpression().getEOperations().get(11);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getSequenceExpansionExpression__SelectOrRejectExpressionUpperDerivation__DiagnosticChain_Map() {
+ return getSequenceExpansionExpression().getEOperations().get(12);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getSequenceExpansionExpression__SelectOrRejectExpressionArgument__DiagnosticChain_Map() {
+ return getSequenceExpansionExpression().getEOperations().get(13);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getSequenceExpansionExpression__CollectOrIterateExpressionTypeDerivation__DiagnosticChain_Map() {
+ return getSequenceExpansionExpression().getEOperations().get(14);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getSequenceExpansionExpression__CollectOrIterateExpressionLowerDerivation__DiagnosticChain_Map() {
+ return getSequenceExpansionExpression().getEOperations().get(15);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getSequenceExpansionExpression__CollectOrIterateExpressionUpperDerivation__DiagnosticChain_Map() {
+ return getSequenceExpansionExpression().getEOperations().get(16);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getSequenceExpansionExpression__ForAllOrExistsOrOneExpressionTypeDerivation__DiagnosticChain_Map() {
+ return getSequenceExpansionExpression().getEOperations().get(17);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getSequenceExpansionExpression__ForAllOrExistsOrOneExpressionLowerDerivation__DiagnosticChain_Map() {
+ return getSequenceExpansionExpression().getEOperations().get(18);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getSequenceExpansionExpression__ForAllOrExistsOrOneExpressionUpperDerivation__DiagnosticChain_Map() {
+ return getSequenceExpansionExpression().getEOperations().get(19);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getSequenceExpansionExpression__ForAllOrExistsOrOneExpressionArgument__DiagnosticChain_Map() {
+ return getSequenceExpansionExpression().getEOperations().get(20);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getSequenceExpansionExpression__IsUniqueExpressionTypeDerivation__DiagnosticChain_Map() {
+ return getSequenceExpansionExpression().getEOperations().get(21);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getSequenceExpansionExpression__IsUniqueExpressionLowerDerivation__DiagnosticChain_Map() {
+ return getSequenceExpansionExpression().getEOperations().get(22);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getSequenceExpansionExpression__IsUniqueExpressionUpperDerivation__DiagnosticChain_Map() {
+ return getSequenceExpansionExpression().getEOperations().get(23);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getSequenceExpansionExpression__IsUniqueExpressionExpressionArgument__DiagnosticChain_Map() {
+ return getSequenceExpansionExpression().getEOperations().get(24);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getSequenceExpansionExpression__UpdateAssignments() {
+ return getSequenceExpansionExpression().getEOperations().get(25);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getSequenceExpansionExpression__SequenceExpansionExpressionOperation__DiagnosticChain_Map() {
+ return getSequenceExpansionExpression().getEOperations().get(26);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EClass getAssignableElement() {
+ if (assignableElementEClass == null) {
+ assignableElementEClass = (EClass) EPackage.Registry.INSTANCE.getEPackage(AlfPackage.eNS_URI).getEClassifiers().get(9);
+ }
+ return assignableElementEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EAttribute getAssignableElement_Upper() {
+ return (EAttribute) getAssignableElement().getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EAttribute getAssignableElement_Lower() {
+ return (EAttribute) getAssignableElement().getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EReference getAssignableElement_Type() {
+ return (EReference) getAssignableElement().getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getAssignableElement__TypeCached() {
+ return getAssignableElement().getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getAssignableElement__Type() {
+ return getAssignableElement().getEOperations().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getAssignableElement__Lower() {
+ return getAssignableElement().getEOperations().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getAssignableElement__Upper() {
+ return getAssignableElement().getEOperations().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getAssignableElement__IsNull() {
+ return getAssignableElement().getEOperations().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getAssignableElement__IsAssignableFromElement__ElementReference() {
+ return getAssignableElement().getEOperations().get(5);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getAssignableElement__IsAssignableFrom__AssignableElement() {
+ return getAssignableElement().getEOperations().get(6);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getAssignableElement__IsTypeConformantWith__AssignableElement() {
+ return getAssignableElement().getEOperations().get(7);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getAssignableElement__IsConformantWithType__ElementReference() {
+ return getAssignableElement().getEOperations().get(8);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getAssignableElement__IsMultiplicityConformantWith__AssignableElement() {
+ return getAssignableElement().getEOperations().get(9);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EClass getAssignableElementReference() {
+ if (assignableElementReferenceEClass == null) {
+ assignableElementReferenceEClass = (EClass) EPackage.Registry.INSTANCE.getEPackage(AlfPackage.eNS_URI).getEClassifiers().get(10);
+ }
+ return assignableElementReferenceEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EReference getAssignableElementReference_Reference() {
+ return (EReference) getAssignableElementReference().getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getAssignableElementReference__Type() {
+ return getAssignableElementReference().getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getAssignableElementReference__Lower() {
+ return getAssignableElementReference().getEOperations().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getAssignableElementReference__Upper() {
+ return getAssignableElementReference().getEOperations().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EClass getExpression() {
+ if (expressionEClass == null) {
+ expressionEClass = (EClass) EPackage.Registry.INSTANCE.getEPackage(AlfPackage.eNS_URI).getEClassifiers().get(11);
+ }
+ return expressionEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EReference getExpression_AssignmentBefore() {
+ return (EReference) getExpression().getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EReference getExpression_AssignmentAfter() {
+ return (EReference) getExpression().getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getExpression__NewAssignments() {
+ return getExpression().getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getExpression__ExpressionAssignmentAfterDerivation__DiagnosticChain_Map() {
+ return getExpression().getEOperations().get(6);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getExpression__ExpressionUniqueAssignments__DiagnosticChain_Map() {
+ return getExpression().getEOperations().get(7);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getExpression__UpdateAssignments() {
+ return getExpression().getEOperations().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getExpression__Expression_updateAssignments() {
+ return getExpression().getEOperations().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getExpression__UpdateAssignmentsCached() {
+ return getExpression().getEOperations().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getExpression__Resolve__String() {
+ return getExpression().getEOperations().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getExpression__IsAddTarget__Expression() {
+ return getExpression().getEOperations().get(5);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EClass getExtentOrExpression() {
+ if (extentOrExpressionEClass == null) {
+ extentOrExpressionEClass = (EClass) EPackage.Registry.INSTANCE.getEPackage(AlfPackage.eNS_URI).getEClassifiers().get(12);
+ }
+ return extentOrExpressionEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EReference getExtentOrExpression_Name() {
+ return (EReference) getExtentOrExpression().getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EReference getExtentOrExpression_Expression() {
+ return (EReference) getExtentOrExpression().getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EReference getExtentOrExpression_NonNameExpression() {
+ return (EReference) getExtentOrExpression().getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getExtentOrExpression__IsAddTarget__Expression() {
+ return getExtentOrExpression().getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getExtentOrExpression__ExtentOrExpressionExpressionDerivation__DiagnosticChain_Map() {
+ return getExtentOrExpression().getEOperations().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getExtentOrExpression__ExtentOrExpressionExtentType__DiagnosticChain_Map() {
+ return getExtentOrExpression().getEOperations().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getExtentOrExpression__ExtentOrExpressionResolution__DiagnosticChain_Map() {
+ return getExtentOrExpression().getEOperations().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EClass getQualifiedName() {
+ if (qualifiedNameEClass == null) {
+ qualifiedNameEClass = (EClass) EPackage.Registry.INSTANCE.getEPackage(AlfPackage.eNS_URI).getEClassifiers().get(13);
+ }
+ return qualifiedNameEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EAttribute getQualifiedName_IsAmbiguous() {
+ return (EAttribute) getQualifiedName().getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EAttribute getQualifiedName_PathName() {
+ return (EAttribute) getQualifiedName().getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EAttribute getQualifiedName_IsFeatureReference() {
+ return (EAttribute) getQualifiedName().getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EReference getQualifiedName_Qualification() {
+ return (EReference) getQualifiedName().getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EReference getQualifiedName_Disambiguation() {
+ return (EReference) getQualifiedName().getEStructuralFeatures().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EReference getQualifiedName_NameBinding() {
+ return (EReference) getQualifiedName().getEStructuralFeatures().get(5);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EReference getQualifiedName_Referent() {
+ return (EReference) getQualifiedName().getEStructuralFeatures().get(6);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EReference getQualifiedName_UnqualifiedName() {
+ return (EReference) getQualifiedName().getEStructuralFeatures().get(7);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EReference getQualifiedName_TemplateName() {
+ return (EReference) getQualifiedName().getEStructuralFeatures().get(8);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getQualifiedName__Copy() {
+ return getQualifiedName().getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getQualifiedName__AddName__String() {
+ return getQualifiedName().getEOperations().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getQualifiedName__AddNameBindings__EList() {
+ return getQualifiedName().getEOperations().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getQualifiedName__ModelReferents() {
+ return getQualifiedName().getEOperations().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getQualifiedName__QualifiedNameUnqualifiedNameDerivation__DiagnosticChain_Map() {
+ return getQualifiedName().getEOperations().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getQualifiedName__QualifiedNamePathNameDerivation__DiagnosticChain_Map() {
+ return getQualifiedName().getEOperations().get(5);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getQualifiedName__QualifiedNameIsFeatureReferenceDerivation__DiagnosticChain_Map() {
+ return getQualifiedName().getEOperations().get(6);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getQualifiedName__QualifiedNameQualificationDerivation__DiagnosticChain_Map() {
+ return getQualifiedName().getEOperations().get(7);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getQualifiedName__QualifiedNameDisambiguationDerivation__DiagnosticChain_Map() {
+ return getQualifiedName().getEOperations().get(8);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getQualifiedName__QualifiedNameReferentDerivation__DiagnosticChain_Map() {
+ return getQualifiedName().getEOperations().get(9);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getQualifiedName__QualifiedNameLocalName__DiagnosticChain_Map() {
+ return getQualifiedName().getEOperations().get(10);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getQualifiedName__QualifiedNameNonLocalUnqualifiedName__DiagnosticChain_Map() {
+ return getQualifiedName().getEOperations().get(11);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getQualifiedName__QualifiedNameQualifiedResolution__DiagnosticChain_Map() {
+ return getQualifiedName().getEOperations().get(12);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getQualifiedName__QualifiedNameTemplateBinding__DiagnosticChain_Map() {
+ return getQualifiedName().getEOperations().get(13);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getQualifiedName__QualifiedNameTemplateNameDerivation__DiagnosticChain_Map() {
+ return getQualifiedName().getEOperations().get(14);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getQualifiedName__DisambiguationCached() {
+ return getQualifiedName().getEOperations().get(15);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getQualifiedName__Disambiguation() {
+ return getQualifiedName().getEOperations().get(16);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getQualifiedName__ReferentCached() {
+ return getQualifiedName().getEOperations().get(17);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getQualifiedName__Referent() {
+ return getQualifiedName().getEOperations().get(18);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EClass getFeatureReference() {
+ if (featureReferenceEClass == null) {
+ featureReferenceEClass = (EClass) EPackage.Registry.INSTANCE.getEPackage(AlfPackage.eNS_URI).getEClassifiers().get(14);
+ }
+ return featureReferenceEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EReference getFeatureReference_Expression() {
+ return (EReference) getFeatureReference().getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EReference getFeatureReference_Referent() {
+ return (EReference) getFeatureReference().getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EReference getFeatureReference_NameBinding() {
+ return (EReference) getFeatureReference().getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getFeatureReference__UpdateAssignments() {
+ return getFeatureReference().getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getFeatureReference__BehavioralFeatureReferent__InvocationExpression() {
+ return getFeatureReference().getEOperations().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getFeatureReference__FeatureReferenceReferentDerivation__DiagnosticChain_Map() {
+ return getFeatureReference().getEOperations().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getFeatureReference__FeatureReferenceTargetType__DiagnosticChain_Map() {
+ return getFeatureReference().getEOperations().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getFeatureReference__ReferentCached() {
+ return getFeatureReference().getEOperations().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getFeatureReference__Referent() {
+ return getFeatureReference().getEOperations().get(5);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getFeatureReference__FeatureReference_referent() {
+ return getFeatureReference().getEOperations().get(6);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EClass getNameBinding() {
+ if (nameBindingEClass == null) {
+ nameBindingEClass = (EClass) EPackage.Registry.INSTANCE.getEPackage(AlfPackage.eNS_URI).getEClassifiers().get(15);
+ }
+ return nameBindingEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EReference getNameBinding_Binding() {
+ return (EReference) getNameBinding().getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EAttribute getNameBinding_Name() {
+ return (EAttribute) getNameBinding().getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getNameBinding__ToString() {
+ return getNameBinding().getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getNameBinding__ToName() {
+ return getNameBinding().getEOperations().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getNameBinding__Process__String() {
+ return getNameBinding().getEOperations().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getNameBinding__Escape__String() {
+ return getNameBinding().getEOperations().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getNameBinding__Copy() {
+ return getNameBinding().getEOperations().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getNameBinding__ToQualifiedName__SyntaxElement() {
+ return getNameBinding().getEOperations().get(5);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getNameBinding__ToQualifiedNameWith__NameBinding_SyntaxElement() {
+ return getNameBinding().getEOperations().get(6);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EClass getTemplateBinding() {
+ if (templateBindingEClass == null) {
+ templateBindingEClass = (EClass) EPackage.Registry.INSTANCE.getEPackage(AlfPackage.eNS_URI).getEClassifiers().get(16);
+ }
+ return templateBindingEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getTemplateBinding__ToString() {
+ return getTemplateBinding().getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getTemplateBinding__Matches__ElementReference() {
+ return getTemplateBinding().getEOperations().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getTemplateBinding__Copy() {
+ return getTemplateBinding().getEOperations().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getTemplateBinding__BindTo__ElementReference() {
+ return getTemplateBinding().getEOperations().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EClass getNamedTemplateBinding() {
+ if (namedTemplateBindingEClass == null) {
+ namedTemplateBindingEClass = (EClass) EPackage.Registry.INSTANCE.getEPackage(AlfPackage.eNS_URI).getEClassifiers().get(17);
+ }
+ return namedTemplateBindingEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EReference getNamedTemplateBinding_Substitution() {
+ return (EReference) getNamedTemplateBinding().getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getNamedTemplateBinding__ToString() {
+ return getNamedTemplateBinding().getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getNamedTemplateBinding__Matches__ElementReference() {
+ return getNamedTemplateBinding().getEOperations().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getNamedTemplateBinding__MatchesParameter__ElementReference() {
+ return getNamedTemplateBinding().getEOperations().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getNamedTemplateBinding__BindTo__ElementReference() {
+ return getNamedTemplateBinding().getEOperations().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getNamedTemplateBinding__Copy() {
+ return getNamedTemplateBinding().getEOperations().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EClass getTemplateParameterSubstitution() {
+ if (templateParameterSubstitutionEClass == null) {
+ templateParameterSubstitutionEClass = (EClass) EPackage.Registry.INSTANCE.getEPackage(AlfPackage.eNS_URI).getEClassifiers().get(18);
+ }
+ return templateParameterSubstitutionEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EAttribute getTemplateParameterSubstitution_ParameterName() {
+ return (EAttribute) getTemplateParameterSubstitution().getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EReference getTemplateParameterSubstitution_ArgumentName() {
+ return (EReference) getTemplateParameterSubstitution().getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EReference getTemplateParameterSubstitution_Referent() {
+ return (EReference) getTemplateParameterSubstitution().getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getTemplateParameterSubstitution__ActualParameterName() {
+ return getTemplateParameterSubstitution().getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getTemplateParameterSubstitution__ToString() {
+ return getTemplateParameterSubstitution().getEOperations().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getTemplateParameterSubstitution__Copy() {
+ return getTemplateParameterSubstitution().getEOperations().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EClass getNumericUnaryExpression() {
+ if (numericUnaryExpressionEClass == null) {
+ numericUnaryExpressionEClass = (EClass) EPackage.Registry.INSTANCE.getEPackage(AlfPackage.eNS_URI).getEClassifiers().get(19);
+ }
+ return numericUnaryExpressionEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getNumericUnaryExpression__Type() {
+ return getNumericUnaryExpression().getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getNumericUnaryExpression__Lower() {
+ return getNumericUnaryExpression().getEOperations().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getNumericUnaryExpression__Upper() {
+ return getNumericUnaryExpression().getEOperations().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getNumericUnaryExpression__NumericUnaryExpressionTypeDerivation__DiagnosticChain_Map() {
+ return getNumericUnaryExpression().getEOperations().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getNumericUnaryExpression__NumericUnaryExpressionLowerDerivation__DiagnosticChain_Map() {
+ return getNumericUnaryExpression().getEOperations().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getNumericUnaryExpression__NumericUnaryExpressionUpperDerivation__DiagnosticChain_Map() {
+ return getNumericUnaryExpression().getEOperations().get(5);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getNumericUnaryExpression__NumericUnaryExpressionOperand__DiagnosticChain_Map() {
+ return getNumericUnaryExpression().getEOperations().get(6);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EClass getUnaryExpression() {
+ if (unaryExpressionEClass == null) {
+ unaryExpressionEClass = (EClass) EPackage.Registry.INSTANCE.getEPackage(AlfPackage.eNS_URI).getEClassifiers().get(20);
+ }
+ return unaryExpressionEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EAttribute getUnaryExpression_Operator() {
+ return (EAttribute) getUnaryExpression().getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EReference getUnaryExpression_Operand() {
+ return (EReference) getUnaryExpression().getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getUnaryExpression__UnaryExpressionAssignmentsBefore__DiagnosticChain_Map() {
+ return getUnaryExpression().getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getUnaryExpression__UpdateAssignments() {
+ return getUnaryExpression().getEOperations().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EClass getForAllOrExistsOrOneExpression() {
+ if (forAllOrExistsOrOneExpressionEClass == null) {
+ forAllOrExistsOrOneExpressionEClass = (EClass) EPackage.Registry.INSTANCE.getEPackage(AlfPackage.eNS_URI).getEClassifiers().get(21);
+ }
+ return forAllOrExistsOrOneExpressionEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getForAllOrExistsOrOneExpression__ForAllOrExistsOrOneExpressionTypeDerivation__DiagnosticChain_Map() {
+ return getForAllOrExistsOrOneExpression().getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getForAllOrExistsOrOneExpression__ForAllOrExistsOrOneExpressionLowerDerivation__DiagnosticChain_Map() {
+ return getForAllOrExistsOrOneExpression().getEOperations().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getForAllOrExistsOrOneExpression__ForAllOrExistsOrOneExpressionUpperDerivation__DiagnosticChain_Map() {
+ return getForAllOrExistsOrOneExpression().getEOperations().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getForAllOrExistsOrOneExpression__ForAllOrExistsOrOneExpressionArgument__DiagnosticChain_Map() {
+ return getForAllOrExistsOrOneExpression().getEOperations().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EClass getIsolationExpression() {
+ if (isolationExpressionEClass == null) {
+ isolationExpressionEClass = (EClass) EPackage.Registry.INSTANCE.getEPackage(AlfPackage.eNS_URI).getEClassifiers().get(22);
+ }
+ return isolationExpressionEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getIsolationExpression__Type() {
+ return getIsolationExpression().getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getIsolationExpression__Lower() {
+ return getIsolationExpression().getEOperations().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getIsolationExpression__Upper() {
+ return getIsolationExpression().getEOperations().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getIsolationExpression__IsolationExpressionTypeDerivation__DiagnosticChain_Map() {
+ return getIsolationExpression().getEOperations().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getIsolationExpression__IsolationExpressionLowerDerivation__DiagnosticChain_Map() {
+ return getIsolationExpression().getEOperations().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getIsolationExpression__IsolationExpressionUpperDerivation__DiagnosticChain_Map() {
+ return getIsolationExpression().getEOperations().get(5);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EClass getBinaryExpression() {
+ if (binaryExpressionEClass == null) {
+ binaryExpressionEClass = (EClass) EPackage.Registry.INSTANCE.getEPackage(AlfPackage.eNS_URI).getEClassifiers().get(23);
+ }
+ return binaryExpressionEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EReference getBinaryExpression_Operand1() {
+ return (EReference) getBinaryExpression().getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EReference getBinaryExpression_Operand2() {
+ return (EReference) getBinaryExpression().getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EAttribute getBinaryExpression_Operator() {
+ return (EAttribute) getBinaryExpression().getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getBinaryExpression__BinaryExpressionOperandMultiplicity__DiagnosticChain_Map() {
+ return getBinaryExpression().getEOperations().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getBinaryExpression__BinaryExpressionOperandAssignments__DiagnosticChain_Map() {
+ return getBinaryExpression().getEOperations().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getBinaryExpression__UpdateAssignments() {
+ return getBinaryExpression().getEOperations().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getBinaryExpression__ValidateAssignments() {
+ return getBinaryExpression().getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getBinaryExpression__NoNullArguments() {
+ return getBinaryExpression().getEOperations().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EClass getBooleanUnaryExpression() {
+ if (booleanUnaryExpressionEClass == null) {
+ booleanUnaryExpressionEClass = (EClass) EPackage.Registry.INSTANCE.getEPackage(AlfPackage.eNS_URI).getEClassifiers().get(24);
+ }
+ return booleanUnaryExpressionEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getBooleanUnaryExpression__Type() {
+ return getBooleanUnaryExpression().getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getBooleanUnaryExpression__Lower() {
+ return getBooleanUnaryExpression().getEOperations().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getBooleanUnaryExpression__Upper() {
+ return getBooleanUnaryExpression().getEOperations().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getBooleanUnaryExpression__BooleanUnaryExpressionTypeDerivation__DiagnosticChain_Map() {
+ return getBooleanUnaryExpression().getEOperations().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getBooleanUnaryExpression__BooleanUnaryExpressionLowerDerivation__DiagnosticChain_Map() {
+ return getBooleanUnaryExpression().getEOperations().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getBooleanUnaryExpression__BooleanUnaryExpressionUpperDerivation__DiagnosticChain_Map() {
+ return getBooleanUnaryExpression().getEOperations().get(5);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getBooleanUnaryExpression__BooleanUnaryExpressionOperand__DiagnosticChain_Map() {
+ return getBooleanUnaryExpression().getEOperations().get(6);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EClass getCastExpression() {
+ if (castExpressionEClass == null) {
+ castExpressionEClass = (EClass) EPackage.Registry.INSTANCE.getEPackage(AlfPackage.eNS_URI).getEClassifiers().get(25);
+ }
+ return castExpressionEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EReference getCastExpression_Operand() {
+ return (EReference) getCastExpression().getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EReference getCastExpression_TypeName() {
+ return (EReference) getCastExpression().getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EAttribute getCastExpression_IsAny() {
+ return (EAttribute) getCastExpression().getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getCastExpression__Type() {
+ return getCastExpression().getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getCastExpression__Lower() {
+ return getCastExpression().getEOperations().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getCastExpression__Upper() {
+ return getCastExpression().getEOperations().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getCastExpression__CastExpressionTypeDerivation__DiagnosticChain_Map() {
+ return getCastExpression().getEOperations().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getCastExpression__CastExpressionLowerDerivation__DiagnosticChain_Map() {
+ return getCastExpression().getEOperations().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getCastExpression__CastExpressionUpperDerivation__DiagnosticChain_Map() {
+ return getCastExpression().getEOperations().get(5);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getCastExpression__CastExpressionTypeResolution__DiagnosticChain_Map() {
+ return getCastExpression().getEOperations().get(6);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getCastExpression__CastExpressionAssignmentsBefore__DiagnosticChain_Map() {
+ return getCastExpression().getEOperations().get(7);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getCastExpression__UpdateAssignments() {
+ return getCastExpression().getEOperations().get(8);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EClass getPositionalTuple() {
+ if (positionalTupleEClass == null) {
+ positionalTupleEClass = (EClass) EPackage.Registry.INSTANCE.getEPackage(AlfPackage.eNS_URI).getEClassifiers().get(26);
+ }
+ return positionalTupleEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EReference getPositionalTuple_Expression() {
+ return (EReference) getPositionalTuple().getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getPositionalTuple__Size() {
+ return getPositionalTuple().getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getPositionalTuple__InputFor__EList() {
+ return getPositionalTuple().getEOperations().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getPositionalTuple__OutputFor__EList() {
+ return getPositionalTuple().getEOperations().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getPositionalTuple__PositionalTupleArguments__DiagnosticChain_Map() {
+ return getPositionalTuple().getEOperations().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EClass getTuple() {
+ if (tupleEClass == null) {
+ tupleEClass = (EClass) EPackage.Registry.INSTANCE.getEPackage(AlfPackage.eNS_URI).getEClassifiers().get(27);
+ }
+ return tupleEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EReference getTuple_Input() {
+ return (EReference) getTuple().getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EReference getTuple_Invocation() {
+ return (EReference) getTuple().getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EReference getTuple_Output() {
+ return (EReference) getTuple().getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getTuple__Size() {
+ return getTuple().getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getTuple__InputCached() {
+ return getTuple().getEOperations().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getTuple__Input() {
+ return getTuple().getEOperations().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getTuple__InputFor__EList() {
+ return getTuple().getEOperations().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getTuple__OutputCached() {
+ return getTuple().getEOperations().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getTuple__Output() {
+ return getTuple().getEOperations().get(5);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getTuple__OutputFor__EList() {
+ return getTuple().getEOperations().get(6);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getTuple__AssignmentsBefore__SyntaxElement() {
+ return getTuple().getEOperations().get(7);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getTuple__AssignmentsAfter() {
+ return getTuple().getEOperations().get(8);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getTuple__NewAssignments() {
+ return getTuple().getEOperations().get(9);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getTuple__UpdateFor__EList_OutputNamedExpression() {
+ return getTuple().getEOperations().get(10);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getTuple__TupleInputDerivation__DiagnosticChain_Map() {
+ return getTuple().getEOperations().get(11);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getTuple__TupleOutputDerivation__DiagnosticChain_Map() {
+ return getTuple().getEOperations().get(12);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getTuple__TupleNullInputs__DiagnosticChain_Map() {
+ return getTuple().getEOperations().get(13);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getTuple__TupleOutputs__DiagnosticChain_Map() {
+ return getTuple().getEOperations().get(14);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getTuple__TupleAssignmentsBefore__DiagnosticChain_Map() {
+ return getTuple().getEOperations().get(15);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getTuple__TupleAssignmentsAfter__DiagnosticChain_Map() {
+ return getTuple().getEOperations().get(16);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EClass getNamedExpression() {
+ if (namedExpressionEClass == null) {
+ namedExpressionEClass = (EClass) EPackage.Registry.INSTANCE.getEPackage(AlfPackage.eNS_URI).getEClassifiers().get(28);
+ }
+ return namedExpressionEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EAttribute getNamedExpression_Name() {
+ return (EAttribute) getNamedExpression().getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EReference getNamedExpression_Expression() {
+ return (EReference) getNamedExpression().getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EReference getNamedExpression_Index() {
+ return (EReference) getNamedExpression().getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getNamedExpression__ActualName() {
+ return getNamedExpression().getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EClass getInputNamedExpression() {
+ if (inputNamedExpressionEClass == null) {
+ inputNamedExpressionEClass = (EClass) EPackage.Registry.INSTANCE.getEPackage(AlfPackage.eNS_URI).getEClassifiers().get(29);
+ }
+ return inputNamedExpressionEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EAttribute getInputNamedExpression_Name() {
+ return (EAttribute) getInputNamedExpression().getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EReference getInputNamedExpression_Expression() {
+ return (EReference) getInputNamedExpression().getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EReference getInputNamedExpression_Index() {
+ return (EReference) getInputNamedExpression().getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EAttribute getInputNamedExpression_IsCollectionConversion() {
+ return (EAttribute) getInputNamedExpression().getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EAttribute getInputNamedExpression_IsBitStringConversion() {
+ return (EAttribute) getInputNamedExpression().getEStructuralFeatures().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getInputNamedExpression__Tuple() {
+ return getInputNamedExpression().getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getInputNamedExpression__NamedExpressionIsCollectionConversionDerivation__DiagnosticChain_Map() {
+ return getInputNamedExpression().getEOperations().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getInputNamedExpression__NamedExpressionIsBitStringConversionDerivation__DiagnosticChain_Map() {
+ return getInputNamedExpression().getEOperations().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EClass getInvocationExpression() {
+ if (invocationExpressionEClass == null) {
+ invocationExpressionEClass = (EClass) EPackage.Registry.INSTANCE.getEPackage(AlfPackage.eNS_URI).getEClassifiers().get(30);
+ }
+ return invocationExpressionEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EAttribute getInvocationExpression_IsBehavior() {
+ return (EAttribute) getInvocationExpression().getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EAttribute getInvocationExpression_IsAssociationEnd() {
+ return (EAttribute) getInvocationExpression().getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EReference getInvocationExpression_Feature() {
+ return (EReference) getInvocationExpression().getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EAttribute getInvocationExpression_IsOperation() {
+ return (EAttribute) getInvocationExpression().getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EAttribute getInvocationExpression_IsDestructor() {
+ return (EAttribute) getInvocationExpression().getEStructuralFeatures().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EAttribute getInvocationExpression_IsImplicit() {
+ return (EAttribute) getInvocationExpression().getEStructuralFeatures().get(5);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EReference getInvocationExpression_Referent() {
+ return (EReference) getInvocationExpression().getEStructuralFeatures().get(6);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EReference getInvocationExpression_Parameter() {
+ return (EReference) getInvocationExpression().getEStructuralFeatures().get(7);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EAttribute getInvocationExpression_IsSignal() {
+ return (EAttribute) getInvocationExpression().getEStructuralFeatures().get(8);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EReference getInvocationExpression_Tuple() {
+ return (EReference) getInvocationExpression().getEStructuralFeatures().get(9);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getInvocationExpression__AssignmentsBefore__SyntaxElement() {
+ return getInvocationExpression().getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getInvocationExpression__Feature() {
+ return getInvocationExpression().getEOperations().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getInvocationExpression__Type() {
+ return getInvocationExpression().getEOperations().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getInvocationExpression__InvocationExpression_type() {
+ return getInvocationExpression().getEOperations().get(5);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getInvocationExpression__Upper() {
+ return getInvocationExpression().getEOperations().get(6);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getInvocationExpression__InvocationExpression_upper() {
+ return getInvocationExpression().getEOperations().get(7);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getInvocationExpression__Lower() {
+ return getInvocationExpression().getEOperations().get(8);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getInvocationExpression__InvocationExpression_lower() {
+ return getInvocationExpression().getEOperations().get(9);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getInvocationExpression__ParameterNamed__String() {
+ return getInvocationExpression().getEOperations().get(10);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getInvocationExpression__ParameterCount() {
+ return getInvocationExpression().getEOperations().get(11);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getInvocationExpression__ParameterIsAssignableFrom__InputNamedExpression() {
+ return getInvocationExpression().getEOperations().get(12);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getInvocationExpression__ParameterIsAssignableTo__OutputNamedExpression() {
+ return getInvocationExpression().getEOperations().get(13);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getInvocationExpression__AlternativeConstructorIsValid() {
+ return getInvocationExpression().getEOperations().get(14);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getInvocationExpression__BindTemplateImplicitArguments__ElementReference_Expression() {
+ return getInvocationExpression().getEOperations().get(15);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getInvocationExpression__BindTemplateImplicitArguments1__ElementReference_Expression() {
+ return getInvocationExpression().getEOperations().get(16);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getInvocationExpression__EffectiveType__ElementReference_Expression() {
+ return getInvocationExpression().getEOperations().get(17);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getInvocationExpression__InvocationExpressionIsBehaviorDerivation__DiagnosticChain_Map() {
+ return getInvocationExpression().getEOperations().get(22);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getInvocationExpression__InvocationExpressionIsAssociationEndDerivation__DiagnosticChain_Map() {
+ return getInvocationExpression().getEOperations().get(23);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getInvocationExpression__InvocationExpressionIsOperationDerivation__DiagnosticChain_Map() {
+ return getInvocationExpression().getEOperations().get(24);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getInvocationExpression__InvocationExpressionIsDestructorDerivation__DiagnosticChain_Map() {
+ return getInvocationExpression().getEOperations().get(25);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getInvocationExpression__InvocationExpressionIsImplicitDerivation__DiagnosticChain_Map() {
+ return getInvocationExpression().getEOperations().get(26);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getInvocationExpression__InvocationExpressionIsSignalDerivation__DiagnosticChain_Map() {
+ return getInvocationExpression().getEOperations().get(27);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getInvocationExpression__InvocationExpressionParameterDerivation__DiagnosticChain_Map() {
+ return getInvocationExpression().getEOperations().get(28);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getInvocationExpression__InvocationExpressionTypeDerivation__DiagnosticChain_Map() {
+ return getInvocationExpression().getEOperations().get(29);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getInvocationExpression__InvocationExpressionUpperDerivation__DiagnosticChain_Map() {
+ return getInvocationExpression().getEOperations().get(30);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getInvocationExpression__InvocationExpressionLowerDerivation__DiagnosticChain_Map() {
+ return getInvocationExpression().getEOperations().get(31);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getInvocationExpression__InvocationExpressionAssignmentsBefore__DiagnosticChain_Map() {
+ return getInvocationExpression().getEOperations().get(32);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getInvocationExpression__UpdateAssignments() {
+ return getInvocationExpression().getEOperations().get(33);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getInvocationExpression__InvocationExpressionTemplateParameters__DiagnosticChain_Map() {
+ return getInvocationExpression().getEOperations().get(34);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getInvocationExpression__ParameterElements() {
+ return getInvocationExpression().getEOperations().get(18);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getInvocationExpression__InvocationExpression_parameterElements() {
+ return getInvocationExpression().getEOperations().get(19);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getInvocationExpression__ParameterFromProperty__ElementReference() {
+ return getInvocationExpression().getEOperations().get(20);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getInvocationExpression__ParameterFromPropertyWithMultiplicity__ElementReference_String_String() {
+ return getInvocationExpression().getEOperations().get(21);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getInvocationExpression__Referent() {
+ return getInvocationExpression().getEOperations().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getInvocationExpression__ReferentCached() {
+ return getInvocationExpression().getEOperations().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EClass getOutputNamedExpression() {
+ if (outputNamedExpressionEClass == null) {
+ outputNamedExpressionEClass = (EClass) EPackage.Registry.INSTANCE.getEPackage(AlfPackage.eNS_URI).getEClassifiers().get(31);
+ }
+ return outputNamedExpressionEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EReference getOutputNamedExpression_LeftHandSide() {
+ return (EReference) getOutputNamedExpression().getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getOutputNamedExpression__OutputNamedExpressionLeftHandSideDerivation__DiagnosticChain_Map() {
+ return getOutputNamedExpression().getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getOutputNamedExpression__OutputNamedExpressionForm__DiagnosticChain_Map() {
+ return getOutputNamedExpression().getEOperations().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getOutputNamedExpression__HasLegalExpression() {
+ return getOutputNamedExpression().getEOperations().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EClass getLeftHandSide() {
+ if (leftHandSideEClass == null) {
+ leftHandSideEClass = (EClass) EPackage.Registry.INSTANCE.getEPackage(AlfPackage.eNS_URI).getEClassifiers().get(32);
+ }
+ return leftHandSideEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EReference getLeftHandSide_AssignmentBefore() {
+ return (EReference) getLeftHandSide().getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EReference getLeftHandSide_AssignmentAfter() {
+ return (EReference) getLeftHandSide().getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EReference getLeftHandSide_Referent() {
+ return (EReference) getLeftHandSide().getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getLeftHandSide__AssignmentsBefore__SyntaxElement() {
+ return getLeftHandSide().getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getLeftHandSide__AssignmentsAfter() {
+ return getLeftHandSide().getEOperations().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getLeftHandSide__Type() {
+ return getLeftHandSide().getEOperations().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getLeftHandSide__LeftHandSide_type() {
+ return getLeftHandSide().getEOperations().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getLeftHandSide__Upper() {
+ return getLeftHandSide().getEOperations().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getLeftHandSide__LeftHandSide_upper() {
+ return getLeftHandSide().getEOperations().get(5);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getLeftHandSide__Lower() {
+ return getLeftHandSide().getEOperations().get(6);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getLeftHandSide__LeftHandSide_lower() {
+ return getLeftHandSide().getEOperations().get(7);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getLeftHandSide__Referent() {
+ return getLeftHandSide().getEOperations().get(8);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getLeftHandSide__AssignedName() {
+ return getLeftHandSide().getEOperations().get(9);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getLeftHandSide__LocalName() {
+ return getLeftHandSide().getEOperations().get(10);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getLeftHandSide__Feature() {
+ return getLeftHandSide().getEOperations().get(11);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getLeftHandSide__Expression() {
+ return getLeftHandSide().getEOperations().get(12);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getLeftHandSide__IsDataValueUpdate() {
+ return getLeftHandSide().getEOperations().get(13);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getLeftHandSide__LeftHandSideIndexExpression__DiagnosticChain_Map() {
+ return getLeftHandSide().getEOperations().get(14);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getLeftHandSide__Index() {
+ return getLeftHandSide().getEOperations().get(15);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EClass getSequenceAccessExpression() {
+ if (sequenceAccessExpressionEClass == null) {
+ sequenceAccessExpressionEClass = (EClass) EPackage.Registry.INSTANCE.getEPackage(AlfPackage.eNS_URI).getEClassifiers().get(33);
+ }
+ return sequenceAccessExpressionEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EReference getSequenceAccessExpression_Primary() {
+ return (EReference) getSequenceAccessExpression().getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EReference getSequenceAccessExpression_Index() {
+ return (EReference) getSequenceAccessExpression().getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getSequenceAccessExpression__Type() {
+ return getSequenceAccessExpression().getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getSequenceAccessExpression__Lower() {
+ return getSequenceAccessExpression().getEOperations().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getSequenceAccessExpression__Upper() {
+ return getSequenceAccessExpression().getEOperations().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getSequenceAccessExpression__UpdateAssignments() {
+ return getSequenceAccessExpression().getEOperations().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getSequenceAccessExpression__SequenceAccessExpressionTypeDerivation__DiagnosticChain_Map() {
+ return getSequenceAccessExpression().getEOperations().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getSequenceAccessExpression__SequenceAccessExpressionLowerDerivation__DiagnosticChain_Map() {
+ return getSequenceAccessExpression().getEOperations().get(5);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getSequenceAccessExpression__SequenceAccessExpressionUpperDerivation__DiagnosticChain_Map() {
+ return getSequenceAccessExpression().getEOperations().get(6);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getSequenceAccessExpression__SequenceAccessExpressionIndexType__DiagnosticChain_Map() {
+ return getSequenceAccessExpression().getEOperations().get(7);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getSequenceAccessExpression__SequenceAccessExpressionIndexMultiplicity__DiagnosticChain_Map() {
+ return getSequenceAccessExpression().getEOperations().get(8);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EClass getStringLiteralExpression() {
+ if (stringLiteralExpressionEClass == null) {
+ stringLiteralExpressionEClass = (EClass) EPackage.Registry.INSTANCE.getEPackage(AlfPackage.eNS_URI).getEClassifiers().get(34);
+ }
+ return stringLiteralExpressionEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EAttribute getStringLiteralExpression_Image() {
+ return (EAttribute) getStringLiteralExpression().getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getStringLiteralExpression__Type() {
+ return getStringLiteralExpression().getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getStringLiteralExpression__StringLiteralExpressionTypeDerivation__DiagnosticChain_Map() {
+ return getStringLiteralExpression().getEOperations().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EClass getLiteralExpression() {
+ if (literalExpressionEClass == null) {
+ literalExpressionEClass = (EClass) EPackage.Registry.INSTANCE.getEPackage(AlfPackage.eNS_URI).getEClassifiers().get(35);
+ }
+ return literalExpressionEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getLiteralExpression__Upper() {
+ return getLiteralExpression().getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getLiteralExpression__Lower() {
+ return getLiteralExpression().getEOperations().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getLiteralExpression__LiteralExpressionUpperDerivation__DiagnosticChain_Map() {
+ return getLiteralExpression().getEOperations().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getLiteralExpression__LiteralExpressionLowerDerivation__DiagnosticChain_Map() {
+ return getLiteralExpression().getEOperations().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EClass getSequenceOperationExpression() {
+ if (sequenceOperationExpressionEClass == null) {
+ sequenceOperationExpressionEClass = (EClass) EPackage.Registry.INSTANCE.getEPackage(AlfPackage.eNS_URI).getEClassifiers().get(36);
+ }
+ return sequenceOperationExpressionEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EReference getSequenceOperationExpression_Primary() {
+ return (EReference) getSequenceOperationExpression().getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EReference getSequenceOperationExpression_Operation() {
+ return (EReference) getSequenceOperationExpression().getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EAttribute getSequenceOperationExpression_IsCollectionConversion() {
+ return (EAttribute) getSequenceOperationExpression().getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EAttribute getSequenceOperationExpression_IsBitStringConversion() {
+ return (EAttribute) getSequenceOperationExpression().getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EReference getSequenceOperationExpression_LeftHandSide() {
+ return (EReference) getSequenceOperationExpression().getEStructuralFeatures().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getSequenceOperationExpression__Feature() {
+ return getSequenceOperationExpression().getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getSequenceOperationExpression__Referent() {
+ return getSequenceOperationExpression().getEOperations().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getSequenceOperationExpression__IsAddTarget__Expression() {
+ return getSequenceOperationExpression().getEOperations().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getSequenceOperationExpression__FirstParameter() {
+ return getSequenceOperationExpression().getEOperations().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getSequenceOperationExpression__SequenceOperationExpressionReferentDerivation__DiagnosticChain_Map() {
+ return getSequenceOperationExpression().getEOperations().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getSequenceOperationExpression__SequenceOperationExpressionFeatureDerivation__DiagnosticChain_Map() {
+ return getSequenceOperationExpression().getEOperations().get(5);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getSequenceOperationExpression__SequenceOperationExpressionOperationReferent__DiagnosticChain_Map() {
+ return getSequenceOperationExpression().getEOperations().get(6);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getSequenceOperationExpression__SequenceOperationExpressionTargetCompatibility__DiagnosticChain_Map() {
+ return getSequenceOperationExpression().getEOperations().get(7);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getSequenceOperationExpression__SequenceOperationExpressionArgumentCompatibility__DiagnosticChain_Map() {
+ return getSequenceOperationExpression().getEOperations().get(8);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getSequenceOperationExpression__SequenceOperationExpressionAssignmentsBefore__DiagnosticChain_Map() {
+ return getSequenceOperationExpression().getEOperations().get(9);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getSequenceOperationExpression__SequenceOperationExpressionIsCollectionConversionDerivation__DiagnosticChain_Map() {
+ return getSequenceOperationExpression().getEOperations().get(10);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getSequenceOperationExpression__SequenceOperationExpressionIsBitStringConversionDerivation__DiagnosticChain_Map() {
+ return getSequenceOperationExpression().getEOperations().get(11);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getSequenceOperationExpression__SequenceOperationExpressionAssignmentsAfter__DiagnosticChain_Map() {
+ return getSequenceOperationExpression().getEOperations().get(12);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getSequenceOperationExpression__SequenceOperationExpressionLeftHandSideDerivation__DiagnosticChain_Map() {
+ return getSequenceOperationExpression().getEOperations().get(13);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getSequenceOperationExpression__UpdateAssignments() {
+ return getSequenceOperationExpression().getEOperations().get(14);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getSequenceOperationExpression__ParameterElements() {
+ return getSequenceOperationExpression().getEOperations().get(15);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EClass getSelectOrRejectExpression() {
+ if (selectOrRejectExpressionEClass == null) {
+ selectOrRejectExpressionEClass = (EClass) EPackage.Registry.INSTANCE.getEPackage(AlfPackage.eNS_URI).getEClassifiers().get(37);
+ }
+ return selectOrRejectExpressionEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getSelectOrRejectExpression__SelectOrRejectExpressionTypeDerivation__DiagnosticChain_Map() {
+ return getSelectOrRejectExpression().getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getSelectOrRejectExpression__SelectOrRejectExpressionLowerDerivation__DiagnosticChain_Map() {
+ return getSelectOrRejectExpression().getEOperations().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getSelectOrRejectExpression__SelectOrRejectExpressionUpperDerivation__DiagnosticChain_Map() {
+ return getSelectOrRejectExpression().getEOperations().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getSelectOrRejectExpression__SelectOrRejectExpressionArgument__DiagnosticChain_Map() {
+ return getSelectOrRejectExpression().getEOperations().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EClass getClassExtentExpression() {
+ if (classExtentExpressionEClass == null) {
+ classExtentExpressionEClass = (EClass) EPackage.Registry.INSTANCE.getEPackage(AlfPackage.eNS_URI).getEClassifiers().get(38);
+ }
+ return classExtentExpressionEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EReference getClassExtentExpression_ClassName() {
+ return (EReference) getClassExtentExpression().getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getClassExtentExpression__Type() {
+ return getClassExtentExpression().getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getClassExtentExpression__Upper() {
+ return getClassExtentExpression().getEOperations().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getClassExtentExpression__Lower() {
+ return getClassExtentExpression().getEOperations().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getClassExtentExpression__ClassExtentExpressionTypeDerivation__DiagnosticChain_Map() {
+ return getClassExtentExpression().getEOperations().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getClassExtentExpression__ClassExtentExpressionUpperDerivation__DiagnosticChain_Map() {
+ return getClassExtentExpression().getEOperations().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getClassExtentExpression__ClassExtentExpressionLowerDerivation__DiagnosticChain_Map() {
+ return getClassExtentExpression().getEOperations().get(5);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getClassExtentExpression__ClassExtentExpressionExtentType__DiagnosticChain_Map() {
+ return getClassExtentExpression().getEOperations().get(6);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getClassExtentExpression__ValidateClassExtentExpressionExtentType() {
+ return getClassExtentExpression().getEOperations().get(7);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EClass getPositionalTemplateBinding() {
+ if (positionalTemplateBindingEClass == null) {
+ positionalTemplateBindingEClass = (EClass) EPackage.Registry.INSTANCE.getEPackage(AlfPackage.eNS_URI).getEClassifiers().get(39);
+ }
+ return positionalTemplateBindingEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EReference getPositionalTemplateBinding_ArgumentName() {
+ return (EReference) getPositionalTemplateBinding().getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getPositionalTemplateBinding__ToString() {
+ return getPositionalTemplateBinding().getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getPositionalTemplateBinding__Matches__ElementReference() {
+ return getPositionalTemplateBinding().getEOperations().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getPositionalTemplateBinding__Matches__ElementReference_QualifiedName() {
+ return getPositionalTemplateBinding().getEOperations().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getPositionalTemplateBinding__BindTo__ElementReference() {
+ return getPositionalTemplateBinding().getEOperations().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getPositionalTemplateBinding__Copy() {
+ return getPositionalTemplateBinding().getEOperations().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EClass getConditionalLogicalExpression() {
+ if (conditionalLogicalExpressionEClass == null) {
+ conditionalLogicalExpressionEClass = (EClass) EPackage.Registry.INSTANCE.getEPackage(AlfPackage.eNS_URI).getEClassifiers().get(40);
+ }
+ return conditionalLogicalExpressionEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getConditionalLogicalExpression__Type() {
+ return getConditionalLogicalExpression().getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getConditionalLogicalExpression__Lower() {
+ return getConditionalLogicalExpression().getEOperations().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getConditionalLogicalExpression__Upper() {
+ return getConditionalLogicalExpression().getEOperations().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getConditionalLogicalExpression__ConditionalLogicalExpressionTypeDerivation__DiagnosticChain_Map() {
+ return getConditionalLogicalExpression().getEOperations().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getConditionalLogicalExpression__ConditionalLogicalExpressionLower__DiagnosticChain_Map() {
+ return getConditionalLogicalExpression().getEOperations().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getConditionalLogicalExpression__ConditionalLogicalExpressionUpper__DiagnosticChain_Map() {
+ return getConditionalLogicalExpression().getEOperations().get(5);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getConditionalLogicalExpression__ConditionalLogicalExpressionOperands__DiagnosticChain_Map() {
+ return getConditionalLogicalExpression().getEOperations().get(6);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getConditionalLogicalExpression__ValidateAssignments() {
+ return getConditionalLogicalExpression().getEOperations().get(7);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getConditionalLogicalExpression__AssignmentsBefore__SyntaxElement() {
+ return getConditionalLogicalExpression().getEOperations().get(8);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getConditionalLogicalExpression__UpdateAssignments() {
+ return getConditionalLogicalExpression().getEOperations().get(9);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EClass getLinkOperationExpression() {
+ if (linkOperationExpressionEClass == null) {
+ linkOperationExpressionEClass = (EClass) EPackage.Registry.INSTANCE.getEPackage(AlfPackage.eNS_URI).getEClassifiers().get(41);
+ }
+ return linkOperationExpressionEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EAttribute getLinkOperationExpression_Operation() {
+ return (EAttribute) getLinkOperationExpression().getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EAttribute getLinkOperationExpression_IsCreation() {
+ return (EAttribute) getLinkOperationExpression().getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EAttribute getLinkOperationExpression_IsClear() {
+ return (EAttribute) getLinkOperationExpression().getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EReference getLinkOperationExpression_AssociationName() {
+ return (EReference) getLinkOperationExpression().getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getLinkOperationExpression__Referent() {
+ return getLinkOperationExpression().getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getLinkOperationExpression__Feature() {
+ return getLinkOperationExpression().getEOperations().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getLinkOperationExpression__LinkOperationExpressionIsCreationDerivation__DiagnosticChain_Map() {
+ return getLinkOperationExpression().getEOperations().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getLinkOperationExpression__LinkOperationExpressionIsClearDerivation__DiagnosticChain_Map() {
+ return getLinkOperationExpression().getEOperations().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getLinkOperationExpression__LinkOperationExpressionReferentDerivation__DiagnosticChain_Map() {
+ return getLinkOperationExpression().getEOperations().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getLinkOperationExpression__LinkOperationExpressionFeatureDerivation__DiagnosticChain_Map() {
+ return getLinkOperationExpression().getEOperations().get(5);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getLinkOperationExpression__LinkOperationExpressionAssociationReference__DiagnosticChain_Map() {
+ return getLinkOperationExpression().getEOperations().get(6);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getLinkOperationExpression__LinkOperationExpressionArgumentCompatibility__DiagnosticChain_Map() {
+ return getLinkOperationExpression().getEOperations().get(7);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getLinkOperationExpression__ParameterElements() {
+ return getLinkOperationExpression().getEOperations().get(8);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EClass getEqualityExpression() {
+ if (equalityExpressionEClass == null) {
+ equalityExpressionEClass = (EClass) EPackage.Registry.INSTANCE.getEPackage(AlfPackage.eNS_URI).getEClassifiers().get(42);
+ }
+ return equalityExpressionEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EAttribute getEqualityExpression_IsNegated() {
+ return (EAttribute) getEqualityExpression().getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getEqualityExpression__Type() {
+ return getEqualityExpression().getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getEqualityExpression__Lower() {
+ return getEqualityExpression().getEOperations().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getEqualityExpression__Upper() {
+ return getEqualityExpression().getEOperations().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getEqualityExpression__EqualityExpressionIsNegatedDerivation__DiagnosticChain_Map() {
+ return getEqualityExpression().getEOperations().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getEqualityExpression__EqualityExpressionTypeDerivation__DiagnosticChain_Map() {
+ return getEqualityExpression().getEOperations().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getEqualityExpression__EqualityExpressionLowerDerivation__DiagnosticChain_Map() {
+ return getEqualityExpression().getEOperations().get(5);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getEqualityExpression__EqualityExpressionUpperDerivation__DiagnosticChain_Map() {
+ return getEqualityExpression().getEOperations().get(6);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getEqualityExpression__NoNullArguments() {
+ return getEqualityExpression().getEOperations().get(7);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EClass getAssignmentExpression() {
+ if (assignmentExpressionEClass == null) {
+ assignmentExpressionEClass = (EClass) EPackage.Registry.INSTANCE.getEPackage(AlfPackage.eNS_URI).getEClassifiers().get(43);
+ }
+ return assignmentExpressionEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EAttribute getAssignmentExpression_Operator() {
+ return (EAttribute) getAssignmentExpression().getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EReference getAssignmentExpression_LeftHandSide() {
+ return (EReference) getAssignmentExpression().getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EReference getAssignmentExpression_RightHandSide() {
+ return (EReference) getAssignmentExpression().getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EReference getAssignmentExpression_Assignment() {
+ return (EReference) getAssignmentExpression().getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EReference getAssignmentExpression_Feature() {
+ return (EReference) getAssignmentExpression().getEStructuralFeatures().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EAttribute getAssignmentExpression_IsIndexed() {
+ return (EAttribute) getAssignmentExpression().getEStructuralFeatures().get(5);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EAttribute getAssignmentExpression_IsArithmetic() {
+ return (EAttribute) getAssignmentExpression().getEStructuralFeatures().get(6);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EAttribute getAssignmentExpression_IsLogical() {
+ return (EAttribute) getAssignmentExpression().getEStructuralFeatures().get(7);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EAttribute getAssignmentExpression_IsShift() {
+ return (EAttribute) getAssignmentExpression().getEStructuralFeatures().get(8);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EAttribute getAssignmentExpression_IsConcatenation() {
+ return (EAttribute) getAssignmentExpression().getEStructuralFeatures().get(9);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EAttribute getAssignmentExpression_IsDefinition() {
+ return (EAttribute) getAssignmentExpression().getEStructuralFeatures().get(10);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EAttribute getAssignmentExpression_IsSimple() {
+ return (EAttribute) getAssignmentExpression().getEStructuralFeatures().get(11);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EReference getAssignmentExpression_Expression() {
+ return (EReference) getAssignmentExpression().getEStructuralFeatures().get(12);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EAttribute getAssignmentExpression_IsFeature() {
+ return (EAttribute) getAssignmentExpression().getEStructuralFeatures().get(13);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EAttribute getAssignmentExpression_IsDataValueUpdate() {
+ return (EAttribute) getAssignmentExpression().getEStructuralFeatures().get(14);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EAttribute getAssignmentExpression_IsCollectionConversion() {
+ return (EAttribute) getAssignmentExpression().getEStructuralFeatures().get(15);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EAttribute getAssignmentExpression_IsBitStringConversion() {
+ return (EAttribute) getAssignmentExpression().getEStructuralFeatures().get(16);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getAssignmentExpression__Type() {
+ return getAssignmentExpression().getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getAssignmentExpression__Upper() {
+ return getAssignmentExpression().getEOperations().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getAssignmentExpression__Lower() {
+ return getAssignmentExpression().getEOperations().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getAssignmentExpression__AssignmentsBefore__SyntaxElement() {
+ return getAssignmentExpression().getEOperations().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getAssignmentExpression__AssignmentExpressionIsSimpleDerivation__DiagnosticChain_Map() {
+ return getAssignmentExpression().getEOperations().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getAssignmentExpression__AssignmentExpressionIsArithmeticDerivation__DiagnosticChain_Map() {
+ return getAssignmentExpression().getEOperations().get(5);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getAssignmentExpression__AssignmentExpressionIsDefinitionDerivation__DiagnosticChain_Map() {
+ return getAssignmentExpression().getEOperations().get(6);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getAssignmentExpression__AssignmentExpressionIsFeatureDerivation__DiagnosticChain_Map() {
+ return getAssignmentExpression().getEOperations().get(7);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getAssignmentExpression__AssignmentExpressionIsIndexedDerivation__DiagnosticChain_Map() {
+ return getAssignmentExpression().getEOperations().get(8);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getAssignmentExpression__AssignmentExpressionIsDataValueUpdateDerivation__DiagnosticChain_Map() {
+ return getAssignmentExpression().getEOperations().get(9);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getAssignmentExpression__AssignmentExpressionAssignmentDerivation__DiagnosticChain_Map() {
+ return getAssignmentExpression().getEOperations().get(10);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getAssignmentExpression__AssignmentExpressionFeatureDerivation__DiagnosticChain_Map() {
+ return getAssignmentExpression().getEOperations().get(11);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getAssignmentExpression__AssignmentExpressionExpressionDerivation__DiagnosticChain_Map() {
+ return getAssignmentExpression().getEOperations().get(12);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getAssignmentExpression__AssignmentExpressionTypeDerivation__DiagnosticChain_Map() {
+ return getAssignmentExpression().getEOperations().get(13);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getAssignmentExpression__AssignmentExpressionUpperDerivation__DiagnosticChain_Map() {
+ return getAssignmentExpression().getEOperations().get(14);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getAssignmentExpression__AssignmentExpressionLowerDerivation__DiagnosticChain_Map() {
+ return getAssignmentExpression().getEOperations().get(15);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getAssignmentExpression__AssignmentExpressionSimpleAssignmentTypeConformance__DiagnosticChain_Map() {
+ return getAssignmentExpression().getEOperations().get(16);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getAssignmentExpression__AssignmentExpressionSimpleAssignmentMultiplicityConformance__DiagnosticChain_Map() {
+ return getAssignmentExpression().getEOperations().get(17);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getAssignmentExpression__AssignmentExpressionCompoundAssignmentTypeConformance__DiagnosticChain_Map() {
+ return getAssignmentExpression().getEOperations().get(18);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getAssignmentExpression__AssignmentExpressionCompoundAssignmentMultiplicityConformance__DiagnosticChain_Map() {
+ return getAssignmentExpression().getEOperations().get(19);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getAssignmentExpression__AssignmentExpressionAssignmentsBefore__DiagnosticChain_Map() {
+ return getAssignmentExpression().getEOperations().get(20);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getAssignmentExpression__AssignmentExpressionIsCollectionConversionDerivation__DiagnosticChain_Map() {
+ return getAssignmentExpression().getEOperations().get(21);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getAssignmentExpression__AssignmentExpressionIsBitStringConversionDerivation__DiagnosticChain_Map() {
+ return getAssignmentExpression().getEOperations().get(22);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getAssignmentExpression__AssignmentExpressionDataValueUpdateLegality__DiagnosticChain_Map() {
+ return getAssignmentExpression().getEOperations().get(23);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getAssignmentExpression__UpdateAssignments() {
+ return getAssignmentExpression().getEOperations().get(24);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EClass getLogicalExpression() {
+ if (logicalExpressionEClass == null) {
+ logicalExpressionEClass = (EClass) EPackage.Registry.INSTANCE.getEPackage(AlfPackage.eNS_URI).getEClassifiers().get(44);
+ }
+ return logicalExpressionEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EAttribute getLogicalExpression_IsBitWise() {
+ return (EAttribute) getLogicalExpression().getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EAttribute getLogicalExpression_IsBitStringConversion1() {
+ return (EAttribute) getLogicalExpression().getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EAttribute getLogicalExpression_IsBitStringConversion2() {
+ return (EAttribute) getLogicalExpression().getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getLogicalExpression__Type() {
+ return getLogicalExpression().getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getLogicalExpression__Lower() {
+ return getLogicalExpression().getEOperations().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getLogicalExpression__Upper() {
+ return getLogicalExpression().getEOperations().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getLogicalExpression__LogicalExpressionTypeDerivation__DiagnosticChain_Map() {
+ return getLogicalExpression().getEOperations().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getLogicalExpression__LogicalExpressionLowerDerivation__DiagnosticChain_Map() {
+ return getLogicalExpression().getEOperations().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getLogicalExpression__LogicalExpressionUpperDerivation__DiagnosticChain_Map() {
+ return getLogicalExpression().getEOperations().get(5);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getLogicalExpression__LogicalExpressionOperands__DiagnosticChain_Map() {
+ return getLogicalExpression().getEOperations().get(6);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getLogicalExpression__LogicalExpressionIsBitStringConversion1Derivation__DiagnosticChain_Map() {
+ return getLogicalExpression().getEOperations().get(7);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getLogicalExpression__LogicalExpressionIsBitStringConversion2Derivation__DiagnosticChain_Map() {
+ return getLogicalExpression().getEOperations().get(8);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getLogicalExpression__LogicalExpressionIsBitWiseDerivation__DiagnosticChain_Map() {
+ return getLogicalExpression().getEOperations().get(9);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EClass getSequenceConstructionExpression() {
+ if (sequenceConstructionExpressionEClass == null) {
+ sequenceConstructionExpressionEClass = (EClass) EPackage.Registry.INSTANCE.getEPackage(AlfPackage.eNS_URI).getEClassifiers().get(45);
+ }
+ return sequenceConstructionExpressionEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EReference getSequenceConstructionExpression_Elements() {
+ return (EReference) getSequenceConstructionExpression().getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EAttribute getSequenceConstructionExpression_HasMultiplicity() {
+ return (EAttribute) getSequenceConstructionExpression().getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EReference getSequenceConstructionExpression_TypeName() {
+ return (EReference) getSequenceConstructionExpression().getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EAttribute getSequenceConstructionExpression_IsAny() {
+ return (EAttribute) getSequenceConstructionExpression().getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getSequenceConstructionExpression__CollectionType() {
+ return getSequenceConstructionExpression().getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getSequenceConstructionExpression__Type() {
+ return getSequenceConstructionExpression().getEOperations().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getSequenceConstructionExpression__Upper() {
+ return getSequenceConstructionExpression().getEOperations().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getSequenceConstructionExpression__Lower() {
+ return getSequenceConstructionExpression().getEOperations().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getSequenceConstructionExpression__SequenceConstructionExpressionTypeDerivation__DiagnosticChain_Map() {
+ return getSequenceConstructionExpression().getEOperations().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getSequenceConstructionExpression__SequenceConstructionExpressionUpperDerivation__DiagnosticChain_Map() {
+ return getSequenceConstructionExpression().getEOperations().get(5);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getSequenceConstructionExpression__SequenceConstructionExpressionLowerDerivation__DiagnosticChain_Map() {
+ return getSequenceConstructionExpression().getEOperations().get(6);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getSequenceConstructionExpression__SequenceConstructionExpressionType__DiagnosticChain_Map() {
+ return getSequenceConstructionExpression().getEOperations().get(7);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getSequenceConstructionExpression__SequenceConstructionExpressionElementType__DiagnosticChain_Map() {
+ return getSequenceConstructionExpression().getEOperations().get(8);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getSequenceConstructionExpression__SequenceConstructionExpressionAssignmentsBefore__DiagnosticChain_Map() {
+ return getSequenceConstructionExpression().getEOperations().get(9);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getSequenceConstructionExpression__UpdateAssignments() {
+ return getSequenceConstructionExpression().getEOperations().get(10);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EClass getSequenceElements() {
+ if (sequenceElementsEClass == null) {
+ sequenceElementsEClass = (EClass) EPackage.Registry.INSTANCE.getEPackage(AlfPackage.eNS_URI).getEClassifiers().get(46);
+ }
+ return sequenceElementsEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EAttribute getSequenceElements_Upper() {
+ return (EAttribute) getSequenceElements().getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EAttribute getSequenceElements_Lower() {
+ return (EAttribute) getSequenceElements().getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getSequenceElements__ConformsTo__ElementReference() {
+ return getSequenceElements().getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getSequenceElements__AssignmentsAfter() {
+ return getSequenceElements().getEOperations().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getSequenceElements__Upper() {
+ return getSequenceElements().getEOperations().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getSequenceElements__Lower() {
+ return getSequenceElements().getEOperations().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EClass getCollectOrIterateExpression() {
+ if (collectOrIterateExpressionEClass == null) {
+ collectOrIterateExpressionEClass = (EClass) EPackage.Registry.INSTANCE.getEPackage(AlfPackage.eNS_URI).getEClassifiers().get(47);
+ }
+ return collectOrIterateExpressionEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getCollectOrIterateExpression__CollectOrIterateExpressionTypeDerivation__DiagnosticChain_Map() {
+ return getCollectOrIterateExpression().getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getCollectOrIterateExpression__CollectOrIterateExpressionLowerDerivation__DiagnosticChain_Map() {
+ return getCollectOrIterateExpression().getEOperations().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getCollectOrIterateExpression__CollectOrIterateExpressionUpperDerivation__DiagnosticChain_Map() {
+ return getCollectOrIterateExpression().getEOperations().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EClass getIsUniqueExpression() {
+ if (isUniqueExpressionEClass == null) {
+ isUniqueExpressionEClass = (EClass) EPackage.Registry.INSTANCE.getEPackage(AlfPackage.eNS_URI).getEClassifiers().get(48);
+ }
+ return isUniqueExpressionEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getIsUniqueExpression__IsUniqueExpressionTypeDerivation__DiagnosticChain_Map() {
+ return getIsUniqueExpression().getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getIsUniqueExpression__IsUniqueExpressionLowerDerivation__DiagnosticChain_Map() {
+ return getIsUniqueExpression().getEOperations().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getIsUniqueExpression__IsUniqueExpressionUpperDerivation__DiagnosticChain_Map() {
+ return getIsUniqueExpression().getEOperations().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getIsUniqueExpression__IsUniqueExpressionExpressionArgument__DiagnosticChain_Map() {
+ return getIsUniqueExpression().getEOperations().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EClass getArithmeticExpression() {
+ if (arithmeticExpressionEClass == null) {
+ arithmeticExpressionEClass = (EClass) EPackage.Registry.INSTANCE.getEPackage(AlfPackage.eNS_URI).getEClassifiers().get(49);
+ }
+ return arithmeticExpressionEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EAttribute getArithmeticExpression_IsConcatenation() {
+ return (EAttribute) getArithmeticExpression().getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getArithmeticExpression__Type() {
+ return getArithmeticExpression().getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getArithmeticExpression__Lower() {
+ return getArithmeticExpression().getEOperations().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getArithmeticExpression__Upper() {
+ return getArithmeticExpression().getEOperations().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getArithmeticExpression__ArithmeticExpressionIsConcatenationDerivation__DiagnosticChain_Map() {
+ return getArithmeticExpression().getEOperations().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getArithmeticExpression__ArithmeticExpressionTypeDerivation__DiagnosticChain_Map() {
+ return getArithmeticExpression().getEOperations().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getArithmeticExpression__ArithmeticExpressionLowerDerivation__DiagnosticChain_Map() {
+ return getArithmeticExpression().getEOperations().get(5);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getArithmeticExpression__ArithmeticExpressionUpperDerivation__DiagnosticChain_Map() {
+ return getArithmeticExpression().getEOperations().get(6);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getArithmeticExpression__ArithmeticExpressionOperandTypes__DiagnosticChain_Map() {
+ return getArithmeticExpression().getEOperations().get(7);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EClass getFeatureLeftHandSide() {
+ if (featureLeftHandSideEClass == null) {
+ featureLeftHandSideEClass = (EClass) EPackage.Registry.INSTANCE.getEPackage(AlfPackage.eNS_URI).getEClassifiers().get(50);
+ }
+ return featureLeftHandSideEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EReference getFeatureLeftHandSide_Expression() {
+ return (EReference) getFeatureLeftHandSide().getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getFeatureLeftHandSide__Referent() {
+ return getFeatureLeftHandSide().getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getFeatureLeftHandSide__Feature() {
+ return getFeatureLeftHandSide().getEOperations().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getFeatureLeftHandSide__Index() {
+ return getFeatureLeftHandSide().getEOperations().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getFeatureLeftHandSide__LocalName() {
+ return getFeatureLeftHandSide().getEOperations().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getFeatureLeftHandSide__FeatureLeftHandSideAssignmentBeforeDerivation__DiagnosticChain_Map() {
+ return getFeatureLeftHandSide().getEOperations().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getFeatureLeftHandSide__FeatureLeftHandSideAssignmentAfterDerivation__DiagnosticChain_Map() {
+ return getFeatureLeftHandSide().getEOperations().get(5);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getFeatureLeftHandSide__FeatureLeftHandSideFeatureExpression__DiagnosticChain_Map() {
+ return getFeatureLeftHandSide().getEOperations().get(6);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getFeatureLeftHandSide__FeatureLeftHandSideAssignmentsBefore__DiagnosticChain_Map() {
+ return getFeatureLeftHandSide().getEOperations().get(7);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getFeatureLeftHandSide__FeatureLeftHandSideReferentDerivation__DiagnosticChain_Map() {
+ return getFeatureLeftHandSide().getEOperations().get(8);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getFeatureLeftHandSide__FeatureLeftHandSideTypeDerivation__DiagnosticChain_Map() {
+ return getFeatureLeftHandSide().getEOperations().get(9);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getFeatureLeftHandSide__FeatureLeftHandSideLowerDerivation__DiagnosticChain_Map() {
+ return getFeatureLeftHandSide().getEOperations().get(10);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getFeatureLeftHandSide__FeatureLeftHandSideUpperDerivation__DiagnosticChain_Map() {
+ return getFeatureLeftHandSide().getEOperations().get(11);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getFeatureLeftHandSide__FeatureLeftHandSideReferentConstraint__DiagnosticChain_Map() {
+ return getFeatureLeftHandSide().getEOperations().get(12);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getFeatureLeftHandSide__FeatureLeftHandSideIndexedFeature__DiagnosticChain_Map() {
+ return getFeatureLeftHandSide().getEOperations().get(13);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EClass getConditionalTestExpression() {
+ if (conditionalTestExpressionEClass == null) {
+ conditionalTestExpressionEClass = (EClass) EPackage.Registry.INSTANCE.getEPackage(AlfPackage.eNS_URI).getEClassifiers().get(51);
+ }
+ return conditionalTestExpressionEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EReference getConditionalTestExpression_Operand1() {
+ return (EReference) getConditionalTestExpression().getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EReference getConditionalTestExpression_Operand2() {
+ return (EReference) getConditionalTestExpression().getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EReference getConditionalTestExpression_Operand3() {
+ return (EReference) getConditionalTestExpression().getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getConditionalTestExpression__Type() {
+ return getConditionalTestExpression().getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getConditionalTestExpression__Lower() {
+ return getConditionalTestExpression().getEOperations().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getConditionalTestExpression__Upper() {
+ return getConditionalTestExpression().getEOperations().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getConditionalTestExpression__AssignmentsBefore__SyntaxElement() {
+ return getConditionalTestExpression().getEOperations().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getConditionalTestExpression__ConditionalTestExpressionTypeDerivation__DiagnosticChain_Map() {
+ return getConditionalTestExpression().getEOperations().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getConditionalTestExpression__ConditionalTestExpressionLowerDerivation__DiagnosticChain_Map() {
+ return getConditionalTestExpression().getEOperations().get(5);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getConditionalTestExpression__ConditionalTestExpressionUpperDerivation__DiagnosticChain_Map() {
+ return getConditionalTestExpression().getEOperations().get(6);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getConditionalTestExpression__ConditionalTestExpressionCondition__DiagnosticChain_Map() {
+ return getConditionalTestExpression().getEOperations().get(7);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getConditionalTestExpression__ConditionalTestExpressionAssignmentsBefore__DiagnosticChain_Map() {
+ return getConditionalTestExpression().getEOperations().get(8);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getConditionalTestExpression__ConditionalTestExpressionAssignmentsAfter__DiagnosticChain_Map() {
+ return getConditionalTestExpression().getEOperations().get(9);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getConditionalTestExpression__UpdateAssignments() {
+ return getConditionalTestExpression().getEOperations().get(10);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EClass getInstanceCreationExpression() {
+ if (instanceCreationExpressionEClass == null) {
+ instanceCreationExpressionEClass = (EClass) EPackage.Registry.INSTANCE.getEPackage(AlfPackage.eNS_URI).getEClassifiers().get(52);
+ }
+ return instanceCreationExpressionEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EAttribute getInstanceCreationExpression_IsConstructorless() {
+ return (EAttribute) getInstanceCreationExpression().getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EAttribute getInstanceCreationExpression_IsObjectCreation() {
+ return (EAttribute) getInstanceCreationExpression().getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EReference getInstanceCreationExpression_Constructor() {
+ return (EReference) getInstanceCreationExpression().getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getInstanceCreationExpression__Referent() {
+ return getInstanceCreationExpression().getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getInstanceCreationExpression__Feature() {
+ return getInstanceCreationExpression().getEOperations().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getInstanceCreationExpression__Type() {
+ return getInstanceCreationExpression().getEOperations().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getInstanceCreationExpression__Lower() {
+ return getInstanceCreationExpression().getEOperations().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getInstanceCreationExpression__Upper() {
+ return getInstanceCreationExpression().getEOperations().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getInstanceCreationExpression__InstanceCreationExpressionIsObjectCreationDerivation__DiagnosticChain_Map() {
+ return getInstanceCreationExpression().getEOperations().get(5);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getInstanceCreationExpression__InstanceCreationExpressionIsConstructorlessDerivation__DiagnosticChain_Map() {
+ return getInstanceCreationExpression().getEOperations().get(6);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getInstanceCreationExpression__InstanceCreationExpressionReferentDerivation__DiagnosticChain_Map() {
+ return getInstanceCreationExpression().getEOperations().get(7);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getInstanceCreationExpression__InstanceCreationExpressionFeatureDerivation__DiagnosticChain_Map() {
+ return getInstanceCreationExpression().getEOperations().get(8);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getInstanceCreationExpression__InstanceCreationExpressionConstructor__DiagnosticChain_Map() {
+ return getInstanceCreationExpression().getEOperations().get(9);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getInstanceCreationExpression__InstanceCreationExpressionConstructorlessLegality__DiagnosticChain_Map() {
+ return getInstanceCreationExpression().getEOperations().get(10);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getInstanceCreationExpression__InstanceCreationExpressionDataTypeCompatibility__DiagnosticChain_Map() {
+ return getInstanceCreationExpression().getEOperations().get(11);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getInstanceCreationExpression__InstanceCreationExpressionReferent__DiagnosticChain_Map() {
+ return getInstanceCreationExpression().getEOperations().get(12);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getInstanceCreationExpression__ParameterElements() {
+ return getInstanceCreationExpression().getEOperations().get(13);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EClass getPropertyAccessExpression() {
+ if (propertyAccessExpressionEClass == null) {
+ propertyAccessExpressionEClass = (EClass) EPackage.Registry.INSTANCE.getEPackage(AlfPackage.eNS_URI).getEClassifiers().get(53);
+ }
+ return propertyAccessExpressionEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EReference getPropertyAccessExpression_FeatureReference() {
+ return (EReference) getPropertyAccessExpression().getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EReference getPropertyAccessExpression_Feature() {
+ return (EReference) getPropertyAccessExpression().getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getPropertyAccessExpression__Type() {
+ return getPropertyAccessExpression().getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getPropertyAccessExpression__Upper() {
+ return getPropertyAccessExpression().getEOperations().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getPropertyAccessExpression__Lower() {
+ return getPropertyAccessExpression().getEOperations().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getPropertyAccessExpression__PropertyAccessExpressionFeatureDerivation__DiagnosticChain_Map() {
+ return getPropertyAccessExpression().getEOperations().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getPropertyAccessExpression__PropertyAccessExpressionTypeDerivation__DiagnosticChain_Map() {
+ return getPropertyAccessExpression().getEOperations().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getPropertyAccessExpression__PropertyAccessExpressionUpperDerivation__DiagnosticChain_Map() {
+ return getPropertyAccessExpression().getEOperations().get(5);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getPropertyAccessExpression__PropertyAccessExpressionLowerDerivation__DiagnosticChain_Map() {
+ return getPropertyAccessExpression().getEOperations().get(6);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getPropertyAccessExpression__PropertyAccessExpressionFeatureResolution__DiagnosticChain_Map() {
+ return getPropertyAccessExpression().getEOperations().get(7);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getPropertyAccessExpression__PropertyAccessExpressionAssignmentsBefore__DiagnosticChain_Map() {
+ return getPropertyAccessExpression().getEOperations().get(8);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getPropertyAccessExpression__UpdateAssignments() {
+ return getPropertyAccessExpression().getEOperations().get(9);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EClass getNameExpression() {
+ if (nameExpressionEClass == null) {
+ nameExpressionEClass = (EClass) EPackage.Registry.INSTANCE.getEPackage(AlfPackage.eNS_URI).getEClassifiers().get(54);
+ }
+ return nameExpressionEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EReference getNameExpression_EnumerationLiteral() {
+ return (EReference) getNameExpression().getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EReference getNameExpression_Assignment() {
+ return (EReference) getNameExpression().getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EReference getNameExpression_PropertyAccess() {
+ return (EReference) getNameExpression().getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EReference getNameExpression_Name() {
+ return (EReference) getNameExpression().getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getNameExpression__Type() {
+ return getNameExpression().getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getNameExpression__Upper() {
+ return getNameExpression().getEOperations().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getNameExpression__Lower() {
+ return getNameExpression().getEOperations().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getNameExpression__ParameterReferent() {
+ return getNameExpression().getEOperations().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getNameExpression__AssignmentFor__String() {
+ return getNameExpression().getEOperations().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getNameExpression__AssignmentFor___String() {
+ return getNameExpression().getEOperations().get(5);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getNameExpression__IsAddTarget() {
+ return getNameExpression().getEOperations().get(6);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getNameExpression__NameExpressionAssignmentDerivation__DiagnosticChain_Map() {
+ return getNameExpression().getEOperations().get(7);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getNameExpression__NameExpressionEnumerationLiteralDerivation__DiagnosticChain_Map() {
+ return getNameExpression().getEOperations().get(8);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getNameExpression__NameExpressionPropertyAccessDerivation__DiagnosticChain_Map() {
+ return getNameExpression().getEOperations().get(9);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getNameExpression__NameExpressionTypeDerivation__DiagnosticChain_Map() {
+ return getNameExpression().getEOperations().get(10);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getNameExpression__NameExpressionUpperDerivation__DiagnosticChain_Map() {
+ return getNameExpression().getEOperations().get(11);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getNameExpression__NameExpressionLowerDerivation__DiagnosticChain_Map() {
+ return getNameExpression().getEOperations().get(12);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getNameExpression__NameExpressionResolution__DiagnosticChain_Map() {
+ return getNameExpression().getEOperations().get(13);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getNameExpression__ValidateNameExpressionResolution() {
+ return getNameExpression().getEOperations().get(14);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getNameExpression__UpdateAssignments() {
+ return getNameExpression().getEOperations().get(15);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EClass getBitStringUnaryExpression() {
+ if (bitStringUnaryExpressionEClass == null) {
+ bitStringUnaryExpressionEClass = (EClass) EPackage.Registry.INSTANCE.getEPackage(AlfPackage.eNS_URI).getEClassifiers().get(55);
+ }
+ return bitStringUnaryExpressionEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EAttribute getBitStringUnaryExpression_IsBitStringConversion() {
+ return (EAttribute) getBitStringUnaryExpression().getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getBitStringUnaryExpression__Type() {
+ return getBitStringUnaryExpression().getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getBitStringUnaryExpression__Lower() {
+ return getBitStringUnaryExpression().getEOperations().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getBitStringUnaryExpression__Upper() {
+ return getBitStringUnaryExpression().getEOperations().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getBitStringUnaryExpression__BitStringUnaryExpressionTypeDerivation__DiagnosticChain_Map() {
+ return getBitStringUnaryExpression().getEOperations().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getBitStringUnaryExpression__BitStringUnaryExpressionLowerDerivation__DiagnosticChain_Map() {
+ return getBitStringUnaryExpression().getEOperations().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getBitStringUnaryExpression__BitStringUnaryExpressionUpperDerivation__DiagnosticChain_Map() {
+ return getBitStringUnaryExpression().getEOperations().get(5);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getBitStringUnaryExpression__BitStringUnaryExpressionOperand__DiagnosticChain_Map() {
+ return getBitStringUnaryExpression().getEOperations().get(6);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getBitStringUnaryExpression__BitStringUnaryExpressionIsBitStringConversionDerivation__DiagnosticChain_Map() {
+ return getBitStringUnaryExpression().getEOperations().get(7);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EClass getFeatureInvocationExpression() {
+ if (featureInvocationExpressionEClass == null) {
+ featureInvocationExpressionEClass = (EClass) EPackage.Registry.INSTANCE.getEPackage(AlfPackage.eNS_URI).getEClassifiers().get(56);
+ }
+ return featureInvocationExpressionEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EReference getFeatureInvocationExpression_Target() {
+ return (EReference) getFeatureInvocationExpression().getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getFeatureInvocationExpression__Feature() {
+ return getFeatureInvocationExpression().getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getFeatureInvocationExpression__Referent() {
+ return getFeatureInvocationExpression().getEOperations().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getFeatureInvocationExpression__FeatureInvocationExpressionReferentDerivation__DiagnosticChain_Map() {
+ return getFeatureInvocationExpression().getEOperations().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getFeatureInvocationExpression__FeatureInvocationExpressionFeatureDerivation__DiagnosticChain_Map() {
+ return getFeatureInvocationExpression().getEOperations().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getFeatureInvocationExpression__FeatureInvocationExpressionReferentExists__DiagnosticChain_Map() {
+ return getFeatureInvocationExpression().getEOperations().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getFeatureInvocationExpression__FeatureInvocationExpressionAlternativeConstructor__DiagnosticChain_Map() {
+ return getFeatureInvocationExpression().getEOperations().get(5);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getFeatureInvocationExpression__FeatureInvocationExpressionImplicitAlternativeConstructor__DiagnosticChain_Map() {
+ return getFeatureInvocationExpression().getEOperations().get(6);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EClass getBehaviorInvocationExpression() {
+ if (behaviorInvocationExpressionEClass == null) {
+ behaviorInvocationExpressionEClass = (EClass) EPackage.Registry.INSTANCE.getEPackage(AlfPackage.eNS_URI).getEClassifiers().get(57);
+ }
+ return behaviorInvocationExpressionEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EReference getBehaviorInvocationExpression_Target() {
+ return (EReference) getBehaviorInvocationExpression().getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getBehaviorInvocationExpression__IsAddTarget__Expression() {
+ return getBehaviorInvocationExpression().getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getBehaviorInvocationExpression__Referent() {
+ return getBehaviorInvocationExpression().getEOperations().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getBehaviorInvocationExpression__Referent1() {
+ return getBehaviorInvocationExpression().getEOperations().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getBehaviorInvocationExpression__BehaviorInvocation_referent() {
+ return getBehaviorInvocationExpression().getEOperations().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getBehaviorInvocationExpression__Feature() {
+ return getBehaviorInvocationExpression().getEOperations().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getBehaviorInvocationExpression__BehaviorInvocationExpressionReferentDerivation__DiagnosticChain_Map() {
+ return getBehaviorInvocationExpression().getEOperations().get(5);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getBehaviorInvocationExpression__BehaviorInvocationExpressionFeatureDerivation__DiagnosticChain_Map() {
+ return getBehaviorInvocationExpression().getEOperations().get(6);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getBehaviorInvocationExpression__BehaviorInvocationExpressionReferentConstraint__DiagnosticChain_Map() {
+ return getBehaviorInvocationExpression().getEOperations().get(7);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getBehaviorInvocationExpression__BehaviorInvocationExpressionArgumentCompatibility__DiagnosticChain_Map() {
+ return getBehaviorInvocationExpression().getEOperations().get(8);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getBehaviorInvocationExpression__BehaviorInvocationExpressionAlternativeConstructor__DiagnosticChain_Map() {
+ return getBehaviorInvocationExpression().getEOperations().get(9);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EClass getShiftExpression() {
+ if (shiftExpressionEClass == null) {
+ shiftExpressionEClass = (EClass) EPackage.Registry.INSTANCE.getEPackage(AlfPackage.eNS_URI).getEClassifiers().get(58);
+ }
+ return shiftExpressionEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EAttribute getShiftExpression_IsBitStringConversion() {
+ return (EAttribute) getShiftExpression().getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getShiftExpression__Type() {
+ return getShiftExpression().getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getShiftExpression__Lower() {
+ return getShiftExpression().getEOperations().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getShiftExpression__Upper() {
+ return getShiftExpression().getEOperations().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getShiftExpression__ShiftExpressionTypeDerivation__DiagnosticChain_Map() {
+ return getShiftExpression().getEOperations().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getShiftExpression__ShiftExpressionLowerDerivation__DiagnosticChain_Map() {
+ return getShiftExpression().getEOperations().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getShiftExpression__ShiftExpressionUpperDerivation__DiagnosticChain_Map() {
+ return getShiftExpression().getEOperations().get(5);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getShiftExpression__ShiftExpressionOperands__DiagnosticChain_Map() {
+ return getShiftExpression().getEOperations().get(6);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getShiftExpression__ShiftExpressionIsBitStringConversionDerivation__DiagnosticChain_Map() {
+ return getShiftExpression().getEOperations().get(7);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EClass getUnboundedLiteralExpression() {
+ if (unboundedLiteralExpressionEClass == null) {
+ unboundedLiteralExpressionEClass = (EClass) EPackage.Registry.INSTANCE.getEPackage(AlfPackage.eNS_URI).getEClassifiers().get(59);
+ }
+ return unboundedLiteralExpressionEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getUnboundedLiteralExpression__Type() {
+ return getUnboundedLiteralExpression().getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getUnboundedLiteralExpression__UnboundedLiteralExpressionTypeDerivation__DiagnosticChain_Map() {
+ return getUnboundedLiteralExpression().getEOperations().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EClass getThisExpression() {
+ if (thisExpressionEClass == null) {
+ thisExpressionEClass = (EClass) EPackage.Registry.INSTANCE.getEPackage(AlfPackage.eNS_URI).getEClassifiers().get(60);
+ }
+ return thisExpressionEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getThisExpression__Type() {
+ return getThisExpression().getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getThisExpression__Upper() {
+ return getThisExpression().getEOperations().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getThisExpression__Lower() {
+ return getThisExpression().getEOperations().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getThisExpression__ThisExpressionTypeDerivation__DiagnosticChain_Map() {
+ return getThisExpression().getEOperations().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getThisExpression__ThisExpressionUpperDerivation__DiagnosticChain_Map() {
+ return getThisExpression().getEOperations().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getThisExpression__ThisExpressionLowerDerivation__DiagnosticChain_Map() {
+ return getThisExpression().getEOperations().get(5);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EClass getClassificationExpression() {
+ if (classificationExpressionEClass == null) {
+ classificationExpressionEClass = (EClass) EPackage.Registry.INSTANCE.getEPackage(AlfPackage.eNS_URI).getEClassifiers().get(61);
+ }
+ return classificationExpressionEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EReference getClassificationExpression_Referent() {
+ return (EReference) getClassificationExpression().getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EAttribute getClassificationExpression_IsDirect() {
+ return (EAttribute) getClassificationExpression().getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EReference getClassificationExpression_TypeName() {
+ return (EReference) getClassificationExpression().getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getClassificationExpression__Type() {
+ return getClassificationExpression().getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getClassificationExpression__Lower() {
+ return getClassificationExpression().getEOperations().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getClassificationExpression__Upper() {
+ return getClassificationExpression().getEOperations().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getClassificationExpression__ClassificationExpressionIsDirectDerivation__DiagnosticChain_Map() {
+ return getClassificationExpression().getEOperations().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getClassificationExpression__ClassificationExpressionReferentDerivation__DiagnosticChain_Map() {
+ return getClassificationExpression().getEOperations().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getClassificationExpression__ClassificationExpressionTypeDerivation__DiagnosticChain_Map() {
+ return getClassificationExpression().getEOperations().get(5);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getClassificationExpression__ClassificationExpressionLowerDerivation__DiagnosticChain_Map() {
+ return getClassificationExpression().getEOperations().get(6);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getClassificationExpression__ClassificationExpressionUpperDerivation__DiagnosticChain_Map() {
+ return getClassificationExpression().getEOperations().get(7);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getClassificationExpression__ClassificationExpressionTypeName__DiagnosticChain_Map() {
+ return getClassificationExpression().getEOperations().get(8);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getClassificationExpression__ClassificationExpressionOperand__DiagnosticChain_Map() {
+ return getClassificationExpression().getEOperations().get(9);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EClass getSuperInvocationExpression() {
+ if (superInvocationExpressionEClass == null) {
+ superInvocationExpressionEClass = (EClass) EPackage.Registry.INSTANCE.getEPackage(AlfPackage.eNS_URI).getEClassifiers().get(62);
+ }
+ return superInvocationExpressionEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EReference getSuperInvocationExpression_Target() {
+ return (EReference) getSuperInvocationExpression().getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getSuperInvocationExpression__Referent() {
+ return getSuperInvocationExpression().getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getSuperInvocationExpression__Feature() {
+ return getSuperInvocationExpression().getEOperations().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getSuperInvocationExpression__Context() {
+ return getSuperInvocationExpression().getEOperations().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getSuperInvocationExpression__SuperInvocationExpressionReferentDerivation__DiagnosticChain_Map() {
+ return getSuperInvocationExpression().getEOperations().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getSuperInvocationExpression__SuperInvocationExpressionFeatureDerivation__DiagnosticChain_Map() {
+ return getSuperInvocationExpression().getEOperations().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getSuperInvocationExpression__SuperInvocationExpressionQualification__DiagnosticChain_Map() {
+ return getSuperInvocationExpression().getEOperations().get(5);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getSuperInvocationExpression__SuperInvocationExpressionImplicitTarget__DiagnosticChain_Map() {
+ return getSuperInvocationExpression().getEOperations().get(6);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getSuperInvocationExpression__SuperInvocationExpressionConstructorCall__DiagnosticChain_Map() {
+ return getSuperInvocationExpression().getEOperations().get(7);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getSuperInvocationExpression__SuperInvocationExpressionDestructorCall__DiagnosticChain_Map() {
+ return getSuperInvocationExpression().getEOperations().get(8);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getSuperInvocationExpression__SuperInvocationExpressionOperation__DiagnosticChain_Map() {
+ return getSuperInvocationExpression().getEOperations().get(9);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EClass getIncrementOrDecrementExpression() {
+ if (incrementOrDecrementExpressionEClass == null) {
+ incrementOrDecrementExpressionEClass = (EClass) EPackage.Registry.INSTANCE.getEPackage(AlfPackage.eNS_URI).getEClassifiers().get(63);
+ }
+ return incrementOrDecrementExpressionEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EReference getIncrementOrDecrementExpression_Assignment() {
+ return (EReference) getIncrementOrDecrementExpression().getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EReference getIncrementOrDecrementExpression_Operand() {
+ return (EReference) getIncrementOrDecrementExpression().getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EReference getIncrementOrDecrementExpression_Expression() {
+ return (EReference) getIncrementOrDecrementExpression().getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EReference getIncrementOrDecrementExpression_Feature() {
+ return (EReference) getIncrementOrDecrementExpression().getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EAttribute getIncrementOrDecrementExpression_IsPrefix() {
+ return (EAttribute) getIncrementOrDecrementExpression().getEStructuralFeatures().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EAttribute getIncrementOrDecrementExpression_IsFeature() {
+ return (EAttribute) getIncrementOrDecrementExpression().getEStructuralFeatures().get(5);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EAttribute getIncrementOrDecrementExpression_IsIndexed() {
+ return (EAttribute) getIncrementOrDecrementExpression().getEStructuralFeatures().get(6);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EAttribute getIncrementOrDecrementExpression_IsDataValueUpdate() {
+ return (EAttribute) getIncrementOrDecrementExpression().getEStructuralFeatures().get(7);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EAttribute getIncrementOrDecrementExpression_Operator() {
+ return (EAttribute) getIncrementOrDecrementExpression().getEStructuralFeatures().get(8);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getIncrementOrDecrementExpression__Type() {
+ return getIncrementOrDecrementExpression().getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getIncrementOrDecrementExpression__Lower() {
+ return getIncrementOrDecrementExpression().getEOperations().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getIncrementOrDecrementExpression__Upper() {
+ return getIncrementOrDecrementExpression().getEOperations().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getIncrementOrDecrementExpression__IncrementOrDecrementExpressionAssignmentDerivation__DiagnosticChain_Map() {
+ return getIncrementOrDecrementExpression().getEOperations().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getIncrementOrDecrementExpression__IncrementOrDecrementExpressionIsFeatureDerivation__DiagnosticChain_Map() {
+ return getIncrementOrDecrementExpression().getEOperations().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getIncrementOrDecrementExpression__IncrementOrDecrementExpressionIsIndexedDerivation__DiagnosticChain_Map() {
+ return getIncrementOrDecrementExpression().getEOperations().get(5);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getIncrementOrDecrementExpression__IncrementOrDecrementExpressionIsDataValueUpdateDerivation__DiagnosticChain_Map() {
+ return getIncrementOrDecrementExpression().getEOperations().get(6);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getIncrementOrDecrementExpression__IncrementOrDecrementExpressionFeatureDerivation__DiagnosticChain_Map() {
+ return getIncrementOrDecrementExpression().getEOperations().get(7);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getIncrementOrDecrementExpression__IncrementOrDecrementExpressionExpressionDerivation__DiagnosticChain_Map() {
+ return getIncrementOrDecrementExpression().getEOperations().get(8);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getIncrementOrDecrementExpression__IncrementOrDecrementExpressionTypeDerivation__DiagnosticChain_Map() {
+ return getIncrementOrDecrementExpression().getEOperations().get(9);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getIncrementOrDecrementExpression__IncrementOrDecrementExpressionLowerDerivation__DiagnosticChain_Map() {
+ return getIncrementOrDecrementExpression().getEOperations().get(10);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getIncrementOrDecrementExpression__IncrementOrDecrementExpressionUpperDerivation__DiagnosticChain_Map() {
+ return getIncrementOrDecrementExpression().getEOperations().get(11);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getIncrementOrDecrementExpression__IncrementOrDecrementExpressionOperand__DiagnosticChain_Map() {
+ return getIncrementOrDecrementExpression().getEOperations().get(12);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getIncrementOrDecrementExpression__IncrementOrDecrementExpressionAssignmentsBefore__DiagnosticChain_Map() {
+ return getIncrementOrDecrementExpression().getEOperations().get(13);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getIncrementOrDecrementExpression__UpdateAssignments() {
+ return getIncrementOrDecrementExpression().getEOperations().get(14);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EClass getBooleanLiteralExpression() {
+ if (booleanLiteralExpressionEClass == null) {
+ booleanLiteralExpressionEClass = (EClass) EPackage.Registry.INSTANCE.getEPackage(AlfPackage.eNS_URI).getEClassifiers().get(64);
+ }
+ return booleanLiteralExpressionEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EAttribute getBooleanLiteralExpression_Image() {
+ return (EAttribute) getBooleanLiteralExpression().getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getBooleanLiteralExpression__Type() {
+ return getBooleanLiteralExpression().getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getBooleanLiteralExpression__BooleanLiteralExpressionTypeDerivation__DiagnosticChain_Map() {
+ return getBooleanLiteralExpression().getEOperations().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EClass getNamedTuple() {
+ if (namedTupleEClass == null) {
+ namedTupleEClass = (EClass) EPackage.Registry.INSTANCE.getEPackage(AlfPackage.eNS_URI).getEClassifiers().get(65);
+ }
+ return namedTupleEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EReference getNamedTuple_NamedExpression() {
+ return (EReference) getNamedTuple().getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getNamedTuple__Size() {
+ return getNamedTuple().getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getNamedTuple__InputFor__EList() {
+ return getNamedTuple().getEOperations().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getNamedTuple__OutputFor__EList() {
+ return getNamedTuple().getEOperations().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getNamedTuple__NamedTupleArgumentNames__DiagnosticChain_Map() {
+ return getNamedTuple().getEOperations().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EClass getNaturalLiteralExpression() {
+ if (naturalLiteralExpressionEClass == null) {
+ naturalLiteralExpressionEClass = (EClass) EPackage.Registry.INSTANCE.getEPackage(AlfPackage.eNS_URI).getEClassifiers().get(66);
+ }
+ return naturalLiteralExpressionEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EAttribute getNaturalLiteralExpression_Image() {
+ return (EAttribute) getNaturalLiteralExpression().getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getNaturalLiteralExpression__Type() {
+ return getNaturalLiteralExpression().getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getNaturalLiteralExpression__NaturalLiteralExpressionTypeDerivation__DiagnosticChain_Map() {
+ return getNaturalLiteralExpression().getEOperations().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EClass getSequenceRange() {
+ if (sequenceRangeEClass == null) {
+ sequenceRangeEClass = (EClass) EPackage.Registry.INSTANCE.getEPackage(AlfPackage.eNS_URI).getEClassifiers().get(67);
+ }
+ return sequenceRangeEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EReference getSequenceRange_RangeLower() {
+ return (EReference) getSequenceRange().getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EReference getSequenceRange_RangeUpper() {
+ return (EReference) getSequenceRange().getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getSequenceRange__ConformsTo__ElementReference() {
+ return getSequenceRange().getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getSequenceRange__AssignmentsAfter() {
+ return getSequenceRange().getEOperations().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getSequenceRange__Upper() {
+ return getSequenceRange().getEOperations().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getSequenceRange__Lower() {
+ return getSequenceRange().getEOperations().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getSequenceRange__SequenceRangeLowerDerivation__DiagnosticChain_Map() {
+ return getSequenceRange().getEOperations().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getSequenceRange__SequenceRangeUpperDerivation__DiagnosticChain_Map() {
+ return getSequenceRange().getEOperations().get(5);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getSequenceRange__SequenceRangeExpressionMultiplicity__DiagnosticChain_Map() {
+ return getSequenceRange().getEOperations().get(6);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getSequenceRange__SequenceRangeAssignments__DiagnosticChain_Map() {
+ return getSequenceRange().getEOperations().get(7);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EClass getNameLeftHandSide() {
+ if (nameLeftHandSideEClass == null) {
+ nameLeftHandSideEClass = (EClass) EPackage.Registry.INSTANCE.getEPackage(AlfPackage.eNS_URI).getEClassifiers().get(68);
+ }
+ return nameLeftHandSideEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EReference getNameLeftHandSide_Target() {
+ return (EReference) getNameLeftHandSide().getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EReference getNameLeftHandSide_Index() {
+ return (EReference) getNameLeftHandSide().getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getNameLeftHandSide__Target() {
+ return getNameLeftHandSide().getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getNameLeftHandSide__Index() {
+ return getNameLeftHandSide().getEOperations().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getNameLeftHandSide__Referent() {
+ return getNameLeftHandSide().getEOperations().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getNameLeftHandSide__ParameterReferent() {
+ return getNameLeftHandSide().getEOperations().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getNameLeftHandSide__Type() {
+ return getNameLeftHandSide().getEOperations().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getNameLeftHandSide__Upper() {
+ return getNameLeftHandSide().getEOperations().get(5);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getNameLeftHandSide__Lower() {
+ return getNameLeftHandSide().getEOperations().get(6);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getNameLeftHandSide__OldAssignment() {
+ return getNameLeftHandSide().getEOperations().get(7);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getNameLeftHandSide__Feature() {
+ return getNameLeftHandSide().getEOperations().get(8);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getNameLeftHandSide__LocalName() {
+ return getNameLeftHandSide().getEOperations().get(9);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getNameLeftHandSide__NameLeftHandSideAssignmentAfterDerivation__DiagnosticChain_Map() {
+ return getNameLeftHandSide().getEOperations().get(10);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getNameLeftHandSide__NameLeftHandSideTargetAssignment__DiagnosticChain_Map() {
+ return getNameLeftHandSide().getEOperations().get(11);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getNameLeftHandSide__NameLeftHandSideAssignmentsBefore__DiagnosticChain_Map() {
+ return getNameLeftHandSide().getEOperations().get(12);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getNameLeftHandSide__NameLeftHandSideReferentDerivation__DiagnosticChain_Map() {
+ return getNameLeftHandSide().getEOperations().get(13);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getNameLeftHandSide__NameLeftHandSideLowerDerivation__DiagnosticChain_Map() {
+ return getNameLeftHandSide().getEOperations().get(14);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getNameLeftHandSide__NameLeftHandSideUpperDerivation__DiagnosticChain_Map() {
+ return getNameLeftHandSide().getEOperations().get(15);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getNameLeftHandSide__NameLeftHandSideTypeDerivation__DiagnosticChain_Map() {
+ return getNameLeftHandSide().getEOperations().get(16);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getNameLeftHandSide__NameLeftHandSideTargetResolution__DiagnosticChain_Map() {
+ return getNameLeftHandSide().getEOperations().get(17);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getNameLeftHandSide__NameLeftHandSideIndexedFeature__DiagnosticChain_Map() {
+ return getNameLeftHandSide().getEOperations().get(18);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getNameLeftHandSide__NameLeftHandSideNontemplateTarget__DiagnosticChain_Map() {
+ return getNameLeftHandSide().getEOperations().get(19);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EClass getEffectiveLeftHandSide() {
+ if (effectiveLeftHandSideEClass == null) {
+ effectiveLeftHandSideEClass = (EClass) EPackage.Registry.INSTANCE.getEPackage(AlfPackage.eNS_URI).getEClassifiers().get(69);
+ }
+ return effectiveLeftHandSideEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EReference getEffectiveLeftHandSide_Expression() {
+ return (EReference) getEffectiveLeftHandSide().getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getEffectiveLeftHandSide__Target() {
+ return getEffectiveLeftHandSide().getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getEffectiveLeftHandSide__Index() {
+ return getEffectiveLeftHandSide().getEOperations().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getEffectiveLeftHandSide__Feature() {
+ return getEffectiveLeftHandSide().getEOperations().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getEffectiveLeftHandSide__Primary() {
+ return getEffectiveLeftHandSide().getEOperations().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EClass getSequenceReductionExpression() {
+ if (sequenceReductionExpressionEClass == null) {
+ sequenceReductionExpressionEClass = (EClass) EPackage.Registry.INSTANCE.getEPackage(AlfPackage.eNS_URI).getEClassifiers().get(70);
+ }
+ return sequenceReductionExpressionEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EReference getSequenceReductionExpression_Referent() {
+ return (EReference) getSequenceReductionExpression().getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EAttribute getSequenceReductionExpression_IsOrdered() {
+ return (EAttribute) getSequenceReductionExpression().getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EReference getSequenceReductionExpression_Primary() {
+ return (EReference) getSequenceReductionExpression().getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EReference getSequenceReductionExpression_BehaviorName() {
+ return (EReference) getSequenceReductionExpression().getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getSequenceReductionExpression__Type() {
+ return getSequenceReductionExpression().getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getSequenceReductionExpression__Upper() {
+ return getSequenceReductionExpression().getEOperations().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getSequenceReductionExpression__Lower() {
+ return getSequenceReductionExpression().getEOperations().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getSequenceReductionExpression__SequenceReductionExpressionReferentDerivation__DiagnosticChain_Map() {
+ return getSequenceReductionExpression().getEOperations().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getSequenceReductionExpression__SequenceReductionExpressionTypeDerivation__DiagnosticChain_Map() {
+ return getSequenceReductionExpression().getEOperations().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getSequenceReductionExpression__SequenceReductionExpressionUpperDerivation__DiagnosticChain_Map() {
+ return getSequenceReductionExpression().getEOperations().get(5);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getSequenceReductionExpression__SequenceReductionExpressionLowerDerivation__DiagnosticChain_Map() {
+ return getSequenceReductionExpression().getEOperations().get(6);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getSequenceReductionExpression__SequenceReductionExpressionBehavior__DiagnosticChain_Map() {
+ return getSequenceReductionExpression().getEOperations().get(7);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getSequenceReductionExpression__SequenceReductionExpressionBehaviorParameters__DiagnosticChain_Map() {
+ return getSequenceReductionExpression().getEOperations().get(8);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getSequenceReductionExpression__SequenceReductionExpressionAssignmentsBefore__DiagnosticChain_Map() {
+ return getSequenceReductionExpression().getEOperations().get(9);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getSequenceReductionExpression__UpdateAssignments() {
+ return getSequenceReductionExpression().getEOperations().get(10);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EClass getSequenceExpressionList() {
+ if (sequenceExpressionListEClass == null) {
+ sequenceExpressionListEClass = (EClass) EPackage.Registry.INSTANCE.getEPackage(AlfPackage.eNS_URI).getEClassifiers().get(71);
+ }
+ return sequenceExpressionListEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EReference getSequenceExpressionList_Element() {
+ return (EReference) getSequenceExpressionList().getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getSequenceExpressionList__ConformsTo__ElementReference() {
+ return getSequenceExpressionList().getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getSequenceExpressionList__AssignmentsBefore__SyntaxElement() {
+ return getSequenceExpressionList().getEOperations().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getSequenceExpressionList__AssignmentsAfter() {
+ return getSequenceExpressionList().getEOperations().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getSequenceExpressionList__Lower() {
+ return getSequenceExpressionList().getEOperations().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getSequenceExpressionList__Upper() {
+ return getSequenceExpressionList().getEOperations().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getSequenceExpressionList__SequenceExpressionListLowerDerivation__DiagnosticChain_Map() {
+ return getSequenceExpressionList().getEOperations().get(5);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getSequenceExpressionList__SequenceExpressionListUpperDerivation__DiagnosticChain_Map() {
+ return getSequenceExpressionList().getEOperations().get(6);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EClass getRelationalExpression() {
+ if (relationalExpressionEClass == null) {
+ relationalExpressionEClass = (EClass) EPackage.Registry.INSTANCE.getEPackage(AlfPackage.eNS_URI).getEClassifiers().get(72);
+ }
+ return relationalExpressionEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EAttribute getRelationalExpression_IsUnlimitedNatural() {
+ return (EAttribute) getRelationalExpression().getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getRelationalExpression__Type() {
+ return getRelationalExpression().getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getRelationalExpression__Lower() {
+ return getRelationalExpression().getEOperations().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getRelationalExpression__Upper() {
+ return getRelationalExpression().getEOperations().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getRelationalExpression__RelationalExpressionIsUnlimitedNaturalDerivation__DiagnosticChain_Map() {
+ return getRelationalExpression().getEOperations().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getRelationalExpression__RelationalExpressionTypeDerivation__DiagnosticChain_Map() {
+ return getRelationalExpression().getEOperations().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getRelationalExpression__RelationalExpressionLowerDerivation__DiagnosticChain_Map() {
+ return getRelationalExpression().getEOperations().get(5);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getRelationalExpression__RelationalExpressionUpperDerivation__DiagnosticChain_Map() {
+ return getRelationalExpression().getEOperations().get(6);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getRelationalExpression__RelationalExpressionOperandTypes__DiagnosticChain_Map() {
+ return getRelationalExpression().getEOperations().get(7);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EClass getLocalNameDeclarationStatement() {
+ if (localNameDeclarationStatementEClass == null) {
+ localNameDeclarationStatementEClass = (EClass) EPackage.Registry.INSTANCE.getEPackage(AlfPackage.eNS_URI).getEClassifiers().get(73);
+ }
+ return localNameDeclarationStatementEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EAttribute getLocalNameDeclarationStatement_Name() {
+ return (EAttribute) getLocalNameDeclarationStatement().getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EReference getLocalNameDeclarationStatement_Expression() {
+ return (EReference) getLocalNameDeclarationStatement().getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EAttribute getLocalNameDeclarationStatement_HasMultiplicity() {
+ return (EAttribute) getLocalNameDeclarationStatement().getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EReference getLocalNameDeclarationStatement_TypeName() {
+ return (EReference) getLocalNameDeclarationStatement().getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EReference getLocalNameDeclarationStatement_Type() {
+ return (EReference) getLocalNameDeclarationStatement().getEStructuralFeatures().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EAttribute getLocalNameDeclarationStatement_IsAny() {
+ return (EAttribute) getLocalNameDeclarationStatement().getEStructuralFeatures().get(5);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getLocalNameDeclarationStatement__ActualName() {
+ return getLocalNameDeclarationStatement().getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getLocalNameDeclarationStatement__AssignmentsAfter() {
+ return getLocalNameDeclarationStatement().getEOperations().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getLocalNameDeclarationStatement__LocalNameDeclarationStatementAssignmentsBefore__DiagnosticChain_Map() {
+ return getLocalNameDeclarationStatement().getEOperations().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getLocalNameDeclarationStatement__LocalNameDeclarationStatementType__DiagnosticChain_Map() {
+ return getLocalNameDeclarationStatement().getEOperations().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getLocalNameDeclarationStatement__LocalNameDeclarationStatementLocalName__DiagnosticChain_Map() {
+ return getLocalNameDeclarationStatement().getEOperations().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getLocalNameDeclarationStatement__LocalNameDeclarationStatementAssignmentsAfter__DiagnosticChain_Map() {
+ return getLocalNameDeclarationStatement().getEOperations().get(5);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getLocalNameDeclarationStatement__LocalNameDeclarationStatementExpressionMultiplicity__DiagnosticChain_Map() {
+ return getLocalNameDeclarationStatement().getEOperations().get(6);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getLocalNameDeclarationStatement__LocalNameDeclarationStatementTypeDerivation__DiagnosticChain_Map() {
+ return getLocalNameDeclarationStatement().getEOperations().get(7);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getLocalNameDeclarationStatement__TypeCached() {
+ return getLocalNameDeclarationStatement().getEOperations().get(8);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getLocalNameDeclarationStatement__Type() {
+ return getLocalNameDeclarationStatement().getEOperations().get(9);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EClass getAssignableLocalNameDeclaration() {
+ if (assignableLocalNameDeclarationEClass == null) {
+ assignableLocalNameDeclarationEClass = (EClass) EPackage.Registry.INSTANCE.getEPackage(AlfPackage.eNS_URI).getEClassifiers().get(74);
+ }
+ return assignableLocalNameDeclarationEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EReference getAssignableLocalNameDeclaration_LocalNameDeclaration() {
+ return (EReference) getAssignableLocalNameDeclaration().getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getAssignableLocalNameDeclaration__Type() {
+ return getAssignableLocalNameDeclaration().getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getAssignableLocalNameDeclaration__Lower() {
+ return getAssignableLocalNameDeclaration().getEOperations().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getAssignableLocalNameDeclaration__Upper() {
+ return getAssignableLocalNameDeclaration().getEOperations().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EClass getStatement() {
+ if (statementEClass == null) {
+ statementEClass = (EClass) EPackage.Registry.INSTANCE.getEPackage(AlfPackage.eNS_URI).getEClassifiers().get(75);
+ }
+ return statementEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EReference getStatement_AssignmentBefore() {
+ return (EReference) getStatement().getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EReference getStatement_AssignmentAfter() {
+ return (EReference) getStatement().getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EReference getStatement_EnclosingStatement() {
+ return (EReference) getStatement().getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EAttribute getStatement_IsIsolated() {
+ return (EAttribute) getStatement().getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getStatement__EnclosingLoopStatement() {
+ return getStatement().getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getStatement__StatementAnnotationsAllowed__DiagnosticChain_Map() {
+ return getStatement().getEOperations().get(12);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getStatement__StatementUniqueAssignments__DiagnosticChain_Map() {
+ return getStatement().getEOperations().get(13);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getStatement__StatementIsIsolatedDerivation__DiagnosticChain_Map() {
+ return getStatement().getEOperations().get(14);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getStatement__AnnotationAllowed__Annotation() {
+ return getStatement().getEOperations().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getStatement__Statement_annotationAllowed__Annotation() {
+ return getStatement().getEOperations().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getStatement__Annotation() {
+ return getStatement().getEOperations().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getStatement__HasAnnotation__String() {
+ return getStatement().getEOperations().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getStatement__NewAssignments() {
+ return getStatement().getEOperations().get(5);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getStatement__Resolve__String() {
+ return getStatement().getEOperations().get(6);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getStatement__AssignmentsAfter() {
+ return getStatement().getEOperations().get(7);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getStatement__Statement_assignmentsAfter() {
+ return getStatement().getEOperations().get(8);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getStatement__AssignmentsAfterCached() {
+ return getStatement().getEOperations().get(9);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getStatement__MergeAssignments__EList() {
+ return getStatement().getEOperations().get(10);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getStatement__Merge__String_EList() {
+ return getStatement().getEOperations().get(11);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EClass getAnnotation() {
+ if (annotationEClass == null) {
+ annotationEClass = (EClass) EPackage.Registry.INSTANCE.getEPackage(AlfPackage.eNS_URI).getEClassifiers().get(76);
+ }
+ return annotationEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EAttribute getAnnotation_Text() {
+ return (EAttribute) getAnnotation().getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EAttribute getAnnotation_Identifier() {
+ return (EAttribute) getAnnotation().getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EAttribute getAnnotation_Argument() {
+ return (EAttribute) getAnnotation().getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getAnnotation__Identifier() {
+ return getAnnotation().getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getAnnotation__Arguments() {
+ return getAnnotation().getEOperations().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EClass getQualifiedNameList() {
+ if (qualifiedNameListEClass == null) {
+ qualifiedNameListEClass = (EClass) EPackage.Registry.INSTANCE.getEPackage(AlfPackage.eNS_URI).getEClassifiers().get(77);
+ }
+ return qualifiedNameListEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EReference getQualifiedNameList_Name() {
+ return (EReference) getQualifiedNameList().getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getQualifiedNameList__CurrentScope() {
+ return getQualifiedNameList().getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EClass getNonFinalClause() {
+ if (nonFinalClauseEClass == null) {
+ nonFinalClauseEClass = (EClass) EPackage.Registry.INSTANCE.getEPackage(AlfPackage.eNS_URI).getEClassifiers().get(78);
+ }
+ return nonFinalClauseEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EReference getNonFinalClause_Condition() {
+ return (EReference) getNonFinalClause().getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EReference getNonFinalClause_Body() {
+ return (EReference) getNonFinalClause().getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getNonFinalClause__AssignmentsBefore__SyntaxElement() {
+ return getNonFinalClause().getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getNonFinalClause__NonFinalClauseAssignmentsBeforeBody__DiagnosticChain_Map() {
+ return getNonFinalClause().getEOperations().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getNonFinalClause__NonFinalClauseConditionLocalNames__DiagnosticChain_Map() {
+ return getNonFinalClause().getEOperations().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getNonFinalClause__NonFinalClauseConditionType__DiagnosticChain_Map() {
+ return getNonFinalClause().getEOperations().get(5);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getNonFinalClause__AssignmentsBefore() {
+ return getNonFinalClause().getEOperations().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getNonFinalClause__AssignmentsAfter() {
+ return getNonFinalClause().getEOperations().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EClass getBlock() {
+ if (blockEClass == null) {
+ blockEClass = (EClass) EPackage.Registry.INSTANCE.getEPackage(AlfPackage.eNS_URI).getEClassifiers().get(79);
+ }
+ return blockEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EReference getBlock_Statement() {
+ return (EReference) getBlock().getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EReference getBlock_AssignmentAfter() {
+ return (EReference) getBlock().getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EReference getBlock_AssignmentBefore() {
+ return (EReference) getBlock().getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getBlock__AssignmentsBefore__SyntaxElement() {
+ return getBlock().getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getBlock__NewAssignments() {
+ return getBlock().getEOperations().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getBlock__BlockAssignmentsBeforeStatements__DiagnosticChain_Map() {
+ return getBlock().getEOperations().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getBlock__BlockAssignmentsBefore__DiagnosticChain_Map() {
+ return getBlock().getEOperations().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getBlock__BlockAssignmentAfterDerivation__DiagnosticChain_Map() {
+ return getBlock().getEOperations().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EClass getBlockStatement() {
+ if (blockStatementEClass == null) {
+ blockStatementEClass = (EClass) EPackage.Registry.INSTANCE.getEPackage(AlfPackage.eNS_URI).getEClassifiers().get(80);
+ }
+ return blockStatementEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EReference getBlockStatement_Block() {
+ return (EReference) getBlockStatement().getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EAttribute getBlockStatement_IsParallel() {
+ return (EAttribute) getBlockStatement().getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getBlockStatement__AssignmentsAfter() {
+ return getBlockStatement().getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getBlockStatement__BlockStatementParallelAssignments__DiagnosticChain_Map() {
+ return getBlockStatement().getEOperations().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getBlockStatement__BlockStatementAssignmentsBefore__DiagnosticChain_Map() {
+ return getBlockStatement().getEOperations().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getBlockStatement__BlockStatementAssignmentsAfter__DiagnosticChain_Map() {
+ return getBlockStatement().getEOperations().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getBlockStatement__BlockStatementEnclosedStatements__DiagnosticChain_Map() {
+ return getBlockStatement().getEOperations().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getBlockStatement__BlockStatementIsParallelDerivation__DiagnosticChain_Map() {
+ return getBlockStatement().getEOperations().get(5);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getBlockStatement__AnnotationAllowed__Annotation() {
+ return getBlockStatement().getEOperations().get(6);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EClass getDoStatement() {
+ if (doStatementEClass == null) {
+ doStatementEClass = (EClass) EPackage.Registry.INSTANCE.getEPackage(AlfPackage.eNS_URI).getEClassifiers().get(81);
+ }
+ return doStatementEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EReference getDoStatement_Condition() {
+ return (EReference) getDoStatement().getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EReference getDoStatement_Body() {
+ return (EReference) getDoStatement().getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getDoStatement__EnclosingLoopStatement() {
+ return getDoStatement().getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getDoStatement__AssignmentsBefore__SyntaxElement() {
+ return getDoStatement().getEOperations().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getDoStatement__AssignmentsAfter() {
+ return getDoStatement().getEOperations().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getDoStatement__DoStatementAssignmentsBefore__DiagnosticChain_Map() {
+ return getDoStatement().getEOperations().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getDoStatement__DoStatementAssignmentsAfter__DiagnosticChain_Map() {
+ return getDoStatement().getEOperations().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getDoStatement__DoStatementCondition__DiagnosticChain_Map() {
+ return getDoStatement().getEOperations().get(5);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getDoStatement__DoStatementEnclosedStatements__DiagnosticChain_Map() {
+ return getDoStatement().getEOperations().get(6);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EClass getConcurrentClauses() {
+ if (concurrentClausesEClass == null) {
+ concurrentClausesEClass = (EClass) EPackage.Registry.INSTANCE.getEPackage(AlfPackage.eNS_URI).getEClassifiers().get(82);
+ }
+ return concurrentClausesEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EReference getConcurrentClauses_Clause() {
+ return (EReference) getConcurrentClauses().getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getConcurrentClauses__ConcurrentClausesAssignmentsBefore__DiagnosticChain_Map() {
+ return getConcurrentClauses().getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getConcurrentClauses__ConcurrentClausesConditionAssignments__DiagnosticChain_Map() {
+ return getConcurrentClauses().getEOperations().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EClass getBreakStatement() {
+ if (breakStatementEClass == null) {
+ breakStatementEClass = (EClass) EPackage.Registry.INSTANCE.getEPackage(AlfPackage.eNS_URI).getEClassifiers().get(83);
+ }
+ return breakStatementEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EReference getBreakStatement_Target() {
+ return (EReference) getBreakStatement().getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getBreakStatement__BreakStatementTargetDerivation__DiagnosticChain_Map() {
+ return getBreakStatement().getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getBreakStatement__BreakStatementNonparallelTarget__DiagnosticChain_Map() {
+ return getBreakStatement().getEOperations().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getBreakStatement__AnnotationAllowed__Annotation() {
+ return getBreakStatement().getEOperations().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EClass getExpressionStatement() {
+ if (expressionStatementEClass == null) {
+ expressionStatementEClass = (EClass) EPackage.Registry.INSTANCE.getEPackage(AlfPackage.eNS_URI).getEClassifiers().get(84);
+ }
+ return expressionStatementEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EReference getExpressionStatement_Expression() {
+ return (EReference) getExpressionStatement().getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getExpressionStatement__AssignmentsAfter() {
+ return getExpressionStatement().getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getExpressionStatement__ExpressionStatementAssignmentsBefore__DiagnosticChain_Map() {
+ return getExpressionStatement().getEOperations().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getExpressionStatement__ExpressionStatementAssignmentsAfter__DiagnosticChain_Map() {
+ return getExpressionStatement().getEOperations().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EClass getClassifyStatement() {
+ if (classifyStatementEClass == null) {
+ classifyStatementEClass = (EClass) EPackage.Registry.INSTANCE.getEPackage(AlfPackage.eNS_URI).getEClassifiers().get(85);
+ }
+ return classifyStatementEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EReference getClassifyStatement_Expression() {
+ return (EReference) getClassifyStatement().getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EReference getClassifyStatement_FromList() {
+ return (EReference) getClassifyStatement().getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EReference getClassifyStatement_ToList() {
+ return (EReference) getClassifyStatement().getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EReference getClassifyStatement_FromClass() {
+ return (EReference) getClassifyStatement().getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EReference getClassifyStatement_ToClass() {
+ return (EReference) getClassifyStatement().getEStructuralFeatures().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EAttribute getClassifyStatement_IsReclassifyAll() {
+ return (EAttribute) getClassifyStatement().getEStructuralFeatures().get(5);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getClassifyStatement__AssignmentAfter() {
+ return getClassifyStatement().getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getClassifyStatement__ClassifyStatementExpression__DiagnosticChain_Map() {
+ return getClassifyStatement().getEOperations().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getClassifyStatement__ClassifyStatementClassNames__DiagnosticChain_Map() {
+ return getClassifyStatement().getEOperations().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getClassifyStatement__ClassifyStatementClasses__DiagnosticChain_Map() {
+ return getClassifyStatement().getEOperations().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getClassifyStatement__ClassifyStatementAssignmentsBefore__DiagnosticChain_Map() {
+ return getClassifyStatement().getEOperations().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getClassifyStatement__ClassifyStatementAssignmentsAfter__DiagnosticChain_Map() {
+ return getClassifyStatement().getEOperations().get(5);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getClassifyStatement__ClassifyStatementFromClassDerivation__DiagnosticChain_Map() {
+ return getClassifyStatement().getEOperations().get(6);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getClassifyStatement__ClassifyStatementToClassDerivation__DiagnosticChain_Map() {
+ return getClassifyStatement().getEOperations().get(7);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EClass getForStatement() {
+ if (forStatementEClass == null) {
+ forStatementEClass = (EClass) EPackage.Registry.INSTANCE.getEPackage(AlfPackage.eNS_URI).getEClassifiers().get(86);
+ }
+ return forStatementEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EReference getForStatement_Body() {
+ return (EReference) getForStatement().getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EReference getForStatement_VariableDefinition() {
+ return (EReference) getForStatement().getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EAttribute getForStatement_IsParallel() {
+ return (EAttribute) getForStatement().getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getForStatement__EnclosingLoopStatement() {
+ return getForStatement().getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getForStatement__AssignmentsBefore__SyntaxElement() {
+ return getForStatement().getEOperations().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getForStatement__AssignmentsAfterVariables() {
+ return getForStatement().getEOperations().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getForStatement__AssignmentsAfter() {
+ return getForStatement().getEOperations().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getForStatement__ParallelNames() {
+ return getForStatement().getEOperations().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getForStatement__ForStatementAssignmentsBefore__DiagnosticChain_Map() {
+ return getForStatement().getEOperations().get(5);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getForStatement__ForStatementAssignmentsAfter__DiagnosticChain_Map() {
+ return getForStatement().getEOperations().get(6);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getForStatement__ForStatementParallelAnnotationNames__DiagnosticChain_Map() {
+ return getForStatement().getEOperations().get(7);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getForStatement__ForStatementParallelAssignmentsAfter__DiagnosticChain_Map() {
+ return getForStatement().getEOperations().get(8);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getForStatement__ForStatementVariableDefinitions__DiagnosticChain_Map() {
+ return getForStatement().getEOperations().get(9);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getForStatement__ForStatementLoopVariables__DiagnosticChain_Map() {
+ return getForStatement().getEOperations().get(10);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getForStatement__ForStatementIsParallelDerivation__DiagnosticChain_Map() {
+ return getForStatement().getEOperations().get(11);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getForStatement__ForStatementEnclosedStatements__DiagnosticChain_Map() {
+ return getForStatement().getEOperations().get(12);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getForStatement__AnnotationAllowed__Annotation() {
+ return getForStatement().getEOperations().get(13);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EClass getLoopVariableDefinition() {
+ if (loopVariableDefinitionEClass == null) {
+ loopVariableDefinitionEClass = (EClass) EPackage.Registry.INSTANCE.getEPackage(AlfPackage.eNS_URI).getEClassifiers().get(87);
+ }
+ return loopVariableDefinitionEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EAttribute getLoopVariableDefinition_Variable() {
+ return (EAttribute) getLoopVariableDefinition().getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EReference getLoopVariableDefinition_Expression1() {
+ return (EReference) getLoopVariableDefinition().getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EReference getLoopVariableDefinition_Expression2() {
+ return (EReference) getLoopVariableDefinition().getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EReference getLoopVariableDefinition_TypeName() {
+ return (EReference) getLoopVariableDefinition().getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EAttribute getLoopVariableDefinition_TypeIsInferred() {
+ return (EAttribute) getLoopVariableDefinition().getEStructuralFeatures().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EAttribute getLoopVariableDefinition_IsCollectionConversion() {
+ return (EAttribute) getLoopVariableDefinition().getEStructuralFeatures().get(5);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EReference getLoopVariableDefinition_Type() {
+ return (EReference) getLoopVariableDefinition().getEStructuralFeatures().get(6);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EAttribute getLoopVariableDefinition_IsFirst() {
+ return (EAttribute) getLoopVariableDefinition().getEStructuralFeatures().get(7);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EReference getLoopVariableDefinition_AssignmentBefore() {
+ return (EReference) getLoopVariableDefinition().getEStructuralFeatures().get(8);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EReference getLoopVariableDefinition_AssignmentAfter() {
+ return (EReference) getLoopVariableDefinition().getEStructuralFeatures().get(9);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EAttribute getLoopVariableDefinition_IsAny() {
+ return (EAttribute) getLoopVariableDefinition().getEStructuralFeatures().get(10);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getLoopVariableDefinition__ActualName() {
+ return getLoopVariableDefinition().getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getLoopVariableDefinition__NewAssignments() {
+ return getLoopVariableDefinition().getEOperations().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getLoopVariableDefinition__LoopVariableDefinitionAssignmentAfterDerivation__DiagnosticChain_Map() {
+ return getLoopVariableDefinition().getEOperations().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getLoopVariableDefinition__LoopVariableDefinitionAssignmentsBefore__DiagnosticChain_Map() {
+ return getLoopVariableDefinition().getEOperations().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getLoopVariableDefinition__LoopVariableDefinitionRangeExpressions__DiagnosticChain_Map() {
+ return getLoopVariableDefinition().getEOperations().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getLoopVariableDefinition__LoopVariableDefinitionTypeName__DiagnosticChain_Map() {
+ return getLoopVariableDefinition().getEOperations().get(5);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getLoopVariableDefinition__LoopVariableDefinitionTypeDerivation__DiagnosticChain_Map() {
+ return getLoopVariableDefinition().getEOperations().get(6);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getLoopVariableDefinition__LoopVariableDefinitionDeclaredType__DiagnosticChain_Map() {
+ return getLoopVariableDefinition().getEOperations().get(7);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getLoopVariableDefinition__LoopVariableDefinitionIsCollectionConversionDerivation__DiagnosticChain_Map() {
+ return getLoopVariableDefinition().getEOperations().get(8);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getLoopVariableDefinition__LoopVariableDefinitionVariable__DiagnosticChain_Map() {
+ return getLoopVariableDefinition().getEOperations().get(9);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EClass getIfStatement() {
+ if (ifStatementEClass == null) {
+ ifStatementEClass = (EClass) EPackage.Registry.INSTANCE.getEPackage(AlfPackage.eNS_URI).getEClassifiers().get(88);
+ }
+ return ifStatementEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EReference getIfStatement_NonFinalClauses() {
+ return (EReference) getIfStatement().getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EReference getIfStatement_FinalClause() {
+ return (EReference) getIfStatement().getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EAttribute getIfStatement_IsAssured() {
+ return (EAttribute) getIfStatement().getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EAttribute getIfStatement_IsDeterminate() {
+ return (EAttribute) getIfStatement().getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getIfStatement__AssignmentsAfter() {
+ return getIfStatement().getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getIfStatement__IfStatementAssignmentsBefore__DiagnosticChain_Map() {
+ return getIfStatement().getEOperations().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getIfStatement__IfStatementAssignmentsAfter__DiagnosticChain_Map() {
+ return getIfStatement().getEOperations().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getIfStatement__IfStatementEnclosedStatements__DiagnosticChain_Map() {
+ return getIfStatement().getEOperations().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getIfStatement__IfStatementIsAssuredDerivation__DiagnosticChain_Map() {
+ return getIfStatement().getEOperations().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getIfStatement__IfStatementIsDeterminateDerivation__DiagnosticChain_Map() {
+ return getIfStatement().getEOperations().get(5);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getIfStatement__AnnotationAllowed__Annotation() {
+ return getIfStatement().getEOperations().get(6);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EClass getSwitchStatement() {
+ if (switchStatementEClass == null) {
+ switchStatementEClass = (EClass) EPackage.Registry.INSTANCE.getEPackage(AlfPackage.eNS_URI).getEClassifiers().get(89);
+ }
+ return switchStatementEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EReference getSwitchStatement_NonDefaultClause() {
+ return (EReference) getSwitchStatement().getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EReference getSwitchStatement_Expression() {
+ return (EReference) getSwitchStatement().getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EReference getSwitchStatement_DefaultClause() {
+ return (EReference) getSwitchStatement().getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EAttribute getSwitchStatement_IsAssured() {
+ return (EAttribute) getSwitchStatement().getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EAttribute getSwitchStatement_IsDeterminate() {
+ return (EAttribute) getSwitchStatement().getEStructuralFeatures().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getSwitchStatement__AssignmentsBefore__SyntaxElement() {
+ return getSwitchStatement().getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getSwitchStatement__AssignmentsAfter() {
+ return getSwitchStatement().getEOperations().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getSwitchStatement__SwitchStatementAssignmentsBefore__DiagnosticChain_Map() {
+ return getSwitchStatement().getEOperations().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getSwitchStatement__SwitchStatementCaseAssignments__DiagnosticChain_Map() {
+ return getSwitchStatement().getEOperations().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getSwitchStatement__SwitchStatementAssignmentsAfter__DiagnosticChain_Map() {
+ return getSwitchStatement().getEOperations().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getSwitchStatement__SwitchStatementAssignments__DiagnosticChain_Map() {
+ return getSwitchStatement().getEOperations().get(5);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getSwitchStatement__SwitchStatementExpression__DiagnosticChain_Map() {
+ return getSwitchStatement().getEOperations().get(6);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getSwitchStatement__SwitchStatementEnclosedStatements__DiagnosticChain_Map() {
+ return getSwitchStatement().getEOperations().get(7);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getSwitchStatement__SwitchStatementIsDeterminateDerivation__DiagnosticChain_Map() {
+ return getSwitchStatement().getEOperations().get(8);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getSwitchStatement__SwitchStatementIsAssuredDerivation__DiagnosticChain_Map() {
+ return getSwitchStatement().getEOperations().get(9);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getSwitchStatement__AnnotationAllowed__Annotation() {
+ return getSwitchStatement().getEOperations().get(10);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EClass getSwitchClause() {
+ if (switchClauseEClass == null) {
+ switchClauseEClass = (EClass) EPackage.Registry.INSTANCE.getEPackage(AlfPackage.eNS_URI).getEClassifiers().get(90);
+ }
+ return switchClauseEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EReference getSwitchClause_Case() {
+ return (EReference) getSwitchClause().getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EReference getSwitchClause_Block() {
+ return (EReference) getSwitchClause().getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getSwitchClause__AssignmentsBefore__SyntaxElement() {
+ return getSwitchClause().getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getSwitchClause__SwitchClauseAssignmentsBefore__DiagnosticChain_Map() {
+ return getSwitchClause().getEOperations().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getSwitchClause__SwitchClauseCaseLocalNames__DiagnosticChain_Map() {
+ return getSwitchClause().getEOperations().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getSwitchClause__SwitchClauseCases__DiagnosticChain_Map() {
+ return getSwitchClause().getEOperations().get(5);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getSwitchClause__AssignmentsBefore() {
+ return getSwitchClause().getEOperations().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getSwitchClause__AssignmentsAfter() {
+ return getSwitchClause().getEOperations().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EClass getWhileStatement() {
+ if (whileStatementEClass == null) {
+ whileStatementEClass = (EClass) EPackage.Registry.INSTANCE.getEPackage(AlfPackage.eNS_URI).getEClassifiers().get(91);
+ }
+ return whileStatementEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EReference getWhileStatement_Body() {
+ return (EReference) getWhileStatement().getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EReference getWhileStatement_Condition() {
+ return (EReference) getWhileStatement().getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getWhileStatement__EnclosingLoopStatement() {
+ return getWhileStatement().getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getWhileStatement__AssignmentsBefore__SyntaxElement() {
+ return getWhileStatement().getEOperations().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getWhileStatement__AssignmentsAfter() {
+ return getWhileStatement().getEOperations().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getWhileStatement__WhileStatementAssignmentsBefore__DiagnosticChain_Map() {
+ return getWhileStatement().getEOperations().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getWhileStatement__WhileStatementAssignmentsAfter__DiagnosticChain_Map() {
+ return getWhileStatement().getEOperations().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getWhileStatement__WhileStatementCondition__DiagnosticChain_Map() {
+ return getWhileStatement().getEOperations().get(5);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getWhileStatement__WhileStatementEnclosedStatements__DiagnosticChain_Map() {
+ return getWhileStatement().getEOperations().get(6);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EClass getReturnStatement() {
+ if (returnStatementEClass == null) {
+ returnStatementEClass = (EClass) EPackage.Registry.INSTANCE.getEPackage(AlfPackage.eNS_URI).getEClassifiers().get(92);
+ }
+ return returnStatementEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EReference getReturnStatement_Expression() {
+ return (EReference) getReturnStatement().getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EReference getReturnStatement_Behavior() {
+ return (EReference) getReturnStatement().getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getReturnStatement__AssignmentsAfter() {
+ return getReturnStatement().getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getReturnStatement__ReturnStatementContext__DiagnosticChain_Map() {
+ return getReturnStatement().getEOperations().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getReturnStatement__ReturnStatementAssignmentsBefore__DiagnosticChain_Map() {
+ return getReturnStatement().getEOperations().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getReturnStatement__ReturnStatementAssignmentsAfter__DiagnosticChain_Map() {
+ return getReturnStatement().getEOperations().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EClass getInLineStatement() {
+ if (inLineStatementEClass == null) {
+ inLineStatementEClass = (EClass) EPackage.Registry.INSTANCE.getEPackage(AlfPackage.eNS_URI).getEClassifiers().get(93);
+ }
+ return inLineStatementEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EAttribute getInLineStatement_Language() {
+ return (EAttribute) getInLineStatement().getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EAttribute getInLineStatement_Code() {
+ return (EAttribute) getInLineStatement().getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getInLineStatement__InLineStatementAssignmentsAfter__DiagnosticChain_Map() {
+ return getInLineStatement().getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EClass getAcceptStatement() {
+ if (acceptStatementEClass == null) {
+ acceptStatementEClass = (EClass) EPackage.Registry.INSTANCE.getEPackage(AlfPackage.eNS_URI).getEClassifiers().get(94);
+ }
+ return acceptStatementEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EReference getAcceptStatement_AcceptBlock() {
+ return (EReference) getAcceptStatement().getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EReference getAcceptStatement_Behavior() {
+ return (EReference) getAcceptStatement().getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EAttribute getAcceptStatement_IsSimple() {
+ return (EAttribute) getAcceptStatement().getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getAcceptStatement__AssignmentsAfter() {
+ return getAcceptStatement().getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getAcceptStatement__EffectiveBehavior() {
+ return getAcceptStatement().getEOperations().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getAcceptStatement__EffectiveBehavior_() {
+ return getAcceptStatement().getEOperations().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getAcceptStatement__AcceptStatementContext__DiagnosticChain_Map() {
+ return getAcceptStatement().getEOperations().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getAcceptStatement__AcceptStatementSignals__DiagnosticChain_Map() {
+ return getAcceptStatement().getEOperations().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getAcceptStatement__ReceivedSignals__ElementReference() {
+ return getAcceptStatement().getEOperations().get(5);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getAcceptStatement__ReceivedSignals___ElementReference() {
+ return getAcceptStatement().getEOperations().get(6);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getAcceptStatement__AcceptStatementNames__DiagnosticChain_Map() {
+ return getAcceptStatement().getEOperations().get(7);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getAcceptStatement__AcceptStatementSimpleAcceptLocalName__DiagnosticChain_Map() {
+ return getAcceptStatement().getEOperations().get(8);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getAcceptStatement__AcceptStatementCompoundAcceptLocalName__DiagnosticChain_Map() {
+ return getAcceptStatement().getEOperations().get(9);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getAcceptStatement__AcceptStatementAssignmentsBefore__DiagnosticChain_Map() {
+ return getAcceptStatement().getEOperations().get(10);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getAcceptStatement__AcceptStatementAssignmentsAfter__DiagnosticChain_Map() {
+ return getAcceptStatement().getEOperations().get(11);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getAcceptStatement__AcceptStatementNewAssignments__DiagnosticChain_Map() {
+ return getAcceptStatement().getEOperations().get(12);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getAcceptStatement__AcceptStatementIsSimpleDerivation__DiagnosticChain_Map() {
+ return getAcceptStatement().getEOperations().get(13);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getAcceptStatement__AcceptStatementEnclosedStatements__DiagnosticChain_Map() {
+ return getAcceptStatement().getEOperations().get(14);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EClass getAcceptBlock() {
+ if (acceptBlockEClass == null) {
+ acceptBlockEClass = (EClass) EPackage.Registry.INSTANCE.getEPackage(AlfPackage.eNS_URI).getEClassifiers().get(95);
+ }
+ return acceptBlockEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EAttribute getAcceptBlock_Name() {
+ return (EAttribute) getAcceptBlock().getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EReference getAcceptBlock_Block() {
+ return (EReference) getAcceptBlock().getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EReference getAcceptBlock_SignalNames() {
+ return (EReference) getAcceptBlock().getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EReference getAcceptBlock_Signal() {
+ return (EReference) getAcceptBlock().getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getAcceptBlock__ActualName() {
+ return getAcceptBlock().getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getAcceptBlock__AssignmentsBefore__SyntaxElement() {
+ return getAcceptBlock().getEOperations().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getAcceptBlock__AcceptBlockSignalDerivation__DiagnosticChain_Map() {
+ return getAcceptBlock().getEOperations().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getAcceptBlock__AcceptBlockSignalNames__DiagnosticChain_Map() {
+ return getAcceptBlock().getEOperations().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EClass getEmptyStatement() {
+ if (emptyStatementEClass == null) {
+ emptyStatementEClass = (EClass) EPackage.Registry.INSTANCE.getEPackage(AlfPackage.eNS_URI).getEClassifiers().get(96);
+ }
+ return emptyStatementEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getEmptyStatement__EmptyStatementAssignmentsAfter__DiagnosticChain_Map() {
+ return getEmptyStatement().getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EClass getModelNamespace() {
+ if (modelNamespaceEClass == null) {
+ modelNamespaceEClass = (EClass) EPackage.Registry.INSTANCE.getEPackage(AlfPackage.eNS_URI).getEClassifiers().get(97);
+ }
+ return modelNamespaceEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getModelNamespace__OuterScope() {
+ return getModelNamespace().getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getModelNamespace__ResolveInRoot__String() {
+ return getModelNamespace().getEOperations().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getModelNamespace__ResolvePathName__String() {
+ return getModelNamespace().getEOperations().get(5);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getModelNamespace__ResolveAssociationEnd__ElementReference_String() {
+ return getModelNamespace().getEOperations().get(6);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getModelNamespace__AppliedProfiles() {
+ return getModelNamespace().getEOperations().get(7);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getModelNamespace__StubFor__UnitDefinition() {
+ return getModelNamespace().getEOperations().get(8);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getModelNamespace__ModelNamespace_stubFor__UnitDefinition() {
+ return getModelNamespace().getEOperations().get(9);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getModelNamespace__ModelNamespace_appliedProfiles() {
+ return getModelNamespace().getEOperations().get(10);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getModelNamespace__ModelScope() {
+ return getModelNamespace().getEOperations().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getModelNamespace__QualifiedName() {
+ return getModelNamespace().getEOperations().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getModelNamespace__ResolveInScope__String() {
+ return getModelNamespace().getEOperations().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EClass getNamespaceDefinition() {
+ if (namespaceDefinitionEClass == null) {
+ namespaceDefinitionEClass = (EClass) EPackage.Registry.INSTANCE.getEPackage(AlfPackage.eNS_URI).getEClassifiers().get(98);
+ }
+ return namespaceDefinitionEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EReference getNamespaceDefinition_OwnedMember() {
+ return (EReference) getNamespaceDefinition().getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EReference getNamespaceDefinition_Unit() {
+ return (EReference) getNamespaceDefinition().getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EReference getNamespaceDefinition_Member() {
+ return (EReference) getNamespaceDefinition().getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getNamespaceDefinition__CurrentScope() {
+ return getNamespaceDefinition().getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getNamespaceDefinition__OuterScope() {
+ return getNamespaceDefinition().getEOperations().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getNamespaceDefinition__NamespaceDefinition_outerScope() {
+ return getNamespaceDefinition().getEOperations().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getNamespaceDefinition__ModelNamespace() {
+ return getNamespaceDefinition().getEOperations().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getNamespaceDefinition__ModelScope() {
+ return getNamespaceDefinition().getEOperations().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getNamespaceDefinition__ResolveInScope__String() {
+ return getNamespaceDefinition().getEOperations().get(5);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getNamespaceDefinition__AppliedProfiles() {
+ return getNamespaceDefinition().getEOperations().get(6);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getNamespaceDefinition__NamespaceDefinition_appliedProfiles() {
+ return getNamespaceDefinition().getEOperations().get(7);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getNamespaceDefinition__Parameters() {
+ return getNamespaceDefinition().getEOperations().get(8);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getNamespaceDefinition__ReturnParameter() {
+ return getNamespaceDefinition().getEOperations().get(9);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getNamespaceDefinition__NamespaceDefinition_returnParameter() {
+ return getNamespaceDefinition().getEOperations().get(10);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getNamespaceDefinition__SubunitOwnedMembers() {
+ return getNamespaceDefinition().getEOperations().get(11);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getNamespaceDefinition__AnnotationAllowed__StereotypeAnnotation() {
+ return getNamespaceDefinition().getEOperations().get(12);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getNamespaceDefinition__NamespaceDefinition_annotationAllowed__StereotypeAnnotation() {
+ return getNamespaceDefinition().getEOperations().get(13);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getNamespaceDefinition__TemplateParameters() {
+ return getNamespaceDefinition().getEOperations().get(14);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getNamespaceDefinition__MembersCached() {
+ return getNamespaceDefinition().getEOperations().get(15);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getNamespaceDefinition__Members() {
+ return getNamespaceDefinition().getEOperations().get(16);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getNamespaceDefinition__NamespaceDefinition_members() {
+ return getNamespaceDefinition().getEOperations().get(17);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getNamespaceDefinition__ImportedMembers() {
+ return getNamespaceDefinition().getEOperations().get(18);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getNamespaceDefinition__ImportMembers__EList() {
+ return getNamespaceDefinition().getEOperations().get(19);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getNamespaceDefinition__ExcludeCollisions__EList() {
+ return getNamespaceDefinition().getEOperations().get(20);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getNamespaceDefinition__RemoveDuplicates__EList() {
+ return getNamespaceDefinition().getEOperations().get(21);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getNamespaceDefinition__IncludeDistinguishableCaching__EList() {
+ return getNamespaceDefinition().getEOperations().get(22);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getNamespaceDefinition__IncludeDistinguishable__EList() {
+ return getNamespaceDefinition().getEOperations().get(23);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getNamespaceDefinition__Stub() {
+ return getNamespaceDefinition().getEOperations().get(24);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getNamespaceDefinition__StubFor__UnitDefinition() {
+ return getNamespaceDefinition().getEOperations().get(25);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getNamespaceDefinition__NamespaceDefinitionMemberDerivation__DiagnosticChain_Map() {
+ return getNamespaceDefinition().getEOperations().get(26);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getNamespaceDefinition__NamespaceDefinitionMemberDistinguishability__DiagnosticChain_Map() {
+ return getNamespaceDefinition().getEOperations().get(27);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EClass getMemberDefinition() {
+ if (memberDefinitionEClass == null) {
+ memberDefinitionEClass = (EClass) EPackage.Registry.INSTANCE.getEPackage(AlfPackage.eNS_URI).getEClassifiers().get(99);
+ }
+ return memberDefinitionEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EAttribute getMemberDefinition_Name() {
+ return (EAttribute) getMemberDefinition().getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EAttribute getMemberDefinition_IsStub() {
+ return (EAttribute) getMemberDefinition().getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EAttribute getMemberDefinition_IsFeature() {
+ return (EAttribute) getMemberDefinition().getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EAttribute getMemberDefinition_IsPrimitive() {
+ return (EAttribute) getMemberDefinition().getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EAttribute getMemberDefinition_IsExternal() {
+ return (EAttribute) getMemberDefinition().getEStructuralFeatures().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EReference getMemberDefinition_Subunit() {
+ return (EReference) getMemberDefinition().getEStructuralFeatures().get(5);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getMemberDefinition__Annotation() {
+ return getMemberDefinition().getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getMemberDefinition__ActualName() {
+ return getMemberDefinition().getEOperations().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getMemberDefinition__OuterScope() {
+ return getMemberDefinition().getEOperations().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getMemberDefinition__MemberDefinition_outerScope() {
+ return getMemberDefinition().getEOperations().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getMemberDefinition__QualifiedName() {
+ return getMemberDefinition().getEOperations().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getMemberDefinition__NamespaceReference() {
+ return getMemberDefinition().getEOperations().get(5);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getMemberDefinition__AddToModel() {
+ return getMemberDefinition().getEOperations().get(6);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getMemberDefinition__MemberAnnotations__DiagnosticChain_Map() {
+ return getMemberDefinition().getEOperations().get(15);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getMemberDefinition__MemberIsPrimitiveDerivation__DiagnosticChain_Map() {
+ return getMemberDefinition().getEOperations().get(16);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getMemberDefinition__MemberIsExternalDerivation__DiagnosticChain_Map() {
+ return getMemberDefinition().getEOperations().get(17);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getMemberDefinition__MemberExternal__DiagnosticChain_Map() {
+ return getMemberDefinition().getEOperations().get(18);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getMemberDefinition__MemberStub__DiagnosticChain_Map() {
+ return getMemberDefinition().getEOperations().get(19);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getMemberDefinition__MemberSubunitDerivation__DiagnosticChain_Map() {
+ return getMemberDefinition().getEOperations().get(20);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getMemberDefinition__MemberStubStereotypes__DiagnosticChain_Map() {
+ return getMemberDefinition().getEOperations().get(21);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getMemberDefinition__MemberPrimitive__DiagnosticChain_Map() {
+ return getMemberDefinition().getEOperations().get(22);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getMemberDefinition__ContainingMember() {
+ return getMemberDefinition().getEOperations().get(23);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getMemberDefinition__AnnotationAllowed__StereotypeAnnotation() {
+ return getMemberDefinition().getEOperations().get(7);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getMemberDefinition__MatchForStub__UnitDefinition() {
+ return getMemberDefinition().getEOperations().get(8);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getMemberDefinition__IsDistinguishableFrom__MemberDefinition() {
+ return getMemberDefinition().getEOperations().get(9);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getMemberDefinition__MemberDefinition_isDistinguishableFrom__MemberDefinition() {
+ return getMemberDefinition().getEOperations().get(10);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getMemberDefinition__IsSameKindAs__ElementReference() {
+ return getMemberDefinition().getEOperations().get(11);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getMemberDefinition__TemplateParameters() {
+ return getMemberDefinition().getEOperations().get(12);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getMemberDefinition__IsTemplate() {
+ return getMemberDefinition().getEOperations().get(13);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getMemberDefinition__IsFeature() {
+ return getMemberDefinition().getEOperations().get(14);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EClass getStereotypeAnnotation() {
+ if (stereotypeAnnotationEClass == null) {
+ stereotypeAnnotationEClass = (EClass) EPackage.Registry.INSTANCE.getEPackage(AlfPackage.eNS_URI).getEClassifiers().get(100);
+ }
+ return stereotypeAnnotationEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EReference getStereotypeAnnotation_TaggedValues() {
+ return (EReference) getStereotypeAnnotation().getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EReference getStereotypeAnnotation_Names() {
+ return (EReference) getStereotypeAnnotation().getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EReference getStereotypeAnnotation_StereotypeName() {
+ return (EReference) getStereotypeAnnotation().getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EReference getStereotypeAnnotation_Stereotype() {
+ return (EReference) getStereotypeAnnotation().getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getStereotypeAnnotation__StereotypeAnnotationStereotypeDerivation__DiagnosticChain_Map() {
+ return getStereotypeAnnotation().getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getStereotypeAnnotation__StereotypeAnnotationStereotypeName__DiagnosticChain_Map() {
+ return getStereotypeAnnotation().getEOperations().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getStereotypeAnnotation__StereotypeAnnotationApply__DiagnosticChain_Map() {
+ return getStereotypeAnnotation().getEOperations().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getStereotypeAnnotation__StereotypeAnnotationPrimitive__DiagnosticChain_Map() {
+ return getStereotypeAnnotation().getEOperations().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getStereotypeAnnotation__StereotypeAnnotationExternal__DiagnosticChain_Map() {
+ return getStereotypeAnnotation().getEOperations().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getStereotypeAnnotation__StereotypeAnnotationTaggedValues__DiagnosticChain_Map() {
+ return getStereotypeAnnotation().getEOperations().get(5);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getStereotypeAnnotation__StereotypeAnnotationNames__DiagnosticChain_Map() {
+ return getStereotypeAnnotation().getEOperations().get(6);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getStereotypeAnnotation__AppliedProfiles() {
+ return getStereotypeAnnotation().getEOperations().get(7);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EClass getTaggedValueList() {
+ if (taggedValueListEClass == null) {
+ taggedValueListEClass = (EClass) EPackage.Registry.INSTANCE.getEPackage(AlfPackage.eNS_URI).getEClassifiers().get(101);
+ }
+ return taggedValueListEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EReference getTaggedValueList_TaggedValue() {
+ return (EReference) getTaggedValueList().getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EClass getTaggedValue() {
+ if (taggedValueEClass == null) {
+ taggedValueEClass = (EClass) EPackage.Registry.INSTANCE.getEPackage(AlfPackage.eNS_URI).getEClassifiers().get(102);
+ }
+ return taggedValueEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EAttribute getTaggedValue_Name() {
+ return (EAttribute) getTaggedValue().getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EAttribute getTaggedValue_Value() {
+ return (EAttribute) getTaggedValue().getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EAttribute getTaggedValue_Operator() {
+ return (EAttribute) getTaggedValue().getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EClass getUnitDefinition() {
+ if (unitDefinitionEClass == null) {
+ unitDefinitionEClass = (EClass) EPackage.Registry.INSTANCE.getEPackage(AlfPackage.eNS_URI).getEClassifiers().get(103);
+ }
+ return unitDefinitionEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EReference getUnitDefinition_NamespaceName() {
+ return (EReference) getUnitDefinition().getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EReference getUnitDefinition_Definition() {
+ return (EReference) getUnitDefinition().getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EReference getUnitDefinition_Import() {
+ return (EReference) getUnitDefinition().getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EReference getUnitDefinition_Namespace() {
+ return (EReference) getUnitDefinition().getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EAttribute getUnitDefinition_IsModelLibrary() {
+ return (EAttribute) getUnitDefinition().getEStructuralFeatures().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EReference getUnitDefinition_AppliedProfile() {
+ return (EReference) getUnitDefinition().getEStructuralFeatures().get(5);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EReference getUnitDefinition_Annotation() {
+ return (EReference) getUnitDefinition().getEStructuralFeatures().get(6);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getUnitDefinition__Imports() {
+ return getUnitDefinition().getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getUnitDefinition__ImplicitImports() {
+ return getUnitDefinition().getEOperations().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getUnitDefinition__ImplicitImportFor__String() {
+ return getUnitDefinition().getEOperations().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getUnitDefinition__UnitDefinitionNamespaceDerivation__DiagnosticChain_Map() {
+ return getUnitDefinition().getEOperations().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getUnitDefinition__UnitDefinitionNamespace__DiagnosticChain_Map() {
+ return getUnitDefinition().getEOperations().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getUnitDefinition__UnitDefinitionIsModelLibraryDerivation__DiagnosticChain_Map() {
+ return getUnitDefinition().getEOperations().get(5);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getUnitDefinition__UnitDefinitionImplicitImports__DiagnosticChain_Map() {
+ return getUnitDefinition().getEOperations().get(6);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getUnitDefinition__UnitDefinitionAppliedProfileDerivation__DiagnosticChain_Map() {
+ return getUnitDefinition().getEOperations().get(7);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EClass getImportReference() {
+ if (importReferenceEClass == null) {
+ importReferenceEClass = (EClass) EPackage.Registry.INSTANCE.getEPackage(AlfPackage.eNS_URI).getEClassifiers().get(104);
+ }
+ return importReferenceEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EAttribute getImportReference_Visibility() {
+ return (EAttribute) getImportReference().getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EReference getImportReference_ReferentName() {
+ return (EReference) getImportReference().getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EReference getImportReference_Referent() {
+ return (EReference) getImportReference().getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EReference getImportReference_Unit() {
+ return (EReference) getImportReference().getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getImportReference__ImportedMembers() {
+ return getImportReference().getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getImportReference__ImportReferenceReferentDerivation__DiagnosticChain_Map() {
+ return getImportReference().getEOperations().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getImportReference__ImportReferenceReferent__DiagnosticChain_Map() {
+ return getImportReference().getEOperations().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EClass getImportedMember() {
+ if (importedMemberEClass == null) {
+ importedMemberEClass = (EClass) EPackage.Registry.INSTANCE.getEPackage(AlfPackage.eNS_URI).getEClassifiers().get(105);
+ }
+ return importedMemberEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EReference getImportedMember_Referent() {
+ return (EReference) getImportedMember().getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getImportedMember__ActualName() {
+ return getImportedMember().getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getImportedMember__ToReference() {
+ return getImportedMember().getEOperations().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getImportedMember__AnnotationAllowed__StereotypeAnnotation() {
+ return getImportedMember().getEOperations().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getImportedMember__IsSameKindAs__ElementReference() {
+ return getImportedMember().getEOperations().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getImportedMember__IsFeature() {
+ return getImportedMember().getEOperations().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getImportedMember__ImportedMemberNotStub__DiagnosticChain_Map() {
+ return getImportedMember().getEOperations().get(5);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getImportedMember__ImportedMemberIsFeatureDerivation__DiagnosticChain_Map() {
+ return getImportedMember().getEOperations().get(6);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EClass getEnumerationLiteralName() {
+ if (enumerationLiteralNameEClass == null) {
+ enumerationLiteralNameEClass = (EClass) EPackage.Registry.INSTANCE.getEPackage(AlfPackage.eNS_URI).getEClassifiers().get(106);
+ }
+ return enumerationLiteralNameEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getEnumerationLiteralName__AnnotationAllowed__StereotypeAnnotation() {
+ return getEnumerationLiteralName().getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EClass getOperationDefinition() {
+ if (operationDefinitionEClass == null) {
+ operationDefinitionEClass = (EClass) EPackage.Registry.INSTANCE.getEPackage(AlfPackage.eNS_URI).getEClassifiers().get(107);
+ }
+ return operationDefinitionEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EReference getOperationDefinition_Redefinition() {
+ return (EReference) getOperationDefinition().getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EAttribute getOperationDefinition_IsAbstract() {
+ return (EAttribute) getOperationDefinition().getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EReference getOperationDefinition_Body() {
+ return (EReference) getOperationDefinition().getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EReference getOperationDefinition_RedefinedOperation() {
+ return (EReference) getOperationDefinition().getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EAttribute getOperationDefinition_IsConstructor() {
+ return (EAttribute) getOperationDefinition().getEStructuralFeatures().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EAttribute getOperationDefinition_IsDestructor() {
+ return (EAttribute) getOperationDefinition().getEStructuralFeatures().get(5);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getOperationDefinition__AssignmentsBefore__SyntaxElement() {
+ return getOperationDefinition().getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getOperationDefinition__AnnotationAllowed__StereotypeAnnotation() {
+ return getOperationDefinition().getEOperations().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getOperationDefinition__MatchForStub__UnitDefinition() {
+ return getOperationDefinition().getEOperations().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getOperationDefinition__IsSameKindAs__ElementReference() {
+ return getOperationDefinition().getEOperations().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getOperationDefinition__ParametersMatch__ElementReference() {
+ return getOperationDefinition().getEOperations().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getOperationDefinition__ParametersMatchNameType__ElementReference() {
+ return getOperationDefinition().getEOperations().get(5);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getOperationDefinition__ReturnParameter() {
+ return getOperationDefinition().getEOperations().get(6);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getOperationDefinition__SpecializationReferents() {
+ return getOperationDefinition().getEOperations().get(7);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getOperationDefinition__OperationDefinitionNamespace__DiagnosticChain_Map() {
+ return getOperationDefinition().getEOperations().get(8);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getOperationDefinition__OperationDefinitionRedefinedOperationDerivation__DiagnosticChain_Map() {
+ return getOperationDefinition().getEOperations().get(9);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getOperationDefinition__OperationDefinitionRedefinition__DiagnosticChain_Map() {
+ return getOperationDefinition().getEOperations().get(10);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getOperationDefinition__OperationDefinitionRedefinedOperations__DiagnosticChain_Map() {
+ return getOperationDefinition().getEOperations().get(11);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getOperationDefinition__OperationDefinitionIsFeatureDerivation__DiagnosticChain_Map() {
+ return getOperationDefinition().getEOperations().get(12);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getOperationDefinition__OperationDefinitionIsConstructorDerivation__DiagnosticChain_Map() {
+ return getOperationDefinition().getEOperations().get(13);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getOperationDefinition__OperationDefinitionIsDestructorDerivation__DiagnosticChain_Map() {
+ return getOperationDefinition().getEOperations().get(14);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getOperationDefinition__OperationDefinitionConstructorDestructor__DiagnosticChain_Map() {
+ return getOperationDefinition().getEOperations().get(15);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getOperationDefinition__OperationDefinitionConstructor__DiagnosticChain_Map() {
+ return getOperationDefinition().getEOperations().get(16);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getOperationDefinition__OperationDefinitionDestructor__DiagnosticChain_Map() {
+ return getOperationDefinition().getEOperations().get(17);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EClass getAssociationDefinition() {
+ if (associationDefinitionEClass == null) {
+ associationDefinitionEClass = (EClass) EPackage.Registry.INSTANCE.getEPackage(AlfPackage.eNS_URI).getEClassifiers().get(108);
+ }
+ return associationDefinitionEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getAssociationDefinition__MatchForStub__UnitDefinition() {
+ return getAssociationDefinition().getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getAssociationDefinition__AnnotationAllowed__StereotypeAnnotation() {
+ return getAssociationDefinition().getEOperations().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getAssociationDefinition__IsSameKindAs__ElementReference() {
+ return getAssociationDefinition().getEOperations().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getAssociationDefinition__AssociationDefinitionSpecializationReferent__DiagnosticChain_Map() {
+ return getAssociationDefinition().getEOperations().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EClass getClassifierDefinition() {
+ if (classifierDefinitionEClass == null) {
+ classifierDefinitionEClass = (EClass) EPackage.Registry.INSTANCE.getEPackage(AlfPackage.eNS_URI).getEClassifiers().get(109);
+ }
+ return classifierDefinitionEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EAttribute getClassifierDefinition_IsAbstract() {
+ return (EAttribute) getClassifierDefinition().getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EReference getClassifierDefinition_Specialization() {
+ return (EReference) getClassifierDefinition().getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EReference getClassifierDefinition_SpecializationReferent() {
+ return (EReference) getClassifierDefinition().getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getClassifierDefinition__ClassifierDefinition_annotationAllowed__StereotypeAnnotation() {
+ return getClassifierDefinition().getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getClassifierDefinition__MatchForStub__UnitDefinition() {
+ return getClassifierDefinition().getEOperations().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getClassifierDefinition__ClassifierDefinition_matchForStub__UnitDefinition() {
+ return getClassifierDefinition().getEOperations().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getClassifierDefinition__Members() {
+ return getClassifierDefinition().getEOperations().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getClassifierDefinition__InheritedMembers() {
+ return getClassifierDefinition().getEOperations().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getClassifierDefinition__Inherit__EList() {
+ return getClassifierDefinition().getEOperations().get(5);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getClassifierDefinition__ClassifierDefinitionSpecialization__DiagnosticChain_Map() {
+ return getClassifierDefinition().getEOperations().get(6);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getClassifierDefinition__ClassifierDefinitionSpecializationReferentDerivation__DiagnosticChain_Map() {
+ return getClassifierDefinition().getEOperations().get(7);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getClassifierDefinition__ClassifierDefinitionInheritedMembers__DiagnosticChain_Map() {
+ return getClassifierDefinition().getEOperations().get(8);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EClass getClassDefinition() {
+ if (classDefinitionEClass == null) {
+ classDefinitionEClass = (EClass) EPackage.Registry.INSTANCE.getEPackage(AlfPackage.eNS_URI).getEClassifiers().get(110);
+ }
+ return classDefinitionEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getClassDefinition__AnnotationAllowed__StereotypeAnnotation() {
+ return getClassDefinition().getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getClassDefinition__MatchForStub__UnitDefinition() {
+ return getClassDefinition().getEOperations().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getClassDefinition__IsSameKindAs__ElementReference() {
+ return getClassDefinition().getEOperations().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getClassDefinition__NeedsDefaultConstructor() {
+ return getClassDefinition().getEOperations().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getClassDefinition__NeedsDefaultDestructor() {
+ return getClassDefinition().getEOperations().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getClassDefinition__Inherit__EList() {
+ return getClassDefinition().getEOperations().get(5);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getClassDefinition__InheritCached__EList() {
+ return getClassDefinition().getEOperations().get(6);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getClassDefinition__ClassDefinition_inherit__EList() {
+ return getClassDefinition().getEOperations().get(7);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getClassDefinition__ClassDefinitionSpecializationReferent__DiagnosticChain_Map() {
+ return getClassDefinition().getEOperations().get(8);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getClassDefinition__ClassDefinitionAbstractMember__DiagnosticChain_Map() {
+ return getClassDefinition().getEOperations().get(9);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EClass getTypedElementDefinition() {
+ if (typedElementDefinitionEClass == null) {
+ typedElementDefinitionEClass = (EClass) EPackage.Registry.INSTANCE.getEPackage(AlfPackage.eNS_URI).getEClassifiers().get(111);
+ }
+ return typedElementDefinitionEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EAttribute getTypedElementDefinition_LowerBound() {
+ return (EAttribute) getTypedElementDefinition().getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EAttribute getTypedElementDefinition_UpperBound() {
+ return (EAttribute) getTypedElementDefinition().getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EAttribute getTypedElementDefinition_IsOrdered() {
+ return (EAttribute) getTypedElementDefinition().getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EAttribute getTypedElementDefinition_IsNonunique() {
+ return (EAttribute) getTypedElementDefinition().getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EReference getTypedElementDefinition_TypeName() {
+ return (EReference) getTypedElementDefinition().getEStructuralFeatures().get(5);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EReference getTypedElementDefinition_ActualType() {
+ return (EReference) getTypedElementDefinition().getEStructuralFeatures().get(6);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EAttribute getTypedElementDefinition_IsAny() {
+ return (EAttribute) getTypedElementDefinition().getEStructuralFeatures().get(7);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EAttribute getTypedElementDefinition_IsSequence() {
+ return (EAttribute) getTypedElementDefinition().getEStructuralFeatures().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EAttribute getTypedElementDefinition_IsMultiplicity() {
+ return (EAttribute) getTypedElementDefinition().getEStructuralFeatures().get(8);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getTypedElementDefinition__IsOrdered() {
+ return getTypedElementDefinition().getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getTypedElementDefinition__IsNonunique() {
+ return getTypedElementDefinition().getEOperations().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getTypedElementDefinition__TypedElementDefinitionLowerDerivation__DiagnosticChain_Map() {
+ return getTypedElementDefinition().getEOperations().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getTypedElementDefinition__TypedElementDefinitionUpperDerivation__DiagnosticChain_Map() {
+ return getTypedElementDefinition().getEOperations().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getTypedElementDefinition__TypedElementDefinitionTypeDerivation__DiagnosticChain_Map() {
+ return getTypedElementDefinition().getEOperations().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getTypedElementDefinition__TypedElementDefinitionTypeName__DiagnosticChain_Map() {
+ return getTypedElementDefinition().getEOperations().get(5);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getTypedElementDefinition__Type() {
+ return getTypedElementDefinition().getEOperations().get(6);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getTypedElementDefinition__Lower() {
+ return getTypedElementDefinition().getEOperations().get(7);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getTypedElementDefinition__Upper() {
+ return getTypedElementDefinition().getEOperations().get(8);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EClass getDataTypeDefinition() {
+ if (dataTypeDefinitionEClass == null) {
+ dataTypeDefinitionEClass = (EClass) EPackage.Registry.INSTANCE.getEPackage(AlfPackage.eNS_URI).getEClassifiers().get(112);
+ }
+ return dataTypeDefinitionEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getDataTypeDefinition__MatchForStub__UnitDefinition() {
+ return getDataTypeDefinition().getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getDataTypeDefinition__AnnotationAllowed__StereotypeAnnotation() {
+ return getDataTypeDefinition().getEOperations().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getDataTypeDefinition__IsSameKindAs__ElementReference() {
+ return getDataTypeDefinition().getEOperations().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getDataTypeDefinition__DataTypeDefinitionPrimitive__DiagnosticChain_Map() {
+ return getDataTypeDefinition().getEOperations().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getDataTypeDefinition__DataTypeDefinitionSpecializationReferent__DiagnosticChain_Map() {
+ return getDataTypeDefinition().getEOperations().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EClass getPackageDefinition() {
+ if (packageDefinitionEClass == null) {
+ packageDefinitionEClass = (EClass) EPackage.Registry.INSTANCE.getEPackage(AlfPackage.eNS_URI).getEClassifiers().get(113);
+ }
+ return packageDefinitionEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EReference getPackageDefinition_AppliedProfile() {
+ return (EReference) getPackageDefinition().getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getPackageDefinition__AllowPackageOnly() {
+ return getPackageDefinition().getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getPackageDefinition__AnnotationAllowed__StereotypeAnnotation() {
+ return getPackageDefinition().getEOperations().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getPackageDefinition__MatchForStub__UnitDefinition() {
+ return getPackageDefinition().getEOperations().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getPackageDefinition__IsSameKindAs__ElementReference() {
+ return getPackageDefinition().getEOperations().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getPackageDefinition__PackageDefinitionAppliedProfileDerivation__DiagnosticChain_Map() {
+ return getPackageDefinition().getEOperations().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getPackageDefinition__AppliedProfiles() {
+ return getPackageDefinition().getEOperations().get(5);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EClass getPropertyDefinition() {
+ if (propertyDefinitionEClass == null) {
+ propertyDefinitionEClass = (EClass) EPackage.Registry.INSTANCE.getEPackage(AlfPackage.eNS_URI).getEClassifiers().get(114);
+ }
+ return propertyDefinitionEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EAttribute getPropertyDefinition_IsComposite() {
+ return (EAttribute) getPropertyDefinition().getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EReference getPropertyDefinition_Initializer() {
+ return (EReference) getPropertyDefinition().getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EAttribute getPropertyDefinition_IsCollectionConversion() {
+ return (EAttribute) getPropertyDefinition().getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EAttribute getPropertyDefinition_IsBitStringConversion() {
+ return (EAttribute) getPropertyDefinition().getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EReference getPropertyDefinition_TypePart() {
+ return (EReference) getPropertyDefinition().getEStructuralFeatures().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getPropertyDefinition__AssignmentsBefore__SyntaxElement() {
+ return getPropertyDefinition().getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getPropertyDefinition__AnnotationAllowed__StereotypeAnnotation() {
+ return getPropertyDefinition().getEOperations().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getPropertyDefinition__IsSameKindAs__ElementReference() {
+ return getPropertyDefinition().getEOperations().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getPropertyDefinition__IsFeature() {
+ return getPropertyDefinition().getEOperations().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getPropertyDefinition__PropertyDefinitionInitializer__DiagnosticChain_Map() {
+ return getPropertyDefinition().getEOperations().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getPropertyDefinition__PropertyDefinitionIsCollectionConversionDerivation__DiagnosticChain_Map() {
+ return getPropertyDefinition().getEOperations().get(5);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getPropertyDefinition__PropertyDefinitionIsBitStringConversionDerivation__DiagnosticChain_Map() {
+ return getPropertyDefinition().getEOperations().get(6);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getPropertyDefinition__PropertyDefinitionIsFeatureDerivation__DiagnosticChain_Map() {
+ return getPropertyDefinition().getEOperations().get(7);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EClass getSignalDefinition() {
+ if (signalDefinitionEClass == null) {
+ signalDefinitionEClass = (EClass) EPackage.Registry.INSTANCE.getEPackage(AlfPackage.eNS_URI).getEClassifiers().get(115);
+ }
+ return signalDefinitionEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getSignalDefinition__MatchForStub__UnitDefinition() {
+ return getSignalDefinition().getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getSignalDefinition__AnnotationAllowed__StereotypeAnnotation() {
+ return getSignalDefinition().getEOperations().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getSignalDefinition__IsSameKindAs__ElementReference() {
+ return getSignalDefinition().getEOperations().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getSignalDefinition__SignalDefinitionSpecializationReferent__DiagnosticChain_Map() {
+ return getSignalDefinition().getEOperations().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EClass getActiveClassDefinition() {
+ if (activeClassDefinitionEClass == null) {
+ activeClassDefinitionEClass = (EClass) EPackage.Registry.INSTANCE.getEPackage(AlfPackage.eNS_URI).getEClassifiers().get(116);
+ }
+ return activeClassDefinitionEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EReference getActiveClassDefinition_ClassifierBehavior() {
+ return (EReference) getActiveClassDefinition().getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getActiveClassDefinition__MatchForStub__UnitDefinition() {
+ return getActiveClassDefinition().getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getActiveClassDefinition__ActiveClassDefinitionClassifierBehavior__DiagnosticChain_Map() {
+ return getActiveClassDefinition().getEOperations().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EClass getActivityDefinition() {
+ if (activityDefinitionEClass == null) {
+ activityDefinitionEClass = (EClass) EPackage.Registry.INSTANCE.getEPackage(AlfPackage.eNS_URI).getEClassifiers().get(117);
+ }
+ return activityDefinitionEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EReference getActivityDefinition_Body() {
+ return (EReference) getActivityDefinition().getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getActivityDefinition__AssignmentsBefore__SyntaxElement() {
+ return getActivityDefinition().getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getActivityDefinition__OuterScope() {
+ return getActivityDefinition().getEOperations().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getActivityDefinition__AnnotationAllowed__StereotypeAnnotation() {
+ return getActivityDefinition().getEOperations().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getActivityDefinition__MatchForStub__UnitDefinition() {
+ return getActivityDefinition().getEOperations().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getActivityDefinition__IsSameKindAs__ElementReference() {
+ return getActivityDefinition().getEOperations().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getActivityDefinition__ActivityDefinitionSpecialization__DiagnosticChain_Map() {
+ return getActivityDefinition().getEOperations().get(5);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getActivityDefinition__ActivityDefinitionPrimitive__DiagnosticChain_Map() {
+ return getActivityDefinition().getEOperations().get(6);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EClass getElementImportReference() {
+ if (elementImportReferenceEClass == null) {
+ elementImportReferenceEClass = (EClass) EPackage.Registry.INSTANCE.getEPackage(AlfPackage.eNS_URI).getEClassifiers().get(118);
+ }
+ return elementImportReferenceEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EAttribute getElementImportReference_Alias() {
+ return (EAttribute) getElementImportReference().getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getElementImportReference__ImportedMembers() {
+ return getElementImportReference().getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getElementImportReference__ElementImportReferenceReferent__DiagnosticChain_Map() {
+ return getElementImportReference().getEOperations().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EClass getSignalReceptionDefinition() {
+ if (signalReceptionDefinitionEClass == null) {
+ signalReceptionDefinitionEClass = (EClass) EPackage.Registry.INSTANCE.getEPackage(AlfPackage.eNS_URI).getEClassifiers().get(119);
+ }
+ return signalReceptionDefinitionEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getSignalReceptionDefinition__IsFeature() {
+ return getSignalReceptionDefinition().getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getSignalReceptionDefinition__SignalReceptionDefinitionIsFeatureDerivation__DiagnosticChain_Map() {
+ return getSignalReceptionDefinition().getEOperations().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EClass getEnumerationDefinition() {
+ if (enumerationDefinitionEClass == null) {
+ enumerationDefinitionEClass = (EClass) EPackage.Registry.INSTANCE.getEPackage(AlfPackage.eNS_URI).getEClassifiers().get(120);
+ }
+ return enumerationDefinitionEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getEnumerationDefinition__MatchForStub__UnitDefinition() {
+ return getEnumerationDefinition().getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getEnumerationDefinition__AnnotationAllowed__StereotypeAnnotation() {
+ return getEnumerationDefinition().getEOperations().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getEnumerationDefinition__IsSameKindAs__ElementReference() {
+ return getEnumerationDefinition().getEOperations().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getEnumerationDefinition__EnumerationDefinitionSpecializationReferent__DiagnosticChain_Map() {
+ return getEnumerationDefinition().getEOperations().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EClass getPackageImportReference() {
+ if (packageImportReferenceEClass == null) {
+ packageImportReferenceEClass = (EClass) EPackage.Registry.INSTANCE.getEPackage(AlfPackage.eNS_URI).getEClassifiers().get(121);
+ }
+ return packageImportReferenceEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getPackageImportReference__ImportedMembers() {
+ return getPackageImportReference().getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getPackageImportReference__PackageImportReferenceReferent__DiagnosticChain_Map() {
+ return getPackageImportReference().getEOperations().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EClass getClassifierTemplateParameter() {
+ if (classifierTemplateParameterEClass == null) {
+ classifierTemplateParameterEClass = (EClass) EPackage.Registry.INSTANCE.getEPackage(AlfPackage.eNS_URI).getEClassifiers().get(122);
+ }
+ return classifierTemplateParameterEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getClassifierTemplateParameter__AnnotationAllowed__StereotypeAnnotation() {
+ return getClassifierTemplateParameter().getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getClassifierTemplateParameter__MatchForStub__UnitDefinition() {
+ return getClassifierTemplateParameter().getEOperations().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getClassifierTemplateParameter__IsSameKindAs__ElementReference() {
+ return getClassifierTemplateParameter().getEOperations().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getClassifierTemplateParameter__Matches__ClassifierTemplateParameter() {
+ return getClassifierTemplateParameter().getEOperations().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EClass getFormalParameter() {
+ if (formalParameterEClass == null) {
+ formalParameterEClass = (EClass) EPackage.Registry.INSTANCE.getEPackage(AlfPackage.eNS_URI).getEClassifiers().get(123);
+ }
+ return formalParameterEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EAttribute getFormalParameter_Direction() {
+ return (EAttribute) getFormalParameter().getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EReference getFormalParameter_TypePart() {
+ return (EReference) getFormalParameter().getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getFormalParameter__CurrentScope() {
+ return getFormalParameter().getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getFormalParameter__AnnotationAllowed__StereotypeAnnotation() {
+ return getFormalParameter().getEOperations().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getFormalParameter__IsSameKindAs__ElementReference() {
+ return getFormalParameter().getEOperations().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getFormalParameter__Matches__FormalParameter() {
+ return getFormalParameter().getEOperations().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getFormalParameter__MatchesElement__ElementReference() {
+ return getFormalParameter().getEOperations().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getFormalParameter__MatchesNameType__ElementReference() {
+ return getFormalParameter().getEOperations().get(5);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getFormalParameter__MatchesType__ElementReference() {
+ return getFormalParameter().getEOperations().get(6);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EClass getReceptionDefinition() {
+ if (receptionDefinitionEClass == null) {
+ receptionDefinitionEClass = (EClass) EPackage.Registry.INSTANCE.getEPackage(AlfPackage.eNS_URI).getEClassifiers().get(124);
+ }
+ return receptionDefinitionEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EReference getReceptionDefinition_SignalName() {
+ return (EReference) getReceptionDefinition().getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EReference getReceptionDefinition_Signal() {
+ return (EReference) getReceptionDefinition().getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getReceptionDefinition__ActualName() {
+ return getReceptionDefinition().getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getReceptionDefinition__AnnotationAllowed__StereotypeAnnotation() {
+ return getReceptionDefinition().getEOperations().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getReceptionDefinition__IsSameKindAs__ElementReference() {
+ return getReceptionDefinition().getEOperations().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getReceptionDefinition__IsFeature() {
+ return getReceptionDefinition().getEOperations().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getReceptionDefinition__ReceptionDefinitionSignalName__DiagnosticChain_Map() {
+ return getReceptionDefinition().getEOperations().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getReceptionDefinition__ReceptionDefinitionSignalDerivation__DiagnosticChain_Map() {
+ return getReceptionDefinition().getEOperations().get(5);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getReceptionDefinition__ReceptionDefinitionIsFeatureDerivation__DiagnosticChain_Map() {
+ return getReceptionDefinition().getEOperations().get(6);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EClass getMember() {
+ if (memberEClass == null) {
+ memberEClass = (EClass) EPackage.Registry.INSTANCE.getEPackage(AlfPackage.eNS_URI).getEClassifiers().get(125);
+ }
+ return memberEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EReference getMember_Definition() {
+ return (EReference) getMember().getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EAttribute getMember_Visibility() {
+ return (EAttribute) getMember().getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EReference getMember_Namespace() {
+ return (EReference) getMember().getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EReference getMember_Annotation() {
+ return (EReference) getMember().getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getMember__ToReference() {
+ return getMember().getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getMember__Visibility() {
+ return getMember().getEOperations().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EClass getAnnotatedStatement() {
+ if (annotatedStatementEClass == null) {
+ annotatedStatementEClass = (EClass) EPackage.Registry.INSTANCE.getEPackage(AlfPackage.eNS_URI).getEClassifiers().get(126);
+ }
+ return annotatedStatementEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EAttribute getAnnotatedStatement_Annotation() {
+ return (EAttribute) getAnnotatedStatement().getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EReference getAnnotatedStatement_Statement() {
+ return (EReference) getAnnotatedStatement().getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getAnnotatedStatement__Annotations() {
+ return getAnnotatedStatement().getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EClass getBoundClassifier() {
+ if (boundClassifierEClass == null) {
+ boundClassifierEClass = (EClass) EPackage.Registry.INSTANCE.getEPackage(AlfPackage.eNS_URI).getEClassifiers().get(127);
+ }
+ return boundClassifierEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EReference getBoundClassifier_Template() {
+ return (EReference) getBoundClassifier().getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EReference getBoundClassifier_Actual() {
+ return (EReference) getBoundClassifier().getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getBoundClassifier__ToReference() {
+ return getBoundClassifier().getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EClass getReturnParameter() {
+ if (returnParameterEClass == null) {
+ returnParameterEClass = (EClass) EPackage.Registry.INSTANCE.getEPackage(AlfPackage.eNS_URI).getEClassifiers().get(128);
+ }
+ return returnParameterEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EClass getNonReturnParameter() {
+ if (nonReturnParameterEClass == null) {
+ nonReturnParameterEClass = (EClass) EPackage.Registry.INSTANCE.getEPackage(AlfPackage.eNS_URI).getEClassifiers().get(129);
+ }
+ return nonReturnParameterEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EClass getAnyType() {
+ if (anyTypeEClass == null) {
+ anyTypeEClass = (EClass) EPackage.Registry.INSTANCE.getEPackage(AlfPackage.eNS_URI).getEClassifiers().get(130);
+ }
+ return anyTypeEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EOperation getAnyType__ActualName() {
+ return getAnyType().getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public AlfFactory getAlfFactory() {
+ return (AlfFactory) getEFactoryInstance();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private boolean isLoaded = false;
+
+ /**
+ * Laods the package and any sub-packages from their serialized form.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void loadPackage() {
+ if (isLoaded)
+ return;
+ isLoaded = true;
+
+ URL url = getClass().getResource(packageFilename);
+ if (url == null) {
+ throw new RuntimeException("Missing serialized package: " + packageFilename);
+ }
+ URI uri = URI.createURI(url.toString());
+ Resource resource = new EcoreResourceFactoryImpl().createResource(uri);
+ try {
+ resource.load(null);
+ } catch (IOException exception) {
+ throw new WrappedException(exception);
+ }
+ initializeFromLoadedEPackage(this, (EPackage) resource.getContents().get(0));
+ createResource(eNS_URI);
+ }
+
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private boolean isFixed = false;
+
+ /**
+ * Fixes up the loaded package, to make it appear as if it had been programmatically built.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void fixPackageContents() {
+ if (isFixed)
+ return;
+ isFixed = true;
+ fixEClassifiers();
+ }
+
+ /**
+ * Sets the instance class on the given classifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected void fixInstanceClass(EClassifier eClassifier) {
+ if (eClassifier.getInstanceClassName() == null) {
+ eClassifier.setInstanceClassName("org.eclipse.papyrus.uml.alf." + eClassifier.getName());
+ setGeneratedClassName(eClassifier);
+ }
+ }
+
+} // AlfPackageImpl
diff --git a/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/AnnotatedStatementImpl.java b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/AnnotatedStatementImpl.java
new file mode 100644
index 00000000000..15905c92dd9
--- /dev/null
+++ b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/AnnotatedStatementImpl.java
@@ -0,0 +1,113 @@
+/**
+ */
+package org.eclipse.papyrus.uml.alf.impl;
+
+import java.lang.reflect.InvocationTargetException;
+
+import org.eclipse.emf.common.util.BasicEList;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.papyrus.uml.alf.AlfPackage;
+import org.eclipse.papyrus.uml.alf.AnnotatedStatement;
+import org.eclipse.papyrus.uml.alf.Statement;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Annotated Statement</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.uml.alf.impl.AnnotatedStatementImpl#getAnnotation <em>Annotation</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.impl.AnnotatedStatementImpl#getStatement <em>Statement</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class AnnotatedStatementImpl extends DocumentedElementImpl implements AnnotatedStatement {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected AnnotatedStatementImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return AlfPackage.eINSTANCE.getAnnotatedStatement();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<String> getAnnotation() {
+ return (EList<String>) eGet(AlfPackage.eINSTANCE.getAnnotatedStatement_Annotation(), true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public Statement getStatement() {
+ return (Statement) eGet(AlfPackage.eINSTANCE.getAnnotatedStatement_Statement(), true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setStatement(Statement newStatement) {
+ eSet(AlfPackage.eINSTANCE.getAnnotatedStatement_Statement(), newStatement);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated NOT
+ */
+ public EList<String> annotations() {
+ EList<String> annotations = new BasicEList<String>();
+ for (String text : this.getAnnotation()) {
+ for (String annotation : text.replaceAll("[ \f\n\r\t]", "").substring(3).split("@", -1)) {
+ annotations.add(annotation);
+ }
+ }
+ return annotations;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Object eInvoke(int operationID, EList<?> arguments) throws InvocationTargetException {
+ switch (operationID) {
+ case AlfPackage.ANNOTATED_STATEMENT___ANNOTATIONS:
+ return annotations();
+ }
+ return super.eInvoke(operationID, arguments);
+ }
+
+} // AnnotatedStatementImpl
diff --git a/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/AnnotationImpl.java b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/AnnotationImpl.java
new file mode 100644
index 00000000000..9f09927599d
--- /dev/null
+++ b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/AnnotationImpl.java
@@ -0,0 +1,163 @@
+/**
+ */
+package org.eclipse.papyrus.uml.alf.impl;
+
+import java.lang.reflect.InvocationTargetException;
+
+import org.eclipse.emf.common.util.BasicEList;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.papyrus.uml.alf.AlfPackage;
+import org.eclipse.papyrus.uml.alf.Annotation;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Annotation</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.uml.alf.impl.AnnotationImpl#getText <em>Text</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.impl.AnnotationImpl#getIdentifier <em>Identifier</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.impl.AnnotationImpl#getArgument <em>Argument</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class AnnotationImpl extends SyntaxElementImpl implements Annotation {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected AnnotationImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return AlfPackage.eINSTANCE.getAnnotation();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public String getText() {
+ return (String) eGet(AlfPackage.eINSTANCE.getAnnotation_Text(), true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setText(String newText) {
+ eSet(AlfPackage.eINSTANCE.getAnnotation_Text(), newText);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public String getIdentifier() {
+ return (String) eGet(AlfPackage.eINSTANCE.getAnnotation_Identifier(), true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setIdentifier(String newIdentifier) {
+ eSet(AlfPackage.eINSTANCE.getAnnotation_Identifier(), newIdentifier);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<String> getArgument() {
+ return (EList<String>) eGet(AlfPackage.eINSTANCE.getAnnotation_Argument(), true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated NOT
+ */
+ public String identifier() {
+ String text = this.getText();
+ int i = text.indexOf('(');
+ return i < 0 ? text : text.substring(0, i);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated NOT
+ */
+ public EList<String> arguments() {
+ EList<String> arguments = new BasicEList<String>();
+ String text = this.getText();
+ int i = text.indexOf('(');
+ if (i >= 0) {
+ int j = i + 1;
+ while (i < text.length()) {
+ char c = text.charAt(i);
+ if (c == ',' || c == ')') {
+ arguments.add(text.substring(j, i));
+ j = i + 1;
+ if (c == ')') {
+ break;
+ }
+ } else if (c == '\'') {
+ do {
+ i = i + 1;
+ } while (i < text.length() &&
+ (text.charAt(i) != '\'' || text.charAt(i - 1) == '\\'));
+ }
+ i = i + 1;
+ }
+ }
+ return arguments;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Object eInvoke(int operationID, EList<?> arguments) throws InvocationTargetException {
+ switch (operationID) {
+ case AlfPackage.ANNOTATION___IDENTIFIER:
+ return identifier();
+ case AlfPackage.ANNOTATION___ARGUMENTS:
+ return arguments();
+ }
+ return super.eInvoke(operationID, arguments);
+ }
+
+} // AnnotationImpl
diff --git a/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/AnyTypeImpl.java b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/AnyTypeImpl.java
new file mode 100644
index 00000000000..49d58c3d6dd
--- /dev/null
+++ b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/AnyTypeImpl.java
@@ -0,0 +1,104 @@
+/**
+ */
+package org.eclipse.papyrus.uml.alf.impl;
+
+import java.lang.reflect.InvocationTargetException;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.common.util.WrappedException;
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.EOperation;
+import org.eclipse.papyrus.uml.alf.AlfPackage;
+import org.eclipse.papyrus.uml.alf.AnyType;
+import org.eclipse.papyrus.uml.alf.MemberDefinition;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Any Type</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ *
+ * @generated
+ */
+public class AnyTypeImpl extends ClassifierDefinitionImpl implements AnyType {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected AnyTypeImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return AlfPackage.eINSTANCE.getAnyType();
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #actualName() <em>Actual Name</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #actualName()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate ACTUAL_NAME__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getAnyType__ActualName()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public String actualName() {
+ try {
+ return (String) ACTUAL_NAME__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public int eDerivedOperationID(int baseOperationID, Class<?> baseClass) {
+ if (baseClass == MemberDefinition.class) {
+ switch (baseOperationID) {
+ case AlfPackage.MEMBER_DEFINITION___ACTUAL_NAME:
+ return AlfPackage.ANY_TYPE___ACTUAL_NAME;
+ default:
+ return super.eDerivedOperationID(baseOperationID, baseClass);
+ }
+ }
+ return super.eDerivedOperationID(baseOperationID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Object eInvoke(int operationID, EList<?> arguments) throws InvocationTargetException {
+ switch (operationID) {
+ case AlfPackage.ANY_TYPE___ACTUAL_NAME:
+ return actualName();
+ }
+ return super.eInvoke(operationID, arguments);
+ }
+
+} // AnyTypeImpl
diff --git a/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/ArithmeticExpressionImpl.java b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/ArithmeticExpressionImpl.java
new file mode 100644
index 00000000000..c21753a675e
--- /dev/null
+++ b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/ArithmeticExpressionImpl.java
@@ -0,0 +1,320 @@
+/**
+ */
+package org.eclipse.papyrus.uml.alf.impl;
+
+import java.lang.reflect.InvocationTargetException;
+import java.math.BigInteger;
+import java.util.Map;
+import org.eclipse.emf.common.util.BasicDiagnostic;
+import org.eclipse.emf.common.util.Diagnostic;
+import org.eclipse.emf.common.util.DiagnosticChain;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.common.util.WrappedException;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EOperation;
+import org.eclipse.emf.ecore.plugin.EcorePlugin;
+import org.eclipse.emf.ecore.util.EObjectValidator;
+import org.eclipse.papyrus.uml.alf.AlfPackage;
+import org.eclipse.papyrus.uml.alf.ArithmeticExpression;
+import org.eclipse.papyrus.uml.alf.ElementReference;
+import org.eclipse.papyrus.uml.alf.util.AlfValidator;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Arithmetic Expression</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.uml.alf.impl.ArithmeticExpressionImpl#isIsConcatenation <em>Is Concatenation</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class ArithmeticExpressionImpl extends BinaryExpressionImpl implements ArithmeticExpression {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected ArithmeticExpressionImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return AlfPackage.eINSTANCE.getArithmeticExpression();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isIsConcatenation() {
+ return (Boolean) eGet(AlfPackage.eINSTANCE.getArithmeticExpression_IsConcatenation(), true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setIsConcatenation(boolean newIsConcatenation) {
+ eSet(AlfPackage.eINSTANCE.getArithmeticExpression_IsConcatenation(), newIsConcatenation);
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #type() <em>Type</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #type()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate TYPE__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getArithmeticExpression__Type()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public ElementReference type() {
+ try {
+ return (ElementReference) TYPE__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #lower() <em>Lower</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #lower()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate LOWER__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getArithmeticExpression__Lower()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public BigInteger lower() {
+ try {
+ return (BigInteger) LOWER__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #upper() <em>Upper</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #upper()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate UPPER__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getArithmeticExpression__Upper()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public BigInteger upper() {
+ try {
+ return (BigInteger) UPPER__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean arithmeticExpressionIsConcatenationDerivation(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.ARITHMETIC_EXPRESSION__ARITHMETIC_EXPRESSION_IS_CONCATENATION_DERIVATION,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "arithmeticExpressionIsConcatenationDerivation", EObjectValidator.getObjectLabel(this, context) }),
+ new Object[] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean arithmeticExpressionTypeDerivation(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.ARITHMETIC_EXPRESSION__ARITHMETIC_EXPRESSION_TYPE_DERIVATION,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "arithmeticExpressionTypeDerivation", EObjectValidator.getObjectLabel(this, context) }),
+ new Object[] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean arithmeticExpressionLowerDerivation(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.ARITHMETIC_EXPRESSION__ARITHMETIC_EXPRESSION_LOWER_DERIVATION,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "arithmeticExpressionLowerDerivation", EObjectValidator.getObjectLabel(this, context) }),
+ new Object[] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean arithmeticExpressionUpperDerivation(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.ARITHMETIC_EXPRESSION__ARITHMETIC_EXPRESSION_UPPER_DERIVATION,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "arithmeticExpressionUpperDerivation", EObjectValidator.getObjectLabel(this, context) }),
+ new Object[] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * The cached validation expression for the '{@link #arithmeticExpressionOperandTypes(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Arithmetic Expression Operand Types</em>}' invariant operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #arithmeticExpressionOperandTypes(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ * @ordered
+ */
+ protected static final String ARITHMETIC_EXPRESSION_OPERAND_TYPES_DIAGNOSTIC_CHAIN_MAP__EEXPRESSION = "\n" +
+ " self.isIntegerType(self.operand1.type) and self.isIntegerType(self.operand2.type) or\n" +
+ " self.operator = '+' and self.isStringType(self.operand1.type) and self.isStringType(self.operand2.type)";
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean arithmeticExpressionOperandTypes(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return AlfValidator.validate
+ (AlfPackage.eINSTANCE.getArithmeticExpression(),
+ this,
+ diagnostics,
+ context,
+ "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot",
+ AlfPackage.eINSTANCE.getArithmeticExpression__ArithmeticExpressionOperandTypes__DiagnosticChain_Map(),
+ ARITHMETIC_EXPRESSION_OPERAND_TYPES_DIAGNOSTIC_CHAIN_MAP__EEXPRESSION,
+ Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.ARITHMETIC_EXPRESSION__ARITHMETIC_EXPRESSION_OPERAND_TYPES);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object eInvoke(int operationID, EList<?> arguments) throws InvocationTargetException {
+ switch (operationID) {
+ case AlfPackage.ARITHMETIC_EXPRESSION___TYPE:
+ return type();
+ case AlfPackage.ARITHMETIC_EXPRESSION___LOWER:
+ return lower();
+ case AlfPackage.ARITHMETIC_EXPRESSION___UPPER:
+ return upper();
+ case AlfPackage.ARITHMETIC_EXPRESSION___ARITHMETIC_EXPRESSION_IS_CONCATENATION_DERIVATION__DIAGNOSTICCHAIN_MAP:
+ return arithmeticExpressionIsConcatenationDerivation((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ case AlfPackage.ARITHMETIC_EXPRESSION___ARITHMETIC_EXPRESSION_TYPE_DERIVATION__DIAGNOSTICCHAIN_MAP:
+ return arithmeticExpressionTypeDerivation((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ case AlfPackage.ARITHMETIC_EXPRESSION___ARITHMETIC_EXPRESSION_LOWER_DERIVATION__DIAGNOSTICCHAIN_MAP:
+ return arithmeticExpressionLowerDerivation((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ case AlfPackage.ARITHMETIC_EXPRESSION___ARITHMETIC_EXPRESSION_UPPER_DERIVATION__DIAGNOSTICCHAIN_MAP:
+ return arithmeticExpressionUpperDerivation((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ case AlfPackage.ARITHMETIC_EXPRESSION___ARITHMETIC_EXPRESSION_OPERAND_TYPES__DIAGNOSTICCHAIN_MAP:
+ return arithmeticExpressionOperandTypes((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ }
+ return super.eInvoke(operationID, arguments);
+ }
+
+} // ArithmeticExpressionImpl
diff --git a/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/AssignableElementImpl.java b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/AssignableElementImpl.java
new file mode 100644
index 00000000000..21d59911ac5
--- /dev/null
+++ b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/AssignableElementImpl.java
@@ -0,0 +1,365 @@
+/**
+ */
+package org.eclipse.papyrus.uml.alf.impl;
+
+import java.lang.reflect.InvocationTargetException;
+
+import java.math.BigInteger;
+
+import org.eclipse.emf.common.util.BasicEList;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.common.util.WrappedException;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EOperation;
+
+import org.eclipse.papyrus.uml.alf.AlfPackage;
+import org.eclipse.papyrus.uml.alf.AssignableElement;
+import org.eclipse.papyrus.uml.alf.ElementReference;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Assignable Element</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.uml.alf.impl.AssignableElementImpl#getUpper <em>Upper</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.impl.AssignableElementImpl#getLower <em>Lower</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.impl.AssignableElementImpl#getType <em>Type</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public abstract class AssignableElementImpl extends SyntaxElementImpl implements AssignableElement {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated NOT
+ */
+ protected AssignableElementImpl() {
+ super();
+ this.registerCaching();
+ }
+
+ public void clear() {
+ this.type = null;
+ this.typeNotResolved = true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return AlfPackage.eINSTANCE.getAssignableElement();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public BigInteger getUpper() {
+ return (BigInteger) eGet(AlfPackage.eINSTANCE.getAssignableElement_Upper(), true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setUpper(BigInteger newUpper) {
+ eSet(AlfPackage.eINSTANCE.getAssignableElement_Upper(), newUpper);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public BigInteger getLower() {
+ return (BigInteger) eGet(AlfPackage.eINSTANCE.getAssignableElement_Lower(), true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setLower(BigInteger newLower) {
+ eSet(AlfPackage.eINSTANCE.getAssignableElement_Lower(), newLower);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public ElementReference getType() {
+ return (ElementReference) eGet(AlfPackage.eINSTANCE.getAssignableElement_Type(), true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setType(ElementReference newType) {
+ eSet(AlfPackage.eINSTANCE.getAssignableElement_Type(), newType);
+ }
+
+ private ElementReference type = null;
+ private boolean typeNotResolved = true;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated NOT
+ */
+ public ElementReference typeCached() {
+ if (this.typeNotResolved) {
+ this.type = this.type();
+ this.typeNotResolved = false;
+ }
+ return this.type;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public ElementReference type() {
+ // TODO: implement this method
+ // Ensure that you remove @generated or mark it @generated NOT
+ throw new UnsupportedOperationException();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public BigInteger lower() {
+ // TODO: implement this method
+ // Ensure that you remove @generated or mark it @generated NOT
+ throw new UnsupportedOperationException();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public BigInteger upper() {
+ // TODO: implement this method
+ // Ensure that you remove @generated or mark it @generated NOT
+ throw new UnsupportedOperationException();
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #isNull() <em>Is Null</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #isNull()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate IS_NULL__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getAssignableElement__IsNull()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isNull() {
+ try {
+ return (Boolean) IS_NULL__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #isAssignableFromElement(org.eclipse.papyrus.uml.alf.ElementReference) <em>Is Assignable From Element</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #isAssignableFromElement(org.eclipse.papyrus.uml.alf.ElementReference)
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate IS_ASSIGNABLE_FROM_ELEMENT_ELEMENT_REFERENCE__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getAssignableElement__IsAssignableFromElement__ElementReference())
+ .getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isAssignableFromElement(ElementReference element) {
+ try {
+ return (Boolean) IS_ASSIGNABLE_FROM_ELEMENT_ELEMENT_REFERENCE__EINVOCATION_DELEGATE.dynamicInvoke(this, new BasicEList.UnmodifiableEList<Object>(1, new Object[] { element }));
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #isAssignableFrom(org.eclipse.papyrus.uml.alf.AssignableElement) <em>Is Assignable From</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #isAssignableFrom(org.eclipse.papyrus.uml.alf.AssignableElement)
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate IS_ASSIGNABLE_FROM_ASSIGNABLE_ELEMENT__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getAssignableElement__IsAssignableFrom__AssignableElement()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isAssignableFrom(AssignableElement source) {
+ try {
+ return (Boolean) IS_ASSIGNABLE_FROM_ASSIGNABLE_ELEMENT__EINVOCATION_DELEGATE.dynamicInvoke(this, new BasicEList.UnmodifiableEList<Object>(1, new Object[] { source }));
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #isTypeConformantWith(org.eclipse.papyrus.uml.alf.AssignableElement) <em>Is Type Conformant With</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #isTypeConformantWith(org.eclipse.papyrus.uml.alf.AssignableElement)
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate IS_TYPE_CONFORMANT_WITH_ASSIGNABLE_ELEMENT__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getAssignableElement__IsTypeConformantWith__AssignableElement())
+ .getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isTypeConformantWith(AssignableElement source) {
+ try {
+ return (Boolean) IS_TYPE_CONFORMANT_WITH_ASSIGNABLE_ELEMENT__EINVOCATION_DELEGATE.dynamicInvoke(this, new BasicEList.UnmodifiableEList<Object>(1, new Object[] { source }));
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #isConformantWithType(org.eclipse.papyrus.uml.alf.ElementReference) <em>Is Conformant With Type</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #isConformantWithType(org.eclipse.papyrus.uml.alf.ElementReference)
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate IS_CONFORMANT_WITH_TYPE_ELEMENT_REFERENCE__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getAssignableElement__IsConformantWithType__ElementReference())
+ .getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void isConformantWithType(ElementReference sourceType) {
+ try {
+ IS_CONFORMANT_WITH_TYPE_ELEMENT_REFERENCE__EINVOCATION_DELEGATE.dynamicInvoke(this, new BasicEList.UnmodifiableEList<Object>(1, new Object[] { sourceType }));
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #isMultiplicityConformantWith(org.eclipse.papyrus.uml.alf.AssignableElement) <em>Is Multiplicity Conformant With</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #isMultiplicityConformantWith(org.eclipse.papyrus.uml.alf.AssignableElement)
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate IS_MULTIPLICITY_CONFORMANT_WITH_ASSIGNABLE_ELEMENT__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getAssignableElement__IsMultiplicityConformantWith__AssignableElement())
+ .getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isMultiplicityConformantWith(AssignableElement source) {
+ try {
+ return (Boolean) IS_MULTIPLICITY_CONFORMANT_WITH_ASSIGNABLE_ELEMENT__EINVOCATION_DELEGATE.dynamicInvoke(this, new BasicEList.UnmodifiableEList<Object>(1, new Object[] { source }));
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Object eInvoke(int operationID, EList<?> arguments) throws InvocationTargetException {
+ switch (operationID) {
+ case AlfPackage.ASSIGNABLE_ELEMENT___TYPE_CACHED:
+ return typeCached();
+ case AlfPackage.ASSIGNABLE_ELEMENT___TYPE:
+ return type();
+ case AlfPackage.ASSIGNABLE_ELEMENT___LOWER:
+ return lower();
+ case AlfPackage.ASSIGNABLE_ELEMENT___UPPER:
+ return upper();
+ case AlfPackage.ASSIGNABLE_ELEMENT___IS_NULL:
+ return isNull();
+ case AlfPackage.ASSIGNABLE_ELEMENT___IS_ASSIGNABLE_FROM_ELEMENT__ELEMENTREFERENCE:
+ return isAssignableFromElement((ElementReference) arguments.get(0));
+ case AlfPackage.ASSIGNABLE_ELEMENT___IS_ASSIGNABLE_FROM__ASSIGNABLEELEMENT:
+ return isAssignableFrom((AssignableElement) arguments.get(0));
+ case AlfPackage.ASSIGNABLE_ELEMENT___IS_TYPE_CONFORMANT_WITH__ASSIGNABLEELEMENT:
+ return isTypeConformantWith((AssignableElement) arguments.get(0));
+ case AlfPackage.ASSIGNABLE_ELEMENT___IS_CONFORMANT_WITH_TYPE__ELEMENTREFERENCE:
+ isConformantWithType((ElementReference) arguments.get(0));
+ return null;
+ case AlfPackage.ASSIGNABLE_ELEMENT___IS_MULTIPLICITY_CONFORMANT_WITH__ASSIGNABLEELEMENT:
+ return isMultiplicityConformantWith((AssignableElement) arguments.get(0));
+ }
+ return super.eInvoke(operationID, arguments);
+ }
+
+} // AssignableElementImpl
diff --git a/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/AssignableElementReferenceImpl.java b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/AssignableElementReferenceImpl.java
new file mode 100644
index 00000000000..3202efbd943
--- /dev/null
+++ b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/AssignableElementReferenceImpl.java
@@ -0,0 +1,168 @@
+/**
+ */
+package org.eclipse.papyrus.uml.alf.impl;
+
+import java.lang.reflect.InvocationTargetException;
+
+import java.math.BigInteger;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.common.util.WrappedException;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EOperation;
+
+import org.eclipse.papyrus.uml.alf.AlfPackage;
+import org.eclipse.papyrus.uml.alf.AssignableElementReference;
+import org.eclipse.papyrus.uml.alf.ElementReference;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Assignable Element Reference</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.uml.alf.impl.AssignableElementReferenceImpl#getReference <em>Reference</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class AssignableElementReferenceImpl extends AssignableElementImpl implements AssignableElementReference {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected AssignableElementReferenceImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return AlfPackage.eINSTANCE.getAssignableElementReference();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public ElementReference getReference() {
+ return (ElementReference) eGet(AlfPackage.eINSTANCE.getAssignableElementReference_Reference(), true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setReference(ElementReference newReference) {
+ eSet(AlfPackage.eINSTANCE.getAssignableElementReference_Reference(), newReference);
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #type() <em>Type</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #type()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate TYPE__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getAssignableElementReference__Type()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public ElementReference type() {
+ try {
+ return (ElementReference) TYPE__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #lower() <em>Lower</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #lower()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate LOWER__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getAssignableElementReference__Lower()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public BigInteger lower() {
+ try {
+ return (BigInteger) LOWER__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #upper() <em>Upper</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #upper()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate UPPER__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getAssignableElementReference__Upper()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public BigInteger upper() {
+ try {
+ return (BigInteger) UPPER__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Object eInvoke(int operationID, EList<?> arguments) throws InvocationTargetException {
+ switch (operationID) {
+ case AlfPackage.ASSIGNABLE_ELEMENT_REFERENCE___TYPE:
+ return type();
+ case AlfPackage.ASSIGNABLE_ELEMENT_REFERENCE___LOWER:
+ return lower();
+ case AlfPackage.ASSIGNABLE_ELEMENT_REFERENCE___UPPER:
+ return upper();
+ }
+ return super.eInvoke(operationID, arguments);
+ }
+
+} // AssignableElementReferenceImpl
diff --git a/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/AssignableLocalNameDeclarationImpl.java b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/AssignableLocalNameDeclarationImpl.java
new file mode 100644
index 00000000000..68be17fce5c
--- /dev/null
+++ b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/AssignableLocalNameDeclarationImpl.java
@@ -0,0 +1,170 @@
+/**
+ */
+package org.eclipse.papyrus.uml.alf.impl;
+
+import java.lang.reflect.InvocationTargetException;
+
+import java.math.BigInteger;
+
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.common.util.WrappedException;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EOperation;
+
+import org.eclipse.papyrus.uml.alf.AlfPackage;
+import org.eclipse.papyrus.uml.alf.AssignableLocalNameDeclaration;
+import org.eclipse.papyrus.uml.alf.ElementReference;
+import org.eclipse.papyrus.uml.alf.LocalNameDeclarationStatement;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Assignable Local Name Declaration</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.uml.alf.impl.AssignableLocalNameDeclarationImpl#getLocalNameDeclaration <em>Local Name Declaration</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class AssignableLocalNameDeclarationImpl extends AssignableElementImpl implements AssignableLocalNameDeclaration {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected AssignableLocalNameDeclarationImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return AlfPackage.eINSTANCE.getAssignableLocalNameDeclaration();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public LocalNameDeclarationStatement getLocalNameDeclaration() {
+ return (LocalNameDeclarationStatement) eGet(AlfPackage.eINSTANCE.getAssignableLocalNameDeclaration_LocalNameDeclaration(), true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setLocalNameDeclaration(LocalNameDeclarationStatement newLocalNameDeclaration) {
+ eSet(AlfPackage.eINSTANCE.getAssignableLocalNameDeclaration_LocalNameDeclaration(), newLocalNameDeclaration);
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #type() <em>Type</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #type()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate TYPE__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getAssignableLocalNameDeclaration__Type()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public ElementReference type() {
+ try {
+ return (ElementReference) TYPE__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #lower() <em>Lower</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #lower()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate LOWER__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getAssignableLocalNameDeclaration__Lower()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public BigInteger lower() {
+ try {
+ return (BigInteger) LOWER__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #upper() <em>Upper</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #upper()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate UPPER__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getAssignableLocalNameDeclaration__Upper()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public BigInteger upper() {
+ try {
+ return (BigInteger) UPPER__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Object eInvoke(int operationID, EList<?> arguments) throws InvocationTargetException {
+ switch (operationID) {
+ case AlfPackage.ASSIGNABLE_LOCAL_NAME_DECLARATION___TYPE:
+ return type();
+ case AlfPackage.ASSIGNABLE_LOCAL_NAME_DECLARATION___LOWER:
+ return lower();
+ case AlfPackage.ASSIGNABLE_LOCAL_NAME_DECLARATION___UPPER:
+ return upper();
+ }
+ return super.eInvoke(operationID, arguments);
+ }
+
+} // AssignableLocalNameDeclarationImpl
diff --git a/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/AssignedSourceImpl.java b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/AssignedSourceImpl.java
new file mode 100644
index 00000000000..b659e208fc4
--- /dev/null
+++ b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/AssignedSourceImpl.java
@@ -0,0 +1,285 @@
+/**
+ */
+package org.eclipse.papyrus.uml.alf.impl;
+
+import java.lang.reflect.InvocationTargetException;
+import org.eclipse.emf.common.util.BasicEList;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.common.util.WrappedException;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EOperation;
+import org.eclipse.emf.internal.cdo.CDOObjectImpl;
+import org.eclipse.papyrus.uml.alf.AlfPackage;
+import org.eclipse.papyrus.uml.alf.AssignedSource;
+import org.eclipse.papyrus.uml.alf.ElementReference;
+import org.eclipse.papyrus.uml.alf.SyntaxElement;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Assigned Source</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.uml.alf.impl.AssignedSourceImpl#getName <em>Name</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.impl.AssignedSourceImpl#getSource <em>Source</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.impl.AssignedSourceImpl#getUpper <em>Upper</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.impl.AssignedSourceImpl#getLower <em>Lower</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.impl.AssignedSourceImpl#getType <em>Type</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.impl.AssignedSourceImpl#isIsParallelLocalName <em>Is Parallel Local Name</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class AssignedSourceImpl extends CDOObjectImpl implements AssignedSource {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected AssignedSourceImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return AlfPackage.eINSTANCE.getAssignedSource();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected int eStaticFeatureCount() {
+ return 0;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public String getName() {
+ return (String) eGet(AlfPackage.eINSTANCE.getAssignedSource_Name(), true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setName(String newName) {
+ eSet(AlfPackage.eINSTANCE.getAssignedSource_Name(), newName);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public SyntaxElement getSource() {
+ return (SyntaxElement) eGet(AlfPackage.eINSTANCE.getAssignedSource_Source(), true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setSource(SyntaxElement newSource) {
+ eSet(AlfPackage.eINSTANCE.getAssignedSource_Source(), newSource);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public Integer getUpper() {
+ return (Integer) eGet(AlfPackage.eINSTANCE.getAssignedSource_Upper(), true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setUpper(Integer newUpper) {
+ eSet(AlfPackage.eINSTANCE.getAssignedSource_Upper(), newUpper);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public Integer getLower() {
+ return (Integer) eGet(AlfPackage.eINSTANCE.getAssignedSource_Lower(), true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setLower(Integer newLower) {
+ eSet(AlfPackage.eINSTANCE.getAssignedSource_Lower(), newLower);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public ElementReference getType() {
+ return (ElementReference) eGet(AlfPackage.eINSTANCE.getAssignedSource_Type(), true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setType(ElementReference newType) {
+ eSet(AlfPackage.eINSTANCE.getAssignedSource_Type(), newType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isIsParallelLocalName() {
+ return (Boolean) eGet(AlfPackage.eINSTANCE.getAssignedSource_IsParallelLocalName(), true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setIsParallelLocalName(boolean newIsParallelLocalName) {
+ eSet(AlfPackage.eINSTANCE.getAssignedSource_IsParallelLocalName(), newIsParallelLocalName);
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #isNew(org.eclipse.emf.common.util.EList) <em>Is New</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #isNew(org.eclipse.emf.common.util.EList)
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate IS_NEW_ELIST__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getAssignedSource__IsNew__EList()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isNew(EList<AssignedSource> assignmentsBefore) {
+ try {
+ return (Boolean) IS_NEW_ELIST__EINVOCATION_DELEGATE.dynamicInvoke(this, new BasicEList.UnmodifiableEList<Object>(1, new Object[] { assignmentsBefore }));
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #update(org.eclipse.emf.common.util.EList) <em>Update</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #update(org.eclipse.emf.common.util.EList)
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate UPDATE_ELIST__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getAssignedSource__Update__EList()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<AssignedSource> update(EList<AssignedSource> assignments) {
+ try {
+ return (EList<AssignedSource>) UPDATE_ELIST__EINVOCATION_DELEGATE.dynamicInvoke(this, new BasicEList.UnmodifiableEList<Object>(1, new Object[] { assignments }));
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #copy(org.eclipse.papyrus.uml.alf.SyntaxElement, boolean) <em>Copy</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #copy(org.eclipse.papyrus.uml.alf.SyntaxElement, boolean)
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate COPY_SYNTAX_ELEMENT_BOOLEAN__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getAssignedSource__Copy__SyntaxElement_boolean()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public AssignedSource copy(SyntaxElement newSource, boolean isParallelLocal) {
+ try {
+ return (AssignedSource) COPY_SYNTAX_ELEMENT_BOOLEAN__EINVOCATION_DELEGATE.dynamicInvoke(this, new BasicEList.UnmodifiableEList<Object>(2, new Object[] { newSource, isParallelLocal }));
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object eInvoke(int operationID, EList<?> arguments) throws InvocationTargetException {
+ switch (operationID) {
+ case AlfPackage.ASSIGNED_SOURCE___IS_NEW__ELIST:
+ return isNew((EList<AssignedSource>) arguments.get(0));
+ case AlfPackage.ASSIGNED_SOURCE___UPDATE__ELIST:
+ return update((EList<AssignedSource>) arguments.get(0));
+ case AlfPackage.ASSIGNED_SOURCE___COPY__SYNTAXELEMENT_BOOLEAN:
+ return copy((SyntaxElement) arguments.get(0), (Boolean) arguments.get(1));
+ }
+ return super.eInvoke(operationID, arguments);
+ }
+
+} // AssignedSourceImpl
diff --git a/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/AssignmentExpressionImpl.java b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/AssignmentExpressionImpl.java
new file mode 100644
index 00000000000..54b714d1536
--- /dev/null
+++ b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/AssignmentExpressionImpl.java
@@ -0,0 +1,1231 @@
+/**
+ */
+package org.eclipse.papyrus.uml.alf.impl;
+
+import java.lang.reflect.InvocationTargetException;
+
+import java.math.BigInteger;
+import java.util.Map;
+
+import org.eclipse.emf.common.util.BasicDiagnostic;
+import org.eclipse.emf.common.util.BasicEList;
+import org.eclipse.emf.common.util.Diagnostic;
+import org.eclipse.emf.common.util.DiagnosticChain;
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.common.util.WrappedException;
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.EOperation;
+import org.eclipse.emf.ecore.plugin.EcorePlugin;
+
+import org.eclipse.emf.ecore.util.EObjectValidator;
+
+import org.eclipse.papyrus.uml.alf.AlfPackage;
+import org.eclipse.papyrus.uml.alf.AssignableElement;
+import org.eclipse.papyrus.uml.alf.AssignedSource;
+import org.eclipse.papyrus.uml.alf.AssignmentExpression;
+import org.eclipse.papyrus.uml.alf.ElementReference;
+import org.eclipse.papyrus.uml.alf.Expression;
+import org.eclipse.papyrus.uml.alf.LeftHandSide;
+
+import org.eclipse.papyrus.uml.alf.SyntaxElement;
+import org.eclipse.papyrus.uml.alf.util.AlfValidator;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Assignment Expression</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.uml.alf.impl.AssignmentExpressionImpl#getOperator <em>Operator</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.impl.AssignmentExpressionImpl#getLeftHandSide <em>Left Hand Side</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.impl.AssignmentExpressionImpl#getRightHandSide <em>Right Hand Side</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.impl.AssignmentExpressionImpl#getAssignment <em>Assignment</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.impl.AssignmentExpressionImpl#getFeature <em>Feature</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.impl.AssignmentExpressionImpl#isIsIndexed <em>Is Indexed</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.impl.AssignmentExpressionImpl#isIsArithmetic <em>Is Arithmetic</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.impl.AssignmentExpressionImpl#isIsLogical <em>Is Logical</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.impl.AssignmentExpressionImpl#isIsShift <em>Is Shift</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.impl.AssignmentExpressionImpl#isIsConcatenation <em>Is Concatenation</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.impl.AssignmentExpressionImpl#isIsDefinition <em>Is Definition</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.impl.AssignmentExpressionImpl#isIsSimple <em>Is Simple</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.impl.AssignmentExpressionImpl#getExpression <em>Expression</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.impl.AssignmentExpressionImpl#isIsFeature <em>Is Feature</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.impl.AssignmentExpressionImpl#isIsDataValueUpdate <em>Is Data Value Update</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.impl.AssignmentExpressionImpl#isIsCollectionConversion <em>Is Collection Conversion</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.impl.AssignmentExpressionImpl#isIsBitStringConversion <em>Is Bit String Conversion</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class AssignmentExpressionImpl extends ExpressionImpl implements AssignmentExpression {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected AssignmentExpressionImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return AlfPackage.eINSTANCE.getAssignmentExpression();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public String getOperator() {
+ return (String) eGet(AlfPackage.eINSTANCE.getAssignmentExpression_Operator(), true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setOperator(String newOperator) {
+ eSet(AlfPackage.eINSTANCE.getAssignmentExpression_Operator(), newOperator);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public LeftHandSide getLeftHandSide() {
+ return (LeftHandSide) eGet(AlfPackage.eINSTANCE.getAssignmentExpression_LeftHandSide(), true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setLeftHandSide(LeftHandSide newLeftHandSide) {
+ eSet(AlfPackage.eINSTANCE.getAssignmentExpression_LeftHandSide(), newLeftHandSide);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public Expression getRightHandSide() {
+ return (Expression) eGet(AlfPackage.eINSTANCE.getAssignmentExpression_RightHandSide(), true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setRightHandSide(Expression newRightHandSide) {
+ eSet(AlfPackage.eINSTANCE.getAssignmentExpression_RightHandSide(), newRightHandSide);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public AssignedSource getAssignment() {
+ return (AssignedSource) eGet(AlfPackage.eINSTANCE.getAssignmentExpression_Assignment(), true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setAssignment(AssignedSource newAssignment) {
+ eSet(AlfPackage.eINSTANCE.getAssignmentExpression_Assignment(), newAssignment);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public ElementReference getFeature() {
+ return (ElementReference) eGet(AlfPackage.eINSTANCE.getAssignmentExpression_Feature(), true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setFeature(ElementReference newFeature) {
+ eSet(AlfPackage.eINSTANCE.getAssignmentExpression_Feature(), newFeature);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isIsIndexed() {
+ return (Boolean) eGet(AlfPackage.eINSTANCE.getAssignmentExpression_IsIndexed(), true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setIsIndexed(boolean newIsIndexed) {
+ eSet(AlfPackage.eINSTANCE.getAssignmentExpression_IsIndexed(), newIsIndexed);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isIsArithmetic() {
+ return (Boolean) eGet(AlfPackage.eINSTANCE.getAssignmentExpression_IsArithmetic(), true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setIsArithmetic(boolean newIsArithmetic) {
+ eSet(AlfPackage.eINSTANCE.getAssignmentExpression_IsArithmetic(), newIsArithmetic);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isIsLogical() {
+ return (Boolean) eGet(AlfPackage.eINSTANCE.getAssignmentExpression_IsLogical(), true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setIsLogical(boolean newIsLogical) {
+ eSet(AlfPackage.eINSTANCE.getAssignmentExpression_IsLogical(), newIsLogical);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isIsShift() {
+ return (Boolean) eGet(AlfPackage.eINSTANCE.getAssignmentExpression_IsShift(), true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setIsShift(boolean newIsShift) {
+ eSet(AlfPackage.eINSTANCE.getAssignmentExpression_IsShift(), newIsShift);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isIsConcatenation() {
+ return (Boolean) eGet(AlfPackage.eINSTANCE.getAssignmentExpression_IsConcatenation(), true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setIsConcatenation(boolean newIsConcatenation) {
+ eSet(AlfPackage.eINSTANCE.getAssignmentExpression_IsConcatenation(), newIsConcatenation);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isIsDefinition() {
+ return (Boolean) eGet(AlfPackage.eINSTANCE.getAssignmentExpression_IsDefinition(), true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setIsDefinition(boolean newIsDefinition) {
+ eSet(AlfPackage.eINSTANCE.getAssignmentExpression_IsDefinition(), newIsDefinition);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isIsSimple() {
+ return (Boolean) eGet(AlfPackage.eINSTANCE.getAssignmentExpression_IsSimple(), true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setIsSimple(boolean newIsSimple) {
+ eSet(AlfPackage.eINSTANCE.getAssignmentExpression_IsSimple(), newIsSimple);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public Expression getExpression() {
+ return (Expression) eGet(AlfPackage.eINSTANCE.getAssignmentExpression_Expression(), true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setExpression(Expression newExpression) {
+ eSet(AlfPackage.eINSTANCE.getAssignmentExpression_Expression(), newExpression);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isIsFeature() {
+ return (Boolean) eGet(AlfPackage.eINSTANCE.getAssignmentExpression_IsFeature(), true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setIsFeature(boolean newIsFeature) {
+ eSet(AlfPackage.eINSTANCE.getAssignmentExpression_IsFeature(), newIsFeature);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isIsDataValueUpdate() {
+ return (Boolean) eGet(AlfPackage.eINSTANCE.getAssignmentExpression_IsDataValueUpdate(), true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setIsDataValueUpdate(boolean newIsDataValueUpdate) {
+ eSet(AlfPackage.eINSTANCE.getAssignmentExpression_IsDataValueUpdate(), newIsDataValueUpdate);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isIsCollectionConversion() {
+ return (Boolean) eGet(AlfPackage.eINSTANCE.getAssignmentExpression_IsCollectionConversion(), true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setIsCollectionConversion(boolean newIsCollectionConversion) {
+ eSet(AlfPackage.eINSTANCE.getAssignmentExpression_IsCollectionConversion(), newIsCollectionConversion);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isIsBitStringConversion() {
+ return (Boolean) eGet(AlfPackage.eINSTANCE.getAssignmentExpression_IsBitStringConversion(), true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setIsBitStringConversion(boolean newIsBitStringConversion) {
+ eSet(AlfPackage.eINSTANCE.getAssignmentExpression_IsBitStringConversion(), newIsBitStringConversion);
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #type() <em>Type</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #type()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate TYPE__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getAssignmentExpression__Type()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public ElementReference type() {
+ try {
+ return (ElementReference) TYPE__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #upper() <em>Upper</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #upper()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate UPPER__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getAssignmentExpression__Upper()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public BigInteger upper() {
+ try {
+ return (BigInteger) UPPER__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #lower() <em>Lower</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #lower()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate LOWER__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getAssignmentExpression__Lower()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public BigInteger lower() {
+ try {
+ return (BigInteger) LOWER__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #assignmentsBefore(org.eclipse.papyrus.uml.alf.SyntaxElement) <em>Assignments Before</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #assignmentsBefore(org.eclipse.papyrus.uml.alf.SyntaxElement)
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate ASSIGNMENTS_BEFORE_SYNTAX_ELEMENT__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getAssignmentExpression__AssignmentsBefore__SyntaxElement()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<AssignedSource> assignmentsBefore(SyntaxElement element) {
+ try {
+ return (EList<AssignedSource>) ASSIGNMENTS_BEFORE_SYNTAX_ELEMENT__EINVOCATION_DELEGATE.dynamicInvoke(this, new BasicEList.UnmodifiableEList<Object>(1, new Object[] { element }));
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean assignmentExpressionIsSimpleDerivation(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.ASSIGNMENT_EXPRESSION__ASSIGNMENT_EXPRESSION_IS_SIMPLE_DERIVATION,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "assignmentExpressionIsSimpleDerivation", EObjectValidator.getObjectLabel(this, context) }),
+ new Object[] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean assignmentExpressionIsArithmeticDerivation(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.ASSIGNMENT_EXPRESSION__ASSIGNMENT_EXPRESSION_IS_ARITHMETIC_DERIVATION,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "assignmentExpressionIsArithmeticDerivation", EObjectValidator.getObjectLabel(this, context) }),
+ new Object[] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean assignmentExpressionIsDefinitionDerivation(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.ASSIGNMENT_EXPRESSION__ASSIGNMENT_EXPRESSION_IS_DEFINITION_DERIVATION,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "assignmentExpressionIsDefinitionDerivation", EObjectValidator.getObjectLabel(this, context) }),
+ new Object[] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean assignmentExpressionIsFeatureDerivation(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.ASSIGNMENT_EXPRESSION__ASSIGNMENT_EXPRESSION_IS_FEATURE_DERIVATION,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "assignmentExpressionIsFeatureDerivation", EObjectValidator.getObjectLabel(this, context) }),
+ new Object[] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean assignmentExpressionIsIndexedDerivation(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.ASSIGNMENT_EXPRESSION__ASSIGNMENT_EXPRESSION_IS_INDEXED_DERIVATION,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "assignmentExpressionIsIndexedDerivation", EObjectValidator.getObjectLabel(this, context) }),
+ new Object[] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean assignmentExpressionIsDataValueUpdateDerivation(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.ASSIGNMENT_EXPRESSION__ASSIGNMENT_EXPRESSION_IS_DATA_VALUE_UPDATE_DERIVATION,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "assignmentExpressionIsDataValueUpdateDerivation", EObjectValidator.getObjectLabel(this, context) }),
+ new Object[] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean assignmentExpressionAssignmentDerivation(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.ASSIGNMENT_EXPRESSION__ASSIGNMENT_EXPRESSION_ASSIGNMENT_DERIVATION,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "assignmentExpressionAssignmentDerivation", EObjectValidator.getObjectLabel(this, context) }),
+ new Object[] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean assignmentExpressionFeatureDerivation(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.ASSIGNMENT_EXPRESSION__ASSIGNMENT_EXPRESSION_FEATURE_DERIVATION,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "assignmentExpressionFeatureDerivation", EObjectValidator.getObjectLabel(this, context) }),
+ new Object[] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean assignmentExpressionExpressionDerivation(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.ASSIGNMENT_EXPRESSION__ASSIGNMENT_EXPRESSION_EXPRESSION_DERIVATION,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "assignmentExpressionExpressionDerivation", EObjectValidator.getObjectLabel(this, context) }),
+ new Object[] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean assignmentExpressionTypeDerivation(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.ASSIGNMENT_EXPRESSION__ASSIGNMENT_EXPRESSION_TYPE_DERIVATION,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "assignmentExpressionTypeDerivation", EObjectValidator.getObjectLabel(this, context) }),
+ new Object[] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean assignmentExpressionUpperDerivation(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.ASSIGNMENT_EXPRESSION__ASSIGNMENT_EXPRESSION_UPPER_DERIVATION,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "assignmentExpressionUpperDerivation", EObjectValidator.getObjectLabel(this, context) }),
+ new Object[] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean assignmentExpressionLowerDerivation(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.ASSIGNMENT_EXPRESSION__ASSIGNMENT_EXPRESSION_LOWER_DERIVATION,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "assignmentExpressionLowerDerivation", EObjectValidator.getObjectLabel(this, context) }),
+ new Object[] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * The cached validation expression for the '{@link #assignmentExpressionSimpleAssignmentTypeConformance(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Assignment Expression Simple Assignment Type Conformance</em>}' invariant operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #assignmentExpressionSimpleAssignmentTypeConformance(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ * @ordered
+ */
+ protected static final String ASSIGNMENT_EXPRESSION_SIMPLE_ASSIGNMENT_TYPE_CONFORMANCE_DIAGNOSTIC_CHAIN_MAP__EEXPRESSION = "\n" +
+ " (self.isSimple and not self.isDefinition) implies\n" +
+ " self.leftHandSide.isTypeConformantWith(self.rightHandSide)";
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean assignmentExpressionSimpleAssignmentTypeConformance(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return AlfValidator.validate
+ (AlfPackage.eINSTANCE.getAssignmentExpression(),
+ this,
+ diagnostics,
+ context,
+ "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot",
+ AlfPackage.eINSTANCE.getAssignmentExpression__AssignmentExpressionSimpleAssignmentTypeConformance__DiagnosticChain_Map(),
+ ASSIGNMENT_EXPRESSION_SIMPLE_ASSIGNMENT_TYPE_CONFORMANCE_DIAGNOSTIC_CHAIN_MAP__EEXPRESSION,
+ Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.ASSIGNMENT_EXPRESSION__ASSIGNMENT_EXPRESSION_SIMPLE_ASSIGNMENT_TYPE_CONFORMANCE);
+ }
+
+ /**
+ * The cached validation expression for the '{@link #assignmentExpressionSimpleAssignmentMultiplicityConformance(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Assignment Expression Simple Assignment Multiplicity Conformance</em>}'
+ * invariant operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #assignmentExpressionSimpleAssignmentMultiplicityConformance(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ * @ordered
+ */
+ protected static final String ASSIGNMENT_EXPRESSION_SIMPLE_ASSIGNMENT_MULTIPLICITY_CONFORMANCE_DIAGNOSTIC_CHAIN_MAP__EEXPRESSION = "\n" +
+ " (self.isSimple and not self.isDefinition) implies\n" +
+ " self.leftHandSide.isMultiplicityConformantWith(self.rightHandSide)";
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean assignmentExpressionSimpleAssignmentMultiplicityConformance(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return AlfValidator.validate
+ (AlfPackage.eINSTANCE.getAssignmentExpression(),
+ this,
+ diagnostics,
+ context,
+ "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot",
+ AlfPackage.eINSTANCE.getAssignmentExpression__AssignmentExpressionSimpleAssignmentMultiplicityConformance__DiagnosticChain_Map(),
+ ASSIGNMENT_EXPRESSION_SIMPLE_ASSIGNMENT_MULTIPLICITY_CONFORMANCE_DIAGNOSTIC_CHAIN_MAP__EEXPRESSION,
+ Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.ASSIGNMENT_EXPRESSION__ASSIGNMENT_EXPRESSION_SIMPLE_ASSIGNMENT_MULTIPLICITY_CONFORMANCE);
+ }
+
+ /**
+ * The cached validation expression for the '{@link #assignmentExpressionCompoundAssignmentTypeConformance(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Assignment Expression Compound Assignment Type Conformance</em>}' invariant
+ * operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #assignmentExpressionCompoundAssignmentTypeConformance(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ * @ordered
+ */
+ protected static final String ASSIGNMENT_EXPRESSION_COMPOUND_ASSIGNMENT_TYPE_CONFORMANCE_DIAGNOSTIC_CHAIN_MAP__EEXPRESSION = "\n" +
+ " not self.isSimple implies\n" +
+ " let lhsType = self.leftHandSide.type in\n" +
+ " let rhsType = self.rightHandSide.type in\n" +
+ " lhsType <> null and rhsType <> null and\n" +
+ " (self.isArithmetic and \n" +
+ " self.isIntegerType(lhsType) and self.isIntegerType(rhsType) or\n" +
+ " self.isLogical and\n" +
+ " (self.isBooleanType(lhsType) and self.isBooleanType(rhsType) or\n" +
+ " self.isBitStringType(lhsType) and \n" +
+ " (self.isBitStringType(rhsType) or self.isIntegerType(rhsType))\n" +
+ " ) or\n" +
+ " self.isShift and\n" +
+ " self.isBitStringType(lhsType) and self.isIntegerType(rhsType) or\n" +
+ " self.isConcatenation and\n" +
+ " self.isStringType(lhsType) and self.isStringType(rhsType)\n" +
+ " )";
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean assignmentExpressionCompoundAssignmentTypeConformance(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return AlfValidator.validate
+ (AlfPackage.eINSTANCE.getAssignmentExpression(),
+ this,
+ diagnostics,
+ context,
+ "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot",
+ AlfPackage.eINSTANCE.getAssignmentExpression__AssignmentExpressionCompoundAssignmentTypeConformance__DiagnosticChain_Map(),
+ ASSIGNMENT_EXPRESSION_COMPOUND_ASSIGNMENT_TYPE_CONFORMANCE_DIAGNOSTIC_CHAIN_MAP__EEXPRESSION,
+ Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.ASSIGNMENT_EXPRESSION__ASSIGNMENT_EXPRESSION_COMPOUND_ASSIGNMENT_TYPE_CONFORMANCE);
+ }
+
+ /**
+ * The cached validation expression for the '{@link #assignmentExpressionCompoundAssignmentMultiplicityConformance(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Assignment Expression Compound Assignment Multiplicity Conformance</em>}'
+ * invariant operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #assignmentExpressionCompoundAssignmentMultiplicityConformance(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ * @ordered
+ */
+ protected static final String ASSIGNMENT_EXPRESSION_COMPOUND_ASSIGNMENT_MULTIPLICITY_CONFORMANCE_DIAGNOSTIC_CHAIN_MAP__EEXPRESSION = "(not self.isSimple) implies \n" +
+ " (self.leftHandSide.upper = 1 and self.rightHandSide.upper = 1)";
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean assignmentExpressionCompoundAssignmentMultiplicityConformance(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return AlfValidator.validate
+ (AlfPackage.eINSTANCE.getAssignmentExpression(),
+ this,
+ diagnostics,
+ context,
+ "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot",
+ AlfPackage.eINSTANCE.getAssignmentExpression__AssignmentExpressionCompoundAssignmentMultiplicityConformance__DiagnosticChain_Map(),
+ ASSIGNMENT_EXPRESSION_COMPOUND_ASSIGNMENT_MULTIPLICITY_CONFORMANCE_DIAGNOSTIC_CHAIN_MAP__EEXPRESSION,
+ Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.ASSIGNMENT_EXPRESSION__ASSIGNMENT_EXPRESSION_COMPOUND_ASSIGNMENT_MULTIPLICITY_CONFORMANCE);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean assignmentExpressionAssignmentsBefore(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.ASSIGNMENT_EXPRESSION__ASSIGNMENT_EXPRESSION_ASSIGNMENTS_BEFORE,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "assignmentExpressionAssignmentsBefore", EObjectValidator.getObjectLabel(this, context) }),
+ new Object[] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean assignmentExpressionIsCollectionConversionDerivation(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.ASSIGNMENT_EXPRESSION__ASSIGNMENT_EXPRESSION_IS_COLLECTION_CONVERSION_DERIVATION,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "assignmentExpressionIsCollectionConversionDerivation", EObjectValidator.getObjectLabel(this, context) }),
+ new Object[] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean assignmentExpressionIsBitStringConversionDerivation(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.ASSIGNMENT_EXPRESSION__ASSIGNMENT_EXPRESSION_IS_BIT_STRING_CONVERSION_DERIVATION,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "assignmentExpressionIsBitStringConversionDerivation", EObjectValidator.getObjectLabel(this, context) }),
+ new Object[] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * The cached validation expression for the '{@link #assignmentExpressionDataValueUpdateLegality(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Assignment Expression Data Value Update Legality</em>}' invariant operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #assignmentExpressionDataValueUpdateLegality(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ * @ordered
+ */
+ protected static final String ASSIGNMENT_EXPRESSION_DATA_VALUE_UPDATE_LEGALITY_DIAGNOSTIC_CHAIN_MAP__EEXPRESSION = "\n" +
+ " let feature = self.leftHandSide.feature() in\n" +
+ " feature <> null implies\n" +
+ " let type = feature.expression.type in\n" +
+ " (type <> null and type.isDataType()) implies\n" +
+ " self.isDataValueUpdate";
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean assignmentExpressionDataValueUpdateLegality(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return AlfValidator.validate
+ (AlfPackage.eINSTANCE.getAssignmentExpression(),
+ this,
+ diagnostics,
+ context,
+ "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot",
+ AlfPackage.eINSTANCE.getAssignmentExpression__AssignmentExpressionDataValueUpdateLegality__DiagnosticChain_Map(),
+ ASSIGNMENT_EXPRESSION_DATA_VALUE_UPDATE_LEGALITY_DIAGNOSTIC_CHAIN_MAP__EEXPRESSION,
+ Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.ASSIGNMENT_EXPRESSION__ASSIGNMENT_EXPRESSION_DATA_VALUE_UPDATE_LEGALITY);
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #updateAssignments() <em>Update Assignments</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #updateAssignments()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate UPDATE_ASSIGNMENTS__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getAssignmentExpression__UpdateAssignments()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<AssignedSource> updateAssignments() {
+ try {
+ return (EList<AssignedSource>) UPDATE_ASSIGNMENTS__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public int eDerivedOperationID(int baseOperationID, Class<?> baseClass) {
+ if (baseClass == SyntaxElement.class) {
+ switch (baseOperationID) {
+ case AlfPackage.SYNTAX_ELEMENT___ASSIGNMENTS_BEFORE__SYNTAXELEMENT:
+ return AlfPackage.ASSIGNMENT_EXPRESSION___ASSIGNMENTS_BEFORE__SYNTAXELEMENT;
+ default:
+ return super.eDerivedOperationID(baseOperationID, baseClass);
+ }
+ }
+ if (baseClass == AssignableElement.class) {
+ switch (baseOperationID) {
+ case AlfPackage.ASSIGNABLE_ELEMENT___TYPE:
+ return AlfPackage.ASSIGNMENT_EXPRESSION___TYPE;
+ case AlfPackage.ASSIGNABLE_ELEMENT___LOWER:
+ return AlfPackage.ASSIGNMENT_EXPRESSION___LOWER;
+ case AlfPackage.ASSIGNABLE_ELEMENT___UPPER:
+ return AlfPackage.ASSIGNMENT_EXPRESSION___UPPER;
+ default:
+ return super.eDerivedOperationID(baseOperationID, baseClass);
+ }
+ }
+ if (baseClass == Expression.class) {
+ switch (baseOperationID) {
+ case AlfPackage.EXPRESSION___UPDATE_ASSIGNMENTS:
+ return AlfPackage.ASSIGNMENT_EXPRESSION___UPDATE_ASSIGNMENTS;
+ default:
+ return super.eDerivedOperationID(baseOperationID, baseClass);
+ }
+ }
+ return super.eDerivedOperationID(baseOperationID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object eInvoke(int operationID, EList<?> arguments) throws InvocationTargetException {
+ switch (operationID) {
+ case AlfPackage.ASSIGNMENT_EXPRESSION___TYPE:
+ return type();
+ case AlfPackage.ASSIGNMENT_EXPRESSION___UPPER:
+ return upper();
+ case AlfPackage.ASSIGNMENT_EXPRESSION___LOWER:
+ return lower();
+ case AlfPackage.ASSIGNMENT_EXPRESSION___ASSIGNMENTS_BEFORE__SYNTAXELEMENT:
+ return assignmentsBefore((SyntaxElement) arguments.get(0));
+ case AlfPackage.ASSIGNMENT_EXPRESSION___ASSIGNMENT_EXPRESSION_IS_SIMPLE_DERIVATION__DIAGNOSTICCHAIN_MAP:
+ return assignmentExpressionIsSimpleDerivation((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ case AlfPackage.ASSIGNMENT_EXPRESSION___ASSIGNMENT_EXPRESSION_IS_ARITHMETIC_DERIVATION__DIAGNOSTICCHAIN_MAP:
+ return assignmentExpressionIsArithmeticDerivation((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ case AlfPackage.ASSIGNMENT_EXPRESSION___ASSIGNMENT_EXPRESSION_IS_DEFINITION_DERIVATION__DIAGNOSTICCHAIN_MAP:
+ return assignmentExpressionIsDefinitionDerivation((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ case AlfPackage.ASSIGNMENT_EXPRESSION___ASSIGNMENT_EXPRESSION_IS_FEATURE_DERIVATION__DIAGNOSTICCHAIN_MAP:
+ return assignmentExpressionIsFeatureDerivation((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ case AlfPackage.ASSIGNMENT_EXPRESSION___ASSIGNMENT_EXPRESSION_IS_INDEXED_DERIVATION__DIAGNOSTICCHAIN_MAP:
+ return assignmentExpressionIsIndexedDerivation((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ case AlfPackage.ASSIGNMENT_EXPRESSION___ASSIGNMENT_EXPRESSION_IS_DATA_VALUE_UPDATE_DERIVATION__DIAGNOSTICCHAIN_MAP:
+ return assignmentExpressionIsDataValueUpdateDerivation((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ case AlfPackage.ASSIGNMENT_EXPRESSION___ASSIGNMENT_EXPRESSION_ASSIGNMENT_DERIVATION__DIAGNOSTICCHAIN_MAP:
+ return assignmentExpressionAssignmentDerivation((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ case AlfPackage.ASSIGNMENT_EXPRESSION___ASSIGNMENT_EXPRESSION_FEATURE_DERIVATION__DIAGNOSTICCHAIN_MAP:
+ return assignmentExpressionFeatureDerivation((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ case AlfPackage.ASSIGNMENT_EXPRESSION___ASSIGNMENT_EXPRESSION_EXPRESSION_DERIVATION__DIAGNOSTICCHAIN_MAP:
+ return assignmentExpressionExpressionDerivation((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ case AlfPackage.ASSIGNMENT_EXPRESSION___ASSIGNMENT_EXPRESSION_TYPE_DERIVATION__DIAGNOSTICCHAIN_MAP:
+ return assignmentExpressionTypeDerivation((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ case AlfPackage.ASSIGNMENT_EXPRESSION___ASSIGNMENT_EXPRESSION_UPPER_DERIVATION__DIAGNOSTICCHAIN_MAP:
+ return assignmentExpressionUpperDerivation((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ case AlfPackage.ASSIGNMENT_EXPRESSION___ASSIGNMENT_EXPRESSION_LOWER_DERIVATION__DIAGNOSTICCHAIN_MAP:
+ return assignmentExpressionLowerDerivation((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ case AlfPackage.ASSIGNMENT_EXPRESSION___ASSIGNMENT_EXPRESSION_SIMPLE_ASSIGNMENT_TYPE_CONFORMANCE__DIAGNOSTICCHAIN_MAP:
+ return assignmentExpressionSimpleAssignmentTypeConformance((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ case AlfPackage.ASSIGNMENT_EXPRESSION___ASSIGNMENT_EXPRESSION_SIMPLE_ASSIGNMENT_MULTIPLICITY_CONFORMANCE__DIAGNOSTICCHAIN_MAP:
+ return assignmentExpressionSimpleAssignmentMultiplicityConformance((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ case AlfPackage.ASSIGNMENT_EXPRESSION___ASSIGNMENT_EXPRESSION_COMPOUND_ASSIGNMENT_TYPE_CONFORMANCE__DIAGNOSTICCHAIN_MAP:
+ return assignmentExpressionCompoundAssignmentTypeConformance((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ case AlfPackage.ASSIGNMENT_EXPRESSION___ASSIGNMENT_EXPRESSION_COMPOUND_ASSIGNMENT_MULTIPLICITY_CONFORMANCE__DIAGNOSTICCHAIN_MAP:
+ return assignmentExpressionCompoundAssignmentMultiplicityConformance((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ case AlfPackage.ASSIGNMENT_EXPRESSION___ASSIGNMENT_EXPRESSION_ASSIGNMENTS_BEFORE__DIAGNOSTICCHAIN_MAP:
+ return assignmentExpressionAssignmentsBefore((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ case AlfPackage.ASSIGNMENT_EXPRESSION___ASSIGNMENT_EXPRESSION_IS_COLLECTION_CONVERSION_DERIVATION__DIAGNOSTICCHAIN_MAP:
+ return assignmentExpressionIsCollectionConversionDerivation((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ case AlfPackage.ASSIGNMENT_EXPRESSION___ASSIGNMENT_EXPRESSION_IS_BIT_STRING_CONVERSION_DERIVATION__DIAGNOSTICCHAIN_MAP:
+ return assignmentExpressionIsBitStringConversionDerivation((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ case AlfPackage.ASSIGNMENT_EXPRESSION___ASSIGNMENT_EXPRESSION_DATA_VALUE_UPDATE_LEGALITY__DIAGNOSTICCHAIN_MAP:
+ return assignmentExpressionDataValueUpdateLegality((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ case AlfPackage.ASSIGNMENT_EXPRESSION___UPDATE_ASSIGNMENTS:
+ return updateAssignments();
+ }
+ return super.eInvoke(operationID, arguments);
+ }
+
+} // AssignmentExpressionImpl
diff --git a/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/AssociationDefinitionImpl.java b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/AssociationDefinitionImpl.java
new file mode 100644
index 00000000000..656af470116
--- /dev/null
+++ b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/AssociationDefinitionImpl.java
@@ -0,0 +1,223 @@
+/**
+ */
+package org.eclipse.papyrus.uml.alf.impl;
+
+import java.lang.reflect.InvocationTargetException;
+import java.util.Map;
+import org.eclipse.emf.common.util.BasicEList;
+import org.eclipse.emf.common.util.Diagnostic;
+import org.eclipse.emf.common.util.DiagnosticChain;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.common.util.WrappedException;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EOperation;
+import org.eclipse.papyrus.uml.alf.AlfPackage;
+import org.eclipse.papyrus.uml.alf.AssociationDefinition;
+import org.eclipse.papyrus.uml.alf.ClassifierDefinition;
+import org.eclipse.papyrus.uml.alf.ElementReference;
+import org.eclipse.papyrus.uml.alf.MemberDefinition;
+import org.eclipse.papyrus.uml.alf.NamespaceDefinition;
+import org.eclipse.papyrus.uml.alf.StereotypeAnnotation;
+import org.eclipse.papyrus.uml.alf.UnitDefinition;
+import org.eclipse.papyrus.uml.alf.util.AlfValidator;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Association Definition</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ *
+ * @generated
+ */
+public class AssociationDefinitionImpl extends ClassifierDefinitionImpl implements AssociationDefinition {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected AssociationDefinitionImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return AlfPackage.eINSTANCE.getAssociationDefinition();
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #matchForStub(org.eclipse.papyrus.uml.alf.UnitDefinition) <em>Match For Stub</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #matchForStub(org.eclipse.papyrus.uml.alf.UnitDefinition)
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate MATCH_FOR_STUB_UNIT_DEFINITION__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getAssociationDefinition__MatchForStub__UnitDefinition()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean matchForStub(UnitDefinition unit) {
+ try {
+ return (Boolean) MATCH_FOR_STUB_UNIT_DEFINITION__EINVOCATION_DELEGATE.dynamicInvoke(this, new BasicEList.UnmodifiableEList<Object>(1, new Object[] { unit }));
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #annotationAllowed(org.eclipse.papyrus.uml.alf.StereotypeAnnotation) <em>Annotation Allowed</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #annotationAllowed(org.eclipse.papyrus.uml.alf.StereotypeAnnotation)
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate ANNOTATION_ALLOWED_STEREOTYPE_ANNOTATION__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getAssociationDefinition__AnnotationAllowed__StereotypeAnnotation())
+ .getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean annotationAllowed(StereotypeAnnotation annotation) {
+ try {
+ return (Boolean) ANNOTATION_ALLOWED_STEREOTYPE_ANNOTATION__EINVOCATION_DELEGATE.dynamicInvoke(this, new BasicEList.UnmodifiableEList<Object>(1, new Object[] { annotation }));
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #isSameKindAs(org.eclipse.papyrus.uml.alf.ElementReference) <em>Is Same Kind As</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #isSameKindAs(org.eclipse.papyrus.uml.alf.ElementReference)
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate IS_SAME_KIND_AS_ELEMENT_REFERENCE__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getAssociationDefinition__IsSameKindAs__ElementReference()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isSameKindAs(ElementReference member) {
+ try {
+ return (Boolean) IS_SAME_KIND_AS_ELEMENT_REFERENCE__EINVOCATION_DELEGATE.dynamicInvoke(this, new BasicEList.UnmodifiableEList<Object>(1, new Object[] { member }));
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached validation expression for the '{@link #associationDefinitionSpecializationReferent(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Association Definition Specialization Referent</em>}' invariant operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #associationDefinitionSpecializationReferent(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ * @ordered
+ */
+ protected static final String ASSOCIATION_DEFINITION_SPECIALIZATION_REFERENT_DIAGNOSTIC_CHAIN_MAP__EEXPRESSION = "\n" +
+ " self.specializationReferent->forAll(isAssociation())";
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean associationDefinitionSpecializationReferent(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return AlfValidator.validate
+ (AlfPackage.eINSTANCE.getAssociationDefinition(),
+ this,
+ diagnostics,
+ context,
+ "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot",
+ AlfPackage.eINSTANCE.getAssociationDefinition__AssociationDefinitionSpecializationReferent__DiagnosticChain_Map(),
+ ASSOCIATION_DEFINITION_SPECIALIZATION_REFERENT_DIAGNOSTIC_CHAIN_MAP__EEXPRESSION,
+ Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.ASSOCIATION_DEFINITION__ASSOCIATION_DEFINITION_SPECIALIZATION_REFERENT);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public int eDerivedOperationID(int baseOperationID, Class<?> baseClass) {
+ if (baseClass == MemberDefinition.class) {
+ switch (baseOperationID) {
+ case AlfPackage.MEMBER_DEFINITION___ANNOTATION_ALLOWED__STEREOTYPEANNOTATION:
+ return AlfPackage.ASSOCIATION_DEFINITION___ANNOTATION_ALLOWED__STEREOTYPEANNOTATION;
+ case AlfPackage.MEMBER_DEFINITION___MATCH_FOR_STUB__UNITDEFINITION:
+ return AlfPackage.ASSOCIATION_DEFINITION___MATCH_FOR_STUB__UNITDEFINITION;
+ case AlfPackage.MEMBER_DEFINITION___IS_SAME_KIND_AS__ELEMENTREFERENCE:
+ return AlfPackage.ASSOCIATION_DEFINITION___IS_SAME_KIND_AS__ELEMENTREFERENCE;
+ default:
+ return super.eDerivedOperationID(baseOperationID, baseClass);
+ }
+ }
+ if (baseClass == NamespaceDefinition.class) {
+ switch (baseOperationID) {
+ case AlfPackage.NAMESPACE_DEFINITION___ANNOTATION_ALLOWED__STEREOTYPEANNOTATION:
+ return AlfPackage.ASSOCIATION_DEFINITION___ANNOTATION_ALLOWED__STEREOTYPEANNOTATION;
+ default:
+ return super.eDerivedOperationID(baseOperationID, baseClass);
+ }
+ }
+ if (baseClass == ClassifierDefinition.class) {
+ switch (baseOperationID) {
+ case AlfPackage.CLASSIFIER_DEFINITION___MATCH_FOR_STUB__UNITDEFINITION:
+ return AlfPackage.ASSOCIATION_DEFINITION___MATCH_FOR_STUB__UNITDEFINITION;
+ default:
+ return super.eDerivedOperationID(baseOperationID, baseClass);
+ }
+ }
+ return super.eDerivedOperationID(baseOperationID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object eInvoke(int operationID, EList<?> arguments) throws InvocationTargetException {
+ switch (operationID) {
+ case AlfPackage.ASSOCIATION_DEFINITION___MATCH_FOR_STUB__UNITDEFINITION:
+ return matchForStub((UnitDefinition) arguments.get(0));
+ case AlfPackage.ASSOCIATION_DEFINITION___ANNOTATION_ALLOWED__STEREOTYPEANNOTATION:
+ return annotationAllowed((StereotypeAnnotation) arguments.get(0));
+ case AlfPackage.ASSOCIATION_DEFINITION___IS_SAME_KIND_AS__ELEMENTREFERENCE:
+ return isSameKindAs((ElementReference) arguments.get(0));
+ case AlfPackage.ASSOCIATION_DEFINITION___ASSOCIATION_DEFINITION_SPECIALIZATION_REFERENT__DIAGNOSTICCHAIN_MAP:
+ return associationDefinitionSpecializationReferent((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ }
+ return super.eInvoke(operationID, arguments);
+ }
+
+} // AssociationDefinitionImpl
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
new file mode 100644
index 00000000000..0ea4a9b4fa0
--- /dev/null
+++ b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/BehaviorInvocationExpressionImpl.java
@@ -0,0 +1,411 @@
+/**
+ */
+package org.eclipse.papyrus.uml.alf.impl;
+
+import java.lang.reflect.InvocationTargetException;
+import java.util.Map;
+import org.eclipse.emf.common.util.BasicDiagnostic;
+import org.eclipse.emf.common.util.BasicEList;
+import org.eclipse.emf.common.util.Diagnostic;
+import org.eclipse.emf.common.util.DiagnosticChain;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.common.util.WrappedException;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EOperation;
+import org.eclipse.emf.ecore.plugin.EcorePlugin;
+import org.eclipse.emf.ecore.util.EObjectValidator;
+import org.eclipse.papyrus.uml.alf.AlfPackage;
+import org.eclipse.papyrus.uml.alf.BehaviorInvocationExpression;
+import org.eclipse.papyrus.uml.alf.ElementReference;
+import org.eclipse.papyrus.uml.alf.Expression;
+import org.eclipse.papyrus.uml.alf.FeatureReference;
+import org.eclipse.papyrus.uml.alf.InvocationExpression;
+import org.eclipse.papyrus.uml.alf.QualifiedName;
+import org.eclipse.papyrus.uml.alf.util.AlfValidator;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Behavior Invocation Expression</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.uml.alf.impl.BehaviorInvocationExpressionImpl#getTarget <em>Target</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class BehaviorInvocationExpressionImpl extends InvocationExpressionImpl implements BehaviorInvocationExpression {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected BehaviorInvocationExpressionImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return AlfPackage.eINSTANCE.getBehaviorInvocationExpression();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public QualifiedName getTarget() {
+ return (QualifiedName) eGet(AlfPackage.eINSTANCE.getBehaviorInvocationExpression_Target(), true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setTarget(QualifiedName newTarget) {
+ eSet(AlfPackage.eINSTANCE.getBehaviorInvocationExpression_Target(), newTarget);
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #isAddTarget(org.eclipse.papyrus.uml.alf.Expression) <em>Is Add Target</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #isAddTarget(org.eclipse.papyrus.uml.alf.Expression)
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate IS_ADD_TARGET_EXPRESSION__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getBehaviorInvocationExpression__IsAddTarget__Expression()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isAddTarget(Expression targetExpression) {
+ try {
+ return (Boolean) IS_ADD_TARGET_EXPRESSION__EINVOCATION_DELEGATE.dynamicInvoke(this, new BasicEList.UnmodifiableEList<Object>(1, new Object[] { targetExpression }));
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #referent() <em>Referent</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #referent()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate REFERENT__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getBehaviorInvocationExpression__Referent()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public ElementReference referent() {
+ try {
+ return (ElementReference) REFERENT__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated NOT
+ */
+ public ElementReference referent1() {
+ return BehaviorInvocation_referent();
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #BehaviorInvocation_referent() <em>Behavior Invocation referent</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #BehaviorInvocation_referent()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate BEHAVIOR_INVOCATION_REFERENT__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getBehaviorInvocationExpression__BehaviorInvocation_referent()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public ElementReference BehaviorInvocation_referent() {
+ try {
+ return (ElementReference) BEHAVIOR_INVOCATION_REFERENT__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #feature() <em>Feature</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #feature()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate FEATURE__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getBehaviorInvocationExpression__Feature()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public FeatureReference feature() {
+ try {
+ return (FeatureReference) FEATURE__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean behaviorInvocationExpressionReferentDerivation(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.BEHAVIOR_INVOCATION_EXPRESSION__BEHAVIOR_INVOCATION_EXPRESSION_REFERENT_DERIVATION,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "behaviorInvocationExpressionReferentDerivation", EObjectValidator.getObjectLabel(this, context) }),
+ new Object[] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean behaviorInvocationExpressionFeatureDerivation(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.BEHAVIOR_INVOCATION_EXPRESSION__BEHAVIOR_INVOCATION_EXPRESSION_FEATURE_DERIVATION,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "behaviorInvocationExpressionFeatureDerivation", EObjectValidator.getObjectLabel(this, context) }),
+ new Object[] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * The cached validation expression for the '{@link #behaviorInvocationExpressionReferentConstraint(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Behavior Invocation Expression Referent Constraint</em>}' invariant operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #behaviorInvocationExpressionReferentConstraint(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ * @ordered
+ */
+ protected static final String BEHAVIOR_INVOCATION_EXPRESSION_REFERENT_CONSTRAINT_DIAGNOSTIC_CHAIN_MAP__EEXPRESSION = "\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()";
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean behaviorInvocationExpressionReferentConstraint(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return AlfValidator.validate
+ (AlfPackage.eINSTANCE.getBehaviorInvocationExpression(),
+ this,
+ diagnostics,
+ context,
+ "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot",
+ AlfPackage.eINSTANCE.getBehaviorInvocationExpression__BehaviorInvocationExpressionReferentConstraint__DiagnosticChain_Map(),
+ BEHAVIOR_INVOCATION_EXPRESSION_REFERENT_CONSTRAINT_DIAGNOSTIC_CHAIN_MAP__EEXPRESSION,
+ Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.BEHAVIOR_INVOCATION_EXPRESSION__BEHAVIOR_INVOCATION_EXPRESSION_REFERENT_CONSTRAINT);
+ }
+
+ /**
+ * The cached validation expression for the '{@link #behaviorInvocationExpressionArgumentCompatibility(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Behavior Invocation Expression Argument Compatibility</em>}' invariant operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #behaviorInvocationExpressionArgumentCompatibility(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ * @ordered
+ */
+ protected static final String BEHAVIOR_INVOCATION_EXPRESSION_ARGUMENT_COMPATIBILITY_DIAGNOSTIC_CHAIN_MAP__EEXPRESSION = "\n" +
+ " -- TODO: Handle overloading for feature invocations.\n" +
+ " self.tuple.size() <= self.parameterCount() and\n" +
+ " self.tuple.input->forAll(input | self.parameterIsAssignableFrom(input)) and\n" +
+ " self.tuple.output->forAll(output | self.parameterIsAssignableTo(output))";
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean behaviorInvocationExpressionArgumentCompatibility(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return AlfValidator.validate
+ (AlfPackage.eINSTANCE.getBehaviorInvocationExpression(),
+ this,
+ diagnostics,
+ context,
+ "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot",
+ AlfPackage.eINSTANCE.getBehaviorInvocationExpression__BehaviorInvocationExpressionArgumentCompatibility__DiagnosticChain_Map(),
+ BEHAVIOR_INVOCATION_EXPRESSION_ARGUMENT_COMPATIBILITY_DIAGNOSTIC_CHAIN_MAP__EEXPRESSION,
+ Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.BEHAVIOR_INVOCATION_EXPRESSION__BEHAVIOR_INVOCATION_EXPRESSION_ARGUMENT_COMPATIBILITY);
+ }
+
+ /**
+ * The cached validation expression for the '{@link #behaviorInvocationExpressionAlternativeConstructor(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Behavior Invocation Expression Alternative Constructor</em>}' invariant operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #behaviorInvocationExpressionAlternativeConstructor(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ * @ordered
+ */
+ protected static final String BEHAVIOR_INVOCATION_EXPRESSION_ALTERNATIVE_CONSTRUCTOR_DIAGNOSTIC_CHAIN_MAP__EEXPRESSION = "\n" +
+ " self.alternativeConstructorIsValid()";
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean behaviorInvocationExpressionAlternativeConstructor(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return AlfValidator.validate
+ (AlfPackage.eINSTANCE.getBehaviorInvocationExpression(),
+ this,
+ diagnostics,
+ context,
+ "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot",
+ AlfPackage.eINSTANCE.getBehaviorInvocationExpression__BehaviorInvocationExpressionAlternativeConstructor__DiagnosticChain_Map(),
+ BEHAVIOR_INVOCATION_EXPRESSION_ALTERNATIVE_CONSTRUCTOR_DIAGNOSTIC_CHAIN_MAP__EEXPRESSION,
+ Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.BEHAVIOR_INVOCATION_EXPRESSION__BEHAVIOR_INVOCATION_EXPRESSION_ALTERNATIVE_CONSTRUCTOR);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public int eDerivedOperationID(int baseOperationID, Class<?> baseClass) {
+ if (baseClass == Expression.class) {
+ switch (baseOperationID) {
+ case AlfPackage.EXPRESSION___IS_ADD_TARGET__EXPRESSION:
+ return AlfPackage.BEHAVIOR_INVOCATION_EXPRESSION___IS_ADD_TARGET__EXPRESSION;
+ default:
+ return super.eDerivedOperationID(baseOperationID, baseClass);
+ }
+ }
+ if (baseClass == InvocationExpression.class) {
+ switch (baseOperationID) {
+ case AlfPackage.INVOCATION_EXPRESSION___FEATURE:
+ return AlfPackage.BEHAVIOR_INVOCATION_EXPRESSION___FEATURE;
+ case AlfPackage.INVOCATION_EXPRESSION___REFERENT:
+ return AlfPackage.BEHAVIOR_INVOCATION_EXPRESSION___REFERENT;
+ default:
+ return super.eDerivedOperationID(baseOperationID, baseClass);
+ }
+ }
+ return super.eDerivedOperationID(baseOperationID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object eInvoke(int operationID, EList<?> arguments) throws InvocationTargetException {
+ switch (operationID) {
+ case AlfPackage.BEHAVIOR_INVOCATION_EXPRESSION___IS_ADD_TARGET__EXPRESSION:
+ return isAddTarget((Expression) arguments.get(0));
+ case AlfPackage.BEHAVIOR_INVOCATION_EXPRESSION___REFERENT:
+ return referent();
+ case AlfPackage.BEHAVIOR_INVOCATION_EXPRESSION___REFERENT1:
+ return referent1();
+ case AlfPackage.BEHAVIOR_INVOCATION_EXPRESSION___BEHAVIOR_INVOCATION_REFERENT:
+ return BehaviorInvocation_referent();
+ case AlfPackage.BEHAVIOR_INVOCATION_EXPRESSION___FEATURE:
+ return feature();
+ case AlfPackage.BEHAVIOR_INVOCATION_EXPRESSION___BEHAVIOR_INVOCATION_EXPRESSION_REFERENT_DERIVATION__DIAGNOSTICCHAIN_MAP:
+ return behaviorInvocationExpressionReferentDerivation((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ case AlfPackage.BEHAVIOR_INVOCATION_EXPRESSION___BEHAVIOR_INVOCATION_EXPRESSION_FEATURE_DERIVATION__DIAGNOSTICCHAIN_MAP:
+ return behaviorInvocationExpressionFeatureDerivation((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ case AlfPackage.BEHAVIOR_INVOCATION_EXPRESSION___BEHAVIOR_INVOCATION_EXPRESSION_REFERENT_CONSTRAINT__DIAGNOSTICCHAIN_MAP:
+ return behaviorInvocationExpressionReferentConstraint((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ case AlfPackage.BEHAVIOR_INVOCATION_EXPRESSION___BEHAVIOR_INVOCATION_EXPRESSION_ARGUMENT_COMPATIBILITY__DIAGNOSTICCHAIN_MAP:
+ return behaviorInvocationExpressionArgumentCompatibility((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ case AlfPackage.BEHAVIOR_INVOCATION_EXPRESSION___BEHAVIOR_INVOCATION_EXPRESSION_ALTERNATIVE_CONSTRUCTOR__DIAGNOSTICCHAIN_MAP:
+ return behaviorInvocationExpressionAlternativeConstructor((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ }
+ return super.eInvoke(operationID, arguments);
+ }
+
+} // BehaviorInvocationExpressionImpl
diff --git a/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/BinaryExpressionImpl.java b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/BinaryExpressionImpl.java
new file mode 100644
index 00000000000..3e3a3a40544
--- /dev/null
+++ b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/BinaryExpressionImpl.java
@@ -0,0 +1,301 @@
+/**
+ */
+package org.eclipse.papyrus.uml.alf.impl;
+
+import java.lang.reflect.InvocationTargetException;
+import java.util.Map;
+import org.eclipse.emf.common.util.Diagnostic;
+import org.eclipse.emf.common.util.DiagnosticChain;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.common.util.WrappedException;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EOperation;
+import org.eclipse.papyrus.uml.alf.AlfPackage;
+import org.eclipse.papyrus.uml.alf.AssignedSource;
+import org.eclipse.papyrus.uml.alf.BinaryExpression;
+import org.eclipse.papyrus.uml.alf.Expression;
+import org.eclipse.papyrus.uml.alf.util.AlfValidator;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Binary Expression</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.uml.alf.impl.BinaryExpressionImpl#getOperand1 <em>Operand1</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.impl.BinaryExpressionImpl#getOperand2 <em>Operand2</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.impl.BinaryExpressionImpl#getOperator <em>Operator</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public abstract class BinaryExpressionImpl extends ExpressionImpl implements BinaryExpression {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected BinaryExpressionImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return AlfPackage.eINSTANCE.getBinaryExpression();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public Expression getOperand1() {
+ return (Expression) eGet(AlfPackage.eINSTANCE.getBinaryExpression_Operand1(), true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setOperand1(Expression newOperand1) {
+ eSet(AlfPackage.eINSTANCE.getBinaryExpression_Operand1(), newOperand1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public Expression getOperand2() {
+ return (Expression) eGet(AlfPackage.eINSTANCE.getBinaryExpression_Operand2(), true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setOperand2(Expression newOperand2) {
+ eSet(AlfPackage.eINSTANCE.getBinaryExpression_Operand2(), newOperand2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public String getOperator() {
+ return (String) eGet(AlfPackage.eINSTANCE.getBinaryExpression_Operator(), true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setOperator(String newOperator) {
+ eSet(AlfPackage.eINSTANCE.getBinaryExpression_Operator(), newOperator);
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #validateAssignments() <em>Validate Assignments</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #validateAssignments()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate VALIDATE_ASSIGNMENTS__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getBinaryExpression__ValidateAssignments()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean binaryExpressionOperandMultiplicity(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return AlfValidator.validate
+ (AlfPackage.eINSTANCE.getBinaryExpression(),
+ this,
+ diagnostics,
+ context,
+ "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot",
+ AlfPackage.eINSTANCE.getBinaryExpression__BinaryExpressionOperandMultiplicity__DiagnosticChain_Map(),
+ BINARY_EXPRESSION_OPERAND_MULTIPLICITY_DIAGNOSTIC_CHAIN_MAP__EEXPRESSION,
+ Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.BINARY_EXPRESSION__BINARY_EXPRESSION_OPERAND_MULTIPLICITY);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean binaryExpressionOperandAssignments(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return AlfValidator.validate
+ (AlfPackage.eINSTANCE.getBinaryExpression(),
+ this,
+ diagnostics,
+ context,
+ "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot",
+ AlfPackage.eINSTANCE.getBinaryExpression__BinaryExpressionOperandAssignments__DiagnosticChain_Map(),
+ BINARY_EXPRESSION_OPERAND_ASSIGNMENTS_DIAGNOSTIC_CHAIN_MAP__EEXPRESSION,
+ Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.BINARY_EXPRESSION__BINARY_EXPRESSION_OPERAND_ASSIGNMENTS);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<AssignedSource> updateAssignments() {
+ try {
+ return (EList<AssignedSource>) UPDATE_ASSIGNMENTS__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public int eDerivedOperationID(int baseOperationID, Class<?> baseClass) {
+ if (baseClass == Expression.class) {
+ switch (baseOperationID) {
+ case AlfPackage.EXPRESSION___UPDATE_ASSIGNMENTS:
+ return AlfPackage.BINARY_EXPRESSION___UPDATE_ASSIGNMENTS;
+ default:
+ return super.eDerivedOperationID(baseOperationID, baseClass);
+ }
+ }
+ return super.eDerivedOperationID(baseOperationID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateAssignments() {
+ try {
+ return (Boolean) VALIDATE_ASSIGNMENTS__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #noNullArguments() <em>No Null Arguments</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #noNullArguments()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate NO_NULL_ARGUMENTS__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getBinaryExpression__NoNullArguments()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean noNullArguments() {
+ try {
+ return (Boolean) NO_NULL_ARGUMENTS__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached validation expression for the '{@link #binaryExpressionOperandMultiplicity(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Binary Expression Operand Multiplicity</em>}' invariant operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #binaryExpressionOperandMultiplicity(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ * @ordered
+ */
+ protected static final String BINARY_EXPRESSION_OPERAND_MULTIPLICITY_DIAGNOSTIC_CHAIN_MAP__EEXPRESSION = "\n" +
+ " if self.noNullArguments() then\n" +
+ " self.operand1.upper = 1 and self.operand2.upper = 1\n" +
+ " else\n" +
+ " self.operand1.upper <= 1 and self.operand2.upper <= 2\n" +
+ " endif";
+ /**
+ * The cached validation expression for the '{@link #binaryExpressionOperandAssignments(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Binary Expression Operand Assignments</em>}' invariant operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #binaryExpressionOperandAssignments(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ * @ordered
+ */
+ protected static final String BINARY_EXPRESSION_OPERAND_ASSIGNMENTS_DIAGNOSTIC_CHAIN_MAP__EEXPRESSION = "self.validateAssignments()";
+ /**
+ * The cached invocation delegate for the '{@link #updateAssignments() <em>Update Assignments</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #updateAssignments()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate UPDATE_ASSIGNMENTS__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getBinaryExpression__UpdateAssignments()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object eInvoke(int operationID, EList<?> arguments) throws InvocationTargetException {
+ switch (operationID) {
+ case AlfPackage.BINARY_EXPRESSION___VALIDATE_ASSIGNMENTS:
+ return validateAssignments();
+ case AlfPackage.BINARY_EXPRESSION___NO_NULL_ARGUMENTS:
+ return noNullArguments();
+ case AlfPackage.BINARY_EXPRESSION___BINARY_EXPRESSION_OPERAND_MULTIPLICITY__DIAGNOSTICCHAIN_MAP:
+ return binaryExpressionOperandMultiplicity((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ case AlfPackage.BINARY_EXPRESSION___BINARY_EXPRESSION_OPERAND_ASSIGNMENTS__DIAGNOSTICCHAIN_MAP:
+ return binaryExpressionOperandAssignments((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ case AlfPackage.BINARY_EXPRESSION___UPDATE_ASSIGNMENTS:
+ return updateAssignments();
+ }
+ return super.eInvoke(operationID, arguments);
+ }
+
+} // BinaryExpressionImpl
diff --git a/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/BitStringUnaryExpressionImpl.java b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/BitStringUnaryExpressionImpl.java
new file mode 100644
index 00000000000..e02713d41c5
--- /dev/null
+++ b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/BitStringUnaryExpressionImpl.java
@@ -0,0 +1,321 @@
+/**
+ */
+package org.eclipse.papyrus.uml.alf.impl;
+
+import java.lang.reflect.InvocationTargetException;
+import java.math.BigInteger;
+import java.util.Map;
+import org.eclipse.emf.common.util.BasicDiagnostic;
+import org.eclipse.emf.common.util.Diagnostic;
+import org.eclipse.emf.common.util.DiagnosticChain;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.common.util.WrappedException;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EOperation;
+import org.eclipse.emf.ecore.plugin.EcorePlugin;
+import org.eclipse.emf.ecore.util.EObjectValidator;
+import org.eclipse.papyrus.uml.alf.AlfPackage;
+import org.eclipse.papyrus.uml.alf.BitStringUnaryExpression;
+import org.eclipse.papyrus.uml.alf.ElementReference;
+import org.eclipse.papyrus.uml.alf.util.AlfValidator;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Bit String Unary Expression</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.uml.alf.impl.BitStringUnaryExpressionImpl#isIsBitStringConversion <em>Is Bit String Conversion</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class BitStringUnaryExpressionImpl extends UnaryExpressionImpl implements BitStringUnaryExpression {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected BitStringUnaryExpressionImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return AlfPackage.eINSTANCE.getBitStringUnaryExpression();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isIsBitStringConversion() {
+ return (Boolean) eGet(AlfPackage.eINSTANCE.getBitStringUnaryExpression_IsBitStringConversion(), true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setIsBitStringConversion(boolean newIsBitStringConversion) {
+ eSet(AlfPackage.eINSTANCE.getBitStringUnaryExpression_IsBitStringConversion(), newIsBitStringConversion);
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #type() <em>Type</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #type()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate TYPE__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getBitStringUnaryExpression__Type()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public ElementReference type() {
+ try {
+ return (ElementReference) TYPE__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #lower() <em>Lower</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #lower()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate LOWER__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getBitStringUnaryExpression__Lower()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public BigInteger lower() {
+ try {
+ return (BigInteger) LOWER__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #upper() <em>Upper</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #upper()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate UPPER__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getBitStringUnaryExpression__Upper()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public BigInteger upper() {
+ try {
+ return (BigInteger) UPPER__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean bitStringUnaryExpressionTypeDerivation(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.BIT_STRING_UNARY_EXPRESSION__BIT_STRING_UNARY_EXPRESSION_TYPE_DERIVATION,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "bitStringUnaryExpressionTypeDerivation", EObjectValidator.getObjectLabel(this, context) }),
+ new Object[] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean bitStringUnaryExpressionLowerDerivation(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.BIT_STRING_UNARY_EXPRESSION__BIT_STRING_UNARY_EXPRESSION_LOWER_DERIVATION,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "bitStringUnaryExpressionLowerDerivation", EObjectValidator.getObjectLabel(this, context) }),
+ new Object[] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean bitStringUnaryExpressionUpperDerivation(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.BIT_STRING_UNARY_EXPRESSION__BIT_STRING_UNARY_EXPRESSION_UPPER_DERIVATION,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "bitStringUnaryExpressionUpperDerivation", EObjectValidator.getObjectLabel(this, context) }),
+ new Object[] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * The cached validation expression for the '{@link #bitStringUnaryExpressionOperand(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Bit String Unary Expression Operand</em>}' invariant operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #bitStringUnaryExpressionOperand(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ * @ordered
+ */
+ protected static final String BIT_STRING_UNARY_EXPRESSION_OPERAND_DIAGNOSTIC_CHAIN_MAP__EEXPRESSION = "\n" +
+ " let operandType = self.operand.type in\n" +
+ " (self.isBitStringType(operandType) or self.isIntegerType(operandType)) and\n" +
+ " self.operand.upper = 1";
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean bitStringUnaryExpressionOperand(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return AlfValidator.validate
+ (AlfPackage.eINSTANCE.getBitStringUnaryExpression(),
+ this,
+ diagnostics,
+ context,
+ "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot",
+ AlfPackage.eINSTANCE.getBitStringUnaryExpression__BitStringUnaryExpressionOperand__DiagnosticChain_Map(),
+ BIT_STRING_UNARY_EXPRESSION_OPERAND_DIAGNOSTIC_CHAIN_MAP__EEXPRESSION,
+ Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.BIT_STRING_UNARY_EXPRESSION__BIT_STRING_UNARY_EXPRESSION_OPERAND);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean bitStringUnaryExpressionIsBitStringConversionDerivation(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.BIT_STRING_UNARY_EXPRESSION__BIT_STRING_UNARY_EXPRESSION_IS_BIT_STRING_CONVERSION_DERIVATION,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "bitStringUnaryExpressionIsBitStringConversionDerivation", EObjectValidator.getObjectLabel(this, context) }),
+ new Object[] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object eInvoke(int operationID, EList<?> arguments) throws InvocationTargetException {
+ switch (operationID) {
+ case AlfPackage.BIT_STRING_UNARY_EXPRESSION___TYPE:
+ return type();
+ case AlfPackage.BIT_STRING_UNARY_EXPRESSION___LOWER:
+ return lower();
+ case AlfPackage.BIT_STRING_UNARY_EXPRESSION___UPPER:
+ return upper();
+ case AlfPackage.BIT_STRING_UNARY_EXPRESSION___BIT_STRING_UNARY_EXPRESSION_TYPE_DERIVATION__DIAGNOSTICCHAIN_MAP:
+ return bitStringUnaryExpressionTypeDerivation((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ case AlfPackage.BIT_STRING_UNARY_EXPRESSION___BIT_STRING_UNARY_EXPRESSION_LOWER_DERIVATION__DIAGNOSTICCHAIN_MAP:
+ return bitStringUnaryExpressionLowerDerivation((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ case AlfPackage.BIT_STRING_UNARY_EXPRESSION___BIT_STRING_UNARY_EXPRESSION_UPPER_DERIVATION__DIAGNOSTICCHAIN_MAP:
+ return bitStringUnaryExpressionUpperDerivation((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ case AlfPackage.BIT_STRING_UNARY_EXPRESSION___BIT_STRING_UNARY_EXPRESSION_OPERAND__DIAGNOSTICCHAIN_MAP:
+ return bitStringUnaryExpressionOperand((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ case AlfPackage.BIT_STRING_UNARY_EXPRESSION___BIT_STRING_UNARY_EXPRESSION_IS_BIT_STRING_CONVERSION_DERIVATION__DIAGNOSTICCHAIN_MAP:
+ return bitStringUnaryExpressionIsBitStringConversionDerivation((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ }
+ return super.eInvoke(operationID, arguments);
+ }
+
+} // BitStringUnaryExpressionImpl
diff --git a/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/BlockImpl.java b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/BlockImpl.java
new file mode 100644
index 00000000000..4a7f4f26bba
--- /dev/null
+++ b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/BlockImpl.java
@@ -0,0 +1,268 @@
+/**
+ */
+package org.eclipse.papyrus.uml.alf.impl;
+
+import java.lang.reflect.InvocationTargetException;
+import java.util.Map;
+import org.eclipse.emf.common.util.BasicDiagnostic;
+import org.eclipse.emf.common.util.BasicEList;
+import org.eclipse.emf.common.util.Diagnostic;
+import org.eclipse.emf.common.util.DiagnosticChain;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.common.util.WrappedException;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EOperation;
+import org.eclipse.emf.ecore.plugin.EcorePlugin;
+import org.eclipse.emf.ecore.util.EObjectValidator;
+import org.eclipse.papyrus.uml.alf.AlfPackage;
+import org.eclipse.papyrus.uml.alf.AnnotatedStatement;
+import org.eclipse.papyrus.uml.alf.AssignedSource;
+import org.eclipse.papyrus.uml.alf.Block;
+import org.eclipse.papyrus.uml.alf.SyntaxElement;
+import org.eclipse.papyrus.uml.alf.util.AlfValidator;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Block</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.uml.alf.impl.BlockImpl#getStatement <em>Statement</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.impl.BlockImpl#getAssignmentAfter <em>Assignment After</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.impl.BlockImpl#getAssignmentBefore <em>Assignment Before</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class BlockImpl extends SyntaxElementImpl implements Block {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected BlockImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return AlfPackage.eINSTANCE.getBlock();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<AnnotatedStatement> getStatement() {
+ return (EList<AnnotatedStatement>) eGet(AlfPackage.eINSTANCE.getBlock_Statement(), true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<AssignedSource> getAssignmentAfter() {
+ return (EList<AssignedSource>) eGet(AlfPackage.eINSTANCE.getBlock_AssignmentAfter(), true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<AssignedSource> getAssignmentBefore() {
+ return (EList<AssignedSource>) eGet(AlfPackage.eINSTANCE.getBlock_AssignmentBefore(), true);
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #assignmentsBefore(org.eclipse.papyrus.uml.alf.SyntaxElement) <em>Assignments Before</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #assignmentsBefore(org.eclipse.papyrus.uml.alf.SyntaxElement)
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate ASSIGNMENTS_BEFORE_SYNTAX_ELEMENT__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getBlock__AssignmentsBefore__SyntaxElement()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<AssignedSource> assignmentsBefore(SyntaxElement element) {
+ try {
+ return (EList<AssignedSource>) ASSIGNMENTS_BEFORE_SYNTAX_ELEMENT__EINVOCATION_DELEGATE.dynamicInvoke(this, new BasicEList.UnmodifiableEList<Object>(1, new Object[] { element }));
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #newAssignments() <em>New Assignments</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #newAssignments()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate NEW_ASSIGNMENTS__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getBlock__NewAssignments()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<AssignedSource> newAssignments() {
+ try {
+ return (EList<AssignedSource>) NEW_ASSIGNMENTS__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean blockAssignmentsBeforeStatements(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.BLOCK__BLOCK_ASSIGNMENTS_BEFORE_STATEMENTS,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "blockAssignmentsBeforeStatements", EObjectValidator.getObjectLabel(this, context) }),
+ new Object[] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean blockAssignmentsBefore(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.BLOCK__BLOCK_ASSIGNMENTS_BEFORE,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "blockAssignmentsBefore", EObjectValidator.getObjectLabel(this, context) }),
+ new Object[] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean blockAssignmentAfterDerivation(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.BLOCK__BLOCK_ASSIGNMENT_AFTER_DERIVATION,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "blockAssignmentAfterDerivation", EObjectValidator.getObjectLabel(this, context) }),
+ new Object[] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public int eDerivedOperationID(int baseOperationID, Class<?> baseClass) {
+ if (baseClass == SyntaxElement.class) {
+ switch (baseOperationID) {
+ case AlfPackage.SYNTAX_ELEMENT___ASSIGNMENTS_BEFORE__SYNTAXELEMENT:
+ return AlfPackage.BLOCK___ASSIGNMENTS_BEFORE__SYNTAXELEMENT;
+ default:
+ return super.eDerivedOperationID(baseOperationID, baseClass);
+ }
+ }
+ return super.eDerivedOperationID(baseOperationID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object eInvoke(int operationID, EList<?> arguments) throws InvocationTargetException {
+ switch (operationID) {
+ case AlfPackage.BLOCK___ASSIGNMENTS_BEFORE__SYNTAXELEMENT:
+ return assignmentsBefore((SyntaxElement) arguments.get(0));
+ case AlfPackage.BLOCK___NEW_ASSIGNMENTS:
+ return newAssignments();
+ case AlfPackage.BLOCK___BLOCK_ASSIGNMENTS_BEFORE_STATEMENTS__DIAGNOSTICCHAIN_MAP:
+ return blockAssignmentsBeforeStatements((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ case AlfPackage.BLOCK___BLOCK_ASSIGNMENTS_BEFORE__DIAGNOSTICCHAIN_MAP:
+ return blockAssignmentsBefore((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ case AlfPackage.BLOCK___BLOCK_ASSIGNMENT_AFTER_DERIVATION__DIAGNOSTICCHAIN_MAP:
+ return blockAssignmentAfterDerivation((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ }
+ return super.eInvoke(operationID, arguments);
+ }
+
+} // BlockImpl
diff --git a/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/BlockStatementImpl.java b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/BlockStatementImpl.java
new file mode 100644
index 00000000000..19859d25215
--- /dev/null
+++ b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/BlockStatementImpl.java
@@ -0,0 +1,341 @@
+/**
+ */
+package org.eclipse.papyrus.uml.alf.impl;
+
+import java.lang.reflect.InvocationTargetException;
+import java.util.Map;
+import org.eclipse.emf.common.util.BasicDiagnostic;
+import org.eclipse.emf.common.util.BasicEList;
+import org.eclipse.emf.common.util.Diagnostic;
+import org.eclipse.emf.common.util.DiagnosticChain;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.common.util.WrappedException;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EOperation;
+import org.eclipse.emf.ecore.plugin.EcorePlugin;
+import org.eclipse.emf.ecore.util.EObjectValidator;
+import org.eclipse.papyrus.uml.alf.AlfPackage;
+import org.eclipse.papyrus.uml.alf.Annotation;
+import org.eclipse.papyrus.uml.alf.AssignedSource;
+import org.eclipse.papyrus.uml.alf.Block;
+import org.eclipse.papyrus.uml.alf.BlockStatement;
+import org.eclipse.papyrus.uml.alf.Statement;
+import org.eclipse.papyrus.uml.alf.util.AlfValidator;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Block Statement</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.uml.alf.impl.BlockStatementImpl#getBlock <em>Block</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.impl.BlockStatementImpl#isIsParallel <em>Is Parallel</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class BlockStatementImpl extends StatementImpl implements BlockStatement {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected BlockStatementImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return AlfPackage.eINSTANCE.getBlockStatement();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public Block getBlock() {
+ return (Block) eGet(AlfPackage.eINSTANCE.getBlockStatement_Block(), true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setBlock(Block newBlock) {
+ eSet(AlfPackage.eINSTANCE.getBlockStatement_Block(), newBlock);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isIsParallel() {
+ return (Boolean) eGet(AlfPackage.eINSTANCE.getBlockStatement_IsParallel(), true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setIsParallel(boolean newIsParallel) {
+ eSet(AlfPackage.eINSTANCE.getBlockStatement_IsParallel(), newIsParallel);
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #assignmentsAfter() <em>Assignments After</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #assignmentsAfter()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate ASSIGNMENTS_AFTER__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getBlockStatement__AssignmentsAfter()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<AssignedSource> assignmentsAfter() {
+ try {
+ return (EList<AssignedSource>) ASSIGNMENTS_AFTER__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached validation expression for the '{@link #blockStatementParallelAssignments(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Block Statement Parallel Assignments</em>}' invariant operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #blockStatementParallelAssignments(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ * @ordered
+ */
+ protected static final String BLOCK_STATEMENT_PARALLEL_ASSIGNMENTS_DIAGNOSTIC_CHAIN_MAP__EEXPRESSION = "\n" +
+ " if not self.isParallel or self.block = null then true\n" +
+ " else self.block.statement.statement.newAssignments()->\n" +
+ " isUnique(name)\n" +
+ " endif";
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean blockStatementParallelAssignments(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return AlfValidator.validate
+ (AlfPackage.eINSTANCE.getBlockStatement(),
+ this,
+ diagnostics,
+ context,
+ "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot",
+ AlfPackage.eINSTANCE.getBlockStatement__BlockStatementParallelAssignments__DiagnosticChain_Map(),
+ BLOCK_STATEMENT_PARALLEL_ASSIGNMENTS_DIAGNOSTIC_CHAIN_MAP__EEXPRESSION,
+ Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.BLOCK_STATEMENT__BLOCK_STATEMENT_PARALLEL_ASSIGNMENTS);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean blockStatementAssignmentsBefore(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.BLOCK_STATEMENT__BLOCK_STATEMENT_ASSIGNMENTS_BEFORE,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "blockStatementAssignmentsBefore", EObjectValidator.getObjectLabel(this, context) }),
+ new Object[] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean blockStatementAssignmentsAfter(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.BLOCK_STATEMENT__BLOCK_STATEMENT_ASSIGNMENTS_AFTER,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "blockStatementAssignmentsAfter", EObjectValidator.getObjectLabel(this, context) }),
+ new Object[] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean blockStatementEnclosedStatements(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.BLOCK_STATEMENT__BLOCK_STATEMENT_ENCLOSED_STATEMENTS,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "blockStatementEnclosedStatements", EObjectValidator.getObjectLabel(this, context) }),
+ new Object[] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean blockStatementIsParallelDerivation(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.BLOCK_STATEMENT__BLOCK_STATEMENT_IS_PARALLEL_DERIVATION,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "blockStatementIsParallelDerivation", EObjectValidator.getObjectLabel(this, context) }),
+ new Object[] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #annotationAllowed(org.eclipse.papyrus.uml.alf.Annotation) <em>Annotation Allowed</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #annotationAllowed(org.eclipse.papyrus.uml.alf.Annotation)
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate ANNOTATION_ALLOWED_ANNOTATION__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getBlockStatement__AnnotationAllowed__Annotation()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean annotationAllowed(Annotation annotation) {
+ try {
+ return (Boolean) ANNOTATION_ALLOWED_ANNOTATION__EINVOCATION_DELEGATE.dynamicInvoke(this, new BasicEList.UnmodifiableEList<Object>(1, new Object[] { annotation }));
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public int eDerivedOperationID(int baseOperationID, Class<?> baseClass) {
+ if (baseClass == Statement.class) {
+ switch (baseOperationID) {
+ case AlfPackage.STATEMENT___ANNOTATION_ALLOWED__ANNOTATION:
+ return AlfPackage.BLOCK_STATEMENT___ANNOTATION_ALLOWED__ANNOTATION;
+ case AlfPackage.STATEMENT___ASSIGNMENTS_AFTER:
+ return AlfPackage.BLOCK_STATEMENT___ASSIGNMENTS_AFTER;
+ default:
+ return super.eDerivedOperationID(baseOperationID, baseClass);
+ }
+ }
+ return super.eDerivedOperationID(baseOperationID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object eInvoke(int operationID, EList<?> arguments) throws InvocationTargetException {
+ switch (operationID) {
+ case AlfPackage.BLOCK_STATEMENT___ASSIGNMENTS_AFTER:
+ return assignmentsAfter();
+ case AlfPackage.BLOCK_STATEMENT___BLOCK_STATEMENT_PARALLEL_ASSIGNMENTS__DIAGNOSTICCHAIN_MAP:
+ return blockStatementParallelAssignments((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ case AlfPackage.BLOCK_STATEMENT___BLOCK_STATEMENT_ASSIGNMENTS_BEFORE__DIAGNOSTICCHAIN_MAP:
+ return blockStatementAssignmentsBefore((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ case AlfPackage.BLOCK_STATEMENT___BLOCK_STATEMENT_ASSIGNMENTS_AFTER__DIAGNOSTICCHAIN_MAP:
+ return blockStatementAssignmentsAfter((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ case AlfPackage.BLOCK_STATEMENT___BLOCK_STATEMENT_ENCLOSED_STATEMENTS__DIAGNOSTICCHAIN_MAP:
+ return blockStatementEnclosedStatements((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ case AlfPackage.BLOCK_STATEMENT___BLOCK_STATEMENT_IS_PARALLEL_DERIVATION__DIAGNOSTICCHAIN_MAP:
+ return blockStatementIsParallelDerivation((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ case AlfPackage.BLOCK_STATEMENT___ANNOTATION_ALLOWED__ANNOTATION:
+ return annotationAllowed((Annotation) arguments.get(0));
+ }
+ return super.eInvoke(operationID, arguments);
+ }
+
+} // BlockStatementImpl
diff --git a/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/BooleanLiteralExpressionImpl.java b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/BooleanLiteralExpressionImpl.java
new file mode 100644
index 00000000000..d5dda13c05b
--- /dev/null
+++ b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/BooleanLiteralExpressionImpl.java
@@ -0,0 +1,146 @@
+/**
+ */
+package org.eclipse.papyrus.uml.alf.impl;
+
+import java.lang.reflect.InvocationTargetException;
+import java.util.Map;
+import org.eclipse.emf.common.util.BasicDiagnostic;
+import org.eclipse.emf.common.util.Diagnostic;
+import org.eclipse.emf.common.util.DiagnosticChain;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.common.util.WrappedException;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EOperation;
+import org.eclipse.emf.ecore.plugin.EcorePlugin;
+import org.eclipse.emf.ecore.util.EObjectValidator;
+import org.eclipse.papyrus.uml.alf.AlfPackage;
+import org.eclipse.papyrus.uml.alf.BooleanLiteralExpression;
+import org.eclipse.papyrus.uml.alf.ElementReference;
+import org.eclipse.papyrus.uml.alf.util.AlfValidator;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Boolean Literal Expression</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.uml.alf.impl.BooleanLiteralExpressionImpl#getImage <em>Image</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class BooleanLiteralExpressionImpl extends LiteralExpressionImpl implements BooleanLiteralExpression {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected BooleanLiteralExpressionImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return AlfPackage.eINSTANCE.getBooleanLiteralExpression();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public String getImage() {
+ return (String) eGet(AlfPackage.eINSTANCE.getBooleanLiteralExpression_Image(), true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setImage(String newImage) {
+ eSet(AlfPackage.eINSTANCE.getBooleanLiteralExpression_Image(), newImage);
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #type() <em>Type</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #type()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate TYPE__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getBooleanLiteralExpression__Type()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public ElementReference type() {
+ try {
+ return (ElementReference) TYPE__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean booleanLiteralExpressionTypeDerivation(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.BOOLEAN_LITERAL_EXPRESSION__BOOLEAN_LITERAL_EXPRESSION_TYPE_DERIVATION,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "booleanLiteralExpressionTypeDerivation", EObjectValidator.getObjectLabel(this, context) }),
+ new Object[] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object eInvoke(int operationID, EList<?> arguments) throws InvocationTargetException {
+ switch (operationID) {
+ case AlfPackage.BOOLEAN_LITERAL_EXPRESSION___TYPE:
+ return type();
+ case AlfPackage.BOOLEAN_LITERAL_EXPRESSION___BOOLEAN_LITERAL_EXPRESSION_TYPE_DERIVATION__DIAGNOSTICCHAIN_MAP:
+ return booleanLiteralExpressionTypeDerivation((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ }
+ return super.eInvoke(operationID, arguments);
+ }
+
+} // BooleanLiteralExpressionImpl
diff --git a/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/BooleanUnaryExpressionImpl.java b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/BooleanUnaryExpressionImpl.java
new file mode 100644
index 00000000000..f58e5ae29b6
--- /dev/null
+++ b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/BooleanUnaryExpressionImpl.java
@@ -0,0 +1,264 @@
+/**
+ */
+package org.eclipse.papyrus.uml.alf.impl;
+
+import java.lang.reflect.InvocationTargetException;
+import java.math.BigInteger;
+import java.util.Map;
+import org.eclipse.emf.common.util.BasicDiagnostic;
+import org.eclipse.emf.common.util.Diagnostic;
+import org.eclipse.emf.common.util.DiagnosticChain;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.common.util.WrappedException;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EOperation;
+import org.eclipse.emf.ecore.plugin.EcorePlugin;
+import org.eclipse.emf.ecore.util.EObjectValidator;
+import org.eclipse.papyrus.uml.alf.AlfPackage;
+import org.eclipse.papyrus.uml.alf.BooleanUnaryExpression;
+import org.eclipse.papyrus.uml.alf.ElementReference;
+import org.eclipse.papyrus.uml.alf.util.AlfValidator;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Boolean Unary Expression</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ *
+ * @generated
+ */
+public class BooleanUnaryExpressionImpl extends UnaryExpressionImpl implements BooleanUnaryExpression {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected BooleanUnaryExpressionImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return AlfPackage.eINSTANCE.getBooleanUnaryExpression();
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #type() <em>Type</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #type()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate TYPE__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getBooleanUnaryExpression__Type()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public ElementReference type() {
+ try {
+ return (ElementReference) TYPE__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #lower() <em>Lower</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #lower()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate LOWER__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getBooleanUnaryExpression__Lower()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public BigInteger lower() {
+ try {
+ return (BigInteger) LOWER__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #upper() <em>Upper</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #upper()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate UPPER__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getBooleanUnaryExpression__Upper()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public BigInteger upper() {
+ try {
+ return (BigInteger) UPPER__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean booleanUnaryExpressionTypeDerivation(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.BOOLEAN_UNARY_EXPRESSION__BOOLEAN_UNARY_EXPRESSION_TYPE_DERIVATION,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "booleanUnaryExpressionTypeDerivation", EObjectValidator.getObjectLabel(this, context) }),
+ new Object[] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean booleanUnaryExpressionLowerDerivation(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.BOOLEAN_UNARY_EXPRESSION__BOOLEAN_UNARY_EXPRESSION_LOWER_DERIVATION,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "booleanUnaryExpressionLowerDerivation", EObjectValidator.getObjectLabel(this, context) }),
+ new Object[] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean booleanUnaryExpressionUpperDerivation(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.BOOLEAN_UNARY_EXPRESSION__BOOLEAN_UNARY_EXPRESSION_UPPER_DERIVATION,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "booleanUnaryExpressionUpperDerivation", EObjectValidator.getObjectLabel(this, context) }),
+ new Object[] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * The cached validation expression for the '{@link #booleanUnaryExpressionOperand(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Boolean Unary Expression Operand</em>}' invariant operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #booleanUnaryExpressionOperand(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ * @ordered
+ */
+ protected static final String BOOLEAN_UNARY_EXPRESSION_OPERAND_DIAGNOSTIC_CHAIN_MAP__EEXPRESSION = "self.isBooleanType(self.operand.type) and self.operand.upper = 1";
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean booleanUnaryExpressionOperand(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return AlfValidator.validate
+ (AlfPackage.eINSTANCE.getBooleanUnaryExpression(),
+ this,
+ diagnostics,
+ context,
+ "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot",
+ AlfPackage.eINSTANCE.getBooleanUnaryExpression__BooleanUnaryExpressionOperand__DiagnosticChain_Map(),
+ BOOLEAN_UNARY_EXPRESSION_OPERAND_DIAGNOSTIC_CHAIN_MAP__EEXPRESSION,
+ Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.BOOLEAN_UNARY_EXPRESSION__BOOLEAN_UNARY_EXPRESSION_OPERAND);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object eInvoke(int operationID, EList<?> arguments) throws InvocationTargetException {
+ switch (operationID) {
+ case AlfPackage.BOOLEAN_UNARY_EXPRESSION___TYPE:
+ return type();
+ case AlfPackage.BOOLEAN_UNARY_EXPRESSION___LOWER:
+ return lower();
+ case AlfPackage.BOOLEAN_UNARY_EXPRESSION___UPPER:
+ return upper();
+ case AlfPackage.BOOLEAN_UNARY_EXPRESSION___BOOLEAN_UNARY_EXPRESSION_TYPE_DERIVATION__DIAGNOSTICCHAIN_MAP:
+ return booleanUnaryExpressionTypeDerivation((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ case AlfPackage.BOOLEAN_UNARY_EXPRESSION___BOOLEAN_UNARY_EXPRESSION_LOWER_DERIVATION__DIAGNOSTICCHAIN_MAP:
+ return booleanUnaryExpressionLowerDerivation((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ case AlfPackage.BOOLEAN_UNARY_EXPRESSION___BOOLEAN_UNARY_EXPRESSION_UPPER_DERIVATION__DIAGNOSTICCHAIN_MAP:
+ return booleanUnaryExpressionUpperDerivation((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ case AlfPackage.BOOLEAN_UNARY_EXPRESSION___BOOLEAN_UNARY_EXPRESSION_OPERAND__DIAGNOSTICCHAIN_MAP:
+ return booleanUnaryExpressionOperand((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ }
+ return super.eInvoke(operationID, arguments);
+ }
+
+} // BooleanUnaryExpressionImpl
diff --git a/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/BoundClassifierImpl.java b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/BoundClassifierImpl.java
new file mode 100644
index 00000000000..4adf5b12432
--- /dev/null
+++ b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/BoundClassifierImpl.java
@@ -0,0 +1,133 @@
+/**
+ */
+package org.eclipse.papyrus.uml.alf.impl;
+
+import java.lang.reflect.InvocationTargetException;
+
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.common.util.WrappedException;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EOperation;
+import org.eclipse.papyrus.uml.alf.AlfPackage;
+import org.eclipse.papyrus.uml.alf.BoundClassifier;
+import org.eclipse.papyrus.uml.alf.ElementReference;
+import org.eclipse.papyrus.uml.alf.SyntaxElement;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Bound Classifier</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.uml.alf.impl.BoundClassifierImpl#getTemplate <em>Template</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.impl.BoundClassifierImpl#getActual <em>Actual</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class BoundClassifierImpl extends ClassifierDefinitionImpl implements BoundClassifier {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected BoundClassifierImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return AlfPackage.eINSTANCE.getBoundClassifier();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public ElementReference getTemplate() {
+ return (ElementReference) eGet(AlfPackage.eINSTANCE.getBoundClassifier_Template(), true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setTemplate(ElementReference newTemplate) {
+ eSet(AlfPackage.eINSTANCE.getBoundClassifier_Template(), newTemplate);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<ElementReference> getActual() {
+ return (EList<ElementReference>) eGet(AlfPackage.eINSTANCE.getBoundClassifier_Actual(), true);
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #toReference() <em>To Reference</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #toReference()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate TO_REFERENCE__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getBoundClassifier__ToReference()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public ElementReference toReference() {
+ try {
+ return (ElementReference) TO_REFERENCE__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public int eDerivedOperationID(int baseOperationID, Class<?> baseClass) {
+ if (baseClass == SyntaxElement.class) {
+ switch (baseOperationID) {
+ case AlfPackage.SYNTAX_ELEMENT___TO_REFERENCE:
+ return AlfPackage.BOUND_CLASSIFIER___TO_REFERENCE;
+ default:
+ return super.eDerivedOperationID(baseOperationID, baseClass);
+ }
+ }
+ return super.eDerivedOperationID(baseOperationID, baseClass);
+ }
+
+ @Override
+ public Object eInvoke(int operationID, EList<?> arguments) throws InvocationTargetException {
+ return super.eInvoke(operationID, arguments);
+ }
+
+} // BoundClassifierImpl
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
new file mode 100644
index 00000000000..890004b6a35
--- /dev/null
+++ b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/BoundElementReferenceImpl.java
@@ -0,0 +1,2638 @@
+/**
+ */
+package org.eclipse.papyrus.uml.alf.impl;
+
+import java.lang.reflect.InvocationTargetException;
+import java.math.BigInteger;
+import org.eclipse.emf.common.util.BasicEList;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.common.util.WrappedException;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EOperation;
+import org.eclipse.papyrus.uml.alf.AlfPackage;
+import org.eclipse.papyrus.uml.alf.BoundElementReference;
+import org.eclipse.papyrus.uml.alf.ElementReference;
+import org.eclipse.papyrus.uml.alf.Member;
+import org.eclipse.papyrus.uml.alf.SyntaxElement;
+import org.eclipse.papyrus.uml.alf.UnitDefinition;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Bound Element Reference</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.uml.alf.impl.BoundElementReferenceImpl#getReferent <em>Referent</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.impl.BoundElementReferenceImpl#getNamespace <em>Namespace</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.impl.BoundElementReferenceImpl#getTemplateBinding <em>Template Binding</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class BoundElementReferenceImpl extends ElementReferenceImpl implements BoundElementReference {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected BoundElementReferenceImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return AlfPackage.eINSTANCE.getBoundElementReference();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public ElementReference getReferent() {
+ return (ElementReference) eGet(AlfPackage.eINSTANCE.getBoundElementReference_Referent(), true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setReferent(ElementReference newReferent) {
+ eSet(AlfPackage.eINSTANCE.getBoundElementReference_Referent(), newReferent);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public ElementReference getNamespace() {
+ return (ElementReference) eGet(AlfPackage.eINSTANCE.getBoundElementReference_Namespace(), true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setNamespace(ElementReference newNamespace) {
+ eSet(AlfPackage.eINSTANCE.getBoundElementReference_Namespace(), newNamespace);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public ElementReference getTemplateBinding() {
+ return (ElementReference) eGet(AlfPackage.eINSTANCE.getBoundElementReference_TemplateBinding(), true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setTemplateBinding(ElementReference newTemplateBinding) {
+ eSet(AlfPackage.eINSTANCE.getBoundElementReference_TemplateBinding(), newTemplateBinding);
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #isUml() <em>Is Uml</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #isUml()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate IS_UML__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getBoundElementReference__IsUml()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isUml() {
+ try {
+ return (Boolean) IS_UML__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #isAlf() <em>Is Alf</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #isAlf()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate IS_ALF__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getBoundElementReference__IsAlf()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isAlf() {
+ try {
+ return (Boolean) IS_ALF__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #asUml() <em>As Uml</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #asUml()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate AS_UML__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getBoundElementReference__AsUml()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EObject asUml() {
+ try {
+ return (EObject) AS_UML__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #asAlf() <em>As Alf</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #asAlf()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate AS_ALF__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getBoundElementReference__AsAlf()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public SyntaxElement asAlf() {
+ try {
+ return (SyntaxElement) AS_ALF__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #asMember() <em>As Member</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #asMember()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate AS_MEMBER__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getBoundElementReference__AsMember()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public Member asMember() {
+ try {
+ return (Member) AS_MEMBER__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #isSameKindAs(org.eclipse.papyrus.uml.alf.ElementReference) <em>Is Same Kind As</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #isSameKindAs(org.eclipse.papyrus.uml.alf.ElementReference)
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate IS_SAME_KIND_AS_ELEMENT_REFERENCE__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getBoundElementReference__IsSameKindAs__ElementReference()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isSameKindAs(ElementReference member) {
+ try {
+ return (Boolean) IS_SAME_KIND_AS_ELEMENT_REFERENCE__EINVOCATION_DELEGATE.dynamicInvoke(this, new BasicEList.UnmodifiableEList<Object>(1, new Object[] { member }));
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #isNamedElement() <em>Is Named Element</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #isNamedElement()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate IS_NAMED_ELEMENT__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getBoundElementReference__IsNamedElement()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isNamedElement() {
+ try {
+ return (Boolean) IS_NAMED_ELEMENT__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #isNamespace() <em>Is Namespace</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #isNamespace()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate IS_NAMESPACE__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getBoundElementReference__IsNamespace()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isNamespace() {
+ try {
+ return (Boolean) IS_NAMESPACE__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #isNamespaceFor(org.eclipse.papyrus.uml.alf.UnitDefinition) <em>Is Namespace For</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #isNamespaceFor(org.eclipse.papyrus.uml.alf.UnitDefinition)
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate IS_NAMESPACE_FOR_UNIT_DEFINITION__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getBoundElementReference__IsNamespaceFor__UnitDefinition()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isNamespaceFor(UnitDefinition unit) {
+ try {
+ return (Boolean) IS_NAMESPACE_FOR_UNIT_DEFINITION__EINVOCATION_DELEGATE.dynamicInvoke(this, new BasicEList.UnmodifiableEList<Object>(1, new Object[] { unit }));
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #isModelNamespace() <em>Is Model Namespace</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #isModelNamespace()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate IS_MODEL_NAMESPACE__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getBoundElementReference__IsModelNamespace()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isModelNamespace() {
+ try {
+ return (Boolean) IS_MODEL_NAMESPACE__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #isPackage() <em>Is Package</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #isPackage()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate IS_PACKAGE__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getBoundElementReference__IsPackage()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isPackage() {
+ try {
+ return (Boolean) IS_PACKAGE__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #isProfile() <em>Is Profile</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #isProfile()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate IS_PROFILE__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getBoundElementReference__IsProfile()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isProfile() {
+ try {
+ return (Boolean) IS_PROFILE__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #isPackageableElement() <em>Is Packageable Element</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #isPackageableElement()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate IS_PACKAGEABLE_ELEMENT__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getBoundElementReference__IsPackageableElement()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isPackageableElement() {
+ try {
+ return (Boolean) IS_PACKAGEABLE_ELEMENT__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #isClassifier() <em>Is Classifier</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #isClassifier()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate IS_CLASSIFIER__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getBoundElementReference__IsClassifier()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isClassifier() {
+ try {
+ return (Boolean) IS_CLASSIFIER__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #isAbstractClassifier() <em>Is Abstract Classifier</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #isAbstractClassifier()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate IS_ABSTRACT_CLASSIFIER__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getBoundElementReference__IsAbstractClassifier()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isAbstractClassifier() {
+ try {
+ return (Boolean) IS_ABSTRACT_CLASSIFIER__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #isAssociation() <em>Is Association</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #isAssociation()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate IS_ASSOCIATION__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getBoundElementReference__IsAssociation()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isAssociation() {
+ try {
+ return (Boolean) IS_ASSOCIATION__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #isDataType() <em>Is Data Type</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #isDataType()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate IS_DATA_TYPE__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getBoundElementReference__IsDataType()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isDataType() {
+ try {
+ return (Boolean) IS_DATA_TYPE__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #isClass() <em>Is Class</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #isClass()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate IS_CLASS__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getBoundElementReference__IsClass()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isClass() {
+ try {
+ return (Boolean) IS_CLASS__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #isActiveClass() <em>Is Active Class</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #isActiveClass()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate IS_ACTIVE_CLASS__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getBoundElementReference__IsActiveClass()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isActiveClass() {
+ try {
+ return (Boolean) IS_ACTIVE_CLASS__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #isSignal() <em>Is Signal</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #isSignal()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate IS_SIGNAL__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getBoundElementReference__IsSignal()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isSignal() {
+ try {
+ return (Boolean) IS_SIGNAL__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #isEnumeration() <em>Is Enumeration</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #isEnumeration()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate IS_ENUMERATION__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getBoundElementReference__IsEnumeration()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isEnumeration() {
+ try {
+ return (Boolean) IS_ENUMERATION__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #isBehavior() <em>Is Behavior</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #isBehavior()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate IS_BEHAVIOR__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getBoundElementReference__IsBehavior()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isBehavior() {
+ try {
+ return (Boolean) IS_BEHAVIOR__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #isActivity() <em>Is Activity</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #isActivity()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate IS_ACTIVITY__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getBoundElementReference__IsActivity()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isActivity() {
+ try {
+ return (Boolean) IS_ACTIVITY__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #isMethod() <em>Is Method</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #isMethod()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate IS_METHOD__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getBoundElementReference__IsMethod()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isMethod() {
+ try {
+ return (Boolean) IS_METHOD__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #isPrimitiveType() <em>Is Primitive Type</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #isPrimitiveType()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate IS_PRIMITIVE_TYPE__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getBoundElementReference__IsPrimitiveType()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isPrimitiveType() {
+ try {
+ return (Boolean) IS_PRIMITIVE_TYPE__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #isReception() <em>Is Reception</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #isReception()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate IS_RECEPTION__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getBoundElementReference__IsReception()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isReception() {
+ try {
+ return (Boolean) IS_RECEPTION__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #isOperation() <em>Is Operation</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #isOperation()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate IS_OPERATION__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getBoundElementReference__IsOperation()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isOperation() {
+ try {
+ return (Boolean) IS_OPERATION__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #isConstructor() <em>Is Constructor</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #isConstructor()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate IS_CONSTRUCTOR__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getBoundElementReference__IsConstructor()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isConstructor() {
+ try {
+ return (Boolean) IS_CONSTRUCTOR__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #isDestructor() <em>Is Destructor</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #isDestructor()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate IS_DESTRUCTOR__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getBoundElementReference__IsDestructor()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isDestructor() {
+ try {
+ return (Boolean) IS_DESTRUCTOR__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #isFeature() <em>Is Feature</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #isFeature()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate IS_FEATURE__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getBoundElementReference__IsFeature()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isFeature() {
+ try {
+ return (Boolean) IS_FEATURE__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #isProperty() <em>Is Property</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #isProperty()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate IS_PROPERTY__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getBoundElementReference__IsProperty()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isProperty() {
+ try {
+ return (Boolean) IS_PROPERTY__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #isAssociationEnd() <em>Is Association End</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #isAssociationEnd()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate IS_ASSOCIATION_END__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getBoundElementReference__IsAssociationEnd()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isAssociationEnd() {
+ try {
+ return (Boolean) IS_ASSOCIATION_END__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #isParameter() <em>Is Parameter</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #isParameter()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate IS_PARAMETER__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getBoundElementReference__IsParameter()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isParameter() {
+ try {
+ return (Boolean) IS_PARAMETER__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #isTemplate() <em>Is Template</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #isTemplate()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate IS_TEMPLATE__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getBoundElementReference__IsTemplate()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isTemplate() {
+ try {
+ return (Boolean) IS_TEMPLATE__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #isTemplateParameter() <em>Is Template Parameter</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #isTemplateParameter()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate IS_TEMPLATE_PARAMETER__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getBoundElementReference__IsTemplateParameter()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isTemplateParameter() {
+ try {
+ return (Boolean) IS_TEMPLATE_PARAMETER__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #isClassifierTemplateParameter() <em>Is Classifier Template Parameter</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #isClassifierTemplateParameter()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate IS_CLASSIFIER_TEMPLATE_PARAMETER__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getBoundElementReference__IsClassifierTemplateParameter()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isClassifierTemplateParameter() {
+ try {
+ return (Boolean) IS_CLASSIFIER_TEMPLATE_PARAMETER__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #isParameteredElement() <em>Is Parametered Element</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #isParameteredElement()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate IS_PARAMETERED_ELEMENT__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getBoundElementReference__IsParameteredElement()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isParameteredElement() {
+ try {
+ return (Boolean) IS_PARAMETERED_ELEMENT__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #isStereotype() <em>Is Stereotype</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #isStereotype()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate IS_STEREOTYPE__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getBoundElementReference__IsStereotype()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isStereotype() {
+ try {
+ return (Boolean) IS_STEREOTYPE__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #isEnumerationLiteral() <em>Is Enumeration Literal</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #isEnumerationLiteral()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate IS_ENUMERATION_LITERAL__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getBoundElementReference__IsEnumerationLiteral()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isEnumerationLiteral() {
+ try {
+ return (Boolean) IS_ENUMERATION_LITERAL__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #isLoopVariable() <em>Is Loop Variable</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #isLoopVariable()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate IS_LOOP_VARIABLE__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getBoundElementReference__IsLoopVariable()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isLoopVariable() {
+ try {
+ return (Boolean) IS_LOOP_VARIABLE__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #isAnnotation() <em>Is Annotation</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #isAnnotation()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate IS_ANNOTATION__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getBoundElementReference__IsAnnotation()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isAnnotation() {
+ try {
+ return (Boolean) IS_ANNOTATION__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #isSequenceExpansionExpression() <em>Is Sequence Expansion Expression</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #isSequenceExpansionExpression()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate IS_SEQUENCE_EXPANSION_EXPRESSION__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getBoundElementReference__IsSequenceExpansionExpression()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isSequenceExpansionExpression() {
+ try {
+ return (Boolean) IS_SEQUENCE_EXPANSION_EXPRESSION__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #isDistinguishableFrom(org.eclipse.papyrus.uml.alf.ElementReference) <em>Is Distinguishable From</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #isDistinguishableFrom(org.eclipse.papyrus.uml.alf.ElementReference)
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate IS_DISTINGUISHABLE_FROM_ELEMENT_REFERENCE__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getBoundElementReference__IsDistinguishableFrom__ElementReference())
+ .getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isDistinguishableFrom(ElementReference other) {
+ try {
+ return (Boolean) IS_DISTINGUISHABLE_FROM_ELEMENT_REFERENCE__EINVOCATION_DELEGATE.dynamicInvoke(this, new BasicEList.UnmodifiableEList<Object>(1, new Object[] { other }));
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #name() <em>Name</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #name()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate NAME__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getBoundElementReference__Name()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public String name() {
+ try {
+ return (String) NAME__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #visibility() <em>Visibility</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #visibility()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate VISIBILITY__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getBoundElementReference__Visibility()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public String visibility() {
+ try {
+ return (String) VISIBILITY__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #ownedMembers() <em>Owned Members</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #ownedMembers()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate OWNED_MEMBERS__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getBoundElementReference__OwnedMembers()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<ElementReference> ownedMembers() {
+ try {
+ return (EList<ElementReference>) OWNED_MEMBERS__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #members() <em>Members</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #members()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate MEMBERS__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getBoundElementReference__Members()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<ElementReference> members() {
+ try {
+ return (EList<ElementReference>) MEMBERS__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 -->
+ *
+ * @see #opposite()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate OPPOSITE__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getBoundElementReference__Opposite()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public ElementReference opposite() {
+ try {
+ return (ElementReference) OPPOSITE__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #signal() <em>Signal</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #signal()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate SIGNAL__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getBoundElementReference__Signal()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public ElementReference signal() {
+ try {
+ return (ElementReference) SIGNAL__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #parameters() <em>Parameters</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #parameters()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate PARAMETERS__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getBoundElementReference__Parameters()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<ElementReference> parameters() {
+ try {
+ return (EList<ElementReference>) PARAMETERS__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #returnParameter() <em>Return Parameter</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #returnParameter()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate RETURN_PARAMETER__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getBoundElementReference__ReturnParameter()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public ElementReference returnParameter() {
+ try {
+ return (ElementReference) RETURN_PARAMETER__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #specification() <em>Specification</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #specification()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate SPECIFICATION__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getBoundElementReference__Specification()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public ElementReference specification() {
+ try {
+ return (ElementReference) SPECIFICATION__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #redefinedOperations() <em>Redefined Operations</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #redefinedOperations()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate REDEFINED_OPERATIONS__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getBoundElementReference__RedefinedOperations()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<ElementReference> redefinedOperations() {
+ try {
+ return (EList<ElementReference>) REDEFINED_OPERATIONS__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #namespace() <em>Namespace</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #namespace()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate NAMESPACE__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getBoundElementReference__Namespace()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public ElementReference namespace() {
+ try {
+ return (ElementReference) NAMESPACE__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #template() <em>Template</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #template()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate TEMPLATE__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getBoundElementReference__Template()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public ElementReference template() {
+ try {
+ return (ElementReference) TEMPLATE__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #templateParameters() <em>Template Parameters</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #templateParameters()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate TEMPLATE_PARAMETERS__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getBoundElementReference__TemplateParameters()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<ElementReference> templateParameters() {
+ try {
+ return (EList<ElementReference>) TEMPLATE_PARAMETERS__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #parameteredElements() <em>Parametered Elements</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #parameteredElements()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate PARAMETERED_ELEMENTS__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getBoundElementReference__ParameteredElements()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<ElementReference> parameteredElements() {
+ try {
+ return (EList<ElementReference>) PARAMETERED_ELEMENTS__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #isTemplateBinding() <em>Is Template Binding</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #isTemplateBinding()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate IS_TEMPLATE_BINDING__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getBoundElementReference__IsTemplateBinding()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isTemplateBinding() {
+ try {
+ return (Boolean) IS_TEMPLATE_BINDING__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #templateActuals() <em>Template Actuals</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #templateActuals()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate TEMPLATE_ACTUALS__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getBoundElementReference__TemplateActuals()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<ElementReference> templateActuals() {
+ try {
+ return (EList<ElementReference>) TEMPLATE_ACTUALS__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #direction() <em>Direction</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #direction()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate DIRECTION__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getBoundElementReference__Direction()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public String direction() {
+ try {
+ return (String) DIRECTION__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #association() <em>Association</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #association()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate ASSOCIATION__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getBoundElementReference__Association()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public ElementReference association() {
+ try {
+ return (ElementReference) ASSOCIATION__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #type() <em>Type</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #type()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate TYPE__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getBoundElementReference__Type()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public ElementReference type() {
+ try {
+ return (ElementReference) TYPE__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #lower() <em>Lower</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #lower()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate LOWER__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getBoundElementReference__Lower()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public BigInteger lower() {
+ try {
+ return (BigInteger) LOWER__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #upper() <em>Upper</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #upper()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate UPPER__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getBoundElementReference__Upper()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public BigInteger upper() {
+ try {
+ return (BigInteger) UPPER__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #isOrdered() <em>Is Ordered</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #isOrdered()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate IS_ORDERED__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getBoundElementReference__IsOrdered()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isOrdered() {
+ try {
+ return (Boolean) IS_ORDERED__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #isNonunique() <em>Is Nonunique</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #isNonunique()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate IS_NONUNIQUE__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getBoundElementReference__IsNonunique()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isNonunique() {
+ try {
+ return (Boolean) IS_NONUNIQUE__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #parents() <em>Parents</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #parents()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate PARENTS__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getBoundElementReference__Parents()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<ElementReference> parents() {
+ try {
+ return (EList<ElementReference>) PARENTS__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #allParents() <em>All Parents</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #allParents()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate ALL_PARENTS__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getBoundElementReference__AllParents()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<ElementReference> allParents() {
+ try {
+ return (EList<ElementReference>) ALL_PARENTS__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #classifierBehavior() <em>Classifier Behavior</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #classifierBehavior()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate CLASSIFIER_BEHAVIOR__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getBoundElementReference__ClassifierBehavior()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public ElementReference classifierBehavior() {
+ try {
+ return (ElementReference) CLASSIFIER_BEHAVIOR__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #appliedProfiles() <em>Applied Profiles</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #appliedProfiles()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate APPLIED_PROFILES__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getBoundElementReference__AppliedProfiles()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<ElementReference> appliedProfiles() {
+ try {
+ return (EList<ElementReference>) APPLIED_PROFILES__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #reference() <em>Reference</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #reference()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate REFERENCE__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getBoundElementReference__Reference()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public ElementReference reference() {
+ try {
+ return (ElementReference) REFERENCE__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #templateBinding() <em>Template Binding</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #templateBinding()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate TEMPLATE_BINDING__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getBoundElementReference__TemplateBinding()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public ElementReference templateBinding() {
+ try {
+ return (ElementReference) TEMPLATE_BINDING__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #activeClass() <em>Active Class</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #activeClass()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate ACTIVE_CLASS__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getBoundElementReference__ActiveClass()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public ElementReference activeClass() {
+ try {
+ return (ElementReference) ACTIVE_CLASS__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #isActiveBehavior() <em>Is Active Behavior</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #isActiveBehavior()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate IS_ACTIVE_BEHAVIOR__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getBoundElementReference__IsActiveBehavior()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isActiveBehavior() {
+ try {
+ return (Boolean) IS_ACTIVE_BEHAVIOR__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #conformsTo(org.eclipse.papyrus.uml.alf.ElementReference) <em>Conforms To</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #conformsTo(org.eclipse.papyrus.uml.alf.ElementReference)
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate CONFORMS_TO_ELEMENT_REFERENCE__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getBoundElementReference__ConformsTo__ElementReference()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean conformsTo(ElementReference other) {
+ try {
+ return (Boolean) CONFORMS_TO_ELEMENT_REFERENCE__EINVOCATION_DELEGATE.dynamicInvoke(this, new BasicEList.UnmodifiableEList<Object>(1, new Object[] { other }));
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #equals(org.eclipse.papyrus.uml.alf.ElementReference) <em>Equals</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #equals(org.eclipse.papyrus.uml.alf.ElementReference)
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate EQUALS_ELEMENT_REFERENCE__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getBoundElementReference__Equals__ElementReference()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean equals(ElementReference other) {
+ try {
+ return (Boolean) EQUALS_ELEMENT_REFERENCE__EINVOCATION_DELEGATE.dynamicInvoke(this, new BasicEList.UnmodifiableEList<Object>(1, new Object[] { other }));
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #copy() <em>Copy</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #copy()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate COPY__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getBoundElementReference__Copy()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public ElementReference copy() {
+ try {
+ return (ElementReference) COPY__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #modelScope() <em>Model Scope</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #modelScope()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate MODEL_SCOPE__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getBoundElementReference__ModelScope()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public ElementReference modelScope() {
+ try {
+ return (ElementReference) MODEL_SCOPE__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #resolvePathName(java.lang.String) <em>Resolve Path Name</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #resolvePathName(java.lang.String)
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate RESOLVE_PATH_NAME_STRING__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getBoundElementReference__ResolvePathName__String()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<ElementReference> resolvePathName(String pathName) {
+ try {
+ return (EList<ElementReference>) RESOLVE_PATH_NAME_STRING__EINVOCATION_DELEGATE.dynamicInvoke(this, new BasicEList.UnmodifiableEList<Object>(1, new Object[] { pathName }));
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #resolveInScope(java.lang.String) <em>Resolve In Scope</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #resolveInScope(java.lang.String)
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate RESOLVE_IN_SCOPE_STRING__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getBoundElementReference__ResolveInScope__String()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<ElementReference> resolveInScope(String name) {
+ try {
+ return (EList<ElementReference>) RESOLVE_IN_SCOPE_STRING__EINVOCATION_DELEGATE.dynamicInvoke(this, new BasicEList.UnmodifiableEList<Object>(1, new Object[] { name }));
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #resolveStereotype(java.lang.String) <em>Resolve Stereotype</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #resolveStereotype(java.lang.String)
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate RESOLVE_STEREOTYPE_STRING__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getBoundElementReference__ResolveStereotype__String()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<ElementReference> resolveStereotype(String stereotypeName) {
+ try {
+ return (EList<ElementReference>) RESOLVE_STEREOTYPE_STRING__EINVOCATION_DELEGATE.dynamicInvoke(this, new BasicEList.UnmodifiableEList<Object>(1, new Object[] { stereotypeName }));
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #stub() <em>Stub</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #stub()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate STUB__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getBoundElementReference__Stub()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public ElementReference stub() {
+ try {
+ return (ElementReference) STUB__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #stubFor(org.eclipse.papyrus.uml.alf.UnitDefinition) <em>Stub For</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #stubFor(org.eclipse.papyrus.uml.alf.UnitDefinition)
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate STUB_FOR_UNIT_DEFINITION__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getBoundElementReference__StubFor__UnitDefinition()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public ElementReference stubFor(UnitDefinition unit) {
+ try {
+ return (ElementReference) STUB_FOR_UNIT_DEFINITION__EINVOCATION_DELEGATE.dynamicInvoke(this, new BasicEList.UnmodifiableEList<Object>(1, new Object[] { unit }));
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated NOT
+ */
+ public ElementReference boundReferenceTo(ElementReference element) {
+ return this.boundReferenceTo1(element);
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #boundReferenceTo1(org.eclipse.papyrus.uml.alf.ElementReference) <em>Bound Reference To1</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #boundReferenceTo1(org.eclipse.papyrus.uml.alf.ElementReference)
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate BOUND_REFERENCE_TO1_ELEMENT_REFERENCE__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getBoundElementReference__BoundReferenceTo1__ElementReference())
+ .getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public ElementReference boundReferenceTo1(ElementReference element) {
+ try {
+ return (ElementReference) BOUND_REFERENCE_TO1_ELEMENT_REFERENCE__EINVOCATION_DELEGATE.dynamicInvoke(this, new BasicEList.UnmodifiableEList<Object>(1, new Object[] { element }));
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #boundReferencesTo(org.eclipse.emf.common.util.EList) <em>Bound References To</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #boundReferencesTo(org.eclipse.emf.common.util.EList)
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate BOUND_REFERENCES_TO_ELIST__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getBoundElementReference__BoundReferencesTo__EList()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<ElementReference> boundReferencesTo(EList<ElementReference> elements) {
+ try {
+ return (EList<ElementReference>) BOUND_REFERENCES_TO_ELIST__EINVOCATION_DELEGATE.dynamicInvoke(this, new BasicEList.UnmodifiableEList<Object>(1, new Object[] { elements }));
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public int eDerivedOperationID(int baseOperationID, Class<?> baseClass) {
+ if (baseClass == ElementReference.class) {
+ switch (baseOperationID) {
+ case AlfPackage.ELEMENT_REFERENCE___IS_UML:
+ return AlfPackage.BOUND_ELEMENT_REFERENCE___IS_UML;
+ case AlfPackage.ELEMENT_REFERENCE___IS_ALF:
+ return AlfPackage.BOUND_ELEMENT_REFERENCE___IS_ALF;
+ case AlfPackage.ELEMENT_REFERENCE___AS_UML:
+ return AlfPackage.BOUND_ELEMENT_REFERENCE___AS_UML;
+ case AlfPackage.ELEMENT_REFERENCE___AS_ALF:
+ return AlfPackage.BOUND_ELEMENT_REFERENCE___AS_ALF;
+ case AlfPackage.ELEMENT_REFERENCE___AS_MEMBER:
+ return AlfPackage.BOUND_ELEMENT_REFERENCE___AS_MEMBER;
+ case AlfPackage.ELEMENT_REFERENCE___IS_SAME_KIND_AS__ELEMENTREFERENCE:
+ return AlfPackage.BOUND_ELEMENT_REFERENCE___IS_SAME_KIND_AS__ELEMENTREFERENCE;
+ case AlfPackage.ELEMENT_REFERENCE___IS_NAMED_ELEMENT:
+ return AlfPackage.BOUND_ELEMENT_REFERENCE___IS_NAMED_ELEMENT;
+ case AlfPackage.ELEMENT_REFERENCE___IS_NAMESPACE:
+ return AlfPackage.BOUND_ELEMENT_REFERENCE___IS_NAMESPACE;
+ case AlfPackage.ELEMENT_REFERENCE___IS_NAMESPACE_FOR__UNITDEFINITION:
+ return AlfPackage.BOUND_ELEMENT_REFERENCE___IS_NAMESPACE_FOR__UNITDEFINITION;
+ case AlfPackage.ELEMENT_REFERENCE___IS_MODEL_NAMESPACE:
+ return AlfPackage.BOUND_ELEMENT_REFERENCE___IS_MODEL_NAMESPACE;
+ case AlfPackage.ELEMENT_REFERENCE___IS_PACKAGE:
+ return AlfPackage.BOUND_ELEMENT_REFERENCE___IS_PACKAGE;
+ case AlfPackage.ELEMENT_REFERENCE___IS_PROFILE:
+ return AlfPackage.BOUND_ELEMENT_REFERENCE___IS_PROFILE;
+ case AlfPackage.ELEMENT_REFERENCE___IS_PACKAGEABLE_ELEMENT:
+ return AlfPackage.BOUND_ELEMENT_REFERENCE___IS_PACKAGEABLE_ELEMENT;
+ case AlfPackage.ELEMENT_REFERENCE___IS_CLASSIFIER:
+ return AlfPackage.BOUND_ELEMENT_REFERENCE___IS_CLASSIFIER;
+ case AlfPackage.ELEMENT_REFERENCE___IS_ABSTRACT_CLASSIFIER:
+ return AlfPackage.BOUND_ELEMENT_REFERENCE___IS_ABSTRACT_CLASSIFIER;
+ case AlfPackage.ELEMENT_REFERENCE___IS_ASSOCIATION:
+ return AlfPackage.BOUND_ELEMENT_REFERENCE___IS_ASSOCIATION;
+ case AlfPackage.ELEMENT_REFERENCE___IS_DATA_TYPE:
+ return AlfPackage.BOUND_ELEMENT_REFERENCE___IS_DATA_TYPE;
+ case AlfPackage.ELEMENT_REFERENCE___IS_CLASS:
+ return AlfPackage.BOUND_ELEMENT_REFERENCE___IS_CLASS;
+ case AlfPackage.ELEMENT_REFERENCE___IS_ACTIVE_CLASS:
+ return AlfPackage.BOUND_ELEMENT_REFERENCE___IS_ACTIVE_CLASS;
+ case AlfPackage.ELEMENT_REFERENCE___IS_SIGNAL:
+ return AlfPackage.BOUND_ELEMENT_REFERENCE___IS_SIGNAL;
+ case AlfPackage.ELEMENT_REFERENCE___IS_ENUMERATION:
+ return AlfPackage.BOUND_ELEMENT_REFERENCE___IS_ENUMERATION;
+ case AlfPackage.ELEMENT_REFERENCE___IS_BEHAVIOR:
+ return AlfPackage.BOUND_ELEMENT_REFERENCE___IS_BEHAVIOR;
+ case AlfPackage.ELEMENT_REFERENCE___IS_ACTIVITY:
+ return AlfPackage.BOUND_ELEMENT_REFERENCE___IS_ACTIVITY;
+ case AlfPackage.ELEMENT_REFERENCE___IS_METHOD:
+ return AlfPackage.BOUND_ELEMENT_REFERENCE___IS_METHOD;
+ case AlfPackage.ELEMENT_REFERENCE___IS_PRIMITIVE_TYPE:
+ return AlfPackage.BOUND_ELEMENT_REFERENCE___IS_PRIMITIVE_TYPE;
+ case AlfPackage.ELEMENT_REFERENCE___IS_RECEPTION:
+ return AlfPackage.BOUND_ELEMENT_REFERENCE___IS_RECEPTION;
+ case AlfPackage.ELEMENT_REFERENCE___IS_OPERATION:
+ return AlfPackage.BOUND_ELEMENT_REFERENCE___IS_OPERATION;
+ case AlfPackage.ELEMENT_REFERENCE___IS_CONSTRUCTOR:
+ return AlfPackage.BOUND_ELEMENT_REFERENCE___IS_CONSTRUCTOR;
+ case AlfPackage.ELEMENT_REFERENCE___IS_DESTRUCTOR:
+ return AlfPackage.BOUND_ELEMENT_REFERENCE___IS_DESTRUCTOR;
+ case AlfPackage.ELEMENT_REFERENCE___IS_FEATURE:
+ return AlfPackage.BOUND_ELEMENT_REFERENCE___IS_FEATURE;
+ case AlfPackage.ELEMENT_REFERENCE___IS_PROPERTY:
+ return AlfPackage.BOUND_ELEMENT_REFERENCE___IS_PROPERTY;
+ case AlfPackage.ELEMENT_REFERENCE___IS_ASSOCIATION_END:
+ return AlfPackage.BOUND_ELEMENT_REFERENCE___IS_ASSOCIATION_END;
+ case AlfPackage.ELEMENT_REFERENCE___IS_PARAMETER:
+ return AlfPackage.BOUND_ELEMENT_REFERENCE___IS_PARAMETER;
+ case AlfPackage.ELEMENT_REFERENCE___IS_TEMPLATE:
+ return AlfPackage.BOUND_ELEMENT_REFERENCE___IS_TEMPLATE;
+ case AlfPackage.ELEMENT_REFERENCE___IS_TEMPLATE_PARAMETER:
+ return AlfPackage.BOUND_ELEMENT_REFERENCE___IS_TEMPLATE_PARAMETER;
+ case AlfPackage.ELEMENT_REFERENCE___IS_CLASSIFIER_TEMPLATE_PARAMETER:
+ return AlfPackage.BOUND_ELEMENT_REFERENCE___IS_CLASSIFIER_TEMPLATE_PARAMETER;
+ case AlfPackage.ELEMENT_REFERENCE___IS_PARAMETERED_ELEMENT:
+ return AlfPackage.BOUND_ELEMENT_REFERENCE___IS_PARAMETERED_ELEMENT;
+ case AlfPackage.ELEMENT_REFERENCE___IS_TEMPLATE_BINDING:
+ return AlfPackage.BOUND_ELEMENT_REFERENCE___IS_TEMPLATE_BINDING;
+ case AlfPackage.ELEMENT_REFERENCE___IS_STEREOTYPE:
+ return AlfPackage.BOUND_ELEMENT_REFERENCE___IS_STEREOTYPE;
+ case AlfPackage.ELEMENT_REFERENCE___IS_ENUMERATION_LITERAL:
+ return AlfPackage.BOUND_ELEMENT_REFERENCE___IS_ENUMERATION_LITERAL;
+ case AlfPackage.ELEMENT_REFERENCE___IS_LOOP_VARIABLE:
+ return AlfPackage.BOUND_ELEMENT_REFERENCE___IS_LOOP_VARIABLE;
+ case AlfPackage.ELEMENT_REFERENCE___IS_ANNOTATION:
+ return AlfPackage.BOUND_ELEMENT_REFERENCE___IS_ANNOTATION;
+ case AlfPackage.ELEMENT_REFERENCE___IS_SEQUENCE_EXPANSION_EXPRESSION:
+ return AlfPackage.BOUND_ELEMENT_REFERENCE___IS_SEQUENCE_EXPANSION_EXPRESSION;
+ case AlfPackage.ELEMENT_REFERENCE___IS_DISTINGUISHABLE_FROM__ELEMENTREFERENCE:
+ return AlfPackage.BOUND_ELEMENT_REFERENCE___IS_DISTINGUISHABLE_FROM__ELEMENTREFERENCE;
+ case AlfPackage.ELEMENT_REFERENCE___NAME:
+ return AlfPackage.BOUND_ELEMENT_REFERENCE___NAME;
+ case AlfPackage.ELEMENT_REFERENCE___VISIBILITY:
+ return AlfPackage.BOUND_ELEMENT_REFERENCE___VISIBILITY;
+ 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___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;
+ case AlfPackage.ELEMENT_REFERENCE___RETURN_PARAMETER:
+ return AlfPackage.BOUND_ELEMENT_REFERENCE___RETURN_PARAMETER;
+ case AlfPackage.ELEMENT_REFERENCE___SPECIFICATION:
+ return AlfPackage.BOUND_ELEMENT_REFERENCE___SPECIFICATION;
+ case AlfPackage.ELEMENT_REFERENCE___REDEFINED_OPERATIONS:
+ return AlfPackage.BOUND_ELEMENT_REFERENCE___REDEFINED_OPERATIONS;
+ case AlfPackage.ELEMENT_REFERENCE___NAMESPACE:
+ return AlfPackage.BOUND_ELEMENT_REFERENCE___NAMESPACE;
+ case AlfPackage.ELEMENT_REFERENCE___TEMPLATE:
+ return AlfPackage.BOUND_ELEMENT_REFERENCE___TEMPLATE;
+ case AlfPackage.ELEMENT_REFERENCE___TEMPLATE_PARAMETERS:
+ return AlfPackage.BOUND_ELEMENT_REFERENCE___TEMPLATE_PARAMETERS;
+ case AlfPackage.ELEMENT_REFERENCE___PARAMETERED_ELEMENTS:
+ return AlfPackage.BOUND_ELEMENT_REFERENCE___PARAMETERED_ELEMENTS;
+ case AlfPackage.ELEMENT_REFERENCE___TEMPLATE_ACTUALS:
+ return AlfPackage.BOUND_ELEMENT_REFERENCE___TEMPLATE_ACTUALS;
+ case AlfPackage.ELEMENT_REFERENCE___DIRECTION:
+ return AlfPackage.BOUND_ELEMENT_REFERENCE___DIRECTION;
+ case AlfPackage.ELEMENT_REFERENCE___ASSOCIATION:
+ return AlfPackage.BOUND_ELEMENT_REFERENCE___ASSOCIATION;
+ case AlfPackage.ELEMENT_REFERENCE___TYPE:
+ return AlfPackage.BOUND_ELEMENT_REFERENCE___TYPE;
+ case AlfPackage.ELEMENT_REFERENCE___LOWER:
+ return AlfPackage.BOUND_ELEMENT_REFERENCE___LOWER;
+ case AlfPackage.ELEMENT_REFERENCE___UPPER:
+ return AlfPackage.BOUND_ELEMENT_REFERENCE___UPPER;
+ case AlfPackage.ELEMENT_REFERENCE___IS_ORDERED:
+ return AlfPackage.BOUND_ELEMENT_REFERENCE___IS_ORDERED;
+ case AlfPackage.ELEMENT_REFERENCE___IS_NONUNIQUE:
+ return AlfPackage.BOUND_ELEMENT_REFERENCE___IS_NONUNIQUE;
+ case AlfPackage.ELEMENT_REFERENCE___PARENTS:
+ return AlfPackage.BOUND_ELEMENT_REFERENCE___PARENTS;
+ case AlfPackage.ELEMENT_REFERENCE___ALL_PARENTS:
+ return AlfPackage.BOUND_ELEMENT_REFERENCE___ALL_PARENTS;
+ case AlfPackage.ELEMENT_REFERENCE___CLASSIFIER_BEHAVIOR:
+ return AlfPackage.BOUND_ELEMENT_REFERENCE___CLASSIFIER_BEHAVIOR;
+ case AlfPackage.ELEMENT_REFERENCE___APPLIED_PROFILES:
+ return AlfPackage.BOUND_ELEMENT_REFERENCE___APPLIED_PROFILES;
+ case AlfPackage.ELEMENT_REFERENCE___REFERENCE:
+ return AlfPackage.BOUND_ELEMENT_REFERENCE___REFERENCE;
+ case AlfPackage.ELEMENT_REFERENCE___TEMPLATE_BINDING:
+ return AlfPackage.BOUND_ELEMENT_REFERENCE___TEMPLATE_BINDING;
+ case AlfPackage.ELEMENT_REFERENCE___ACTIVE_CLASS:
+ return AlfPackage.BOUND_ELEMENT_REFERENCE___ACTIVE_CLASS;
+ case AlfPackage.ELEMENT_REFERENCE___IS_ACTIVE_BEHAVIOR:
+ return AlfPackage.BOUND_ELEMENT_REFERENCE___IS_ACTIVE_BEHAVIOR;
+ case AlfPackage.ELEMENT_REFERENCE___CONFORMS_TO__ELEMENTREFERENCE:
+ return AlfPackage.BOUND_ELEMENT_REFERENCE___CONFORMS_TO__ELEMENTREFERENCE;
+ case AlfPackage.ELEMENT_REFERENCE___EQUALS__ELEMENTREFERENCE:
+ return AlfPackage.BOUND_ELEMENT_REFERENCE___EQUALS__ELEMENTREFERENCE;
+ case AlfPackage.ELEMENT_REFERENCE___COPY:
+ return AlfPackage.BOUND_ELEMENT_REFERENCE___COPY;
+ case AlfPackage.ELEMENT_REFERENCE___MODEL_SCOPE:
+ return AlfPackage.BOUND_ELEMENT_REFERENCE___MODEL_SCOPE;
+ case AlfPackage.ELEMENT_REFERENCE___RESOLVE_PATH_NAME__STRING:
+ return AlfPackage.BOUND_ELEMENT_REFERENCE___RESOLVE_PATH_NAME__STRING;
+ case AlfPackage.ELEMENT_REFERENCE___RESOLVE_IN_SCOPE__STRING:
+ return AlfPackage.BOUND_ELEMENT_REFERENCE___RESOLVE_IN_SCOPE__STRING;
+ case AlfPackage.ELEMENT_REFERENCE___RESOLVE_STEREOTYPE__STRING:
+ return AlfPackage.BOUND_ELEMENT_REFERENCE___RESOLVE_STEREOTYPE__STRING;
+ case AlfPackage.ELEMENT_REFERENCE___STUB:
+ return AlfPackage.BOUND_ELEMENT_REFERENCE___STUB;
+ case AlfPackage.ELEMENT_REFERENCE___STUB_FOR__UNITDEFINITION:
+ return AlfPackage.BOUND_ELEMENT_REFERENCE___STUB_FOR__UNITDEFINITION;
+ default:
+ return super.eDerivedOperationID(baseOperationID, baseClass);
+ }
+ }
+ return super.eDerivedOperationID(baseOperationID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object eInvoke(int operationID, EList<?> arguments) throws InvocationTargetException {
+ switch (operationID) {
+ case AlfPackage.BOUND_ELEMENT_REFERENCE___IS_UML:
+ return isUml();
+ case AlfPackage.BOUND_ELEMENT_REFERENCE___IS_ALF:
+ return isAlf();
+ case AlfPackage.BOUND_ELEMENT_REFERENCE___AS_UML:
+ return asUml();
+ case AlfPackage.BOUND_ELEMENT_REFERENCE___AS_ALF:
+ return asAlf();
+ case AlfPackage.BOUND_ELEMENT_REFERENCE___AS_MEMBER:
+ return asMember();
+ case AlfPackage.BOUND_ELEMENT_REFERENCE___IS_SAME_KIND_AS__ELEMENTREFERENCE:
+ return isSameKindAs((ElementReference) arguments.get(0));
+ case AlfPackage.BOUND_ELEMENT_REFERENCE___IS_NAMED_ELEMENT:
+ return isNamedElement();
+ case AlfPackage.BOUND_ELEMENT_REFERENCE___IS_NAMESPACE:
+ return isNamespace();
+ case AlfPackage.BOUND_ELEMENT_REFERENCE___IS_NAMESPACE_FOR__UNITDEFINITION:
+ return isNamespaceFor((UnitDefinition) arguments.get(0));
+ case AlfPackage.BOUND_ELEMENT_REFERENCE___IS_MODEL_NAMESPACE:
+ return isModelNamespace();
+ case AlfPackage.BOUND_ELEMENT_REFERENCE___IS_PACKAGE:
+ return isPackage();
+ case AlfPackage.BOUND_ELEMENT_REFERENCE___IS_PROFILE:
+ return isProfile();
+ case AlfPackage.BOUND_ELEMENT_REFERENCE___IS_PACKAGEABLE_ELEMENT:
+ return isPackageableElement();
+ case AlfPackage.BOUND_ELEMENT_REFERENCE___IS_CLASSIFIER:
+ return isClassifier();
+ case AlfPackage.BOUND_ELEMENT_REFERENCE___IS_ABSTRACT_CLASSIFIER:
+ return isAbstractClassifier();
+ case AlfPackage.BOUND_ELEMENT_REFERENCE___IS_ASSOCIATION:
+ return isAssociation();
+ case AlfPackage.BOUND_ELEMENT_REFERENCE___IS_DATA_TYPE:
+ return isDataType();
+ case AlfPackage.BOUND_ELEMENT_REFERENCE___IS_CLASS:
+ return isClass();
+ case AlfPackage.BOUND_ELEMENT_REFERENCE___IS_ACTIVE_CLASS:
+ return isActiveClass();
+ case AlfPackage.BOUND_ELEMENT_REFERENCE___IS_SIGNAL:
+ return isSignal();
+ case AlfPackage.BOUND_ELEMENT_REFERENCE___IS_ENUMERATION:
+ return isEnumeration();
+ case AlfPackage.BOUND_ELEMENT_REFERENCE___IS_BEHAVIOR:
+ return isBehavior();
+ case AlfPackage.BOUND_ELEMENT_REFERENCE___IS_ACTIVITY:
+ return isActivity();
+ case AlfPackage.BOUND_ELEMENT_REFERENCE___IS_METHOD:
+ return isMethod();
+ case AlfPackage.BOUND_ELEMENT_REFERENCE___IS_PRIMITIVE_TYPE:
+ return isPrimitiveType();
+ case AlfPackage.BOUND_ELEMENT_REFERENCE___IS_RECEPTION:
+ return isReception();
+ case AlfPackage.BOUND_ELEMENT_REFERENCE___IS_OPERATION:
+ return isOperation();
+ case AlfPackage.BOUND_ELEMENT_REFERENCE___IS_CONSTRUCTOR:
+ return isConstructor();
+ case AlfPackage.BOUND_ELEMENT_REFERENCE___IS_DESTRUCTOR:
+ return isDestructor();
+ case AlfPackage.BOUND_ELEMENT_REFERENCE___IS_FEATURE:
+ return isFeature();
+ case AlfPackage.BOUND_ELEMENT_REFERENCE___IS_PROPERTY:
+ return isProperty();
+ case AlfPackage.BOUND_ELEMENT_REFERENCE___IS_ASSOCIATION_END:
+ return isAssociationEnd();
+ case AlfPackage.BOUND_ELEMENT_REFERENCE___IS_PARAMETER:
+ return isParameter();
+ case AlfPackage.BOUND_ELEMENT_REFERENCE___IS_TEMPLATE:
+ return isTemplate();
+ case AlfPackage.BOUND_ELEMENT_REFERENCE___IS_TEMPLATE_PARAMETER:
+ return isTemplateParameter();
+ case AlfPackage.BOUND_ELEMENT_REFERENCE___IS_CLASSIFIER_TEMPLATE_PARAMETER:
+ return isClassifierTemplateParameter();
+ case AlfPackage.BOUND_ELEMENT_REFERENCE___IS_PARAMETERED_ELEMENT:
+ return isParameteredElement();
+ case AlfPackage.BOUND_ELEMENT_REFERENCE___IS_STEREOTYPE:
+ return isStereotype();
+ case AlfPackage.BOUND_ELEMENT_REFERENCE___IS_ENUMERATION_LITERAL:
+ return isEnumerationLiteral();
+ case AlfPackage.BOUND_ELEMENT_REFERENCE___IS_LOOP_VARIABLE:
+ return isLoopVariable();
+ case AlfPackage.BOUND_ELEMENT_REFERENCE___IS_ANNOTATION:
+ return isAnnotation();
+ case AlfPackage.BOUND_ELEMENT_REFERENCE___IS_SEQUENCE_EXPANSION_EXPRESSION:
+ return isSequenceExpansionExpression();
+ case AlfPackage.BOUND_ELEMENT_REFERENCE___IS_DISTINGUISHABLE_FROM__ELEMENTREFERENCE:
+ return isDistinguishableFrom((ElementReference) arguments.get(0));
+ case AlfPackage.BOUND_ELEMENT_REFERENCE___NAME:
+ return name();
+ case AlfPackage.BOUND_ELEMENT_REFERENCE___VISIBILITY:
+ return visibility();
+ case AlfPackage.BOUND_ELEMENT_REFERENCE___OWNED_MEMBERS:
+ return ownedMembers();
+ case AlfPackage.BOUND_ELEMENT_REFERENCE___MEMBERS:
+ return members();
+ case AlfPackage.BOUND_ELEMENT_REFERENCE___OPPOSITE:
+ return opposite();
+ case AlfPackage.BOUND_ELEMENT_REFERENCE___SIGNAL:
+ return signal();
+ case AlfPackage.BOUND_ELEMENT_REFERENCE___PARAMETERS:
+ return parameters();
+ case AlfPackage.BOUND_ELEMENT_REFERENCE___RETURN_PARAMETER:
+ return returnParameter();
+ case AlfPackage.BOUND_ELEMENT_REFERENCE___SPECIFICATION:
+ return specification();
+ case AlfPackage.BOUND_ELEMENT_REFERENCE___REDEFINED_OPERATIONS:
+ return redefinedOperations();
+ case AlfPackage.BOUND_ELEMENT_REFERENCE___NAMESPACE:
+ return namespace();
+ case AlfPackage.BOUND_ELEMENT_REFERENCE___TEMPLATE:
+ return template();
+ case AlfPackage.BOUND_ELEMENT_REFERENCE___TEMPLATE_PARAMETERS:
+ return templateParameters();
+ case AlfPackage.BOUND_ELEMENT_REFERENCE___PARAMETERED_ELEMENTS:
+ return parameteredElements();
+ case AlfPackage.BOUND_ELEMENT_REFERENCE___IS_TEMPLATE_BINDING:
+ return isTemplateBinding();
+ case AlfPackage.BOUND_ELEMENT_REFERENCE___TEMPLATE_ACTUALS:
+ return templateActuals();
+ case AlfPackage.BOUND_ELEMENT_REFERENCE___DIRECTION:
+ return direction();
+ case AlfPackage.BOUND_ELEMENT_REFERENCE___ASSOCIATION:
+ return association();
+ case AlfPackage.BOUND_ELEMENT_REFERENCE___TYPE:
+ return type();
+ case AlfPackage.BOUND_ELEMENT_REFERENCE___LOWER:
+ return lower();
+ case AlfPackage.BOUND_ELEMENT_REFERENCE___UPPER:
+ return upper();
+ case AlfPackage.BOUND_ELEMENT_REFERENCE___IS_ORDERED:
+ return isOrdered();
+ case AlfPackage.BOUND_ELEMENT_REFERENCE___IS_NONUNIQUE:
+ return isNonunique();
+ case AlfPackage.BOUND_ELEMENT_REFERENCE___PARENTS:
+ return parents();
+ case AlfPackage.BOUND_ELEMENT_REFERENCE___ALL_PARENTS:
+ return allParents();
+ case AlfPackage.BOUND_ELEMENT_REFERENCE___CLASSIFIER_BEHAVIOR:
+ return classifierBehavior();
+ case AlfPackage.BOUND_ELEMENT_REFERENCE___APPLIED_PROFILES:
+ return appliedProfiles();
+ case AlfPackage.BOUND_ELEMENT_REFERENCE___REFERENCE:
+ return reference();
+ case AlfPackage.BOUND_ELEMENT_REFERENCE___TEMPLATE_BINDING:
+ return templateBinding();
+ case AlfPackage.BOUND_ELEMENT_REFERENCE___ACTIVE_CLASS:
+ return activeClass();
+ case AlfPackage.BOUND_ELEMENT_REFERENCE___IS_ACTIVE_BEHAVIOR:
+ return isActiveBehavior();
+ case AlfPackage.BOUND_ELEMENT_REFERENCE___CONFORMS_TO__ELEMENTREFERENCE:
+ return conformsTo((ElementReference) arguments.get(0));
+ case AlfPackage.BOUND_ELEMENT_REFERENCE___EQUALS__ELEMENTREFERENCE:
+ return equals((ElementReference) arguments.get(0));
+ case AlfPackage.BOUND_ELEMENT_REFERENCE___COPY:
+ return copy();
+ case AlfPackage.BOUND_ELEMENT_REFERENCE___MODEL_SCOPE:
+ return modelScope();
+ case AlfPackage.BOUND_ELEMENT_REFERENCE___RESOLVE_PATH_NAME__STRING:
+ return resolvePathName((String) arguments.get(0));
+ case AlfPackage.BOUND_ELEMENT_REFERENCE___RESOLVE_IN_SCOPE__STRING:
+ return resolveInScope((String) arguments.get(0));
+ case AlfPackage.BOUND_ELEMENT_REFERENCE___RESOLVE_STEREOTYPE__STRING:
+ return resolveStereotype((String) arguments.get(0));
+ case AlfPackage.BOUND_ELEMENT_REFERENCE___STUB:
+ return stub();
+ case AlfPackage.BOUND_ELEMENT_REFERENCE___STUB_FOR__UNITDEFINITION:
+ return stubFor((UnitDefinition) arguments.get(0));
+ case AlfPackage.BOUND_ELEMENT_REFERENCE___BOUND_REFERENCE_TO__ELEMENTREFERENCE:
+ return boundReferenceTo((ElementReference) arguments.get(0));
+ case AlfPackage.BOUND_ELEMENT_REFERENCE___BOUND_REFERENCE_TO1__ELEMENTREFERENCE:
+ return boundReferenceTo1((ElementReference) arguments.get(0));
+ case AlfPackage.BOUND_ELEMENT_REFERENCE___BOUND_REFERENCES_TO__ELIST:
+ return boundReferencesTo((EList<ElementReference>) arguments.get(0));
+ }
+ return super.eInvoke(operationID, arguments);
+ }
+
+} // BoundElementReferenceImpl
diff --git a/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/BreakStatementImpl.java b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/BreakStatementImpl.java
new file mode 100644
index 00000000000..fe81d921b54
--- /dev/null
+++ b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/BreakStatementImpl.java
@@ -0,0 +1,202 @@
+/**
+ */
+package org.eclipse.papyrus.uml.alf.impl;
+
+import java.lang.reflect.InvocationTargetException;
+import java.util.Map;
+import org.eclipse.emf.common.util.BasicEList;
+import org.eclipse.emf.common.util.Diagnostic;
+import org.eclipse.emf.common.util.DiagnosticChain;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.common.util.WrappedException;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EOperation;
+import org.eclipse.papyrus.uml.alf.AlfPackage;
+import org.eclipse.papyrus.uml.alf.Annotation;
+import org.eclipse.papyrus.uml.alf.BreakStatement;
+import org.eclipse.papyrus.uml.alf.Statement;
+import org.eclipse.papyrus.uml.alf.util.AlfValidator;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Break Statement</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.uml.alf.impl.BreakStatementImpl#getTarget <em>Target</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class BreakStatementImpl extends StatementImpl implements BreakStatement {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected BreakStatementImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return AlfPackage.eINSTANCE.getBreakStatement();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public Statement getTarget() {
+ return (Statement) eGet(AlfPackage.eINSTANCE.getBreakStatement_Target(), true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setTarget(Statement newTarget) {
+ eSet(AlfPackage.eINSTANCE.getBreakStatement_Target(), newTarget);
+ }
+
+ /**
+ * The cached validation expression for the '{@link #breakStatementTargetDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Break Statement Target Derivation</em>}' invariant operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #breakStatementTargetDerivation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ * @ordered
+ */
+ protected static final String BREAK_STATEMENT_TARGET_DERIVATION_DIAGNOSTIC_CHAIN_MAP__EEXPRESSION = "self.target <> null";
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean breakStatementTargetDerivation(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return AlfValidator.validate
+ (AlfPackage.eINSTANCE.getBreakStatement(),
+ this,
+ diagnostics,
+ context,
+ "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot",
+ AlfPackage.eINSTANCE.getBreakStatement__BreakStatementTargetDerivation__DiagnosticChain_Map(),
+ BREAK_STATEMENT_TARGET_DERIVATION_DIAGNOSTIC_CHAIN_MAP__EEXPRESSION,
+ Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.BREAK_STATEMENT__BREAK_STATEMENT_TARGET_DERIVATION);
+ }
+
+ /**
+ * The cached validation expression for the '{@link #breakStatementNonparallelTarget(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Break Statement Nonparallel Target</em>}' invariant operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #breakStatementNonparallelTarget(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ * @ordered
+ */
+ protected static final String BREAK_STATEMENT_NONPARALLEL_TARGET_DIAGNOSTIC_CHAIN_MAP__EEXPRESSION = "self.target <> null implies not self.target.hasAnnotation('parallel')";
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean breakStatementNonparallelTarget(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return AlfValidator.validate
+ (AlfPackage.eINSTANCE.getBreakStatement(),
+ this,
+ diagnostics,
+ context,
+ "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot",
+ AlfPackage.eINSTANCE.getBreakStatement__BreakStatementNonparallelTarget__DiagnosticChain_Map(),
+ BREAK_STATEMENT_NONPARALLEL_TARGET_DIAGNOSTIC_CHAIN_MAP__EEXPRESSION,
+ Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.BREAK_STATEMENT__BREAK_STATEMENT_NONPARALLEL_TARGET);
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #annotationAllowed(org.eclipse.papyrus.uml.alf.Annotation) <em>Annotation Allowed</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #annotationAllowed(org.eclipse.papyrus.uml.alf.Annotation)
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate ANNOTATION_ALLOWED_ANNOTATION__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getBreakStatement__AnnotationAllowed__Annotation()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean annotationAllowed(Annotation annotation) {
+ try {
+ return (Boolean) ANNOTATION_ALLOWED_ANNOTATION__EINVOCATION_DELEGATE.dynamicInvoke(this, new BasicEList.UnmodifiableEList<Object>(1, new Object[] { annotation }));
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public int eDerivedOperationID(int baseOperationID, Class<?> baseClass) {
+ if (baseClass == Statement.class) {
+ switch (baseOperationID) {
+ case AlfPackage.STATEMENT___ANNOTATION_ALLOWED__ANNOTATION:
+ return AlfPackage.BREAK_STATEMENT___ANNOTATION_ALLOWED__ANNOTATION;
+ default:
+ return super.eDerivedOperationID(baseOperationID, baseClass);
+ }
+ }
+ return super.eDerivedOperationID(baseOperationID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object eInvoke(int operationID, EList<?> arguments) throws InvocationTargetException {
+ switch (operationID) {
+ case AlfPackage.BREAK_STATEMENT___BREAK_STATEMENT_TARGET_DERIVATION__DIAGNOSTICCHAIN_MAP:
+ return breakStatementTargetDerivation((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ case AlfPackage.BREAK_STATEMENT___BREAK_STATEMENT_NONPARALLEL_TARGET__DIAGNOSTICCHAIN_MAP:
+ return breakStatementNonparallelTarget((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ case AlfPackage.BREAK_STATEMENT___ANNOTATION_ALLOWED__ANNOTATION:
+ return annotationAllowed((Annotation) arguments.get(0));
+ }
+ return super.eInvoke(operationID, arguments);
+ }
+
+} // BreakStatementImpl
diff --git a/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/CastExpressionImpl.java b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/CastExpressionImpl.java
new file mode 100644
index 00000000000..69bb0d699b7
--- /dev/null
+++ b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/CastExpressionImpl.java
@@ -0,0 +1,430 @@
+/**
+ */
+package org.eclipse.papyrus.uml.alf.impl;
+
+import java.lang.reflect.InvocationTargetException;
+
+import java.math.BigInteger;
+import java.util.Map;
+
+import org.eclipse.emf.common.util.BasicDiagnostic;
+import org.eclipse.emf.common.util.Diagnostic;
+import org.eclipse.emf.common.util.DiagnosticChain;
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.common.util.WrappedException;
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.EOperation;
+import org.eclipse.emf.ecore.plugin.EcorePlugin;
+
+import org.eclipse.emf.ecore.util.EObjectValidator;
+
+import org.eclipse.papyrus.uml.alf.AlfPackage;
+import org.eclipse.papyrus.uml.alf.AssignableElement;
+import org.eclipse.papyrus.uml.alf.AssignedSource;
+import org.eclipse.papyrus.uml.alf.CastExpression;
+import org.eclipse.papyrus.uml.alf.ElementReference;
+import org.eclipse.papyrus.uml.alf.Expression;
+import org.eclipse.papyrus.uml.alf.QualifiedName;
+
+import org.eclipse.papyrus.uml.alf.util.AlfValidator;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Cast Expression</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.uml.alf.impl.CastExpressionImpl#getOperand <em>Operand</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.impl.CastExpressionImpl#getTypeName <em>Type Name</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.impl.CastExpressionImpl#isIsAny <em>Is Any</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class CastExpressionImpl extends ExpressionImpl implements CastExpression {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected CastExpressionImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return AlfPackage.eINSTANCE.getCastExpression();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public Expression getOperand() {
+ return (Expression) eGet(AlfPackage.eINSTANCE.getCastExpression_Operand(), true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setOperand(Expression newOperand) {
+ eSet(AlfPackage.eINSTANCE.getCastExpression_Operand(), newOperand);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public QualifiedName getTypeName() {
+ return (QualifiedName) eGet(AlfPackage.eINSTANCE.getCastExpression_TypeName(), true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setTypeName(QualifiedName newTypeName) {
+ eSet(AlfPackage.eINSTANCE.getCastExpression_TypeName(), newTypeName);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isIsAny() {
+ return (Boolean) eGet(AlfPackage.eINSTANCE.getCastExpression_IsAny(), true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setIsAny(boolean newIsAny) {
+ eSet(AlfPackage.eINSTANCE.getCastExpression_IsAny(), newIsAny);
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #type() <em>Type</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #type()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate TYPE__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getCastExpression__Type()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public ElementReference type() {
+ try {
+ return (ElementReference) TYPE__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #lower() <em>Lower</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #lower()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate LOWER__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getCastExpression__Lower()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public BigInteger lower() {
+ try {
+ return (BigInteger) LOWER__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #upper() <em>Upper</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #upper()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate UPPER__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getCastExpression__Upper()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public BigInteger upper() {
+ try {
+ return (BigInteger) UPPER__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean castExpressionTypeDerivation(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.CAST_EXPRESSION__CAST_EXPRESSION_TYPE_DERIVATION,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "castExpressionTypeDerivation", EObjectValidator.getObjectLabel(this, context) }),
+ new Object[] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean castExpressionLowerDerivation(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.CAST_EXPRESSION__CAST_EXPRESSION_LOWER_DERIVATION,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "castExpressionLowerDerivation", EObjectValidator.getObjectLabel(this, context) }),
+ new Object[] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean castExpressionUpperDerivation(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.CAST_EXPRESSION__CAST_EXPRESSION_UPPER_DERIVATION,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "castExpressionUpperDerivation", EObjectValidator.getObjectLabel(this, context) }),
+ new Object[] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * The cached validation expression for the '{@link #castExpressionTypeResolution(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Cast Expression Type Resolution</em>}' invariant operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #castExpressionTypeResolution(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ * @ordered
+ */
+ protected static final String CAST_EXPRESSION_TYPE_RESOLUTION_DIAGNOSTIC_CHAIN_MAP__EEXPRESSION = "self.typeName <> null implies self.type <> null";
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean castExpressionTypeResolution(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return AlfValidator.validate
+ (AlfPackage.eINSTANCE.getCastExpression(),
+ this,
+ diagnostics,
+ context,
+ "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot",
+ AlfPackage.eINSTANCE.getCastExpression__CastExpressionTypeResolution__DiagnosticChain_Map(),
+ CAST_EXPRESSION_TYPE_RESOLUTION_DIAGNOSTIC_CHAIN_MAP__EEXPRESSION,
+ Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.CAST_EXPRESSION__CAST_EXPRESSION_TYPE_RESOLUTION);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean castExpressionAssignmentsBefore(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.CAST_EXPRESSION__CAST_EXPRESSION_ASSIGNMENTS_BEFORE,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "castExpressionAssignmentsBefore", EObjectValidator.getObjectLabel(this, context) }),
+ new Object[] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #updateAssignments() <em>Update Assignments</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #updateAssignments()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate UPDATE_ASSIGNMENTS__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getCastExpression__UpdateAssignments()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<AssignedSource> updateAssignments() {
+ try {
+ return (EList<AssignedSource>) UPDATE_ASSIGNMENTS__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public int eDerivedOperationID(int baseOperationID, Class<?> baseClass) {
+ if (baseClass == AssignableElement.class) {
+ switch (baseOperationID) {
+ case AlfPackage.ASSIGNABLE_ELEMENT___TYPE:
+ return AlfPackage.CAST_EXPRESSION___TYPE;
+ case AlfPackage.ASSIGNABLE_ELEMENT___LOWER:
+ return AlfPackage.CAST_EXPRESSION___LOWER;
+ case AlfPackage.ASSIGNABLE_ELEMENT___UPPER:
+ return AlfPackage.CAST_EXPRESSION___UPPER;
+ default:
+ return super.eDerivedOperationID(baseOperationID, baseClass);
+ }
+ }
+ if (baseClass == Expression.class) {
+ switch (baseOperationID) {
+ case AlfPackage.EXPRESSION___UPDATE_ASSIGNMENTS:
+ return AlfPackage.CAST_EXPRESSION___UPDATE_ASSIGNMENTS;
+ default:
+ return super.eDerivedOperationID(baseOperationID, baseClass);
+ }
+ }
+ return super.eDerivedOperationID(baseOperationID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object eInvoke(int operationID, EList<?> arguments) throws InvocationTargetException {
+ switch (operationID) {
+ case AlfPackage.CAST_EXPRESSION___TYPE:
+ return type();
+ case AlfPackage.CAST_EXPRESSION___LOWER:
+ return lower();
+ case AlfPackage.CAST_EXPRESSION___UPPER:
+ return upper();
+ case AlfPackage.CAST_EXPRESSION___CAST_EXPRESSION_TYPE_DERIVATION__DIAGNOSTICCHAIN_MAP:
+ return castExpressionTypeDerivation((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ case AlfPackage.CAST_EXPRESSION___CAST_EXPRESSION_LOWER_DERIVATION__DIAGNOSTICCHAIN_MAP:
+ return castExpressionLowerDerivation((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ case AlfPackage.CAST_EXPRESSION___CAST_EXPRESSION_UPPER_DERIVATION__DIAGNOSTICCHAIN_MAP:
+ return castExpressionUpperDerivation((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ case AlfPackage.CAST_EXPRESSION___CAST_EXPRESSION_TYPE_RESOLUTION__DIAGNOSTICCHAIN_MAP:
+ return castExpressionTypeResolution((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ case AlfPackage.CAST_EXPRESSION___CAST_EXPRESSION_ASSIGNMENTS_BEFORE__DIAGNOSTICCHAIN_MAP:
+ return castExpressionAssignmentsBefore((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ case AlfPackage.CAST_EXPRESSION___UPDATE_ASSIGNMENTS:
+ return updateAssignments();
+ }
+ return super.eInvoke(operationID, arguments);
+ }
+
+} // CastExpressionImpl
diff --git a/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/ClassDefinitionImpl.java b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/ClassDefinitionImpl.java
new file mode 100644
index 00000000000..76dcac0c286
--- /dev/null
+++ b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/ClassDefinitionImpl.java
@@ -0,0 +1,392 @@
+/**
+ */
+package org.eclipse.papyrus.uml.alf.impl;
+
+import java.lang.reflect.InvocationTargetException;
+import java.util.Map;
+import org.eclipse.emf.common.util.BasicEList;
+import org.eclipse.emf.common.util.Diagnostic;
+import org.eclipse.emf.common.util.DiagnosticChain;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.common.util.WrappedException;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EOperation;
+import org.eclipse.papyrus.uml.alf.AlfPackage;
+import org.eclipse.papyrus.uml.alf.ClassDefinition;
+import org.eclipse.papyrus.uml.alf.ClassifierDefinition;
+import org.eclipse.papyrus.uml.alf.ElementReference;
+import org.eclipse.papyrus.uml.alf.Member;
+import org.eclipse.papyrus.uml.alf.MemberDefinition;
+import org.eclipse.papyrus.uml.alf.NamespaceDefinition;
+import org.eclipse.papyrus.uml.alf.StereotypeAnnotation;
+import org.eclipse.papyrus.uml.alf.UnitDefinition;
+import org.eclipse.papyrus.uml.alf.util.AlfValidator;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Class Definition</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ *
+ * @generated
+ */
+public class ClassDefinitionImpl extends ClassifierDefinitionImpl implements ClassDefinition {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected ClassDefinitionImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return AlfPackage.eINSTANCE.getClassDefinition();
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #annotationAllowed(org.eclipse.papyrus.uml.alf.StereotypeAnnotation) <em>Annotation Allowed</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #annotationAllowed(org.eclipse.papyrus.uml.alf.StereotypeAnnotation)
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate ANNOTATION_ALLOWED_STEREOTYPE_ANNOTATION__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getClassDefinition__AnnotationAllowed__StereotypeAnnotation())
+ .getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean annotationAllowed(StereotypeAnnotation annotation) {
+ try {
+ return (Boolean) ANNOTATION_ALLOWED_STEREOTYPE_ANNOTATION__EINVOCATION_DELEGATE.dynamicInvoke(this, new BasicEList.UnmodifiableEList<Object>(1, new Object[] { annotation }));
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #matchForStub(org.eclipse.papyrus.uml.alf.UnitDefinition) <em>Match For Stub</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #matchForStub(org.eclipse.papyrus.uml.alf.UnitDefinition)
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate MATCH_FOR_STUB_UNIT_DEFINITION__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getClassDefinition__MatchForStub__UnitDefinition()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean matchForStub(UnitDefinition unit) {
+ try {
+ return (Boolean) MATCH_FOR_STUB_UNIT_DEFINITION__EINVOCATION_DELEGATE.dynamicInvoke(this, new BasicEList.UnmodifiableEList<Object>(1, new Object[] { unit }));
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #isSameKindAs(org.eclipse.papyrus.uml.alf.ElementReference) <em>Is Same Kind As</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #isSameKindAs(org.eclipse.papyrus.uml.alf.ElementReference)
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate IS_SAME_KIND_AS_ELEMENT_REFERENCE__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getClassDefinition__IsSameKindAs__ElementReference()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isSameKindAs(ElementReference member) {
+ try {
+ return (Boolean) IS_SAME_KIND_AS_ELEMENT_REFERENCE__EINVOCATION_DELEGATE.dynamicInvoke(this, new BasicEList.UnmodifiableEList<Object>(1, new Object[] { member }));
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #needsDefaultConstructor() <em>Needs Default Constructor</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #needsDefaultConstructor()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate NEEDS_DEFAULT_CONSTRUCTOR__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getClassDefinition__NeedsDefaultConstructor()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean needsDefaultConstructor() {
+ try {
+ return (Boolean) NEEDS_DEFAULT_CONSTRUCTOR__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #needsDefaultDestructor() <em>Needs Default Destructor</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #needsDefaultDestructor()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate NEEDS_DEFAULT_DESTRUCTOR__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getClassDefinition__NeedsDefaultDestructor()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean needsDefaultDestructor() {
+ try {
+ return (Boolean) NEEDS_DEFAULT_DESTRUCTOR__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #inherit(org.eclipse.emf.common.util.EList) <em>Inherit</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #inherit(org.eclipse.emf.common.util.EList)
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate INHERIT_ELIST__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getClassDefinition__Inherit__EList()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<Member> inherit(EList<Member> inheritableMembers) {
+ try {
+ return (EList<Member>) INHERIT_ELIST__EINVOCATION_DELEGATE.dynamicInvoke(this, new BasicEList.UnmodifiableEList<Object>(1, new Object[] { inheritableMembers }));
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated NOT
+ */
+ public EList<Member> inheritCached(EList<Member> inheritableMembers) {
+ BasicEList<Member> members = new BasicEList<Member>(this.NamespaceDefinition_members());
+ members.addAllUnique(inheritableMembers);
+ this.members = members;
+ return this.ClassDefinition_inherit(inheritableMembers);
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #ClassDefinition_inherit(org.eclipse.emf.common.util.EList) <em>Class Definition inherit</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #ClassDefinition_inherit(org.eclipse.emf.common.util.EList)
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate CLASS_DEFINITION_INHERIT_ELIST__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getClassDefinition__ClassDefinition_inherit__EList()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<Member> ClassDefinition_inherit(EList<Member> inheritableMembers) {
+ try {
+ return (EList<Member>) CLASS_DEFINITION_INHERIT_ELIST__EINVOCATION_DELEGATE.dynamicInvoke(this, new BasicEList.UnmodifiableEList<Object>(1, new Object[] { inheritableMembers }));
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached validation expression for the '{@link #classDefinitionSpecializationReferent(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Class Definition Specialization Referent</em>}' invariant operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #classDefinitionSpecializationReferent(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ * @ordered
+ */
+ protected static final String CLASS_DEFINITION_SPECIALIZATION_REFERENT_DIAGNOSTIC_CHAIN_MAP__EEXPRESSION = "\n" +
+ " self.specializationReferent->forAll(isClass()) and\n" +
+ " (self.specializationReferent->exists(isActiveClass())\n" +
+ " implies self.oclIsKindOf(ActiveClassDefinition)\n" +
+ " )";
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean classDefinitionSpecializationReferent(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return AlfValidator.validate
+ (AlfPackage.eINSTANCE.getClassDefinition(),
+ this,
+ diagnostics,
+ context,
+ "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot",
+ AlfPackage.eINSTANCE.getClassDefinition__ClassDefinitionSpecializationReferent__DiagnosticChain_Map(),
+ CLASS_DEFINITION_SPECIALIZATION_REFERENT_DIAGNOSTIC_CHAIN_MAP__EEXPRESSION,
+ Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.CLASS_DEFINITION__CLASS_DEFINITION_SPECIALIZATION_REFERENT);
+ }
+
+ /**
+ * The cached validation expression for the '{@link #classDefinitionAbstractMember(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Class Definition Abstract Member</em>}' invariant operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #classDefinitionAbstractMember(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ * @ordered
+ */
+ protected static final String CLASS_DEFINITION_ABSTRACT_MEMBER_DIAGNOSTIC_CHAIN_MAP__EEXPRESSION = "\n" +
+ " if self.isAbstract then true\n" +
+ " else \n" +
+ " self.member.definition->select(oclIsKindOf(OperationDefinition)).\n" +
+ " oclAsType(OperationDefinition)->forAll(not isAbstract)\n" +
+ " endif";
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean classDefinitionAbstractMember(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return AlfValidator.validate
+ (AlfPackage.eINSTANCE.getClassDefinition(),
+ this,
+ diagnostics,
+ context,
+ "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot",
+ AlfPackage.eINSTANCE.getClassDefinition__ClassDefinitionAbstractMember__DiagnosticChain_Map(),
+ CLASS_DEFINITION_ABSTRACT_MEMBER_DIAGNOSTIC_CHAIN_MAP__EEXPRESSION,
+ Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.CLASS_DEFINITION__CLASS_DEFINITION_ABSTRACT_MEMBER);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public int eDerivedOperationID(int baseOperationID, Class<?> baseClass) {
+ if (baseClass == MemberDefinition.class) {
+ switch (baseOperationID) {
+ case AlfPackage.MEMBER_DEFINITION___ANNOTATION_ALLOWED__STEREOTYPEANNOTATION:
+ return AlfPackage.CLASS_DEFINITION___ANNOTATION_ALLOWED__STEREOTYPEANNOTATION;
+ case AlfPackage.MEMBER_DEFINITION___MATCH_FOR_STUB__UNITDEFINITION:
+ return AlfPackage.CLASS_DEFINITION___MATCH_FOR_STUB__UNITDEFINITION;
+ case AlfPackage.MEMBER_DEFINITION___IS_SAME_KIND_AS__ELEMENTREFERENCE:
+ return AlfPackage.CLASS_DEFINITION___IS_SAME_KIND_AS__ELEMENTREFERENCE;
+ default:
+ return super.eDerivedOperationID(baseOperationID, baseClass);
+ }
+ }
+ if (baseClass == NamespaceDefinition.class) {
+ switch (baseOperationID) {
+ case AlfPackage.NAMESPACE_DEFINITION___ANNOTATION_ALLOWED__STEREOTYPEANNOTATION:
+ return AlfPackage.CLASS_DEFINITION___ANNOTATION_ALLOWED__STEREOTYPEANNOTATION;
+ default:
+ return super.eDerivedOperationID(baseOperationID, baseClass);
+ }
+ }
+ if (baseClass == ClassifierDefinition.class) {
+ switch (baseOperationID) {
+ case AlfPackage.CLASSIFIER_DEFINITION___MATCH_FOR_STUB__UNITDEFINITION:
+ return AlfPackage.CLASS_DEFINITION___MATCH_FOR_STUB__UNITDEFINITION;
+ case AlfPackage.CLASSIFIER_DEFINITION___INHERIT__ELIST:
+ return AlfPackage.CLASS_DEFINITION___INHERIT__ELIST;
+ default:
+ return super.eDerivedOperationID(baseOperationID, baseClass);
+ }
+ }
+ return super.eDerivedOperationID(baseOperationID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object eInvoke(int operationID, EList<?> arguments) throws InvocationTargetException {
+ switch (operationID) {
+ case AlfPackage.CLASS_DEFINITION___ANNOTATION_ALLOWED__STEREOTYPEANNOTATION:
+ return annotationAllowed((StereotypeAnnotation) arguments.get(0));
+ case AlfPackage.CLASS_DEFINITION___MATCH_FOR_STUB__UNITDEFINITION:
+ return matchForStub((UnitDefinition) arguments.get(0));
+ case AlfPackage.CLASS_DEFINITION___IS_SAME_KIND_AS__ELEMENTREFERENCE:
+ return isSameKindAs((ElementReference) arguments.get(0));
+ case AlfPackage.CLASS_DEFINITION___NEEDS_DEFAULT_CONSTRUCTOR:
+ return needsDefaultConstructor();
+ case AlfPackage.CLASS_DEFINITION___NEEDS_DEFAULT_DESTRUCTOR:
+ return needsDefaultDestructor();
+ case AlfPackage.CLASS_DEFINITION___INHERIT__ELIST:
+ return inherit((EList<Member>) arguments.get(0));
+ case AlfPackage.CLASS_DEFINITION___INHERIT_CACHED__ELIST:
+ return inheritCached((EList<Member>) arguments.get(0));
+ case AlfPackage.CLASS_DEFINITION___CLASS_DEFINITION_INHERIT__ELIST:
+ return ClassDefinition_inherit((EList<Member>) arguments.get(0));
+ case AlfPackage.CLASS_DEFINITION___CLASS_DEFINITION_SPECIALIZATION_REFERENT__DIAGNOSTICCHAIN_MAP:
+ return classDefinitionSpecializationReferent((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ case AlfPackage.CLASS_DEFINITION___CLASS_DEFINITION_ABSTRACT_MEMBER__DIAGNOSTICCHAIN_MAP:
+ return classDefinitionAbstractMember((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ }
+ return super.eInvoke(operationID, arguments);
+ }
+
+} // ClassDefinitionImpl
diff --git a/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/ClassExtentExpressionImpl.java b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/ClassExtentExpressionImpl.java
new file mode 100644
index 00000000000..24b9b267bce
--- /dev/null
+++ b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/ClassExtentExpressionImpl.java
@@ -0,0 +1,319 @@
+/**
+ */
+package org.eclipse.papyrus.uml.alf.impl;
+
+import java.lang.reflect.InvocationTargetException;
+import java.math.BigInteger;
+import java.util.Map;
+import org.eclipse.emf.common.util.BasicDiagnostic;
+import org.eclipse.emf.common.util.Diagnostic;
+import org.eclipse.emf.common.util.DiagnosticChain;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.common.util.WrappedException;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EOperation;
+import org.eclipse.emf.ecore.plugin.EcorePlugin;
+import org.eclipse.emf.ecore.util.EObjectValidator;
+import org.eclipse.papyrus.uml.alf.AlfPackage;
+import org.eclipse.papyrus.uml.alf.ClassExtentExpression;
+import org.eclipse.papyrus.uml.alf.ElementReference;
+import org.eclipse.papyrus.uml.alf.QualifiedName;
+import org.eclipse.papyrus.uml.alf.util.AlfValidator;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Class Extent Expression</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.uml.alf.impl.ClassExtentExpressionImpl#getClassName <em>Class Name</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class ClassExtentExpressionImpl extends ExpressionImpl implements ClassExtentExpression {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected ClassExtentExpressionImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return AlfPackage.eINSTANCE.getClassExtentExpression();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public QualifiedName getClassName() {
+ return (QualifiedName) eGet(AlfPackage.eINSTANCE.getClassExtentExpression_ClassName(), true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setClassName(QualifiedName newClassName) {
+ eSet(AlfPackage.eINSTANCE.getClassExtentExpression_ClassName(), newClassName);
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #type() <em>Type</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #type()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate TYPE__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getClassExtentExpression__Type()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public ElementReference type() {
+ try {
+ return (ElementReference) TYPE__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #upper() <em>Upper</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #upper()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate UPPER__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getClassExtentExpression__Upper()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public BigInteger upper() {
+ try {
+ return (BigInteger) UPPER__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #lower() <em>Lower</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #lower()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate LOWER__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getClassExtentExpression__Lower()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public BigInteger lower() {
+ try {
+ return (BigInteger) LOWER__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean classExtentExpressionTypeDerivation(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.CLASS_EXTENT_EXPRESSION__CLASS_EXTENT_EXPRESSION_TYPE_DERIVATION,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "classExtentExpressionTypeDerivation", EObjectValidator.getObjectLabel(this, context) }),
+ new Object[] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean classExtentExpressionUpperDerivation(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.CLASS_EXTENT_EXPRESSION__CLASS_EXTENT_EXPRESSION_UPPER_DERIVATION,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "classExtentExpressionUpperDerivation", EObjectValidator.getObjectLabel(this, context) }),
+ new Object[] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean classExtentExpressionLowerDerivation(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.CLASS_EXTENT_EXPRESSION__CLASS_EXTENT_EXPRESSION_LOWER_DERIVATION,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "classExtentExpressionLowerDerivation", EObjectValidator.getObjectLabel(this, context) }),
+ new Object[] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * The cached validation expression for the '{@link #classExtentExpressionExtentType(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Class Extent Expression Extent Type</em>}' invariant operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #classExtentExpressionExtentType(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ * @ordered
+ */
+ protected static final String CLASS_EXTENT_EXPRESSION_EXTENT_TYPE_DIAGNOSTIC_CHAIN_MAP__EEXPRESSION = "self.validateClassExtentExpressionExtentType()";
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean classExtentExpressionExtentType(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return AlfValidator.validate
+ (AlfPackage.eINSTANCE.getClassExtentExpression(),
+ this,
+ diagnostics,
+ context,
+ "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot",
+ AlfPackage.eINSTANCE.getClassExtentExpression__ClassExtentExpressionExtentType__DiagnosticChain_Map(),
+ CLASS_EXTENT_EXPRESSION_EXTENT_TYPE_DIAGNOSTIC_CHAIN_MAP__EEXPRESSION,
+ Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.CLASS_EXTENT_EXPRESSION__CLASS_EXTENT_EXPRESSION_EXTENT_TYPE);
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #validateClassExtentExpressionExtentType() <em>Validate Class Extent Expression Extent Type</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #validateClassExtentExpressionExtentType()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate VALIDATE_CLASS_EXTENT_EXPRESSION_EXTENT_TYPE__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getClassExtentExpression__ValidateClassExtentExpressionExtentType())
+ .getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateClassExtentExpressionExtentType() {
+ try {
+ return (Boolean) VALIDATE_CLASS_EXTENT_EXPRESSION_EXTENT_TYPE__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object eInvoke(int operationID, EList<?> arguments) throws InvocationTargetException {
+ switch (operationID) {
+ case AlfPackage.CLASS_EXTENT_EXPRESSION___TYPE:
+ return type();
+ case AlfPackage.CLASS_EXTENT_EXPRESSION___UPPER:
+ return upper();
+ case AlfPackage.CLASS_EXTENT_EXPRESSION___LOWER:
+ return lower();
+ case AlfPackage.CLASS_EXTENT_EXPRESSION___CLASS_EXTENT_EXPRESSION_TYPE_DERIVATION__DIAGNOSTICCHAIN_MAP:
+ return classExtentExpressionTypeDerivation((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ case AlfPackage.CLASS_EXTENT_EXPRESSION___CLASS_EXTENT_EXPRESSION_UPPER_DERIVATION__DIAGNOSTICCHAIN_MAP:
+ return classExtentExpressionUpperDerivation((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ case AlfPackage.CLASS_EXTENT_EXPRESSION___CLASS_EXTENT_EXPRESSION_LOWER_DERIVATION__DIAGNOSTICCHAIN_MAP:
+ return classExtentExpressionLowerDerivation((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ case AlfPackage.CLASS_EXTENT_EXPRESSION___CLASS_EXTENT_EXPRESSION_EXTENT_TYPE__DIAGNOSTICCHAIN_MAP:
+ return classExtentExpressionExtentType((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ case AlfPackage.CLASS_EXTENT_EXPRESSION___VALIDATE_CLASS_EXTENT_EXPRESSION_EXTENT_TYPE:
+ return validateClassExtentExpressionExtentType();
+ }
+ return super.eInvoke(operationID, arguments);
+ }
+
+} // ClassExtentExpressionImpl
diff --git a/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/ClassificationExpressionImpl.java b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/ClassificationExpressionImpl.java
new file mode 100644
index 00000000000..25e1063e8ea
--- /dev/null
+++ b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/ClassificationExpressionImpl.java
@@ -0,0 +1,422 @@
+/**
+ */
+package org.eclipse.papyrus.uml.alf.impl;
+
+import java.lang.reflect.InvocationTargetException;
+import java.math.BigInteger;
+import java.util.Map;
+import org.eclipse.emf.common.util.BasicDiagnostic;
+import org.eclipse.emf.common.util.Diagnostic;
+import org.eclipse.emf.common.util.DiagnosticChain;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.common.util.WrappedException;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EOperation;
+import org.eclipse.emf.ecore.plugin.EcorePlugin;
+import org.eclipse.emf.ecore.util.EObjectValidator;
+import org.eclipse.papyrus.uml.alf.AlfPackage;
+import org.eclipse.papyrus.uml.alf.ClassificationExpression;
+import org.eclipse.papyrus.uml.alf.ElementReference;
+import org.eclipse.papyrus.uml.alf.QualifiedName;
+import org.eclipse.papyrus.uml.alf.util.AlfValidator;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Classification Expression</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.uml.alf.impl.ClassificationExpressionImpl#getReferent <em>Referent</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.impl.ClassificationExpressionImpl#isIsDirect <em>Is Direct</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.impl.ClassificationExpressionImpl#getTypeName <em>Type Name</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class ClassificationExpressionImpl extends UnaryExpressionImpl implements ClassificationExpression {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected ClassificationExpressionImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return AlfPackage.eINSTANCE.getClassificationExpression();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public ElementReference getReferent() {
+ return (ElementReference) eGet(AlfPackage.eINSTANCE.getClassificationExpression_Referent(), true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setReferent(ElementReference newReferent) {
+ eSet(AlfPackage.eINSTANCE.getClassificationExpression_Referent(), newReferent);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isIsDirect() {
+ return (Boolean) eGet(AlfPackage.eINSTANCE.getClassificationExpression_IsDirect(), true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setIsDirect(boolean newIsDirect) {
+ eSet(AlfPackage.eINSTANCE.getClassificationExpression_IsDirect(), newIsDirect);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public QualifiedName getTypeName() {
+ return (QualifiedName) eGet(AlfPackage.eINSTANCE.getClassificationExpression_TypeName(), true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setTypeName(QualifiedName newTypeName) {
+ eSet(AlfPackage.eINSTANCE.getClassificationExpression_TypeName(), newTypeName);
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #type() <em>Type</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #type()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate TYPE__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getClassificationExpression__Type()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public ElementReference type() {
+ try {
+ return (ElementReference) TYPE__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #lower() <em>Lower</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #lower()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate LOWER__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getClassificationExpression__Lower()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public BigInteger lower() {
+ try {
+ return (BigInteger) LOWER__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #upper() <em>Upper</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #upper()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate UPPER__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getClassificationExpression__Upper()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public BigInteger upper() {
+ try {
+ return (BigInteger) UPPER__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean classificationExpressionIsDirectDerivation(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.CLASSIFICATION_EXPRESSION__CLASSIFICATION_EXPRESSION_IS_DIRECT_DERIVATION,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "classificationExpressionIsDirectDerivation", EObjectValidator.getObjectLabel(this, context) }),
+ new Object[] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean classificationExpressionReferentDerivation(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.CLASSIFICATION_EXPRESSION__CLASSIFICATION_EXPRESSION_REFERENT_DERIVATION,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "classificationExpressionReferentDerivation", EObjectValidator.getObjectLabel(this, context) }),
+ new Object[] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean classificationExpressionTypeDerivation(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.CLASSIFICATION_EXPRESSION__CLASSIFICATION_EXPRESSION_TYPE_DERIVATION,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "classificationExpressionTypeDerivation", EObjectValidator.getObjectLabel(this, context) }),
+ new Object[] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean classificationExpressionLowerDerivation(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.CLASSIFICATION_EXPRESSION__CLASSIFICATION_EXPRESSION_LOWER_DERIVATION,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "classificationExpressionLowerDerivation", EObjectValidator.getObjectLabel(this, context) }),
+ new Object[] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean classificationExpressionUpperDerivation(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.CLASSIFICATION_EXPRESSION__CLASSIFICATION_EXPRESSION_UPPER_DERIVATION,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "classificationExpressionUpperDerivation", EObjectValidator.getObjectLabel(this, context) }),
+ new Object[] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * The cached validation expression for the '{@link #classificationExpressionTypeName(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Classification Expression Type Name</em>}' invariant operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #classificationExpressionTypeName(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ * @ordered
+ */
+ protected static final String CLASSIFICATION_EXPRESSION_TYPE_NAME_DIAGNOSTIC_CHAIN_MAP__EEXPRESSION = "self.referent <> null and not self.referent.isTemplate()";
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean classificationExpressionTypeName(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return AlfValidator.validate
+ (AlfPackage.eINSTANCE.getClassificationExpression(),
+ this,
+ diagnostics,
+ context,
+ "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot",
+ AlfPackage.eINSTANCE.getClassificationExpression__ClassificationExpressionTypeName__DiagnosticChain_Map(),
+ CLASSIFICATION_EXPRESSION_TYPE_NAME_DIAGNOSTIC_CHAIN_MAP__EEXPRESSION,
+ Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.CLASSIFICATION_EXPRESSION__CLASSIFICATION_EXPRESSION_TYPE_NAME);
+ }
+
+ /**
+ * The cached validation expression for the '{@link #classificationExpressionOperand(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Classification Expression Operand</em>}' invariant operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #classificationExpressionOperand(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ * @ordered
+ */
+ protected static final String CLASSIFICATION_EXPRESSION_OPERAND_DIAGNOSTIC_CHAIN_MAP__EEXPRESSION = "self.operand.upper = 1";
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean classificationExpressionOperand(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return AlfValidator.validate
+ (AlfPackage.eINSTANCE.getClassificationExpression(),
+ this,
+ diagnostics,
+ context,
+ "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot",
+ AlfPackage.eINSTANCE.getClassificationExpression__ClassificationExpressionOperand__DiagnosticChain_Map(),
+ CLASSIFICATION_EXPRESSION_OPERAND_DIAGNOSTIC_CHAIN_MAP__EEXPRESSION,
+ Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.CLASSIFICATION_EXPRESSION__CLASSIFICATION_EXPRESSION_OPERAND);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object eInvoke(int operationID, EList<?> arguments) throws InvocationTargetException {
+ switch (operationID) {
+ case AlfPackage.CLASSIFICATION_EXPRESSION___TYPE:
+ return type();
+ case AlfPackage.CLASSIFICATION_EXPRESSION___LOWER:
+ return lower();
+ case AlfPackage.CLASSIFICATION_EXPRESSION___UPPER:
+ return upper();
+ case AlfPackage.CLASSIFICATION_EXPRESSION___CLASSIFICATION_EXPRESSION_IS_DIRECT_DERIVATION__DIAGNOSTICCHAIN_MAP:
+ return classificationExpressionIsDirectDerivation((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ case AlfPackage.CLASSIFICATION_EXPRESSION___CLASSIFICATION_EXPRESSION_REFERENT_DERIVATION__DIAGNOSTICCHAIN_MAP:
+ return classificationExpressionReferentDerivation((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ case AlfPackage.CLASSIFICATION_EXPRESSION___CLASSIFICATION_EXPRESSION_TYPE_DERIVATION__DIAGNOSTICCHAIN_MAP:
+ return classificationExpressionTypeDerivation((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ case AlfPackage.CLASSIFICATION_EXPRESSION___CLASSIFICATION_EXPRESSION_LOWER_DERIVATION__DIAGNOSTICCHAIN_MAP:
+ return classificationExpressionLowerDerivation((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ case AlfPackage.CLASSIFICATION_EXPRESSION___CLASSIFICATION_EXPRESSION_UPPER_DERIVATION__DIAGNOSTICCHAIN_MAP:
+ return classificationExpressionUpperDerivation((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ case AlfPackage.CLASSIFICATION_EXPRESSION___CLASSIFICATION_EXPRESSION_TYPE_NAME__DIAGNOSTICCHAIN_MAP:
+ return classificationExpressionTypeName((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ case AlfPackage.CLASSIFICATION_EXPRESSION___CLASSIFICATION_EXPRESSION_OPERAND__DIAGNOSTICCHAIN_MAP:
+ return classificationExpressionOperand((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ }
+ return super.eInvoke(operationID, arguments);
+ }
+
+} // ClassificationExpressionImpl
diff --git a/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/ClassifierDefinitionImpl.java b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/ClassifierDefinitionImpl.java
new file mode 100644
index 00000000000..baf4eeea02d
--- /dev/null
+++ b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/ClassifierDefinitionImpl.java
@@ -0,0 +1,426 @@
+/**
+ */
+package org.eclipse.papyrus.uml.alf.impl;
+
+import java.lang.reflect.InvocationTargetException;
+
+import java.util.Map;
+
+import org.eclipse.emf.common.util.BasicDiagnostic;
+import org.eclipse.emf.common.util.BasicEList;
+import org.eclipse.emf.common.util.Diagnostic;
+import org.eclipse.emf.common.util.DiagnosticChain;
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.common.util.WrappedException;
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.EOperation;
+import org.eclipse.emf.ecore.plugin.EcorePlugin;
+
+import org.eclipse.emf.ecore.util.EObjectValidator;
+
+import org.eclipse.papyrus.uml.alf.AlfPackage;
+import org.eclipse.papyrus.uml.alf.ClassifierDefinition;
+import org.eclipse.papyrus.uml.alf.ElementReference;
+import org.eclipse.papyrus.uml.alf.Member;
+import org.eclipse.papyrus.uml.alf.MemberDefinition;
+import org.eclipse.papyrus.uml.alf.NamespaceDefinition;
+import org.eclipse.papyrus.uml.alf.QualifiedNameList;
+
+import org.eclipse.papyrus.uml.alf.StereotypeAnnotation;
+import org.eclipse.papyrus.uml.alf.UnitDefinition;
+import org.eclipse.papyrus.uml.alf.util.AlfValidator;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Classifier Definition</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.uml.alf.impl.ClassifierDefinitionImpl#isIsAbstract <em>Is Abstract</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.impl.ClassifierDefinitionImpl#getSpecialization <em>Specialization</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.impl.ClassifierDefinitionImpl#getSpecializationReferent <em>Specialization Referent</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public abstract class ClassifierDefinitionImpl extends NamespaceDefinitionImpl implements ClassifierDefinition {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected ClassifierDefinitionImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return AlfPackage.eINSTANCE.getClassifierDefinition();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isIsAbstract() {
+ return (Boolean) eGet(AlfPackage.eINSTANCE.getClassifierDefinition_IsAbstract(), true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setIsAbstract(boolean newIsAbstract) {
+ eSet(AlfPackage.eINSTANCE.getClassifierDefinition_IsAbstract(), newIsAbstract);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public QualifiedNameList getSpecialization() {
+ return (QualifiedNameList) eGet(AlfPackage.eINSTANCE.getClassifierDefinition_Specialization(), true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setSpecialization(QualifiedNameList newSpecialization) {
+ eSet(AlfPackage.eINSTANCE.getClassifierDefinition_Specialization(), newSpecialization);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<ElementReference> getSpecializationReferent() {
+ return (EList<ElementReference>) eGet(AlfPackage.eINSTANCE.getClassifierDefinition_SpecializationReferent(), true);
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #ClassifierDefinition_annotationAllowed(org.eclipse.papyrus.uml.alf.StereotypeAnnotation) <em>Classifier Definition annotation Allowed</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #ClassifierDefinition_annotationAllowed(org.eclipse.papyrus.uml.alf.StereotypeAnnotation)
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate CLASSIFIER_DEFINITION_ANNOTATION_ALLOWED_STEREOTYPE_ANNOTATION__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE
+ .getClassifierDefinition__ClassifierDefinition_annotationAllowed__StereotypeAnnotation()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean ClassifierDefinition_annotationAllowed(StereotypeAnnotation annotation) {
+ try {
+ return (Boolean) CLASSIFIER_DEFINITION_ANNOTATION_ALLOWED_STEREOTYPE_ANNOTATION__EINVOCATION_DELEGATE.dynamicInvoke(this, new BasicEList.UnmodifiableEList<Object>(1, new Object[] { annotation }));
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #matchForStub(org.eclipse.papyrus.uml.alf.UnitDefinition) <em>Match For Stub</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #matchForStub(org.eclipse.papyrus.uml.alf.UnitDefinition)
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate MATCH_FOR_STUB_UNIT_DEFINITION__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getClassifierDefinition__MatchForStub__UnitDefinition()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean matchForStub(UnitDefinition unit) {
+ try {
+ return (Boolean) MATCH_FOR_STUB_UNIT_DEFINITION__EINVOCATION_DELEGATE.dynamicInvoke(this, new BasicEList.UnmodifiableEList<Object>(1, new Object[] { unit }));
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #ClassifierDefinition_matchForStub(org.eclipse.papyrus.uml.alf.UnitDefinition) <em>Classifier Definition match For Stub</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #ClassifierDefinition_matchForStub(org.eclipse.papyrus.uml.alf.UnitDefinition)
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate CLASSIFIER_DEFINITION_MATCH_FOR_STUB_UNIT_DEFINITION__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE
+ .getClassifierDefinition__ClassifierDefinition_matchForStub__UnitDefinition()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean ClassifierDefinition_matchForStub(UnitDefinition unit) {
+ try {
+ return (Boolean) CLASSIFIER_DEFINITION_MATCH_FOR_STUB_UNIT_DEFINITION__EINVOCATION_DELEGATE.dynamicInvoke(this, new BasicEList.UnmodifiableEList<Object>(1, new Object[] { unit }));
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #members() <em>Members</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #members()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate MEMBERS__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getClassifierDefinition__Members()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<Member> members() {
+ try {
+ return (EList<Member>) MEMBERS__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #inheritedMembers() <em>Inherited Members</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #inheritedMembers()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate INHERITED_MEMBERS__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getClassifierDefinition__InheritedMembers()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<Member> inheritedMembers() {
+ try {
+ return (EList<Member>) INHERITED_MEMBERS__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #inherit(org.eclipse.emf.common.util.EList) <em>Inherit</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #inherit(org.eclipse.emf.common.util.EList)
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate INHERIT_ELIST__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getClassifierDefinition__Inherit__EList()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<Member> inherit(EList<Member> members) {
+ try {
+ return (EList<Member>) INHERIT_ELIST__EINVOCATION_DELEGATE.dynamicInvoke(this, new BasicEList.UnmodifiableEList<Object>(1, new Object[] { members }));
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached validation expression for the '{@link #classifierDefinitionSpecialization(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Classifier Definition Specialization</em>}' invariant operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #classifierDefinitionSpecialization(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ * @ordered
+ */
+ protected static final String CLASSIFIER_DEFINITION_SPECIALIZATION_DIAGNOSTIC_CHAIN_MAP__EEXPRESSION = "\n" +
+ " self.specialization = null or\n" +
+ " self.specialization.name->forAll(\n" +
+ " referent->size() = 1 and\n" +
+ " referent->forAll(isClassifier() and not isTemplate())\n" +
+ " )";
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean classifierDefinitionSpecialization(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return AlfValidator.validate
+ (AlfPackage.eINSTANCE.getClassifierDefinition(),
+ this,
+ diagnostics,
+ context,
+ "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot",
+ AlfPackage.eINSTANCE.getClassifierDefinition__ClassifierDefinitionSpecialization__DiagnosticChain_Map(),
+ CLASSIFIER_DEFINITION_SPECIALIZATION_DIAGNOSTIC_CHAIN_MAP__EEXPRESSION,
+ Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.CLASSIFIER_DEFINITION__CLASSIFIER_DEFINITION_SPECIALIZATION);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean classifierDefinitionSpecializationReferentDerivation(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.CLASSIFIER_DEFINITION__CLASSIFIER_DEFINITION_SPECIALIZATION_REFERENT_DERIVATION,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "classifierDefinitionSpecializationReferentDerivation", EObjectValidator.getObjectLabel(this, context) }),
+ new Object[] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean classifierDefinitionInheritedMembers(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.CLASSIFIER_DEFINITION__CLASSIFIER_DEFINITION_INHERITED_MEMBERS,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "classifierDefinitionInheritedMembers", EObjectValidator.getObjectLabel(this, context) }),
+ new Object[] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public int eDerivedOperationID(int baseOperationID, Class<?> baseClass) {
+ if (baseClass == MemberDefinition.class) {
+ switch (baseOperationID) {
+ case AlfPackage.MEMBER_DEFINITION___MATCH_FOR_STUB__UNITDEFINITION:
+ return AlfPackage.CLASSIFIER_DEFINITION___MATCH_FOR_STUB__UNITDEFINITION;
+ default:
+ return super.eDerivedOperationID(baseOperationID, baseClass);
+ }
+ }
+ if (baseClass == NamespaceDefinition.class) {
+ switch (baseOperationID) {
+ case AlfPackage.NAMESPACE_DEFINITION___MEMBERS:
+ return AlfPackage.CLASSIFIER_DEFINITION___MEMBERS;
+ default:
+ return super.eDerivedOperationID(baseOperationID, baseClass);
+ }
+ }
+ return super.eDerivedOperationID(baseOperationID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object eInvoke(int operationID, EList<?> arguments) throws InvocationTargetException {
+ switch (operationID) {
+ case AlfPackage.CLASSIFIER_DEFINITION___CLASSIFIER_DEFINITION_ANNOTATION_ALLOWED__STEREOTYPEANNOTATION:
+ return ClassifierDefinition_annotationAllowed((StereotypeAnnotation) arguments.get(0));
+ case AlfPackage.CLASSIFIER_DEFINITION___MATCH_FOR_STUB__UNITDEFINITION:
+ return matchForStub((UnitDefinition) arguments.get(0));
+ case AlfPackage.CLASSIFIER_DEFINITION___CLASSIFIER_DEFINITION_MATCH_FOR_STUB__UNITDEFINITION:
+ return ClassifierDefinition_matchForStub((UnitDefinition) arguments.get(0));
+ case AlfPackage.CLASSIFIER_DEFINITION___MEMBERS:
+ return members();
+ case AlfPackage.CLASSIFIER_DEFINITION___INHERITED_MEMBERS:
+ return inheritedMembers();
+ case AlfPackage.CLASSIFIER_DEFINITION___INHERIT__ELIST:
+ return inherit((EList<Member>) arguments.get(0));
+ case AlfPackage.CLASSIFIER_DEFINITION___CLASSIFIER_DEFINITION_SPECIALIZATION__DIAGNOSTICCHAIN_MAP:
+ return classifierDefinitionSpecialization((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ case AlfPackage.CLASSIFIER_DEFINITION___CLASSIFIER_DEFINITION_SPECIALIZATION_REFERENT_DERIVATION__DIAGNOSTICCHAIN_MAP:
+ return classifierDefinitionSpecializationReferentDerivation((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ case AlfPackage.CLASSIFIER_DEFINITION___CLASSIFIER_DEFINITION_INHERITED_MEMBERS__DIAGNOSTICCHAIN_MAP:
+ return classifierDefinitionInheritedMembers((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ }
+ return super.eInvoke(operationID, arguments);
+ }
+
+} // ClassifierDefinitionImpl
diff --git a/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/ClassifierTemplateParameterImpl.java b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/ClassifierTemplateParameterImpl.java
new file mode 100644
index 00000000000..c86c932cc90
--- /dev/null
+++ b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/ClassifierTemplateParameterImpl.java
@@ -0,0 +1,213 @@
+/**
+ */
+package org.eclipse.papyrus.uml.alf.impl;
+
+import java.lang.reflect.InvocationTargetException;
+import org.eclipse.emf.common.util.BasicEList;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.common.util.WrappedException;
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.EOperation;
+import org.eclipse.papyrus.uml.alf.AlfPackage;
+import org.eclipse.papyrus.uml.alf.ClassifierDefinition;
+import org.eclipse.papyrus.uml.alf.ClassifierTemplateParameter;
+import org.eclipse.papyrus.uml.alf.ElementReference;
+import org.eclipse.papyrus.uml.alf.MemberDefinition;
+import org.eclipse.papyrus.uml.alf.NamespaceDefinition;
+import org.eclipse.papyrus.uml.alf.StereotypeAnnotation;
+import org.eclipse.papyrus.uml.alf.UnitDefinition;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Classifier Template Parameter</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ *
+ * @generated
+ */
+public class ClassifierTemplateParameterImpl extends ClassifierDefinitionImpl implements ClassifierTemplateParameter {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected ClassifierTemplateParameterImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return AlfPackage.eINSTANCE.getClassifierTemplateParameter();
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #annotationAllowed(org.eclipse.papyrus.uml.alf.StereotypeAnnotation) <em>Annotation Allowed</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #annotationAllowed(org.eclipse.papyrus.uml.alf.StereotypeAnnotation)
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate ANNOTATION_ALLOWED_STEREOTYPE_ANNOTATION__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getClassifierTemplateParameter__AnnotationAllowed__StereotypeAnnotation())
+ .getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean annotationAllowed(StereotypeAnnotation annotation) {
+ try {
+ return (Boolean) ANNOTATION_ALLOWED_STEREOTYPE_ANNOTATION__EINVOCATION_DELEGATE.dynamicInvoke(this, new BasicEList.UnmodifiableEList<Object>(1, new Object[] { annotation }));
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #matchForStub(org.eclipse.papyrus.uml.alf.UnitDefinition) <em>Match For Stub</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #matchForStub(org.eclipse.papyrus.uml.alf.UnitDefinition)
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate MATCH_FOR_STUB_UNIT_DEFINITION__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getClassifierTemplateParameter__MatchForStub__UnitDefinition()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean matchForStub(UnitDefinition unit) {
+ try {
+ return (Boolean) MATCH_FOR_STUB_UNIT_DEFINITION__EINVOCATION_DELEGATE.dynamicInvoke(this, new BasicEList.UnmodifiableEList<Object>(1, new Object[] { unit }));
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #isSameKindAs(org.eclipse.papyrus.uml.alf.ElementReference) <em>Is Same Kind As</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #isSameKindAs(org.eclipse.papyrus.uml.alf.ElementReference)
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate IS_SAME_KIND_AS_ELEMENT_REFERENCE__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getClassifierTemplateParameter__IsSameKindAs__ElementReference()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isSameKindAs(ElementReference member) {
+ try {
+ return (Boolean) IS_SAME_KIND_AS_ELEMENT_REFERENCE__EINVOCATION_DELEGATE.dynamicInvoke(this, new BasicEList.UnmodifiableEList<Object>(1, new Object[] { member }));
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #matches(org.eclipse.papyrus.uml.alf.ClassifierTemplateParameter) <em>Matches</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #matches(org.eclipse.papyrus.uml.alf.ClassifierTemplateParameter)
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate MATCHES_CLASSIFIER_TEMPLATE_PARAMETER__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getClassifierTemplateParameter__Matches__ClassifierTemplateParameter())
+ .getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean matches(ClassifierTemplateParameter other) {
+ try {
+ return (Boolean) MATCHES_CLASSIFIER_TEMPLATE_PARAMETER__EINVOCATION_DELEGATE.dynamicInvoke(this, new BasicEList.UnmodifiableEList<Object>(1, new Object[] { other }));
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public int eDerivedOperationID(int baseOperationID, Class<?> baseClass) {
+ if (baseClass == MemberDefinition.class) {
+ switch (baseOperationID) {
+ case AlfPackage.MEMBER_DEFINITION___ANNOTATION_ALLOWED__STEREOTYPEANNOTATION:
+ return AlfPackage.CLASSIFIER_TEMPLATE_PARAMETER___ANNOTATION_ALLOWED__STEREOTYPEANNOTATION;
+ case AlfPackage.MEMBER_DEFINITION___MATCH_FOR_STUB__UNITDEFINITION:
+ return AlfPackage.CLASSIFIER_TEMPLATE_PARAMETER___MATCH_FOR_STUB__UNITDEFINITION;
+ case AlfPackage.MEMBER_DEFINITION___IS_SAME_KIND_AS__ELEMENTREFERENCE:
+ return AlfPackage.CLASSIFIER_TEMPLATE_PARAMETER___IS_SAME_KIND_AS__ELEMENTREFERENCE;
+ default:
+ return super.eDerivedOperationID(baseOperationID, baseClass);
+ }
+ }
+ if (baseClass == NamespaceDefinition.class) {
+ switch (baseOperationID) {
+ case AlfPackage.NAMESPACE_DEFINITION___ANNOTATION_ALLOWED__STEREOTYPEANNOTATION:
+ return AlfPackage.CLASSIFIER_TEMPLATE_PARAMETER___ANNOTATION_ALLOWED__STEREOTYPEANNOTATION;
+ default:
+ return super.eDerivedOperationID(baseOperationID, baseClass);
+ }
+ }
+ if (baseClass == ClassifierDefinition.class) {
+ switch (baseOperationID) {
+ case AlfPackage.CLASSIFIER_DEFINITION___MATCH_FOR_STUB__UNITDEFINITION:
+ return AlfPackage.CLASSIFIER_TEMPLATE_PARAMETER___MATCH_FOR_STUB__UNITDEFINITION;
+ default:
+ return super.eDerivedOperationID(baseOperationID, baseClass);
+ }
+ }
+ return super.eDerivedOperationID(baseOperationID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Object eInvoke(int operationID, EList<?> arguments) throws InvocationTargetException {
+ switch (operationID) {
+ case AlfPackage.CLASSIFIER_TEMPLATE_PARAMETER___ANNOTATION_ALLOWED__STEREOTYPEANNOTATION:
+ return annotationAllowed((StereotypeAnnotation) arguments.get(0));
+ case AlfPackage.CLASSIFIER_TEMPLATE_PARAMETER___MATCH_FOR_STUB__UNITDEFINITION:
+ return matchForStub((UnitDefinition) arguments.get(0));
+ case AlfPackage.CLASSIFIER_TEMPLATE_PARAMETER___IS_SAME_KIND_AS__ELEMENTREFERENCE:
+ return isSameKindAs((ElementReference) arguments.get(0));
+ case AlfPackage.CLASSIFIER_TEMPLATE_PARAMETER___MATCHES__CLASSIFIERTEMPLATEPARAMETER:
+ return matches((ClassifierTemplateParameter) arguments.get(0));
+ }
+ return super.eInvoke(operationID, arguments);
+ }
+
+} // ClassifierTemplateParameterImpl
diff --git a/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/ClassifyStatementImpl.java b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/ClassifyStatementImpl.java
new file mode 100644
index 00000000000..cec067707d6
--- /dev/null
+++ b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/ClassifyStatementImpl.java
@@ -0,0 +1,448 @@
+/**
+ */
+package org.eclipse.papyrus.uml.alf.impl;
+
+import java.lang.reflect.InvocationTargetException;
+import java.util.Map;
+import org.eclipse.emf.common.util.BasicDiagnostic;
+import org.eclipse.emf.common.util.Diagnostic;
+import org.eclipse.emf.common.util.DiagnosticChain;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.common.util.WrappedException;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EOperation;
+import org.eclipse.emf.ecore.plugin.EcorePlugin;
+import org.eclipse.emf.ecore.util.EObjectValidator;
+import org.eclipse.papyrus.uml.alf.AlfPackage;
+import org.eclipse.papyrus.uml.alf.AssignedSource;
+import org.eclipse.papyrus.uml.alf.ClassifyStatement;
+import org.eclipse.papyrus.uml.alf.ElementReference;
+import org.eclipse.papyrus.uml.alf.Expression;
+import org.eclipse.papyrus.uml.alf.QualifiedNameList;
+import org.eclipse.papyrus.uml.alf.util.AlfValidator;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Classify Statement</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.uml.alf.impl.ClassifyStatementImpl#getExpression <em>Expression</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.impl.ClassifyStatementImpl#getFromList <em>From List</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.impl.ClassifyStatementImpl#getToList <em>To List</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.impl.ClassifyStatementImpl#getFromClass <em>From Class</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.impl.ClassifyStatementImpl#getToClass <em>To Class</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.impl.ClassifyStatementImpl#isIsReclassifyAll <em>Is Reclassify All</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class ClassifyStatementImpl extends StatementImpl implements ClassifyStatement {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected ClassifyStatementImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return AlfPackage.eINSTANCE.getClassifyStatement();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public Expression getExpression() {
+ return (Expression) eGet(AlfPackage.eINSTANCE.getClassifyStatement_Expression(), true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setExpression(Expression newExpression) {
+ eSet(AlfPackage.eINSTANCE.getClassifyStatement_Expression(), newExpression);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public QualifiedNameList getFromList() {
+ return (QualifiedNameList) eGet(AlfPackage.eINSTANCE.getClassifyStatement_FromList(), true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setFromList(QualifiedNameList newFromList) {
+ eSet(AlfPackage.eINSTANCE.getClassifyStatement_FromList(), newFromList);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public QualifiedNameList getToList() {
+ return (QualifiedNameList) eGet(AlfPackage.eINSTANCE.getClassifyStatement_ToList(), true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setToList(QualifiedNameList newToList) {
+ eSet(AlfPackage.eINSTANCE.getClassifyStatement_ToList(), newToList);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<ElementReference> getFromClass() {
+ return (EList<ElementReference>) eGet(AlfPackage.eINSTANCE.getClassifyStatement_FromClass(), true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<ElementReference> getToClass() {
+ return (EList<ElementReference>) eGet(AlfPackage.eINSTANCE.getClassifyStatement_ToClass(), true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isIsReclassifyAll() {
+ return (Boolean) eGet(AlfPackage.eINSTANCE.getClassifyStatement_IsReclassifyAll(), true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setIsReclassifyAll(boolean newIsReclassifyAll) {
+ eSet(AlfPackage.eINSTANCE.getClassifyStatement_IsReclassifyAll(), newIsReclassifyAll);
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #assignmentAfter() <em>Assignment After</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #assignmentAfter()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate ASSIGNMENT_AFTER__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getClassifyStatement__AssignmentAfter()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<AssignedSource> assignmentAfter() {
+ try {
+ return (EList<AssignedSource>) ASSIGNMENT_AFTER__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached validation expression for the '{@link #classifyStatementExpression(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Classify Statement Expression</em>}' invariant operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #classifyStatementExpression(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ * @ordered
+ */
+ protected static final String CLASSIFY_STATEMENT_EXPRESSION_DIAGNOSTIC_CHAIN_MAP__EEXPRESSION = "\n" +
+ " let type = self.expression.type in\n" +
+ " type <> null and type.isClass() and self.expression.upper = 1";
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean classifyStatementExpression(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return AlfValidator.validate
+ (AlfPackage.eINSTANCE.getClassifyStatement(),
+ this,
+ diagnostics,
+ context,
+ "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot",
+ AlfPackage.eINSTANCE.getClassifyStatement__ClassifyStatementExpression__DiagnosticChain_Map(),
+ CLASSIFY_STATEMENT_EXPRESSION_DIAGNOSTIC_CHAIN_MAP__EEXPRESSION,
+ Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.CLASSIFY_STATEMENT__CLASSIFY_STATEMENT_EXPRESSION);
+ }
+
+ /**
+ * The cached validation expression for the '{@link #classifyStatementClassNames(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Classify Statement Class Names</em>}' invariant operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #classifyStatementClassNames(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ * @ordered
+ */
+ protected static final String CLASSIFY_STATEMENT_CLASS_NAMES_DIAGNOSTIC_CHAIN_MAP__EEXPRESSION = "\n" +
+ " let fromNames = \n" +
+ " if self.fromList = null then Set(QualifiedName){}\n" +
+ " else self.fromList.name->asSet()\n" +
+ " endif\n" +
+ " in\n" +
+ " let toNames =\n" +
+ " if self.toList = null then Set(QualifiedName){}\n" +
+ " else self.toList.name->asSet()\n" +
+ " endif\n" +
+ " in\n" +
+ " fromNames->union(toNames)->forAll(name |\n" +
+ " let referent = name.referent->select(isClass()) in\n" +
+ " referent->size() = 1 and\n" +
+ " referent->forAll(not isTemplate())\n" +
+ " )";
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean classifyStatementClassNames(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return AlfValidator.validate
+ (AlfPackage.eINSTANCE.getClassifyStatement(),
+ this,
+ diagnostics,
+ context,
+ "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot",
+ AlfPackage.eINSTANCE.getClassifyStatement__ClassifyStatementClassNames__DiagnosticChain_Map(),
+ CLASSIFY_STATEMENT_CLASS_NAMES_DIAGNOSTIC_CHAIN_MAP__EEXPRESSION,
+ Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.CLASSIFY_STATEMENT__CLASSIFY_STATEMENT_CLASS_NAMES);
+ }
+
+ /**
+ * The cached validation expression for the '{@link #classifyStatementClasses(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Classify Statement Classes</em>}' invariant operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #classifyStatementClasses(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ * @ordered
+ */
+ protected static final String CLASSIFY_STATEMENT_CLASSES_DIAGNOSTIC_CHAIN_MAP__EEXPRESSION = "\n" +
+ " let classes = self.fromClass->union(self.toClass) in\n" +
+ " let expressionType = self.expression.type in\n" +
+ " if expressionType = null then true\n" +
+ " else\n" +
+ " classes->\n" +
+ " forAll(not equals(expressionType) and conformsTo(expressionType)) and\n" +
+ " let parents : Bag(ElementReference) = classes.allParents()->\n" +
+ " select(not equals(expressionType) and conformsTo(expressionType)) \n" +
+ " in\n" +
+ " parents->forAll(countIn(parents) = 1)\n" +
+ " endif";
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean classifyStatementClasses(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return AlfValidator.validate
+ (AlfPackage.eINSTANCE.getClassifyStatement(),
+ this,
+ diagnostics,
+ context,
+ "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot",
+ AlfPackage.eINSTANCE.getClassifyStatement__ClassifyStatementClasses__DiagnosticChain_Map(),
+ CLASSIFY_STATEMENT_CLASSES_DIAGNOSTIC_CHAIN_MAP__EEXPRESSION,
+ Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.CLASSIFY_STATEMENT__CLASSIFY_STATEMENT_CLASSES);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean classifyStatementAssignmentsBefore(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.CLASSIFY_STATEMENT__CLASSIFY_STATEMENT_ASSIGNMENTS_BEFORE,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "classifyStatementAssignmentsBefore", EObjectValidator.getObjectLabel(this, context) }),
+ new Object[] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean classifyStatementAssignmentsAfter(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.CLASSIFY_STATEMENT__CLASSIFY_STATEMENT_ASSIGNMENTS_AFTER,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "classifyStatementAssignmentsAfter", EObjectValidator.getObjectLabel(this, context) }),
+ new Object[] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean classifyStatementFromClassDerivation(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.CLASSIFY_STATEMENT__CLASSIFY_STATEMENT_FROM_CLASS_DERIVATION,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "classifyStatementFromClassDerivation", EObjectValidator.getObjectLabel(this, context) }),
+ new Object[] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean classifyStatementToClassDerivation(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.CLASSIFY_STATEMENT__CLASSIFY_STATEMENT_TO_CLASS_DERIVATION,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "classifyStatementToClassDerivation", EObjectValidator.getObjectLabel(this, context) }),
+ new Object[] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object eInvoke(int operationID, EList<?> arguments) throws InvocationTargetException {
+ switch (operationID) {
+ case AlfPackage.CLASSIFY_STATEMENT___ASSIGNMENT_AFTER:
+ return assignmentAfter();
+ case AlfPackage.CLASSIFY_STATEMENT___CLASSIFY_STATEMENT_EXPRESSION__DIAGNOSTICCHAIN_MAP:
+ return classifyStatementExpression((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ case AlfPackage.CLASSIFY_STATEMENT___CLASSIFY_STATEMENT_CLASS_NAMES__DIAGNOSTICCHAIN_MAP:
+ return classifyStatementClassNames((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ case AlfPackage.CLASSIFY_STATEMENT___CLASSIFY_STATEMENT_CLASSES__DIAGNOSTICCHAIN_MAP:
+ return classifyStatementClasses((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ case AlfPackage.CLASSIFY_STATEMENT___CLASSIFY_STATEMENT_ASSIGNMENTS_BEFORE__DIAGNOSTICCHAIN_MAP:
+ return classifyStatementAssignmentsBefore((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ case AlfPackage.CLASSIFY_STATEMENT___CLASSIFY_STATEMENT_ASSIGNMENTS_AFTER__DIAGNOSTICCHAIN_MAP:
+ return classifyStatementAssignmentsAfter((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ case AlfPackage.CLASSIFY_STATEMENT___CLASSIFY_STATEMENT_FROM_CLASS_DERIVATION__DIAGNOSTICCHAIN_MAP:
+ return classifyStatementFromClassDerivation((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ case AlfPackage.CLASSIFY_STATEMENT___CLASSIFY_STATEMENT_TO_CLASS_DERIVATION__DIAGNOSTICCHAIN_MAP:
+ return classifyStatementToClassDerivation((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ }
+ return super.eInvoke(operationID, arguments);
+ }
+
+} // ClassifyStatementImpl
diff --git a/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/CollectOrIterateExpressionImpl.java b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/CollectOrIterateExpressionImpl.java
new file mode 100644
index 00000000000..e5bbe67b824
--- /dev/null
+++ b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/CollectOrIterateExpressionImpl.java
@@ -0,0 +1,39 @@
+/**
+ */
+package org.eclipse.papyrus.uml.alf.impl;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.papyrus.uml.alf.AlfPackage;
+import org.eclipse.papyrus.uml.alf.CollectOrIterateExpression;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Collect Or Iterate Expression</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ *
+ * @generated
+ */
+public class CollectOrIterateExpressionImpl extends SequenceExpansionExpressionImpl implements CollectOrIterateExpression {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected CollectOrIterateExpressionImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return AlfPackage.eINSTANCE.getCollectOrIterateExpression();
+ }
+
+} // CollectOrIterateExpressionImpl
diff --git a/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/ConcurrentClausesImpl.java b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/ConcurrentClausesImpl.java
new file mode 100644
index 00000000000..396d7bde618
--- /dev/null
+++ b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/ConcurrentClausesImpl.java
@@ -0,0 +1,141 @@
+/**
+ */
+package org.eclipse.papyrus.uml.alf.impl;
+
+import java.lang.reflect.InvocationTargetException;
+import java.util.Map;
+import org.eclipse.emf.common.util.BasicDiagnostic;
+import org.eclipse.emf.common.util.Diagnostic;
+import org.eclipse.emf.common.util.DiagnosticChain;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.plugin.EcorePlugin;
+import org.eclipse.emf.ecore.util.EObjectValidator;
+import org.eclipse.papyrus.uml.alf.AlfPackage;
+import org.eclipse.papyrus.uml.alf.ConcurrentClauses;
+import org.eclipse.papyrus.uml.alf.NonFinalClause;
+import org.eclipse.papyrus.uml.alf.util.AlfValidator;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Concurrent Clauses</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.uml.alf.impl.ConcurrentClausesImpl#getClause <em>Clause</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class ConcurrentClausesImpl extends SyntaxElementImpl implements ConcurrentClauses {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected ConcurrentClausesImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return AlfPackage.eINSTANCE.getConcurrentClauses();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<NonFinalClause> getClause() {
+ return (EList<NonFinalClause>) eGet(AlfPackage.eINSTANCE.getConcurrentClauses_Clause(), true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean concurrentClausesAssignmentsBefore(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.CONCURRENT_CLAUSES__CONCURRENT_CLAUSES_ASSIGNMENTS_BEFORE,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "concurrentClausesAssignmentsBefore", EObjectValidator.getObjectLabel(this, context) }),
+ new Object[] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * The cached validation expression for the '{@link #concurrentClausesConditionAssignments(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Concurrent Clauses Condition Assignments</em>}' invariant operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #concurrentClausesConditionAssignments(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ * @ordered
+ */
+ protected static final String CONCURRENT_CLAUSES_CONDITION_ASSIGNMENTS_DIAGNOSTIC_CHAIN_MAP__EEXPRESSION = "self.clause.condition.newAssignments()->isUnique(name)";
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean concurrentClausesConditionAssignments(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return AlfValidator.validate
+ (AlfPackage.eINSTANCE.getConcurrentClauses(),
+ this,
+ diagnostics,
+ context,
+ "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot",
+ AlfPackage.eINSTANCE.getConcurrentClauses__ConcurrentClausesConditionAssignments__DiagnosticChain_Map(),
+ CONCURRENT_CLAUSES_CONDITION_ASSIGNMENTS_DIAGNOSTIC_CHAIN_MAP__EEXPRESSION,
+ Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.CONCURRENT_CLAUSES__CONCURRENT_CLAUSES_CONDITION_ASSIGNMENTS);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object eInvoke(int operationID, EList<?> arguments) throws InvocationTargetException {
+ switch (operationID) {
+ case AlfPackage.CONCURRENT_CLAUSES___CONCURRENT_CLAUSES_ASSIGNMENTS_BEFORE__DIAGNOSTICCHAIN_MAP:
+ return concurrentClausesAssignmentsBefore((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ case AlfPackage.CONCURRENT_CLAUSES___CONCURRENT_CLAUSES_CONDITION_ASSIGNMENTS__DIAGNOSTICCHAIN_MAP:
+ return concurrentClausesConditionAssignments((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ }
+ return super.eInvoke(operationID, arguments);
+ }
+
+} // ConcurrentClausesImpl
diff --git a/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/ConditionalLogicalExpressionImpl.java b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/ConditionalLogicalExpressionImpl.java
new file mode 100644
index 00000000000..e2b8f1b2eb8
--- /dev/null
+++ b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/ConditionalLogicalExpressionImpl.java
@@ -0,0 +1,410 @@
+/**
+ */
+package org.eclipse.papyrus.uml.alf.impl;
+
+import java.lang.reflect.InvocationTargetException;
+
+import java.math.BigInteger;
+import java.util.Map;
+
+import org.eclipse.emf.common.util.BasicDiagnostic;
+import org.eclipse.emf.common.util.BasicEList;
+import org.eclipse.emf.common.util.Diagnostic;
+import org.eclipse.emf.common.util.DiagnosticChain;
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.common.util.WrappedException;
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.EOperation;
+import org.eclipse.emf.ecore.plugin.EcorePlugin;
+
+import org.eclipse.emf.ecore.util.EObjectValidator;
+
+import org.eclipse.papyrus.uml.alf.AlfPackage;
+import org.eclipse.papyrus.uml.alf.AssignableElement;
+import org.eclipse.papyrus.uml.alf.AssignedSource;
+import org.eclipse.papyrus.uml.alf.BinaryExpression;
+import org.eclipse.papyrus.uml.alf.ConditionalLogicalExpression;
+
+import org.eclipse.papyrus.uml.alf.ElementReference;
+import org.eclipse.papyrus.uml.alf.Expression;
+import org.eclipse.papyrus.uml.alf.SyntaxElement;
+import org.eclipse.papyrus.uml.alf.util.AlfValidator;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Conditional Logical Expression</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ *
+ * @generated
+ */
+public class ConditionalLogicalExpressionImpl extends BinaryExpressionImpl implements ConditionalLogicalExpression {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected ConditionalLogicalExpressionImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return AlfPackage.eINSTANCE.getConditionalLogicalExpression();
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #type() <em>Type</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #type()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate TYPE__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getConditionalLogicalExpression__Type()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public ElementReference type() {
+ try {
+ return (ElementReference) TYPE__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #lower() <em>Lower</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #lower()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate LOWER__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getConditionalLogicalExpression__Lower()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public BigInteger lower() {
+ try {
+ return (BigInteger) LOWER__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #upper() <em>Upper</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #upper()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate UPPER__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getConditionalLogicalExpression__Upper()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public BigInteger upper() {
+ try {
+ return (BigInteger) UPPER__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean conditionalLogicalExpressionTypeDerivation(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.CONDITIONAL_LOGICAL_EXPRESSION__CONDITIONAL_LOGICAL_EXPRESSION_TYPE_DERIVATION,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "conditionalLogicalExpressionTypeDerivation", EObjectValidator.getObjectLabel(this, context) }),
+ new Object[] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean conditionalLogicalExpressionLower(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.CONDITIONAL_LOGICAL_EXPRESSION__CONDITIONAL_LOGICAL_EXPRESSION_LOWER,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "conditionalLogicalExpressionLower", EObjectValidator.getObjectLabel(this, context) }),
+ new Object[] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean conditionalLogicalExpressionUpper(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.CONDITIONAL_LOGICAL_EXPRESSION__CONDITIONAL_LOGICAL_EXPRESSION_UPPER,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "conditionalLogicalExpressionUpper", EObjectValidator.getObjectLabel(this, context) }),
+ new Object[] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * The cached validation expression for the '{@link #conditionalLogicalExpressionOperands(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Conditional Logical Expression Operands</em>}' invariant operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #conditionalLogicalExpressionOperands(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ * @ordered
+ */
+ protected static final String CONDITIONAL_LOGICAL_EXPRESSION_OPERANDS_DIAGNOSTIC_CHAIN_MAP__EEXPRESSION = "self.isBooleanType(self.operand1.type) and self.isBooleanType(self.operand2.type)";
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean conditionalLogicalExpressionOperands(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return AlfValidator.validate
+ (AlfPackage.eINSTANCE.getConditionalLogicalExpression(),
+ this,
+ diagnostics,
+ context,
+ "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot",
+ AlfPackage.eINSTANCE.getConditionalLogicalExpression__ConditionalLogicalExpressionOperands__DiagnosticChain_Map(),
+ CONDITIONAL_LOGICAL_EXPRESSION_OPERANDS_DIAGNOSTIC_CHAIN_MAP__EEXPRESSION,
+ Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.CONDITIONAL_LOGICAL_EXPRESSION__CONDITIONAL_LOGICAL_EXPRESSION_OPERANDS);
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #validateAssignments() <em>Validate Assignments</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #validateAssignments()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate VALIDATE_ASSIGNMENTS__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getConditionalLogicalExpression__ValidateAssignments()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateAssignments() {
+ try {
+ return (Boolean) VALIDATE_ASSIGNMENTS__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #assignmentsBefore(org.eclipse.papyrus.uml.alf.SyntaxElement) <em>Assignments Before</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #assignmentsBefore(org.eclipse.papyrus.uml.alf.SyntaxElement)
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate ASSIGNMENTS_BEFORE_SYNTAX_ELEMENT__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getConditionalLogicalExpression__AssignmentsBefore__SyntaxElement())
+ .getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<AssignedSource> assignmentsBefore(SyntaxElement element) {
+ try {
+ return (EList<AssignedSource>) ASSIGNMENTS_BEFORE_SYNTAX_ELEMENT__EINVOCATION_DELEGATE.dynamicInvoke(this, new BasicEList.UnmodifiableEList<Object>(1, new Object[] { element }));
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #updateAssignments() <em>Update Assignments</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #updateAssignments()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate UPDATE_ASSIGNMENTS__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getConditionalLogicalExpression__UpdateAssignments()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<AssignedSource> updateAssignments() {
+ try {
+ return (EList<AssignedSource>) UPDATE_ASSIGNMENTS__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public int eDerivedOperationID(int baseOperationID, Class<?> baseClass) {
+ if (baseClass == SyntaxElement.class) {
+ switch (baseOperationID) {
+ case AlfPackage.SYNTAX_ELEMENT___ASSIGNMENTS_BEFORE__SYNTAXELEMENT:
+ return AlfPackage.CONDITIONAL_LOGICAL_EXPRESSION___ASSIGNMENTS_BEFORE__SYNTAXELEMENT;
+ default:
+ return super.eDerivedOperationID(baseOperationID, baseClass);
+ }
+ }
+ if (baseClass == AssignableElement.class) {
+ switch (baseOperationID) {
+ case AlfPackage.ASSIGNABLE_ELEMENT___TYPE:
+ return AlfPackage.CONDITIONAL_LOGICAL_EXPRESSION___TYPE;
+ case AlfPackage.ASSIGNABLE_ELEMENT___LOWER:
+ return AlfPackage.CONDITIONAL_LOGICAL_EXPRESSION___LOWER;
+ case AlfPackage.ASSIGNABLE_ELEMENT___UPPER:
+ return AlfPackage.CONDITIONAL_LOGICAL_EXPRESSION___UPPER;
+ default:
+ return super.eDerivedOperationID(baseOperationID, baseClass);
+ }
+ }
+ if (baseClass == Expression.class) {
+ switch (baseOperationID) {
+ case AlfPackage.EXPRESSION___UPDATE_ASSIGNMENTS:
+ return AlfPackage.CONDITIONAL_LOGICAL_EXPRESSION___UPDATE_ASSIGNMENTS;
+ default:
+ return super.eDerivedOperationID(baseOperationID, baseClass);
+ }
+ }
+ if (baseClass == BinaryExpression.class) {
+ switch (baseOperationID) {
+ case AlfPackage.BINARY_EXPRESSION___VALIDATE_ASSIGNMENTS:
+ return AlfPackage.CONDITIONAL_LOGICAL_EXPRESSION___VALIDATE_ASSIGNMENTS;
+ case AlfPackage.BINARY_EXPRESSION___UPDATE_ASSIGNMENTS:
+ return AlfPackage.CONDITIONAL_LOGICAL_EXPRESSION___UPDATE_ASSIGNMENTS;
+ default:
+ return super.eDerivedOperationID(baseOperationID, baseClass);
+ }
+ }
+ return super.eDerivedOperationID(baseOperationID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object eInvoke(int operationID, EList<?> arguments) throws InvocationTargetException {
+ switch (operationID) {
+ case AlfPackage.CONDITIONAL_LOGICAL_EXPRESSION___TYPE:
+ return type();
+ case AlfPackage.CONDITIONAL_LOGICAL_EXPRESSION___LOWER:
+ return lower();
+ case AlfPackage.CONDITIONAL_LOGICAL_EXPRESSION___UPPER:
+ return upper();
+ case AlfPackage.CONDITIONAL_LOGICAL_EXPRESSION___CONDITIONAL_LOGICAL_EXPRESSION_TYPE_DERIVATION__DIAGNOSTICCHAIN_MAP:
+ return conditionalLogicalExpressionTypeDerivation((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ case AlfPackage.CONDITIONAL_LOGICAL_EXPRESSION___CONDITIONAL_LOGICAL_EXPRESSION_LOWER__DIAGNOSTICCHAIN_MAP:
+ return conditionalLogicalExpressionLower((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ case AlfPackage.CONDITIONAL_LOGICAL_EXPRESSION___CONDITIONAL_LOGICAL_EXPRESSION_UPPER__DIAGNOSTICCHAIN_MAP:
+ return conditionalLogicalExpressionUpper((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ case AlfPackage.CONDITIONAL_LOGICAL_EXPRESSION___CONDITIONAL_LOGICAL_EXPRESSION_OPERANDS__DIAGNOSTICCHAIN_MAP:
+ return conditionalLogicalExpressionOperands((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ case AlfPackage.CONDITIONAL_LOGICAL_EXPRESSION___VALIDATE_ASSIGNMENTS:
+ return validateAssignments();
+ case AlfPackage.CONDITIONAL_LOGICAL_EXPRESSION___ASSIGNMENTS_BEFORE__SYNTAXELEMENT:
+ return assignmentsBefore((SyntaxElement) arguments.get(0));
+ case AlfPackage.CONDITIONAL_LOGICAL_EXPRESSION___UPDATE_ASSIGNMENTS:
+ return updateAssignments();
+ }
+ return super.eInvoke(operationID, arguments);
+ }
+
+} // ConditionalLogicalExpressionImpl
diff --git a/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/ConditionalTestExpressionImpl.java b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/ConditionalTestExpressionImpl.java
new file mode 100644
index 00000000000..8ca652aa01c
--- /dev/null
+++ b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/ConditionalTestExpressionImpl.java
@@ -0,0 +1,504 @@
+/**
+ */
+package org.eclipse.papyrus.uml.alf.impl;
+
+import java.lang.reflect.InvocationTargetException;
+
+import java.math.BigInteger;
+import java.util.Map;
+
+import org.eclipse.emf.common.util.BasicDiagnostic;
+import org.eclipse.emf.common.util.BasicEList;
+import org.eclipse.emf.common.util.Diagnostic;
+import org.eclipse.emf.common.util.DiagnosticChain;
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.common.util.WrappedException;
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.EOperation;
+import org.eclipse.emf.ecore.plugin.EcorePlugin;
+
+import org.eclipse.emf.ecore.util.EObjectValidator;
+
+import org.eclipse.papyrus.uml.alf.AlfPackage;
+import org.eclipse.papyrus.uml.alf.AssignableElement;
+import org.eclipse.papyrus.uml.alf.AssignedSource;
+import org.eclipse.papyrus.uml.alf.ConditionalTestExpression;
+import org.eclipse.papyrus.uml.alf.ElementReference;
+import org.eclipse.papyrus.uml.alf.Expression;
+
+import org.eclipse.papyrus.uml.alf.SyntaxElement;
+import org.eclipse.papyrus.uml.alf.util.AlfValidator;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Conditional Test Expression</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.uml.alf.impl.ConditionalTestExpressionImpl#getOperand1 <em>Operand1</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.impl.ConditionalTestExpressionImpl#getOperand2 <em>Operand2</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.impl.ConditionalTestExpressionImpl#getOperand3 <em>Operand3</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class ConditionalTestExpressionImpl extends ExpressionImpl implements ConditionalTestExpression {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected ConditionalTestExpressionImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return AlfPackage.eINSTANCE.getConditionalTestExpression();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public Expression getOperand1() {
+ return (Expression) eGet(AlfPackage.eINSTANCE.getConditionalTestExpression_Operand1(), true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setOperand1(Expression newOperand1) {
+ eSet(AlfPackage.eINSTANCE.getConditionalTestExpression_Operand1(), newOperand1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public Expression getOperand2() {
+ return (Expression) eGet(AlfPackage.eINSTANCE.getConditionalTestExpression_Operand2(), true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setOperand2(Expression newOperand2) {
+ eSet(AlfPackage.eINSTANCE.getConditionalTestExpression_Operand2(), newOperand2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public Expression getOperand3() {
+ return (Expression) eGet(AlfPackage.eINSTANCE.getConditionalTestExpression_Operand3(), true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setOperand3(Expression newOperand3) {
+ eSet(AlfPackage.eINSTANCE.getConditionalTestExpression_Operand3(), newOperand3);
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #type() <em>Type</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #type()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate TYPE__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getConditionalTestExpression__Type()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public ElementReference type() {
+ try {
+ return (ElementReference) TYPE__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #lower() <em>Lower</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #lower()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate LOWER__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getConditionalTestExpression__Lower()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public BigInteger lower() {
+ try {
+ return (BigInteger) LOWER__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #upper() <em>Upper</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #upper()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate UPPER__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getConditionalTestExpression__Upper()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public BigInteger upper() {
+ try {
+ return (BigInteger) UPPER__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #assignmentsBefore(org.eclipse.papyrus.uml.alf.SyntaxElement) <em>Assignments Before</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #assignmentsBefore(org.eclipse.papyrus.uml.alf.SyntaxElement)
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate ASSIGNMENTS_BEFORE_SYNTAX_ELEMENT__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getConditionalTestExpression__AssignmentsBefore__SyntaxElement()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<AssignedSource> assignmentsBefore(SyntaxElement element) {
+ try {
+ return (EList<AssignedSource>) ASSIGNMENTS_BEFORE_SYNTAX_ELEMENT__EINVOCATION_DELEGATE.dynamicInvoke(this, new BasicEList.UnmodifiableEList<Object>(1, new Object[] { element }));
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean conditionalTestExpressionTypeDerivation(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.CONDITIONAL_TEST_EXPRESSION__CONDITIONAL_TEST_EXPRESSION_TYPE_DERIVATION,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "conditionalTestExpressionTypeDerivation", EObjectValidator.getObjectLabel(this, context) }),
+ new Object[] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean conditionalTestExpressionLowerDerivation(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.CONDITIONAL_TEST_EXPRESSION__CONDITIONAL_TEST_EXPRESSION_LOWER_DERIVATION,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "conditionalTestExpressionLowerDerivation", EObjectValidator.getObjectLabel(this, context) }),
+ new Object[] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean conditionalTestExpressionUpperDerivation(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.CONDITIONAL_TEST_EXPRESSION__CONDITIONAL_TEST_EXPRESSION_UPPER_DERIVATION,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "conditionalTestExpressionUpperDerivation", EObjectValidator.getObjectLabel(this, context) }),
+ new Object[] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * The cached validation expression for the '{@link #conditionalTestExpressionCondition(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Conditional Test Expression Condition</em>}' invariant operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #conditionalTestExpressionCondition(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ * @ordered
+ */
+ protected static final String CONDITIONAL_TEST_EXPRESSION_CONDITION_DIAGNOSTIC_CHAIN_MAP__EEXPRESSION = "self.isBooleanType(self.operand1.type) and self.operand1.upper = 1";
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean conditionalTestExpressionCondition(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return AlfValidator.validate
+ (AlfPackage.eINSTANCE.getConditionalTestExpression(),
+ this,
+ diagnostics,
+ context,
+ "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot",
+ AlfPackage.eINSTANCE.getConditionalTestExpression__ConditionalTestExpressionCondition__DiagnosticChain_Map(),
+ CONDITIONAL_TEST_EXPRESSION_CONDITION_DIAGNOSTIC_CHAIN_MAP__EEXPRESSION,
+ Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.CONDITIONAL_TEST_EXPRESSION__CONDITIONAL_TEST_EXPRESSION_CONDITION);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean conditionalTestExpressionAssignmentsBefore(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.CONDITIONAL_TEST_EXPRESSION__CONDITIONAL_TEST_EXPRESSION_ASSIGNMENTS_BEFORE,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "conditionalTestExpressionAssignmentsBefore", EObjectValidator.getObjectLabel(this, context) }),
+ new Object[] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * The cached validation expression for the '{@link #conditionalTestExpressionAssignmentsAfter(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Conditional Test Expression Assignments After</em>}' invariant operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #conditionalTestExpressionAssignmentsAfter(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ * @ordered
+ */
+ protected static final String CONDITIONAL_TEST_EXPRESSION_ASSIGNMENTS_AFTER_DIAGNOSTIC_CHAIN_MAP__EEXPRESSION = "\n" +
+ " self.operand1.assignmentAfter.name->includesAll(\n" +
+ " self.operand2.assignmentAfter.name->asSet()->\n" +
+ " symmetricDifference(self.operand3.assignmentAfter.name->asSet())\n" +
+ " )";
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean conditionalTestExpressionAssignmentsAfter(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return AlfValidator.validate
+ (AlfPackage.eINSTANCE.getConditionalTestExpression(),
+ this,
+ diagnostics,
+ context,
+ "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot",
+ AlfPackage.eINSTANCE.getConditionalTestExpression__ConditionalTestExpressionAssignmentsAfter__DiagnosticChain_Map(),
+ CONDITIONAL_TEST_EXPRESSION_ASSIGNMENTS_AFTER_DIAGNOSTIC_CHAIN_MAP__EEXPRESSION,
+ Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.CONDITIONAL_TEST_EXPRESSION__CONDITIONAL_TEST_EXPRESSION_ASSIGNMENTS_AFTER);
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #updateAssignments() <em>Update Assignments</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #updateAssignments()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate UPDATE_ASSIGNMENTS__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getConditionalTestExpression__UpdateAssignments()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<AssignedSource> updateAssignments() {
+ try {
+ return (EList<AssignedSource>) UPDATE_ASSIGNMENTS__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public int eDerivedOperationID(int baseOperationID, Class<?> baseClass) {
+ if (baseClass == SyntaxElement.class) {
+ switch (baseOperationID) {
+ case AlfPackage.SYNTAX_ELEMENT___ASSIGNMENTS_BEFORE__SYNTAXELEMENT:
+ return AlfPackage.CONDITIONAL_TEST_EXPRESSION___ASSIGNMENTS_BEFORE__SYNTAXELEMENT;
+ default:
+ return super.eDerivedOperationID(baseOperationID, baseClass);
+ }
+ }
+ if (baseClass == AssignableElement.class) {
+ switch (baseOperationID) {
+ case AlfPackage.ASSIGNABLE_ELEMENT___TYPE:
+ return AlfPackage.CONDITIONAL_TEST_EXPRESSION___TYPE;
+ case AlfPackage.ASSIGNABLE_ELEMENT___LOWER:
+ return AlfPackage.CONDITIONAL_TEST_EXPRESSION___LOWER;
+ case AlfPackage.ASSIGNABLE_ELEMENT___UPPER:
+ return AlfPackage.CONDITIONAL_TEST_EXPRESSION___UPPER;
+ default:
+ return super.eDerivedOperationID(baseOperationID, baseClass);
+ }
+ }
+ if (baseClass == Expression.class) {
+ switch (baseOperationID) {
+ case AlfPackage.EXPRESSION___UPDATE_ASSIGNMENTS:
+ return AlfPackage.CONDITIONAL_TEST_EXPRESSION___UPDATE_ASSIGNMENTS;
+ default:
+ return super.eDerivedOperationID(baseOperationID, baseClass);
+ }
+ }
+ return super.eDerivedOperationID(baseOperationID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object eInvoke(int operationID, EList<?> arguments) throws InvocationTargetException {
+ switch (operationID) {
+ case AlfPackage.CONDITIONAL_TEST_EXPRESSION___TYPE:
+ return type();
+ case AlfPackage.CONDITIONAL_TEST_EXPRESSION___LOWER:
+ return lower();
+ case AlfPackage.CONDITIONAL_TEST_EXPRESSION___UPPER:
+ return upper();
+ case AlfPackage.CONDITIONAL_TEST_EXPRESSION___ASSIGNMENTS_BEFORE__SYNTAXELEMENT:
+ return assignmentsBefore((SyntaxElement) arguments.get(0));
+ case AlfPackage.CONDITIONAL_TEST_EXPRESSION___CONDITIONAL_TEST_EXPRESSION_TYPE_DERIVATION__DIAGNOSTICCHAIN_MAP:
+ return conditionalTestExpressionTypeDerivation((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ case AlfPackage.CONDITIONAL_TEST_EXPRESSION___CONDITIONAL_TEST_EXPRESSION_LOWER_DERIVATION__DIAGNOSTICCHAIN_MAP:
+ return conditionalTestExpressionLowerDerivation((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ case AlfPackage.CONDITIONAL_TEST_EXPRESSION___CONDITIONAL_TEST_EXPRESSION_UPPER_DERIVATION__DIAGNOSTICCHAIN_MAP:
+ return conditionalTestExpressionUpperDerivation((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ case AlfPackage.CONDITIONAL_TEST_EXPRESSION___CONDITIONAL_TEST_EXPRESSION_CONDITION__DIAGNOSTICCHAIN_MAP:
+ return conditionalTestExpressionCondition((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ case AlfPackage.CONDITIONAL_TEST_EXPRESSION___CONDITIONAL_TEST_EXPRESSION_ASSIGNMENTS_BEFORE__DIAGNOSTICCHAIN_MAP:
+ return conditionalTestExpressionAssignmentsBefore((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ case AlfPackage.CONDITIONAL_TEST_EXPRESSION___CONDITIONAL_TEST_EXPRESSION_ASSIGNMENTS_AFTER__DIAGNOSTICCHAIN_MAP:
+ return conditionalTestExpressionAssignmentsAfter((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ case AlfPackage.CONDITIONAL_TEST_EXPRESSION___UPDATE_ASSIGNMENTS:
+ return updateAssignments();
+ }
+ return super.eInvoke(operationID, arguments);
+ }
+
+} // ConditionalTestExpressionImpl
diff --git a/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/DataTypeDefinitionImpl.java b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/DataTypeDefinitionImpl.java
new file mode 100644
index 00000000000..09c69209d83
--- /dev/null
+++ b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/DataTypeDefinitionImpl.java
@@ -0,0 +1,257 @@
+/**
+ */
+package org.eclipse.papyrus.uml.alf.impl;
+
+import java.lang.reflect.InvocationTargetException;
+import java.util.Map;
+import org.eclipse.emf.common.util.BasicEList;
+import org.eclipse.emf.common.util.Diagnostic;
+import org.eclipse.emf.common.util.DiagnosticChain;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.common.util.WrappedException;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EOperation;
+import org.eclipse.papyrus.uml.alf.AlfPackage;
+import org.eclipse.papyrus.uml.alf.ClassifierDefinition;
+import org.eclipse.papyrus.uml.alf.DataTypeDefinition;
+import org.eclipse.papyrus.uml.alf.ElementReference;
+import org.eclipse.papyrus.uml.alf.MemberDefinition;
+import org.eclipse.papyrus.uml.alf.NamespaceDefinition;
+import org.eclipse.papyrus.uml.alf.StereotypeAnnotation;
+import org.eclipse.papyrus.uml.alf.UnitDefinition;
+import org.eclipse.papyrus.uml.alf.util.AlfValidator;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Data Type Definition</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ *
+ * @generated
+ */
+public class DataTypeDefinitionImpl extends ClassifierDefinitionImpl implements DataTypeDefinition {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected DataTypeDefinitionImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return AlfPackage.eINSTANCE.getDataTypeDefinition();
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #matchForStub(org.eclipse.papyrus.uml.alf.UnitDefinition) <em>Match For Stub</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #matchForStub(org.eclipse.papyrus.uml.alf.UnitDefinition)
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate MATCH_FOR_STUB_UNIT_DEFINITION__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getDataTypeDefinition__MatchForStub__UnitDefinition()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean matchForStub(UnitDefinition unit) {
+ try {
+ return (Boolean) MATCH_FOR_STUB_UNIT_DEFINITION__EINVOCATION_DELEGATE.dynamicInvoke(this, new BasicEList.UnmodifiableEList<Object>(1, new Object[] { unit }));
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #annotationAllowed(org.eclipse.papyrus.uml.alf.StereotypeAnnotation) <em>Annotation Allowed</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #annotationAllowed(org.eclipse.papyrus.uml.alf.StereotypeAnnotation)
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate ANNOTATION_ALLOWED_STEREOTYPE_ANNOTATION__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getDataTypeDefinition__AnnotationAllowed__StereotypeAnnotation())
+ .getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean annotationAllowed(StereotypeAnnotation annotation) {
+ try {
+ return (Boolean) ANNOTATION_ALLOWED_STEREOTYPE_ANNOTATION__EINVOCATION_DELEGATE.dynamicInvoke(this, new BasicEList.UnmodifiableEList<Object>(1, new Object[] { annotation }));
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #isSameKindAs(org.eclipse.papyrus.uml.alf.ElementReference) <em>Is Same Kind As</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #isSameKindAs(org.eclipse.papyrus.uml.alf.ElementReference)
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate IS_SAME_KIND_AS_ELEMENT_REFERENCE__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getDataTypeDefinition__IsSameKindAs__ElementReference()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isSameKindAs(ElementReference member) {
+ try {
+ return (Boolean) IS_SAME_KIND_AS_ELEMENT_REFERENCE__EINVOCATION_DELEGATE.dynamicInvoke(this, new BasicEList.UnmodifiableEList<Object>(1, new Object[] { member }));
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached validation expression for the '{@link #dataTypeDefinitionPrimitive(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Data Type Definition Primitive</em>}' invariant operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #dataTypeDefinitionPrimitive(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ * @ordered
+ */
+ protected static final String DATA_TYPE_DEFINITION_PRIMITIVE_DIAGNOSTIC_CHAIN_MAP__EEXPRESSION = "\n" +
+ " self.isPrimitive implies self.ownedMember->isEmpty()";
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean dataTypeDefinitionPrimitive(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return AlfValidator.validate
+ (AlfPackage.eINSTANCE.getDataTypeDefinition(),
+ this,
+ diagnostics,
+ context,
+ "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot",
+ AlfPackage.eINSTANCE.getDataTypeDefinition__DataTypeDefinitionPrimitive__DiagnosticChain_Map(),
+ DATA_TYPE_DEFINITION_PRIMITIVE_DIAGNOSTIC_CHAIN_MAP__EEXPRESSION,
+ Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.DATA_TYPE_DEFINITION__DATA_TYPE_DEFINITION_PRIMITIVE);
+ }
+
+ /**
+ * The cached validation expression for the '{@link #dataTypeDefinitionSpecializationReferent(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Data Type Definition Specialization Referent</em>}' invariant operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #dataTypeDefinitionSpecializationReferent(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ * @ordered
+ */
+ protected static final String DATA_TYPE_DEFINITION_SPECIALIZATION_REFERENT_DIAGNOSTIC_CHAIN_MAP__EEXPRESSION = "\n" +
+ " self.specializationReferent->forAll(isDataType())";
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean dataTypeDefinitionSpecializationReferent(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return AlfValidator.validate
+ (AlfPackage.eINSTANCE.getDataTypeDefinition(),
+ this,
+ diagnostics,
+ context,
+ "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot",
+ AlfPackage.eINSTANCE.getDataTypeDefinition__DataTypeDefinitionSpecializationReferent__DiagnosticChain_Map(),
+ DATA_TYPE_DEFINITION_SPECIALIZATION_REFERENT_DIAGNOSTIC_CHAIN_MAP__EEXPRESSION,
+ Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.DATA_TYPE_DEFINITION__DATA_TYPE_DEFINITION_SPECIALIZATION_REFERENT);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public int eDerivedOperationID(int baseOperationID, Class<?> baseClass) {
+ if (baseClass == MemberDefinition.class) {
+ switch (baseOperationID) {
+ case AlfPackage.MEMBER_DEFINITION___ANNOTATION_ALLOWED__STEREOTYPEANNOTATION:
+ return AlfPackage.DATA_TYPE_DEFINITION___ANNOTATION_ALLOWED__STEREOTYPEANNOTATION;
+ case AlfPackage.MEMBER_DEFINITION___MATCH_FOR_STUB__UNITDEFINITION:
+ return AlfPackage.DATA_TYPE_DEFINITION___MATCH_FOR_STUB__UNITDEFINITION;
+ case AlfPackage.MEMBER_DEFINITION___IS_SAME_KIND_AS__ELEMENTREFERENCE:
+ return AlfPackage.DATA_TYPE_DEFINITION___IS_SAME_KIND_AS__ELEMENTREFERENCE;
+ default:
+ return super.eDerivedOperationID(baseOperationID, baseClass);
+ }
+ }
+ if (baseClass == NamespaceDefinition.class) {
+ switch (baseOperationID) {
+ case AlfPackage.NAMESPACE_DEFINITION___ANNOTATION_ALLOWED__STEREOTYPEANNOTATION:
+ return AlfPackage.DATA_TYPE_DEFINITION___ANNOTATION_ALLOWED__STEREOTYPEANNOTATION;
+ default:
+ return super.eDerivedOperationID(baseOperationID, baseClass);
+ }
+ }
+ if (baseClass == ClassifierDefinition.class) {
+ switch (baseOperationID) {
+ case AlfPackage.CLASSIFIER_DEFINITION___MATCH_FOR_STUB__UNITDEFINITION:
+ return AlfPackage.DATA_TYPE_DEFINITION___MATCH_FOR_STUB__UNITDEFINITION;
+ default:
+ return super.eDerivedOperationID(baseOperationID, baseClass);
+ }
+ }
+ return super.eDerivedOperationID(baseOperationID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object eInvoke(int operationID, EList<?> arguments) throws InvocationTargetException {
+ switch (operationID) {
+ case AlfPackage.DATA_TYPE_DEFINITION___MATCH_FOR_STUB__UNITDEFINITION:
+ return matchForStub((UnitDefinition) arguments.get(0));
+ case AlfPackage.DATA_TYPE_DEFINITION___ANNOTATION_ALLOWED__STEREOTYPEANNOTATION:
+ return annotationAllowed((StereotypeAnnotation) arguments.get(0));
+ case AlfPackage.DATA_TYPE_DEFINITION___IS_SAME_KIND_AS__ELEMENTREFERENCE:
+ return isSameKindAs((ElementReference) arguments.get(0));
+ case AlfPackage.DATA_TYPE_DEFINITION___DATA_TYPE_DEFINITION_PRIMITIVE__DIAGNOSTICCHAIN_MAP:
+ return dataTypeDefinitionPrimitive((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ case AlfPackage.DATA_TYPE_DEFINITION___DATA_TYPE_DEFINITION_SPECIALIZATION_REFERENT__DIAGNOSTICCHAIN_MAP:
+ return dataTypeDefinitionSpecializationReferent((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ }
+ return super.eInvoke(operationID, arguments);
+ }
+
+} // DataTypeDefinitionImpl
diff --git a/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/DoStatementImpl.java b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/DoStatementImpl.java
new file mode 100644
index 00000000000..c1b2dfeadf6
--- /dev/null
+++ b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/DoStatementImpl.java
@@ -0,0 +1,355 @@
+/**
+ */
+package org.eclipse.papyrus.uml.alf.impl;
+
+import java.lang.reflect.InvocationTargetException;
+
+import java.util.Map;
+
+import org.eclipse.emf.common.util.BasicDiagnostic;
+import org.eclipse.emf.common.util.BasicEList;
+import org.eclipse.emf.common.util.Diagnostic;
+import org.eclipse.emf.common.util.DiagnosticChain;
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.common.util.WrappedException;
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.EOperation;
+import org.eclipse.emf.ecore.plugin.EcorePlugin;
+
+import org.eclipse.emf.ecore.util.EObjectValidator;
+
+import org.eclipse.papyrus.uml.alf.AlfPackage;
+import org.eclipse.papyrus.uml.alf.AssignedSource;
+import org.eclipse.papyrus.uml.alf.Block;
+import org.eclipse.papyrus.uml.alf.DoStatement;
+import org.eclipse.papyrus.uml.alf.Expression;
+
+import org.eclipse.papyrus.uml.alf.Statement;
+import org.eclipse.papyrus.uml.alf.SyntaxElement;
+import org.eclipse.papyrus.uml.alf.util.AlfValidator;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Do Statement</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.uml.alf.impl.DoStatementImpl#getCondition <em>Condition</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.impl.DoStatementImpl#getBody <em>Body</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class DoStatementImpl extends StatementImpl implements DoStatement {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected DoStatementImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return AlfPackage.eINSTANCE.getDoStatement();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public Expression getCondition() {
+ return (Expression) eGet(AlfPackage.eINSTANCE.getDoStatement_Condition(), true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setCondition(Expression newCondition) {
+ eSet(AlfPackage.eINSTANCE.getDoStatement_Condition(), newCondition);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public Block getBody() {
+ return (Block) eGet(AlfPackage.eINSTANCE.getDoStatement_Body(), true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setBody(Block newBody) {
+ eSet(AlfPackage.eINSTANCE.getDoStatement_Body(), newBody);
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #enclosingLoopStatement() <em>Enclosing Loop Statement</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #enclosingLoopStatement()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate ENCLOSING_LOOP_STATEMENT__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getDoStatement__EnclosingLoopStatement()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public Statement enclosingLoopStatement() {
+ try {
+ return (Statement) ENCLOSING_LOOP_STATEMENT__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #assignmentsBefore(org.eclipse.papyrus.uml.alf.SyntaxElement) <em>Assignments Before</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #assignmentsBefore(org.eclipse.papyrus.uml.alf.SyntaxElement)
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate ASSIGNMENTS_BEFORE_SYNTAX_ELEMENT__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getDoStatement__AssignmentsBefore__SyntaxElement()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<AssignedSource> assignmentsBefore(SyntaxElement element) {
+ try {
+ return (EList<AssignedSource>) ASSIGNMENTS_BEFORE_SYNTAX_ELEMENT__EINVOCATION_DELEGATE.dynamicInvoke(this, new BasicEList.UnmodifiableEList<Object>(1, new Object[] { element }));
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #assignmentsAfter() <em>Assignments After</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #assignmentsAfter()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate ASSIGNMENTS_AFTER__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getDoStatement__AssignmentsAfter()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<AssignedSource> assignmentsAfter() {
+ try {
+ return (EList<AssignedSource>) ASSIGNMENTS_AFTER__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean doStatementAssignmentsBefore(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.DO_STATEMENT__DO_STATEMENT_ASSIGNMENTS_BEFORE,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "doStatementAssignmentsBefore", EObjectValidator.getObjectLabel(this, context) }),
+ new Object[] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean doStatementAssignmentsAfter(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.DO_STATEMENT__DO_STATEMENT_ASSIGNMENTS_AFTER,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "doStatementAssignmentsAfter", EObjectValidator.getObjectLabel(this, context) }),
+ new Object[] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * The cached validation expression for the '{@link #doStatementCondition(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Do Statement Condition</em>}' invariant operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #doStatementCondition(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ * @ordered
+ */
+ protected static final String DO_STATEMENT_CONDITION_DIAGNOSTIC_CHAIN_MAP__EEXPRESSION = "\n" +
+ " let type = self.condition.type in\n" +
+ " type <> null and self.isBooleanType(type) and condition.upper = 1";
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean doStatementCondition(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return AlfValidator.validate
+ (AlfPackage.eINSTANCE.getDoStatement(),
+ this,
+ diagnostics,
+ context,
+ "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot",
+ AlfPackage.eINSTANCE.getDoStatement__DoStatementCondition__DiagnosticChain_Map(),
+ DO_STATEMENT_CONDITION_DIAGNOSTIC_CHAIN_MAP__EEXPRESSION,
+ Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.DO_STATEMENT__DO_STATEMENT_CONDITION);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean doStatementEnclosedStatements(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.DO_STATEMENT__DO_STATEMENT_ENCLOSED_STATEMENTS,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "doStatementEnclosedStatements", EObjectValidator.getObjectLabel(this, context) }),
+ new Object[] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public int eDerivedOperationID(int baseOperationID, Class<?> baseClass) {
+ if (baseClass == SyntaxElement.class) {
+ switch (baseOperationID) {
+ case AlfPackage.SYNTAX_ELEMENT___ASSIGNMENTS_BEFORE__SYNTAXELEMENT:
+ return AlfPackage.DO_STATEMENT___ASSIGNMENTS_BEFORE__SYNTAXELEMENT;
+ default:
+ return super.eDerivedOperationID(baseOperationID, baseClass);
+ }
+ }
+ if (baseClass == Statement.class) {
+ switch (baseOperationID) {
+ case AlfPackage.STATEMENT___ENCLOSING_LOOP_STATEMENT:
+ return AlfPackage.DO_STATEMENT___ENCLOSING_LOOP_STATEMENT;
+ case AlfPackage.STATEMENT___ASSIGNMENTS_AFTER:
+ return AlfPackage.DO_STATEMENT___ASSIGNMENTS_AFTER;
+ default:
+ return super.eDerivedOperationID(baseOperationID, baseClass);
+ }
+ }
+ return super.eDerivedOperationID(baseOperationID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object eInvoke(int operationID, EList<?> arguments) throws InvocationTargetException {
+ switch (operationID) {
+ case AlfPackage.DO_STATEMENT___ENCLOSING_LOOP_STATEMENT:
+ return enclosingLoopStatement();
+ case AlfPackage.DO_STATEMENT___ASSIGNMENTS_BEFORE__SYNTAXELEMENT:
+ return assignmentsBefore((SyntaxElement) arguments.get(0));
+ case AlfPackage.DO_STATEMENT___ASSIGNMENTS_AFTER:
+ return assignmentsAfter();
+ case AlfPackage.DO_STATEMENT___DO_STATEMENT_ASSIGNMENTS_BEFORE__DIAGNOSTICCHAIN_MAP:
+ return doStatementAssignmentsBefore((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ case AlfPackage.DO_STATEMENT___DO_STATEMENT_ASSIGNMENTS_AFTER__DIAGNOSTICCHAIN_MAP:
+ return doStatementAssignmentsAfter((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ case AlfPackage.DO_STATEMENT___DO_STATEMENT_CONDITION__DIAGNOSTICCHAIN_MAP:
+ return doStatementCondition((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ case AlfPackage.DO_STATEMENT___DO_STATEMENT_ENCLOSED_STATEMENTS__DIAGNOSTICCHAIN_MAP:
+ return doStatementEnclosedStatements((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ }
+ return super.eInvoke(operationID, arguments);
+ }
+
+} // DoStatementImpl
diff --git a/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/DocumentedElementImpl.java b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/DocumentedElementImpl.java
new file mode 100644
index 00000000000..dc2ccb8947f
--- /dev/null
+++ b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/DocumentedElementImpl.java
@@ -0,0 +1,59 @@
+/**
+ */
+package org.eclipse.papyrus.uml.alf.impl;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.papyrus.uml.alf.AlfPackage;
+import org.eclipse.papyrus.uml.alf.DocumentedElement;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Documented Element</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.uml.alf.impl.DocumentedElementImpl#getDocumentation <em>Documentation</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public abstract class DocumentedElementImpl extends SyntaxElementImpl implements DocumentedElement {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected DocumentedElementImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return AlfPackage.eINSTANCE.getDocumentedElement();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<String> getDocumentation() {
+ return (EList<String>) eGet(AlfPackage.eINSTANCE.getDocumentedElement_Documentation(), true);
+ }
+
+} // DocumentedElementImpl
diff --git a/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/EffectiveLeftHandSideImpl.java b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/EffectiveLeftHandSideImpl.java
new file mode 100644
index 00000000000..fbde8e0a62a
--- /dev/null
+++ b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/EffectiveLeftHandSideImpl.java
@@ -0,0 +1,231 @@
+/**
+ */
+package org.eclipse.papyrus.uml.alf.impl;
+
+import java.lang.reflect.InvocationTargetException;
+
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.common.util.WrappedException;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EOperation;
+
+import org.eclipse.papyrus.uml.alf.AlfPackage;
+import org.eclipse.papyrus.uml.alf.EffectiveLeftHandSide;
+import org.eclipse.papyrus.uml.alf.Expression;
+import org.eclipse.papyrus.uml.alf.FeatureReference;
+import org.eclipse.papyrus.uml.alf.LeftHandSide;
+import org.eclipse.papyrus.uml.alf.NameLeftHandSide;
+import org.eclipse.papyrus.uml.alf.QualifiedName;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Effective Left Hand Side</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.uml.alf.impl.EffectiveLeftHandSideImpl#getExpression <em>Expression</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class EffectiveLeftHandSideImpl extends NameLeftHandSideImpl implements EffectiveLeftHandSide {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected EffectiveLeftHandSideImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return AlfPackage.eINSTANCE.getEffectiveLeftHandSide();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public Expression getExpression() {
+ return (Expression) eGet(AlfPackage.eINSTANCE.getEffectiveLeftHandSide_Expression(), true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setExpression(Expression newExpression) {
+ eSet(AlfPackage.eINSTANCE.getEffectiveLeftHandSide_Expression(), newExpression);
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #target() <em>Target</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #target()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate TARGET__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getEffectiveLeftHandSide__Target()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public QualifiedName target() {
+ try {
+ return (QualifiedName) TARGET__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #index() <em>Index</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #index()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate INDEX__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getEffectiveLeftHandSide__Index()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public Expression index() {
+ try {
+ return (Expression) INDEX__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #feature() <em>Feature</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #feature()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate FEATURE__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getEffectiveLeftHandSide__Feature()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public FeatureReference feature() {
+ try {
+ return (FeatureReference) FEATURE__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #primary() <em>Primary</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #primary()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate PRIMARY__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getEffectiveLeftHandSide__Primary()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public Expression primary() {
+ try {
+ return (Expression) PRIMARY__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public int eDerivedOperationID(int baseOperationID, Class<?> baseClass) {
+ if (baseClass == LeftHandSide.class) {
+ switch (baseOperationID) {
+ case AlfPackage.LEFT_HAND_SIDE___FEATURE:
+ return AlfPackage.EFFECTIVE_LEFT_HAND_SIDE___FEATURE;
+ case AlfPackage.LEFT_HAND_SIDE___INDEX:
+ return AlfPackage.EFFECTIVE_LEFT_HAND_SIDE___INDEX;
+ default:
+ return super.eDerivedOperationID(baseOperationID, baseClass);
+ }
+ }
+ if (baseClass == NameLeftHandSide.class) {
+ switch (baseOperationID) {
+ case AlfPackage.NAME_LEFT_HAND_SIDE___TARGET:
+ return AlfPackage.EFFECTIVE_LEFT_HAND_SIDE___TARGET;
+ case AlfPackage.NAME_LEFT_HAND_SIDE___INDEX:
+ return AlfPackage.EFFECTIVE_LEFT_HAND_SIDE___INDEX;
+ case AlfPackage.NAME_LEFT_HAND_SIDE___FEATURE:
+ return AlfPackage.EFFECTIVE_LEFT_HAND_SIDE___FEATURE;
+ default:
+ return super.eDerivedOperationID(baseOperationID, baseClass);
+ }
+ }
+ return super.eDerivedOperationID(baseOperationID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Object eInvoke(int operationID, EList<?> arguments) throws InvocationTargetException {
+ switch (operationID) {
+ case AlfPackage.EFFECTIVE_LEFT_HAND_SIDE___TARGET:
+ return target();
+ case AlfPackage.EFFECTIVE_LEFT_HAND_SIDE___INDEX:
+ return index();
+ case AlfPackage.EFFECTIVE_LEFT_HAND_SIDE___FEATURE:
+ return feature();
+ case AlfPackage.EFFECTIVE_LEFT_HAND_SIDE___PRIMARY:
+ return primary();
+ }
+ return super.eInvoke(operationID, arguments);
+ }
+
+} // EffectiveLeftHandSideImpl
diff --git a/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/ElementImportReferenceImpl.java b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/ElementImportReferenceImpl.java
new file mode 100644
index 00000000000..045d948965a
--- /dev/null
+++ b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/ElementImportReferenceImpl.java
@@ -0,0 +1,150 @@
+/**
+ */
+package org.eclipse.papyrus.uml.alf.impl;
+
+import java.lang.reflect.InvocationTargetException;
+import java.util.Map;
+import org.eclipse.emf.common.util.Diagnostic;
+import org.eclipse.emf.common.util.DiagnosticChain;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.common.util.WrappedException;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EOperation;
+import org.eclipse.papyrus.uml.alf.AlfPackage;
+import org.eclipse.papyrus.uml.alf.ElementImportReference;
+import org.eclipse.papyrus.uml.alf.Member;
+import org.eclipse.papyrus.uml.alf.util.AlfValidator;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Element Import Reference</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.uml.alf.impl.ElementImportReferenceImpl#getAlias <em>Alias</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class ElementImportReferenceImpl extends ImportReferenceImpl implements ElementImportReference {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected ElementImportReferenceImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return AlfPackage.eINSTANCE.getElementImportReference();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public String getAlias() {
+ return (String) eGet(AlfPackage.eINSTANCE.getElementImportReference_Alias(), true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setAlias(String newAlias) {
+ eSet(AlfPackage.eINSTANCE.getElementImportReference_Alias(), newAlias);
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #importedMembers() <em>Imported Members</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #importedMembers()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate IMPORTED_MEMBERS__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getElementImportReference__ImportedMembers()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<Member> importedMembers() {
+ try {
+ return (EList<Member>) IMPORTED_MEMBERS__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached validation expression for the '{@link #elementImportReferenceReferent(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Element Import Reference Referent</em>}' invariant operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #elementImportReferenceReferent(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ * @ordered
+ */
+ protected static final String ELEMENT_IMPORT_REFERENCE_REFERENT_DIAGNOSTIC_CHAIN_MAP__EEXPRESSION = "\n" +
+ " self.referent <>null and self.referent.isPackageableElement()";
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean elementImportReferenceReferent(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return AlfValidator.validate
+ (AlfPackage.eINSTANCE.getElementImportReference(),
+ this,
+ diagnostics,
+ context,
+ "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot",
+ AlfPackage.eINSTANCE.getElementImportReference__ElementImportReferenceReferent__DiagnosticChain_Map(),
+ ELEMENT_IMPORT_REFERENCE_REFERENT_DIAGNOSTIC_CHAIN_MAP__EEXPRESSION,
+ Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.ELEMENT_IMPORT_REFERENCE__ELEMENT_IMPORT_REFERENCE_REFERENT);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object eInvoke(int operationID, EList<?> arguments) throws InvocationTargetException {
+ switch (operationID) {
+ case AlfPackage.ELEMENT_IMPORT_REFERENCE___IMPORTED_MEMBERS:
+ return importedMembers();
+ case AlfPackage.ELEMENT_IMPORT_REFERENCE___ELEMENT_IMPORT_REFERENCE_REFERENT__DIAGNOSTICCHAIN_MAP:
+ return elementImportReferenceReferent((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ }
+ return super.eInvoke(operationID, arguments);
+ }
+
+} // ElementImportReferenceImpl
diff --git a/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/ElementReferenceImpl.java b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/ElementReferenceImpl.java
new file mode 100644
index 00000000000..24e315b3055
--- /dev/null
+++ b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/ElementReferenceImpl.java
@@ -0,0 +1,1894 @@
+/**
+ */
+package org.eclipse.papyrus.uml.alf.impl;
+
+import java.lang.reflect.InvocationTargetException;
+import java.math.BigInteger;
+import org.eclipse.emf.common.util.BasicEList;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.common.util.WrappedException;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EOperation;
+import org.eclipse.emf.internal.cdo.CDOObjectImpl;
+import org.eclipse.papyrus.uml.alf.AlfPackage;
+import org.eclipse.papyrus.uml.alf.AssignableElement;
+import org.eclipse.papyrus.uml.alf.ElementReference;
+import org.eclipse.papyrus.uml.alf.Member;
+import org.eclipse.papyrus.uml.alf.QualifiedName;
+import org.eclipse.papyrus.uml.alf.SyntaxElement;
+import org.eclipse.papyrus.uml.alf.UnitDefinition;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Element Reference</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ *
+ * @generated
+ */
+public abstract class ElementReferenceImpl extends CDOObjectImpl implements ElementReference {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected ElementReferenceImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return AlfPackage.eINSTANCE.getElementReference();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected int eStaticFeatureCount() {
+ return 0;
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #isUml() <em>Is Uml</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #isUml()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate IS_UML__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getElementReference__IsUml()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isUml() {
+ try {
+ return (Boolean) IS_UML__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #isAlf() <em>Is Alf</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #isAlf()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate IS_ALF__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getElementReference__IsAlf()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isAlf() {
+ try {
+ return (Boolean) IS_ALF__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #asUml() <em>As Uml</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #asUml()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate AS_UML__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getElementReference__AsUml()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EObject asUml() {
+ try {
+ return (EObject) AS_UML__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #asAlf() <em>As Alf</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #asAlf()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate AS_ALF__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getElementReference__AsAlf()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public SyntaxElement asAlf() {
+ try {
+ return (SyntaxElement) AS_ALF__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public Member asMember() {
+ // TODO: implement this method
+ // Ensure that you remove @generated or mark it @generated NOT
+ throw new UnsupportedOperationException();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isSameKindAs(ElementReference member) {
+ // TODO: implement this method
+ // Ensure that you remove @generated or mark it @generated NOT
+ throw new UnsupportedOperationException();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isNamedElement() {
+ // TODO: implement this method
+ // Ensure that you remove @generated or mark it @generated NOT
+ throw new UnsupportedOperationException();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isNamespace() {
+ // TODO: implement this method
+ // Ensure that you remove @generated or mark it @generated NOT
+ throw new UnsupportedOperationException();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isNamespaceFor(UnitDefinition unit) {
+ // TODO: implement this method
+ // Ensure that you remove @generated or mark it @generated NOT
+ throw new UnsupportedOperationException();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isModelNamespace() {
+ // TODO: implement this method
+ // Ensure that you remove @generated or mark it @generated NOT
+ throw new UnsupportedOperationException();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isPackage() {
+ // TODO: implement this method
+ // Ensure that you remove @generated or mark it @generated NOT
+ throw new UnsupportedOperationException();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isProfile() {
+ // TODO: implement this method
+ // Ensure that you remove @generated or mark it @generated NOT
+ throw new UnsupportedOperationException();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isPackageableElement() {
+ // TODO: implement this method
+ // Ensure that you remove @generated or mark it @generated NOT
+ throw new UnsupportedOperationException();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isClassifier() {
+ // TODO: implement this method
+ // Ensure that you remove @generated or mark it @generated NOT
+ throw new UnsupportedOperationException();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isAbstractClassifier() {
+ // TODO: implement this method
+ // Ensure that you remove @generated or mark it @generated NOT
+ throw new UnsupportedOperationException();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isAssociation() {
+ // TODO: implement this method
+ // Ensure that you remove @generated or mark it @generated NOT
+ throw new UnsupportedOperationException();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isDataType() {
+ // TODO: implement this method
+ // Ensure that you remove @generated or mark it @generated NOT
+ throw new UnsupportedOperationException();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isClass() {
+ // TODO: implement this method
+ // Ensure that you remove @generated or mark it @generated NOT
+ throw new UnsupportedOperationException();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isActiveClass() {
+ // TODO: implement this method
+ // Ensure that you remove @generated or mark it @generated NOT
+ throw new UnsupportedOperationException();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isSignal() {
+ // TODO: implement this method
+ // Ensure that you remove @generated or mark it @generated NOT
+ throw new UnsupportedOperationException();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isEnumeration() {
+ // TODO: implement this method
+ // Ensure that you remove @generated or mark it @generated NOT
+ throw new UnsupportedOperationException();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isBehavior() {
+ // TODO: implement this method
+ // Ensure that you remove @generated or mark it @generated NOT
+ throw new UnsupportedOperationException();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isActivity() {
+ // TODO: implement this method
+ // Ensure that you remove @generated or mark it @generated NOT
+ throw new UnsupportedOperationException();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isMethod() {
+ // TODO: implement this method
+ // Ensure that you remove @generated or mark it @generated NOT
+ throw new UnsupportedOperationException();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isPrimitiveType() {
+ // TODO: implement this method
+ // Ensure that you remove @generated or mark it @generated NOT
+ throw new UnsupportedOperationException();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isReception() {
+ // TODO: implement this method
+ // Ensure that you remove @generated or mark it @generated NOT
+ throw new UnsupportedOperationException();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isOperation() {
+ // TODO: implement this method
+ // Ensure that you remove @generated or mark it @generated NOT
+ throw new UnsupportedOperationException();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isConstructor() {
+ // TODO: implement this method
+ // Ensure that you remove @generated or mark it @generated NOT
+ throw new UnsupportedOperationException();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isDestructor() {
+ // TODO: implement this method
+ // Ensure that you remove @generated or mark it @generated NOT
+ throw new UnsupportedOperationException();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isFeature() {
+ // TODO: implement this method
+ // Ensure that you remove @generated or mark it @generated NOT
+ throw new UnsupportedOperationException();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isProperty() {
+ // TODO: implement this method
+ // Ensure that you remove @generated or mark it @generated NOT
+ throw new UnsupportedOperationException();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isAssociationEnd() {
+ // TODO: implement this method
+ // Ensure that you remove @generated or mark it @generated NOT
+ throw new UnsupportedOperationException();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isParameter() {
+ // TODO: implement this method
+ // Ensure that you remove @generated or mark it @generated NOT
+ throw new UnsupportedOperationException();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isTemplate() {
+ // TODO: implement this method
+ // Ensure that you remove @generated or mark it @generated NOT
+ throw new UnsupportedOperationException();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isTemplateParameter() {
+ // TODO: implement this method
+ // Ensure that you remove @generated or mark it @generated NOT
+ throw new UnsupportedOperationException();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isClassifierTemplateParameter() {
+ // TODO: implement this method
+ // Ensure that you remove @generated or mark it @generated NOT
+ throw new UnsupportedOperationException();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isParameteredElement() {
+ // TODO: implement this method
+ // Ensure that you remove @generated or mark it @generated NOT
+ throw new UnsupportedOperationException();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isTemplateBinding() {
+ // TODO: implement this method
+ // Ensure that you remove @generated or mark it @generated NOT
+ throw new UnsupportedOperationException();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isStereotype() {
+ // TODO: implement this method
+ // Ensure that you remove @generated or mark it @generated NOT
+ throw new UnsupportedOperationException();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isEnumerationLiteral() {
+ // TODO: implement this method
+ // Ensure that you remove @generated or mark it @generated NOT
+ throw new UnsupportedOperationException();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isLoopVariable() {
+ // TODO: implement this method
+ // Ensure that you remove @generated or mark it @generated NOT
+ throw new UnsupportedOperationException();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isAnnotation() {
+ // TODO: implement this method
+ // Ensure that you remove @generated or mark it @generated NOT
+ throw new UnsupportedOperationException();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isSequenceExpansionExpression() {
+ // TODO: implement this method
+ // Ensure that you remove @generated or mark it @generated NOT
+ throw new UnsupportedOperationException();
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #isAnyType() <em>Is Any Type</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #isAnyType()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate IS_ANY_TYPE__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getElementReference__IsAnyType()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isAnyType() {
+ try {
+ return (Boolean) IS_ANY_TYPE__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #isDistinguishableFrom(org.eclipse.papyrus.uml.alf.ElementReference) <em>Is Distinguishable From</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #isDistinguishableFrom(org.eclipse.papyrus.uml.alf.ElementReference)
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate IS_DISTINGUISHABLE_FROM_ELEMENT_REFERENCE__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getElementReference__IsDistinguishableFrom__ElementReference())
+ .getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isDistinguishableFrom(ElementReference other) {
+ try {
+ return (Boolean) IS_DISTINGUISHABLE_FROM_ELEMENT_REFERENCE__EINVOCATION_DELEGATE.dynamicInvoke(this, new BasicEList.UnmodifiableEList<Object>(1, new Object[] { other }));
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #isAssignableFrom(org.eclipse.papyrus.uml.alf.AssignableElement) <em>Is Assignable From</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #isAssignableFrom(org.eclipse.papyrus.uml.alf.AssignableElement)
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate IS_ASSIGNABLE_FROM_ASSIGNABLE_ELEMENT__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getElementReference__IsAssignableFrom__AssignableElement()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isAssignableFrom(AssignableElement element) {
+ try {
+ return (Boolean) IS_ASSIGNABLE_FROM_ASSIGNABLE_ELEMENT__EINVOCATION_DELEGATE.dynamicInvoke(this, new BasicEList.UnmodifiableEList<Object>(1, new Object[] { element }));
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #collectionArgument() <em>Collection Argument</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #collectionArgument()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate COLLECTION_ARGUMENT__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getElementReference__CollectionArgument()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public ElementReference collectionArgument() {
+ try {
+ return (ElementReference) COLLECTION_ARGUMENT__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public String name() {
+ // TODO: implement this method
+ // Ensure that you remove @generated or mark it @generated NOT
+ throw new UnsupportedOperationException();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public String visibility() {
+ // TODO: implement this method
+ // Ensure that you remove @generated or mark it @generated NOT
+ throw new UnsupportedOperationException();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EList<ElementReference> ownedMembers() {
+ // TODO: implement this method
+ // Ensure that you remove @generated or mark it @generated NOT
+ throw new UnsupportedOperationException();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EList<ElementReference> members() {
+ // TODO: implement this method
+ // Ensure that you remove @generated or mark it @generated NOT
+ throw new UnsupportedOperationException();
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #visibleMembers() <em>Visible Members</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #visibleMembers()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate VISIBLE_MEMBERS__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getElementReference__VisibleMembers()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<ElementReference> visibleMembers() {
+ try {
+ return (EList<ElementReference>) VISIBLE_MEMBERS__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * 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.getElementReference__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.getElementReference__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);
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public ElementReference opposite() {
+ // TODO: implement this method
+ // Ensure that you remove @generated or mark it @generated NOT
+ throw new UnsupportedOperationException();
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #receptions() <em>Receptions</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #receptions()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate RECEPTIONS__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getElementReference__Receptions()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<ElementReference> receptions() {
+ try {
+ return (EList<ElementReference>) RECEPTIONS__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public ElementReference signal() {
+ // TODO: implement this method
+ // Ensure that you remove @generated or mark it @generated NOT
+ throw new UnsupportedOperationException();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EList<ElementReference> parameters() {
+ // TODO: implement this method
+ // Ensure that you remove @generated or mark it @generated NOT
+ throw new UnsupportedOperationException();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public ElementReference returnParameter() {
+ // TODO: implement this method
+ // Ensure that you remove @generated or mark it @generated NOT
+ throw new UnsupportedOperationException();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public ElementReference specification() {
+ // TODO: implement this method
+ // Ensure that you remove @generated or mark it @generated NOT
+ throw new UnsupportedOperationException();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EList<ElementReference> redefinedOperations() {
+ // TODO: implement this method
+ // Ensure that you remove @generated or mark it @generated NOT
+ throw new UnsupportedOperationException();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public ElementReference namespace() {
+ // TODO: implement this method
+ // Ensure that you remove @generated or mark it @generated NOT
+ throw new UnsupportedOperationException();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public ElementReference template() {
+ // TODO: implement this method
+ // Ensure that you remove @generated or mark it @generated NOT
+ throw new UnsupportedOperationException();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EList<ElementReference> templateParameters() {
+ // TODO: implement this method
+ // Ensure that you remove @generated or mark it @generated NOT
+ throw new UnsupportedOperationException();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EList<ElementReference> parameteredElements() {
+ // TODO: implement this method
+ // Ensure that you remove @generated or mark it @generated NOT
+ throw new UnsupportedOperationException();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EList<ElementReference> templateActuals() {
+ // TODO: implement this method
+ // Ensure that you remove @generated or mark it @generated NOT
+ throw new UnsupportedOperationException();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public String direction() {
+ // TODO: implement this method
+ // Ensure that you remove @generated or mark it @generated NOT
+ throw new UnsupportedOperationException();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public ElementReference association() {
+ // TODO: implement this method
+ // Ensure that you remove @generated or mark it @generated NOT
+ throw new UnsupportedOperationException();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public ElementReference type() {
+ // TODO: implement this method
+ // Ensure that you remove @generated or mark it @generated NOT
+ throw new UnsupportedOperationException();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public BigInteger lower() {
+ // TODO: implement this method
+ // Ensure that you remove @generated or mark it @generated NOT
+ throw new UnsupportedOperationException();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public BigInteger upper() {
+ // TODO: implement this method
+ // Ensure that you remove @generated or mark it @generated NOT
+ throw new UnsupportedOperationException();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isOrdered() {
+ // TODO: implement this method
+ // Ensure that you remove @generated or mark it @generated NOT
+ throw new UnsupportedOperationException();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isNonunique() {
+ // TODO: implement this method
+ // Ensure that you remove @generated or mark it @generated NOT
+ throw new UnsupportedOperationException();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EList<ElementReference> parents() {
+ // TODO: implement this method
+ // Ensure that you remove @generated or mark it @generated NOT
+ throw new UnsupportedOperationException();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EList<ElementReference> allParents() {
+ // TODO: implement this method
+ // Ensure that you remove @generated or mark it @generated NOT
+ throw new UnsupportedOperationException();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public ElementReference classifierBehavior() {
+ // TODO: implement this method
+ // Ensure that you remove @generated or mark it @generated NOT
+ throw new UnsupportedOperationException();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EList<ElementReference> appliedProfiles() {
+ // TODO: implement this method
+ // Ensure that you remove @generated or mark it @generated NOT
+ throw new UnsupportedOperationException();
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #base() <em>Base</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #base()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate BASE__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getElementReference__Base()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public ElementReference base() {
+ try {
+ return (ElementReference) BASE__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #reference() <em>Reference</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #reference()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate REFERENCE__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getElementReference__Reference()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public ElementReference reference() {
+ try {
+ return (ElementReference) REFERENCE__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #templateBinding() <em>Template Binding</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #templateBinding()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate TEMPLATE_BINDING__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getElementReference__TemplateBinding()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public ElementReference templateBinding() {
+ try {
+ return (ElementReference) TEMPLATE_BINDING__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #bind(org.eclipse.emf.common.util.EList) <em>Bind</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #bind(org.eclipse.emf.common.util.EList)
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate BIND_ELIST__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getElementReference__Bind__EList()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public ElementReference bind(EList<ElementReference> actuals) {
+ try {
+ return (ElementReference) BIND_ELIST__EINVOCATION_DELEGATE.dynamicInvoke(this, new BasicEList.UnmodifiableEList<Object>(1, new Object[] { actuals }));
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #boundElementName(org.eclipse.emf.common.util.EList) <em>Bound Element Name</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #boundElementName(org.eclipse.emf.common.util.EList)
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate BOUND_ELEMENT_NAME_ELIST__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getElementReference__BoundElementName__EList()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public String boundElementName(EList<ElementReference> actuals) {
+ try {
+ return (String) BOUND_ELEMENT_NAME_ELIST__EINVOCATION_DELEGATE.dynamicInvoke(this, new BasicEList.UnmodifiableEList<Object>(1, new Object[] { actuals }));
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #boundPathName() <em>Bound Path Name</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #boundPathName()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate BOUND_PATH_NAME__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getElementReference__BoundPathName()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public String boundPathName() {
+ try {
+ return (String) BOUND_PATH_NAME__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #qualifiedName() <em>Qualified Name</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #qualifiedName()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate QUALIFIED_NAME__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getElementReference__QualifiedName()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public QualifiedName qualifiedName() {
+ try {
+ return (QualifiedName) QUALIFIED_NAME__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public ElementReference activeClass() {
+ // TODO: implement this method
+ // Ensure that you remove @generated or mark it @generated NOT
+ throw new UnsupportedOperationException();
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #isActiveBehavior() <em>Is Active Behavior</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #isActiveBehavior()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate IS_ACTIVE_BEHAVIOR__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getElementReference__IsActiveBehavior()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isActiveBehavior() {
+ try {
+ return (Boolean) IS_ACTIVE_BEHAVIOR__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean conformsTo(ElementReference other) {
+ // TODO: implement this method
+ // Ensure that you remove @generated or mark it @generated NOT
+ throw new UnsupportedOperationException();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean equals(ElementReference other) {
+ // TODO: implement this method
+ // Ensure that you remove @generated or mark it @generated NOT
+ throw new UnsupportedOperationException();
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #containedIn(org.eclipse.emf.common.util.EList) <em>Contained In</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #containedIn(org.eclipse.emf.common.util.EList)
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate CONTAINED_IN_ELIST__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getElementReference__ContainedIn__EList()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean containedIn(EList<ElementReference> references) {
+ try {
+ return (Boolean) CONTAINED_IN_ELIST__EINVOCATION_DELEGATE.dynamicInvoke(this, new BasicEList.UnmodifiableEList<Object>(1, new Object[] { references }));
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #countIn(org.eclipse.emf.common.util.EList) <em>Count In</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #countIn(org.eclipse.emf.common.util.EList)
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate COUNT_IN_ELIST__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getElementReference__CountIn__EList()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public BigInteger countIn(EList<ElementReference> references) {
+ try {
+ return (BigInteger) COUNT_IN_ELIST__EINVOCATION_DELEGATE.dynamicInvoke(this, new BasicEList.UnmodifiableEList<Object>(1, new Object[] { references }));
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #positionIn(org.eclipse.emf.common.util.EList) <em>Position In</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #positionIn(org.eclipse.emf.common.util.EList)
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate POSITION_IN_ELIST__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getElementReference__PositionIn__EList()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public BigInteger positionIn(EList<ElementReference> references) {
+ try {
+ return (BigInteger) POSITION_IN_ELIST__EINVOCATION_DELEGATE.dynamicInvoke(this, new BasicEList.UnmodifiableEList<Object>(1, new Object[] { references }));
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public ElementReference copy() {
+ // TODO: implement this method
+ // Ensure that you remove @generated or mark it @generated NOT
+ throw new UnsupportedOperationException();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public ElementReference modelScope() {
+ // TODO: implement this method
+ // Ensure that you remove @generated or mark it @generated NOT
+ throw new UnsupportedOperationException();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EList<ElementReference> resolvePathName(String pathName) {
+ // TODO: implement this method
+ // Ensure that you remove @generated or mark it @generated NOT
+ throw new UnsupportedOperationException();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<ElementReference> resolve(String name) {
+ try {
+ return (EList<ElementReference>) RESOLVE_STRING__EINVOCATION_DELEGATE.dynamicInvoke(this, new BasicEList.UnmodifiableEList<Object>(1, new Object[] { name }));
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #resolve(java.lang.String) <em>Resolve</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #resolve(java.lang.String)
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate RESOLVE_STRING__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getElementReference__Resolve__String()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<ElementReference> resolveInScope(String name) {
+ // TODO: implement this method
+ // Ensure that you remove @generated or mark it @generated NOT
+ throw new UnsupportedOperationException();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EList<ElementReference> resolveStereotype(String stereotypeName) {
+ // TODO: implement this method
+ // Ensure that you remove @generated or mark it @generated NOT
+ throw new UnsupportedOperationException();
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #resolveVisible(java.lang.String, org.eclipse.papyrus.uml.alf.ElementReference) <em>Resolve Visible</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #resolveVisible(java.lang.String, org.eclipse.papyrus.uml.alf.ElementReference)
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate RESOLVE_VISIBLE_STRING_ELEMENT_REFERENCE__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getElementReference__ResolveVisible__String_ElementReference())
+ .getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<ElementReference> resolveVisible(String name, ElementReference namespace) {
+ try {
+ return (EList<ElementReference>) RESOLVE_VISIBLE_STRING_ELEMENT_REFERENCE__EINVOCATION_DELEGATE.dynamicInvoke(this, new BasicEList.UnmodifiableEList<Object>(2, new Object[] { name, namespace }));
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #resolveAssociationEnd(org.eclipse.papyrus.uml.alf.ElementReference, java.lang.String) <em>Resolve Association End</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #resolveAssociationEnd(org.eclipse.papyrus.uml.alf.ElementReference, java.lang.String)
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate RESOLVE_ASSOCIATION_END_ELEMENT_REFERENCE_STRING__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getElementReference__ResolveAssociationEnd__ElementReference_String())
+ .getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<ElementReference> resolveAssociationEnd(ElementReference oppositeEndType, String name) {
+ try {
+ return (EList<ElementReference>) RESOLVE_ASSOCIATION_END_ELEMENT_REFERENCE_STRING__EINVOCATION_DELEGATE.dynamicInvoke(this, new BasicEList.UnmodifiableEList<Object>(2, new Object[] { oppositeEndType, name }));
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #containsMember(org.eclipse.papyrus.uml.alf.ElementReference) <em>Contains Member</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #containsMember(org.eclipse.papyrus.uml.alf.ElementReference)
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate CONTAINS_MEMBER_ELEMENT_REFERENCE__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getElementReference__ContainsMember__ElementReference()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean containsMember(ElementReference member) {
+ try {
+ return (Boolean) CONTAINS_MEMBER_ELEMENT_REFERENCE__EINVOCATION_DELEGATE.dynamicInvoke(this, new BasicEList.UnmodifiableEList<Object>(1, new Object[] { member }));
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #allowPackageOnly() <em>Allow Package Only</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #allowPackageOnly()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate ALLOW_PACKAGE_ONLY__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getElementReference__AllowPackageOnly()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean allowPackageOnly() {
+ try {
+ return (Boolean) ALLOW_PACKAGE_ONLY__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public ElementReference stub() {
+ // TODO: implement this method
+ // Ensure that you remove @generated or mark it @generated NOT
+ throw new UnsupportedOperationException();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public ElementReference stubFor(UnitDefinition unit) {
+ // TODO: implement this method
+ // Ensure that you remove @generated or mark it @generated NOT
+ throw new UnsupportedOperationException();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object eInvoke(int operationID, EList<?> arguments) throws InvocationTargetException {
+ switch (operationID) {
+ case AlfPackage.ELEMENT_REFERENCE___IS_UML:
+ return isUml();
+ case AlfPackage.ELEMENT_REFERENCE___IS_ALF:
+ return isAlf();
+ case AlfPackage.ELEMENT_REFERENCE___AS_UML:
+ return asUml();
+ case AlfPackage.ELEMENT_REFERENCE___AS_ALF:
+ return asAlf();
+ case AlfPackage.ELEMENT_REFERENCE___AS_MEMBER:
+ return asMember();
+ case AlfPackage.ELEMENT_REFERENCE___IS_SAME_KIND_AS__ELEMENTREFERENCE:
+ return isSameKindAs((ElementReference) arguments.get(0));
+ case AlfPackage.ELEMENT_REFERENCE___IS_NAMED_ELEMENT:
+ return isNamedElement();
+ case AlfPackage.ELEMENT_REFERENCE___IS_NAMESPACE:
+ return isNamespace();
+ case AlfPackage.ELEMENT_REFERENCE___IS_NAMESPACE_FOR__UNITDEFINITION:
+ return isNamespaceFor((UnitDefinition) arguments.get(0));
+ case AlfPackage.ELEMENT_REFERENCE___IS_MODEL_NAMESPACE:
+ return isModelNamespace();
+ case AlfPackage.ELEMENT_REFERENCE___IS_PACKAGE:
+ return isPackage();
+ case AlfPackage.ELEMENT_REFERENCE___IS_PROFILE:
+ return isProfile();
+ case AlfPackage.ELEMENT_REFERENCE___IS_PACKAGEABLE_ELEMENT:
+ return isPackageableElement();
+ case AlfPackage.ELEMENT_REFERENCE___IS_CLASSIFIER:
+ return isClassifier();
+ case AlfPackage.ELEMENT_REFERENCE___IS_ABSTRACT_CLASSIFIER:
+ return isAbstractClassifier();
+ case AlfPackage.ELEMENT_REFERENCE___IS_ASSOCIATION:
+ return isAssociation();
+ case AlfPackage.ELEMENT_REFERENCE___IS_DATA_TYPE:
+ return isDataType();
+ case AlfPackage.ELEMENT_REFERENCE___IS_CLASS:
+ return isClass();
+ case AlfPackage.ELEMENT_REFERENCE___IS_ACTIVE_CLASS:
+ return isActiveClass();
+ case AlfPackage.ELEMENT_REFERENCE___IS_SIGNAL:
+ return isSignal();
+ case AlfPackage.ELEMENT_REFERENCE___IS_ENUMERATION:
+ return isEnumeration();
+ case AlfPackage.ELEMENT_REFERENCE___IS_BEHAVIOR:
+ return isBehavior();
+ case AlfPackage.ELEMENT_REFERENCE___IS_ACTIVITY:
+ return isActivity();
+ case AlfPackage.ELEMENT_REFERENCE___IS_METHOD:
+ return isMethod();
+ case AlfPackage.ELEMENT_REFERENCE___IS_PRIMITIVE_TYPE:
+ return isPrimitiveType();
+ case AlfPackage.ELEMENT_REFERENCE___IS_RECEPTION:
+ return isReception();
+ case AlfPackage.ELEMENT_REFERENCE___IS_OPERATION:
+ return isOperation();
+ case AlfPackage.ELEMENT_REFERENCE___IS_CONSTRUCTOR:
+ return isConstructor();
+ case AlfPackage.ELEMENT_REFERENCE___IS_DESTRUCTOR:
+ return isDestructor();
+ case AlfPackage.ELEMENT_REFERENCE___IS_FEATURE:
+ return isFeature();
+ case AlfPackage.ELEMENT_REFERENCE___IS_PROPERTY:
+ return isProperty();
+ case AlfPackage.ELEMENT_REFERENCE___IS_ASSOCIATION_END:
+ return isAssociationEnd();
+ case AlfPackage.ELEMENT_REFERENCE___IS_PARAMETER:
+ return isParameter();
+ case AlfPackage.ELEMENT_REFERENCE___IS_TEMPLATE:
+ return isTemplate();
+ case AlfPackage.ELEMENT_REFERENCE___IS_TEMPLATE_PARAMETER:
+ return isTemplateParameter();
+ case AlfPackage.ELEMENT_REFERENCE___IS_CLASSIFIER_TEMPLATE_PARAMETER:
+ return isClassifierTemplateParameter();
+ case AlfPackage.ELEMENT_REFERENCE___IS_PARAMETERED_ELEMENT:
+ return isParameteredElement();
+ case AlfPackage.ELEMENT_REFERENCE___IS_TEMPLATE_BINDING:
+ return isTemplateBinding();
+ case AlfPackage.ELEMENT_REFERENCE___IS_STEREOTYPE:
+ return isStereotype();
+ case AlfPackage.ELEMENT_REFERENCE___IS_ENUMERATION_LITERAL:
+ return isEnumerationLiteral();
+ case AlfPackage.ELEMENT_REFERENCE___IS_LOOP_VARIABLE:
+ return isLoopVariable();
+ case AlfPackage.ELEMENT_REFERENCE___IS_ANNOTATION:
+ return isAnnotation();
+ case AlfPackage.ELEMENT_REFERENCE___IS_SEQUENCE_EXPANSION_EXPRESSION:
+ return isSequenceExpansionExpression();
+ case AlfPackage.ELEMENT_REFERENCE___IS_ANY_TYPE:
+ return isAnyType();
+ case AlfPackage.ELEMENT_REFERENCE___IS_DISTINGUISHABLE_FROM__ELEMENTREFERENCE:
+ return isDistinguishableFrom((ElementReference) arguments.get(0));
+ case AlfPackage.ELEMENT_REFERENCE___IS_ASSIGNABLE_FROM__ASSIGNABLEELEMENT:
+ return isAssignableFrom((AssignableElement) arguments.get(0));
+ case AlfPackage.ELEMENT_REFERENCE___COLLECTION_ARGUMENT:
+ return collectionArgument();
+ case AlfPackage.ELEMENT_REFERENCE___NAME:
+ return name();
+ case AlfPackage.ELEMENT_REFERENCE___VISIBILITY:
+ return visibility();
+ case AlfPackage.ELEMENT_REFERENCE___OWNED_MEMBERS:
+ return ownedMembers();
+ case AlfPackage.ELEMENT_REFERENCE___MEMBERS:
+ return members();
+ case AlfPackage.ELEMENT_REFERENCE___VISIBLE_MEMBERS:
+ return visibleMembers();
+ case AlfPackage.ELEMENT_REFERENCE___PROPERTIES:
+ return properties();
+ case AlfPackage.ELEMENT_REFERENCE___ASSOCIATION_ENDS:
+ return associationEnds();
+ case AlfPackage.ELEMENT_REFERENCE___OPPOSITE:
+ return opposite();
+ case AlfPackage.ELEMENT_REFERENCE___RECEPTIONS:
+ return receptions();
+ case AlfPackage.ELEMENT_REFERENCE___SIGNAL:
+ return signal();
+ case AlfPackage.ELEMENT_REFERENCE___PARAMETERS:
+ return parameters();
+ case AlfPackage.ELEMENT_REFERENCE___RETURN_PARAMETER:
+ return returnParameter();
+ case AlfPackage.ELEMENT_REFERENCE___SPECIFICATION:
+ return specification();
+ case AlfPackage.ELEMENT_REFERENCE___REDEFINED_OPERATIONS:
+ return redefinedOperations();
+ case AlfPackage.ELEMENT_REFERENCE___NAMESPACE:
+ return namespace();
+ case AlfPackage.ELEMENT_REFERENCE___TEMPLATE:
+ return template();
+ case AlfPackage.ELEMENT_REFERENCE___TEMPLATE_PARAMETERS:
+ return templateParameters();
+ case AlfPackage.ELEMENT_REFERENCE___PARAMETERED_ELEMENTS:
+ return parameteredElements();
+ case AlfPackage.ELEMENT_REFERENCE___TEMPLATE_ACTUALS:
+ return templateActuals();
+ case AlfPackage.ELEMENT_REFERENCE___DIRECTION:
+ return direction();
+ case AlfPackage.ELEMENT_REFERENCE___ASSOCIATION:
+ return association();
+ case AlfPackage.ELEMENT_REFERENCE___TYPE:
+ return type();
+ case AlfPackage.ELEMENT_REFERENCE___LOWER:
+ return lower();
+ case AlfPackage.ELEMENT_REFERENCE___UPPER:
+ return upper();
+ case AlfPackage.ELEMENT_REFERENCE___IS_ORDERED:
+ return isOrdered();
+ case AlfPackage.ELEMENT_REFERENCE___IS_NONUNIQUE:
+ return isNonunique();
+ case AlfPackage.ELEMENT_REFERENCE___PARENTS:
+ return parents();
+ case AlfPackage.ELEMENT_REFERENCE___ALL_PARENTS:
+ return allParents();
+ case AlfPackage.ELEMENT_REFERENCE___CLASSIFIER_BEHAVIOR:
+ return classifierBehavior();
+ case AlfPackage.ELEMENT_REFERENCE___APPLIED_PROFILES:
+ return appliedProfiles();
+ case AlfPackage.ELEMENT_REFERENCE___BASE:
+ return base();
+ case AlfPackage.ELEMENT_REFERENCE___REFERENCE:
+ return reference();
+ case AlfPackage.ELEMENT_REFERENCE___TEMPLATE_BINDING:
+ return templateBinding();
+ case AlfPackage.ELEMENT_REFERENCE___BIND__ELIST:
+ return bind((EList<ElementReference>) arguments.get(0));
+ case AlfPackage.ELEMENT_REFERENCE___BOUND_ELEMENT_NAME__ELIST:
+ return boundElementName((EList<ElementReference>) arguments.get(0));
+ case AlfPackage.ELEMENT_REFERENCE___BOUND_PATH_NAME:
+ return boundPathName();
+ case AlfPackage.ELEMENT_REFERENCE___QUALIFIED_NAME:
+ return qualifiedName();
+ case AlfPackage.ELEMENT_REFERENCE___ACTIVE_CLASS:
+ return activeClass();
+ case AlfPackage.ELEMENT_REFERENCE___IS_ACTIVE_BEHAVIOR:
+ return isActiveBehavior();
+ case AlfPackage.ELEMENT_REFERENCE___CONFORMS_TO__ELEMENTREFERENCE:
+ return conformsTo((ElementReference) arguments.get(0));
+ case AlfPackage.ELEMENT_REFERENCE___EQUALS__ELEMENTREFERENCE:
+ return equals((ElementReference) arguments.get(0));
+ case AlfPackage.ELEMENT_REFERENCE___CONTAINED_IN__ELIST:
+ return containedIn((EList<ElementReference>) arguments.get(0));
+ case AlfPackage.ELEMENT_REFERENCE___COUNT_IN__ELIST:
+ return countIn((EList<ElementReference>) arguments.get(0));
+ case AlfPackage.ELEMENT_REFERENCE___POSITION_IN__ELIST:
+ return positionIn((EList<ElementReference>) arguments.get(0));
+ case AlfPackage.ELEMENT_REFERENCE___COPY:
+ return copy();
+ case AlfPackage.ELEMENT_REFERENCE___MODEL_SCOPE:
+ return modelScope();
+ case AlfPackage.ELEMENT_REFERENCE___RESOLVE_PATH_NAME__STRING:
+ return resolvePathName((String) arguments.get(0));
+ case AlfPackage.ELEMENT_REFERENCE___RESOLVE_IN_SCOPE__STRING:
+ return resolveInScope((String) arguments.get(0));
+ case AlfPackage.ELEMENT_REFERENCE___RESOLVE_STEREOTYPE__STRING:
+ return resolveStereotype((String) arguments.get(0));
+ case AlfPackage.ELEMENT_REFERENCE___RESOLVE__STRING:
+ return resolve((String) arguments.get(0));
+ case AlfPackage.ELEMENT_REFERENCE___RESOLVE_VISIBLE__STRING_ELEMENTREFERENCE:
+ return resolveVisible((String) arguments.get(0), (ElementReference) arguments.get(1));
+ case AlfPackage.ELEMENT_REFERENCE___RESOLVE_ASSOCIATION_END__ELEMENTREFERENCE_STRING:
+ return resolveAssociationEnd((ElementReference) arguments.get(0), (String) arguments.get(1));
+ case AlfPackage.ELEMENT_REFERENCE___CONTAINS_MEMBER__ELEMENTREFERENCE:
+ return containsMember((ElementReference) arguments.get(0));
+ case AlfPackage.ELEMENT_REFERENCE___ALLOW_PACKAGE_ONLY:
+ return allowPackageOnly();
+ case AlfPackage.ELEMENT_REFERENCE___STUB:
+ return stub();
+ case AlfPackage.ELEMENT_REFERENCE___STUB_FOR__UNITDEFINITION:
+ return stubFor((UnitDefinition) arguments.get(0));
+ }
+ return super.eInvoke(operationID, arguments);
+ }
+
+} // ElementReferenceImpl
diff --git a/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/EmptyStatementImpl.java b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/EmptyStatementImpl.java
new file mode 100644
index 00000000000..b2f4ec8dca5
--- /dev/null
+++ b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/EmptyStatementImpl.java
@@ -0,0 +1,97 @@
+/**
+ */
+package org.eclipse.papyrus.uml.alf.impl;
+
+import java.lang.reflect.InvocationTargetException;
+
+import java.util.Map;
+
+import org.eclipse.emf.common.util.BasicDiagnostic;
+import org.eclipse.emf.common.util.Diagnostic;
+import org.eclipse.emf.common.util.DiagnosticChain;
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.plugin.EcorePlugin;
+
+import org.eclipse.emf.ecore.util.EObjectValidator;
+
+import org.eclipse.papyrus.uml.alf.AlfPackage;
+import org.eclipse.papyrus.uml.alf.EmptyStatement;
+
+import org.eclipse.papyrus.uml.alf.util.AlfValidator;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Empty Statement</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ *
+ * @generated
+ */
+public class EmptyStatementImpl extends StatementImpl implements EmptyStatement {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected EmptyStatementImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return AlfPackage.eINSTANCE.getEmptyStatement();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean emptyStatementAssignmentsAfter(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.EMPTY_STATEMENT__EMPTY_STATEMENT_ASSIGNMENTS_AFTER,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "emptyStatementAssignmentsAfter", EObjectValidator.getObjectLabel(this, context) }),
+ new Object[] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object eInvoke(int operationID, EList<?> arguments) throws InvocationTargetException {
+ switch (operationID) {
+ case AlfPackage.EMPTY_STATEMENT___EMPTY_STATEMENT_ASSIGNMENTS_AFTER__DIAGNOSTICCHAIN_MAP:
+ return emptyStatementAssignmentsAfter((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ }
+ return super.eInvoke(operationID, arguments);
+ }
+
+} // EmptyStatementImpl
diff --git a/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/EnumerationDefinitionImpl.java b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/EnumerationDefinitionImpl.java
new file mode 100644
index 00000000000..facce2203ac
--- /dev/null
+++ b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/EnumerationDefinitionImpl.java
@@ -0,0 +1,223 @@
+/**
+ */
+package org.eclipse.papyrus.uml.alf.impl;
+
+import java.lang.reflect.InvocationTargetException;
+import java.util.Map;
+import org.eclipse.emf.common.util.BasicEList;
+import org.eclipse.emf.common.util.Diagnostic;
+import org.eclipse.emf.common.util.DiagnosticChain;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.common.util.WrappedException;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EOperation;
+import org.eclipse.papyrus.uml.alf.AlfPackage;
+import org.eclipse.papyrus.uml.alf.ClassifierDefinition;
+import org.eclipse.papyrus.uml.alf.ElementReference;
+import org.eclipse.papyrus.uml.alf.EnumerationDefinition;
+import org.eclipse.papyrus.uml.alf.MemberDefinition;
+import org.eclipse.papyrus.uml.alf.NamespaceDefinition;
+import org.eclipse.papyrus.uml.alf.StereotypeAnnotation;
+import org.eclipse.papyrus.uml.alf.UnitDefinition;
+import org.eclipse.papyrus.uml.alf.util.AlfValidator;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Enumeration Definition</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ *
+ * @generated
+ */
+public class EnumerationDefinitionImpl extends ClassifierDefinitionImpl implements EnumerationDefinition {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected EnumerationDefinitionImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return AlfPackage.eINSTANCE.getEnumerationDefinition();
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #matchForStub(org.eclipse.papyrus.uml.alf.UnitDefinition) <em>Match For Stub</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #matchForStub(org.eclipse.papyrus.uml.alf.UnitDefinition)
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate MATCH_FOR_STUB_UNIT_DEFINITION__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getEnumerationDefinition__MatchForStub__UnitDefinition()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean matchForStub(UnitDefinition unit) {
+ try {
+ return (Boolean) MATCH_FOR_STUB_UNIT_DEFINITION__EINVOCATION_DELEGATE.dynamicInvoke(this, new BasicEList.UnmodifiableEList<Object>(1, new Object[] { unit }));
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #annotationAllowed(org.eclipse.papyrus.uml.alf.StereotypeAnnotation) <em>Annotation Allowed</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #annotationAllowed(org.eclipse.papyrus.uml.alf.StereotypeAnnotation)
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate ANNOTATION_ALLOWED_STEREOTYPE_ANNOTATION__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getEnumerationDefinition__AnnotationAllowed__StereotypeAnnotation())
+ .getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean annotationAllowed(StereotypeAnnotation annotation) {
+ try {
+ return (Boolean) ANNOTATION_ALLOWED_STEREOTYPE_ANNOTATION__EINVOCATION_DELEGATE.dynamicInvoke(this, new BasicEList.UnmodifiableEList<Object>(1, new Object[] { annotation }));
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #isSameKindAs(org.eclipse.papyrus.uml.alf.ElementReference) <em>Is Same Kind As</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #isSameKindAs(org.eclipse.papyrus.uml.alf.ElementReference)
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate IS_SAME_KIND_AS_ELEMENT_REFERENCE__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getEnumerationDefinition__IsSameKindAs__ElementReference()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isSameKindAs(ElementReference member) {
+ try {
+ return (Boolean) IS_SAME_KIND_AS_ELEMENT_REFERENCE__EINVOCATION_DELEGATE.dynamicInvoke(this, new BasicEList.UnmodifiableEList<Object>(1, new Object[] { member }));
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached validation expression for the '{@link #enumerationDefinitionSpecializationReferent(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Enumeration Definition Specialization Referent</em>}' invariant operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #enumerationDefinitionSpecializationReferent(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ * @ordered
+ */
+ protected static final String ENUMERATION_DEFINITION_SPECIALIZATION_REFERENT_DIAGNOSTIC_CHAIN_MAP__EEXPRESSION = "\n" +
+ " self.specializationReferent->forAll(isEnumeration())";
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean enumerationDefinitionSpecializationReferent(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return AlfValidator.validate
+ (AlfPackage.eINSTANCE.getEnumerationDefinition(),
+ this,
+ diagnostics,
+ context,
+ "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot",
+ AlfPackage.eINSTANCE.getEnumerationDefinition__EnumerationDefinitionSpecializationReferent__DiagnosticChain_Map(),
+ ENUMERATION_DEFINITION_SPECIALIZATION_REFERENT_DIAGNOSTIC_CHAIN_MAP__EEXPRESSION,
+ Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.ENUMERATION_DEFINITION__ENUMERATION_DEFINITION_SPECIALIZATION_REFERENT);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public int eDerivedOperationID(int baseOperationID, Class<?> baseClass) {
+ if (baseClass == MemberDefinition.class) {
+ switch (baseOperationID) {
+ case AlfPackage.MEMBER_DEFINITION___ANNOTATION_ALLOWED__STEREOTYPEANNOTATION:
+ return AlfPackage.ENUMERATION_DEFINITION___ANNOTATION_ALLOWED__STEREOTYPEANNOTATION;
+ case AlfPackage.MEMBER_DEFINITION___MATCH_FOR_STUB__UNITDEFINITION:
+ return AlfPackage.ENUMERATION_DEFINITION___MATCH_FOR_STUB__UNITDEFINITION;
+ case AlfPackage.MEMBER_DEFINITION___IS_SAME_KIND_AS__ELEMENTREFERENCE:
+ return AlfPackage.ENUMERATION_DEFINITION___IS_SAME_KIND_AS__ELEMENTREFERENCE;
+ default:
+ return super.eDerivedOperationID(baseOperationID, baseClass);
+ }
+ }
+ if (baseClass == NamespaceDefinition.class) {
+ switch (baseOperationID) {
+ case AlfPackage.NAMESPACE_DEFINITION___ANNOTATION_ALLOWED__STEREOTYPEANNOTATION:
+ return AlfPackage.ENUMERATION_DEFINITION___ANNOTATION_ALLOWED__STEREOTYPEANNOTATION;
+ default:
+ return super.eDerivedOperationID(baseOperationID, baseClass);
+ }
+ }
+ if (baseClass == ClassifierDefinition.class) {
+ switch (baseOperationID) {
+ case AlfPackage.CLASSIFIER_DEFINITION___MATCH_FOR_STUB__UNITDEFINITION:
+ return AlfPackage.ENUMERATION_DEFINITION___MATCH_FOR_STUB__UNITDEFINITION;
+ default:
+ return super.eDerivedOperationID(baseOperationID, baseClass);
+ }
+ }
+ return super.eDerivedOperationID(baseOperationID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object eInvoke(int operationID, EList<?> arguments) throws InvocationTargetException {
+ switch (operationID) {
+ case AlfPackage.ENUMERATION_DEFINITION___MATCH_FOR_STUB__UNITDEFINITION:
+ return matchForStub((UnitDefinition) arguments.get(0));
+ case AlfPackage.ENUMERATION_DEFINITION___ANNOTATION_ALLOWED__STEREOTYPEANNOTATION:
+ return annotationAllowed((StereotypeAnnotation) arguments.get(0));
+ case AlfPackage.ENUMERATION_DEFINITION___IS_SAME_KIND_AS__ELEMENTREFERENCE:
+ return isSameKindAs((ElementReference) arguments.get(0));
+ case AlfPackage.ENUMERATION_DEFINITION___ENUMERATION_DEFINITION_SPECIALIZATION_REFERENT__DIAGNOSTICCHAIN_MAP:
+ return enumerationDefinitionSpecializationReferent((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ }
+ return super.eInvoke(operationID, arguments);
+ }
+
+} // EnumerationDefinitionImpl
diff --git a/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/EnumerationLiteralNameImpl.java b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/EnumerationLiteralNameImpl.java
new file mode 100644
index 00000000000..7a207925dfd
--- /dev/null
+++ b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/EnumerationLiteralNameImpl.java
@@ -0,0 +1,87 @@
+/**
+ */
+package org.eclipse.papyrus.uml.alf.impl;
+
+import java.lang.reflect.InvocationTargetException;
+import org.eclipse.emf.common.util.BasicEList;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.common.util.WrappedException;
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.EOperation;
+import org.eclipse.papyrus.uml.alf.AlfPackage;
+import org.eclipse.papyrus.uml.alf.EnumerationLiteralName;
+import org.eclipse.papyrus.uml.alf.StereotypeAnnotation;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Enumeration Literal Name</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ *
+ * @generated
+ */
+public class EnumerationLiteralNameImpl extends MemberDefinitionImpl implements EnumerationLiteralName {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected EnumerationLiteralNameImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return AlfPackage.eINSTANCE.getEnumerationLiteralName();
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #annotationAllowed(org.eclipse.papyrus.uml.alf.StereotypeAnnotation) <em>Annotation Allowed</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #annotationAllowed(org.eclipse.papyrus.uml.alf.StereotypeAnnotation)
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate ANNOTATION_ALLOWED_STEREOTYPE_ANNOTATION__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getEnumerationLiteralName__AnnotationAllowed__StereotypeAnnotation())
+ .getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean annotationAllowed(StereotypeAnnotation annotation) {
+ try {
+ return (Boolean) ANNOTATION_ALLOWED_STEREOTYPE_ANNOTATION__EINVOCATION_DELEGATE.dynamicInvoke(this, new BasicEList.UnmodifiableEList<Object>(1, new Object[] { annotation }));
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Object eInvoke(int operationID, EList<?> arguments) throws InvocationTargetException {
+ switch (operationID) {
+ case AlfPackage.ENUMERATION_LITERAL_NAME___ANNOTATION_ALLOWED__STEREOTYPEANNOTATION:
+ return annotationAllowed((StereotypeAnnotation) arguments.get(0));
+ }
+ return super.eInvoke(operationID, arguments);
+ }
+
+} // EnumerationLiteralNameImpl
diff --git a/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/EqualityExpressionImpl.java b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/EqualityExpressionImpl.java
new file mode 100644
index 00000000000..0819118b13e
--- /dev/null
+++ b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/EqualityExpressionImpl.java
@@ -0,0 +1,345 @@
+/**
+ */
+package org.eclipse.papyrus.uml.alf.impl;
+
+import java.lang.reflect.InvocationTargetException;
+import java.math.BigInteger;
+import java.util.Map;
+import org.eclipse.emf.common.util.BasicDiagnostic;
+import org.eclipse.emf.common.util.Diagnostic;
+import org.eclipse.emf.common.util.DiagnosticChain;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.common.util.WrappedException;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EOperation;
+import org.eclipse.emf.ecore.plugin.EcorePlugin;
+import org.eclipse.emf.ecore.util.EObjectValidator;
+import org.eclipse.papyrus.uml.alf.AlfPackage;
+import org.eclipse.papyrus.uml.alf.AssignableElement;
+import org.eclipse.papyrus.uml.alf.BinaryExpression;
+import org.eclipse.papyrus.uml.alf.ElementReference;
+import org.eclipse.papyrus.uml.alf.EqualityExpression;
+import org.eclipse.papyrus.uml.alf.util.AlfValidator;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Equality Expression</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.uml.alf.impl.EqualityExpressionImpl#isIsNegated <em>Is Negated</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class EqualityExpressionImpl extends BinaryExpressionImpl implements EqualityExpression {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected EqualityExpressionImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return AlfPackage.eINSTANCE.getEqualityExpression();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isIsNegated() {
+ return (Boolean) eGet(AlfPackage.eINSTANCE.getEqualityExpression_IsNegated(), true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setIsNegated(boolean newIsNegated) {
+ eSet(AlfPackage.eINSTANCE.getEqualityExpression_IsNegated(), newIsNegated);
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #type() <em>Type</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #type()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate TYPE__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getEqualityExpression__Type()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public ElementReference type() {
+ try {
+ return (ElementReference) TYPE__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #lower() <em>Lower</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #lower()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate LOWER__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getEqualityExpression__Lower()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public BigInteger lower() {
+ try {
+ return (BigInteger) LOWER__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #upper() <em>Upper</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #upper()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate UPPER__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getEqualityExpression__Upper()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public BigInteger upper() {
+ try {
+ return (BigInteger) UPPER__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean equalityExpressionIsNegatedDerivation(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.EQUALITY_EXPRESSION__EQUALITY_EXPRESSION_IS_NEGATED_DERIVATION,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "equalityExpressionIsNegatedDerivation", EObjectValidator.getObjectLabel(this, context) }),
+ new Object[] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean equalityExpressionTypeDerivation(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.EQUALITY_EXPRESSION__EQUALITY_EXPRESSION_TYPE_DERIVATION,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "equalityExpressionTypeDerivation", EObjectValidator.getObjectLabel(this, context) }),
+ new Object[] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean equalityExpressionLowerDerivation(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.EQUALITY_EXPRESSION__EQUALITY_EXPRESSION_LOWER_DERIVATION,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "equalityExpressionLowerDerivation", EObjectValidator.getObjectLabel(this, context) }),
+ new Object[] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean equalityExpressionUpperDerivation(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.EQUALITY_EXPRESSION__EQUALITY_EXPRESSION_UPPER_DERIVATION,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "equalityExpressionUpperDerivation", EObjectValidator.getObjectLabel(this, context) }),
+ new Object[] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #noNullArguments() <em>No Null Arguments</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #noNullArguments()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate NO_NULL_ARGUMENTS__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getEqualityExpression__NoNullArguments()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean noNullArguments() {
+ try {
+ return (Boolean) NO_NULL_ARGUMENTS__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public int eDerivedOperationID(int baseOperationID, Class<?> baseClass) {
+ if (baseClass == AssignableElement.class) {
+ switch (baseOperationID) {
+ case AlfPackage.ASSIGNABLE_ELEMENT___TYPE:
+ return AlfPackage.EQUALITY_EXPRESSION___TYPE;
+ case AlfPackage.ASSIGNABLE_ELEMENT___LOWER:
+ return AlfPackage.EQUALITY_EXPRESSION___LOWER;
+ case AlfPackage.ASSIGNABLE_ELEMENT___UPPER:
+ return AlfPackage.EQUALITY_EXPRESSION___UPPER;
+ default:
+ return super.eDerivedOperationID(baseOperationID, baseClass);
+ }
+ }
+ if (baseClass == BinaryExpression.class) {
+ switch (baseOperationID) {
+ case AlfPackage.BINARY_EXPRESSION___NO_NULL_ARGUMENTS:
+ return AlfPackage.EQUALITY_EXPRESSION___NO_NULL_ARGUMENTS;
+ default:
+ return super.eDerivedOperationID(baseOperationID, baseClass);
+ }
+ }
+ return super.eDerivedOperationID(baseOperationID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object eInvoke(int operationID, EList<?> arguments) throws InvocationTargetException {
+ switch (operationID) {
+ case AlfPackage.EQUALITY_EXPRESSION___TYPE:
+ return type();
+ case AlfPackage.EQUALITY_EXPRESSION___LOWER:
+ return lower();
+ case AlfPackage.EQUALITY_EXPRESSION___UPPER:
+ return upper();
+ case AlfPackage.EQUALITY_EXPRESSION___EQUALITY_EXPRESSION_IS_NEGATED_DERIVATION__DIAGNOSTICCHAIN_MAP:
+ return equalityExpressionIsNegatedDerivation((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ case AlfPackage.EQUALITY_EXPRESSION___EQUALITY_EXPRESSION_TYPE_DERIVATION__DIAGNOSTICCHAIN_MAP:
+ return equalityExpressionTypeDerivation((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ case AlfPackage.EQUALITY_EXPRESSION___EQUALITY_EXPRESSION_LOWER_DERIVATION__DIAGNOSTICCHAIN_MAP:
+ return equalityExpressionLowerDerivation((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ case AlfPackage.EQUALITY_EXPRESSION___EQUALITY_EXPRESSION_UPPER_DERIVATION__DIAGNOSTICCHAIN_MAP:
+ return equalityExpressionUpperDerivation((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ case AlfPackage.EQUALITY_EXPRESSION___NO_NULL_ARGUMENTS:
+ return noNullArguments();
+ }
+ return super.eInvoke(operationID, arguments);
+ }
+
+} // EqualityExpressionImpl
diff --git a/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/ExpressionImpl.java b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/ExpressionImpl.java
new file mode 100644
index 00000000000..0b5057444b5
--- /dev/null
+++ b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/ExpressionImpl.java
@@ -0,0 +1,317 @@
+/**
+ */
+package org.eclipse.papyrus.uml.alf.impl;
+
+import java.lang.reflect.InvocationTargetException;
+import java.util.Map;
+import org.eclipse.emf.common.util.BasicDiagnostic;
+import org.eclipse.emf.common.util.BasicEList;
+import org.eclipse.emf.common.util.Diagnostic;
+import org.eclipse.emf.common.util.DiagnosticChain;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.common.util.WrappedException;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EOperation;
+import org.eclipse.emf.ecore.plugin.EcorePlugin;
+import org.eclipse.emf.ecore.util.EObjectValidator;
+import org.eclipse.papyrus.uml.alf.AlfPackage;
+import org.eclipse.papyrus.uml.alf.AssignedSource;
+import org.eclipse.papyrus.uml.alf.Expression;
+import org.eclipse.papyrus.uml.alf.SyntaxElement;
+import org.eclipse.papyrus.uml.alf.util.AlfValidator;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Expression</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.uml.alf.impl.ExpressionImpl#getAssignmentBefore <em>Assignment Before</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.impl.ExpressionImpl#getAssignmentAfter <em>Assignment After</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public abstract class ExpressionImpl extends AssignableElementImpl implements Expression {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected ExpressionImpl() {
+ super();
+ }
+
+ @Override
+ public void clear() {
+ super.clear();
+ this.assignmentsAfter = null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return AlfPackage.eINSTANCE.getExpression();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<AssignedSource> getAssignmentBefore() {
+ return (EList<AssignedSource>) eGet(AlfPackage.eINSTANCE.getExpression_AssignmentBefore(), true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<AssignedSource> getAssignmentAfter() {
+ return (EList<AssignedSource>) eGet(AlfPackage.eINSTANCE.getExpression_AssignmentAfter(), true);
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #newAssignments() <em>New Assignments</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #newAssignments()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate NEW_ASSIGNMENTS__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getExpression__NewAssignments()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<AssignedSource> newAssignments() {
+ try {
+ return (EList<AssignedSource>) NEW_ASSIGNMENTS__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #updateAssignments() <em>Update Assignments</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #updateAssignments()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate UPDATE_ASSIGNMENTS__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getExpression__UpdateAssignments()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean expressionAssignmentAfterDerivation(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.EXPRESSION__EXPRESSION_ASSIGNMENT_AFTER_DERIVATION,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "expressionAssignmentAfterDerivation", EObjectValidator.getObjectLabel(this, context) }),
+ new Object[] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean expressionUniqueAssignments(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return AlfValidator.validate
+ (AlfPackage.eINSTANCE.getExpression(),
+ this,
+ diagnostics,
+ context,
+ "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot",
+ AlfPackage.eINSTANCE.getExpression__ExpressionUniqueAssignments__DiagnosticChain_Map(),
+ EXPRESSION_UNIQUE_ASSIGNMENTS_DIAGNOSTIC_CHAIN_MAP__EEXPRESSION,
+ Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.EXPRESSION__EXPRESSION_UNIQUE_ASSIGNMENTS);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<AssignedSource> updateAssignments() {
+ try {
+ return (EList<AssignedSource>) UPDATE_ASSIGNMENTS__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #Expression_updateAssignments() <em>Expression update Assignments</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #Expression_updateAssignments()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate EXPRESSION_UPDATE_ASSIGNMENTS__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getExpression__Expression_updateAssignments()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<AssignedSource> Expression_updateAssignments() {
+ try {
+ return (EList<AssignedSource>) EXPRESSION_UPDATE_ASSIGNMENTS__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ private EList<AssignedSource> assignmentsAfter = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated NOT
+ */
+ public EList<AssignedSource> updateAssignmentsCached() {
+ if (this.assignmentsAfter == null) {
+ this.assignmentsAfter = this.updateAssignments();
+ }
+ return this.assignmentsAfter;
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #resolve(java.lang.String) <em>Resolve</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #resolve(java.lang.String)
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate RESOLVE_STRING__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getExpression__Resolve__String()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public SyntaxElement resolve(String name) {
+ try {
+ return (SyntaxElement) RESOLVE_STRING__EINVOCATION_DELEGATE.dynamicInvoke(this, new BasicEList.UnmodifiableEList<Object>(1, new Object[] { name }));
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #isAddTarget(org.eclipse.papyrus.uml.alf.Expression) <em>Is Add Target</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #isAddTarget(org.eclipse.papyrus.uml.alf.Expression)
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate IS_ADD_TARGET_EXPRESSION__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getExpression__IsAddTarget__Expression()).getInvocationDelegate();
+ /**
+ * The cached validation expression for the '{@link #expressionUniqueAssignments(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Expression Unique Assignments</em>}' invariant operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #expressionUniqueAssignments(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ * @ordered
+ */
+ protected static final String EXPRESSION_UNIQUE_ASSIGNMENTS_DIAGNOSTIC_CHAIN_MAP__EEXPRESSION = "self.assignmentBefore->isUnique(name) and self.assignmentAfter->isUnique(name)";
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isAddTarget(Expression targetExpression) {
+ try {
+ return (Boolean) IS_ADD_TARGET_EXPRESSION__EINVOCATION_DELEGATE.dynamicInvoke(this, new BasicEList.UnmodifiableEList<Object>(1, new Object[] { targetExpression }));
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object eInvoke(int operationID, EList<?> arguments) throws InvocationTargetException {
+ switch (operationID) {
+ case AlfPackage.EXPRESSION___NEW_ASSIGNMENTS:
+ return newAssignments();
+ case AlfPackage.EXPRESSION___UPDATE_ASSIGNMENTS:
+ return updateAssignments();
+ case AlfPackage.EXPRESSION___EXPRESSION_UPDATE_ASSIGNMENTS:
+ return Expression_updateAssignments();
+ case AlfPackage.EXPRESSION___UPDATE_ASSIGNMENTS_CACHED:
+ return updateAssignmentsCached();
+ case AlfPackage.EXPRESSION___RESOLVE__STRING:
+ return resolve((String) arguments.get(0));
+ case AlfPackage.EXPRESSION___IS_ADD_TARGET__EXPRESSION:
+ return isAddTarget((Expression) arguments.get(0));
+ case AlfPackage.EXPRESSION___EXPRESSION_ASSIGNMENT_AFTER_DERIVATION__DIAGNOSTICCHAIN_MAP:
+ return expressionAssignmentAfterDerivation((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ case AlfPackage.EXPRESSION___EXPRESSION_UNIQUE_ASSIGNMENTS__DIAGNOSTICCHAIN_MAP:
+ return expressionUniqueAssignments((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ }
+ return super.eInvoke(operationID, arguments);
+ }
+
+} // ExpressionImpl
diff --git a/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/ExpressionStatementImpl.java b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/ExpressionStatementImpl.java
new file mode 100644
index 00000000000..d559f331ff5
--- /dev/null
+++ b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/ExpressionStatementImpl.java
@@ -0,0 +1,196 @@
+/**
+ */
+package org.eclipse.papyrus.uml.alf.impl;
+
+import java.lang.reflect.InvocationTargetException;
+import java.util.Map;
+import org.eclipse.emf.common.util.BasicDiagnostic;
+import org.eclipse.emf.common.util.Diagnostic;
+import org.eclipse.emf.common.util.DiagnosticChain;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.common.util.WrappedException;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EOperation;
+import org.eclipse.emf.ecore.plugin.EcorePlugin;
+import org.eclipse.emf.ecore.util.EObjectValidator;
+import org.eclipse.papyrus.uml.alf.AlfPackage;
+import org.eclipse.papyrus.uml.alf.AssignedSource;
+import org.eclipse.papyrus.uml.alf.Expression;
+import org.eclipse.papyrus.uml.alf.ExpressionStatement;
+import org.eclipse.papyrus.uml.alf.Statement;
+import org.eclipse.papyrus.uml.alf.util.AlfValidator;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Expression Statement</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.uml.alf.impl.ExpressionStatementImpl#getExpression <em>Expression</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class ExpressionStatementImpl extends StatementImpl implements ExpressionStatement {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected ExpressionStatementImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return AlfPackage.eINSTANCE.getExpressionStatement();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public Expression getExpression() {
+ return (Expression) eGet(AlfPackage.eINSTANCE.getExpressionStatement_Expression(), true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setExpression(Expression newExpression) {
+ eSet(AlfPackage.eINSTANCE.getExpressionStatement_Expression(), newExpression);
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #assignmentsAfter() <em>Assignments After</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #assignmentsAfter()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate ASSIGNMENTS_AFTER__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getExpressionStatement__AssignmentsAfter()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<AssignedSource> assignmentsAfter() {
+ try {
+ return (EList<AssignedSource>) ASSIGNMENTS_AFTER__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean expressionStatementAssignmentsBefore(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.EXPRESSION_STATEMENT__EXPRESSION_STATEMENT_ASSIGNMENTS_BEFORE,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "expressionStatementAssignmentsBefore", EObjectValidator.getObjectLabel(this, context) }),
+ new Object[] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean expressionStatementAssignmentsAfter(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.EXPRESSION_STATEMENT__EXPRESSION_STATEMENT_ASSIGNMENTS_AFTER,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "expressionStatementAssignmentsAfter", EObjectValidator.getObjectLabel(this, context) }),
+ new Object[] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public int eDerivedOperationID(int baseOperationID, Class<?> baseClass) {
+ if (baseClass == Statement.class) {
+ switch (baseOperationID) {
+ case AlfPackage.STATEMENT___ASSIGNMENTS_AFTER:
+ return AlfPackage.EXPRESSION_STATEMENT___ASSIGNMENTS_AFTER;
+ default:
+ return super.eDerivedOperationID(baseOperationID, baseClass);
+ }
+ }
+ return super.eDerivedOperationID(baseOperationID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object eInvoke(int operationID, EList<?> arguments) throws InvocationTargetException {
+ switch (operationID) {
+ case AlfPackage.EXPRESSION_STATEMENT___ASSIGNMENTS_AFTER:
+ return assignmentsAfter();
+ case AlfPackage.EXPRESSION_STATEMENT___EXPRESSION_STATEMENT_ASSIGNMENTS_BEFORE__DIAGNOSTICCHAIN_MAP:
+ return expressionStatementAssignmentsBefore((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ case AlfPackage.EXPRESSION_STATEMENT___EXPRESSION_STATEMENT_ASSIGNMENTS_AFTER__DIAGNOSTICCHAIN_MAP:
+ return expressionStatementAssignmentsAfter((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ }
+ return super.eInvoke(operationID, arguments);
+ }
+
+} // ExpressionStatementImpl
diff --git a/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/ExtentOrExpressionImpl.java b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/ExtentOrExpressionImpl.java
new file mode 100644
index 00000000000..dc4210378bc
--- /dev/null
+++ b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/ExtentOrExpressionImpl.java
@@ -0,0 +1,288 @@
+/**
+ */
+package org.eclipse.papyrus.uml.alf.impl;
+
+import java.lang.reflect.InvocationTargetException;
+
+import java.util.Map;
+
+import org.eclipse.emf.common.util.BasicDiagnostic;
+import org.eclipse.emf.common.util.BasicEList;
+import org.eclipse.emf.common.util.Diagnostic;
+import org.eclipse.emf.common.util.DiagnosticChain;
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.common.util.WrappedException;
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.EOperation;
+import org.eclipse.emf.ecore.plugin.EcorePlugin;
+
+import org.eclipse.emf.ecore.util.EObjectValidator;
+
+import org.eclipse.papyrus.uml.alf.AlfPackage;
+import org.eclipse.papyrus.uml.alf.Expression;
+import org.eclipse.papyrus.uml.alf.ExtentOrExpression;
+import org.eclipse.papyrus.uml.alf.QualifiedName;
+
+import org.eclipse.papyrus.uml.alf.util.AlfValidator;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Extent Or Expression</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.uml.alf.impl.ExtentOrExpressionImpl#getName <em>Name</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.impl.ExtentOrExpressionImpl#getExpression <em>Expression</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.impl.ExtentOrExpressionImpl#getNonNameExpression <em>Non Name Expression</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class ExtentOrExpressionImpl extends ExpressionImpl implements ExtentOrExpression {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected ExtentOrExpressionImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return AlfPackage.eINSTANCE.getExtentOrExpression();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public QualifiedName getName() {
+ return (QualifiedName) eGet(AlfPackage.eINSTANCE.getExtentOrExpression_Name(), true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setName(QualifiedName newName) {
+ eSet(AlfPackage.eINSTANCE.getExtentOrExpression_Name(), newName);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public Expression getExpression() {
+ return (Expression) eGet(AlfPackage.eINSTANCE.getExtentOrExpression_Expression(), true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setExpression(Expression newExpression) {
+ eSet(AlfPackage.eINSTANCE.getExtentOrExpression_Expression(), newExpression);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public Expression getNonNameExpression() {
+ return (Expression) eGet(AlfPackage.eINSTANCE.getExtentOrExpression_NonNameExpression(), true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setNonNameExpression(Expression newNonNameExpression) {
+ eSet(AlfPackage.eINSTANCE.getExtentOrExpression_NonNameExpression(), newNonNameExpression);
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #isAddTarget(org.eclipse.papyrus.uml.alf.Expression) <em>Is Add Target</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #isAddTarget(org.eclipse.papyrus.uml.alf.Expression)
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate IS_ADD_TARGET_EXPRESSION__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getExtentOrExpression__IsAddTarget__Expression()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isAddTarget(Expression targetExpression) {
+ try {
+ return (Boolean) IS_ADD_TARGET_EXPRESSION__EINVOCATION_DELEGATE.dynamicInvoke(this, new BasicEList.UnmodifiableEList<Object>(1, new Object[] { targetExpression }));
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean extentOrExpressionExpressionDerivation(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.EXTENT_OR_EXPRESSION__EXTENT_OR_EXPRESSION_EXPRESSION_DERIVATION,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "extentOrExpressionExpressionDerivation", EObjectValidator.getObjectLabel(this, context) }),
+ new Object[] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * The cached validation expression for the '{@link #extentOrExpressionExtentType(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Extent Or Expression Extent Type</em>}' invariant operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #extentOrExpressionExtentType(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ * @ordered
+ */
+ protected static final String EXTENT_OR_EXPRESSION_EXTENT_TYPE_DIAGNOSTIC_CHAIN_MAP__EEXPRESSION = "\n" +
+ " let expression = self.expression in\n" +
+ " expression.oclIsKindOf(ClassExtentExpression) implies\n" +
+ " expression.oclAsType(ClassExtentExpression).validateClassExtentExpressionExtentType()";
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean extentOrExpressionExtentType(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return AlfValidator.validate
+ (AlfPackage.eINSTANCE.getExtentOrExpression(),
+ this,
+ diagnostics,
+ context,
+ "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot",
+ AlfPackage.eINSTANCE.getExtentOrExpression__ExtentOrExpressionExtentType__DiagnosticChain_Map(),
+ EXTENT_OR_EXPRESSION_EXTENT_TYPE_DIAGNOSTIC_CHAIN_MAP__EEXPRESSION,
+ Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.EXTENT_OR_EXPRESSION__EXTENT_OR_EXPRESSION_EXTENT_TYPE);
+ }
+
+ /**
+ * The cached validation expression for the '{@link #extentOrExpressionResolution(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Extent Or Expression Resolution</em>}' invariant operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #extentOrExpressionResolution(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ * @ordered
+ */
+ protected static final String EXTENT_OR_EXPRESSION_RESOLUTION_DIAGNOSTIC_CHAIN_MAP__EEXPRESSION = "\n" +
+ " let expression = self.expression in\n" +
+ " expression.oclIsKindOf(NameExpression) implies\n" +
+ " expression.oclAsType(NameExpression).validateNameExpressionResolution()";
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean extentOrExpressionResolution(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return AlfValidator.validate
+ (AlfPackage.eINSTANCE.getExtentOrExpression(),
+ this,
+ diagnostics,
+ context,
+ "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot",
+ AlfPackage.eINSTANCE.getExtentOrExpression__ExtentOrExpressionResolution__DiagnosticChain_Map(),
+ EXTENT_OR_EXPRESSION_RESOLUTION_DIAGNOSTIC_CHAIN_MAP__EEXPRESSION,
+ Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.EXTENT_OR_EXPRESSION__EXTENT_OR_EXPRESSION_RESOLUTION);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public int eDerivedOperationID(int baseOperationID, Class<?> baseClass) {
+ if (baseClass == Expression.class) {
+ switch (baseOperationID) {
+ case AlfPackage.EXPRESSION___IS_ADD_TARGET__EXPRESSION:
+ return AlfPackage.EXTENT_OR_EXPRESSION___IS_ADD_TARGET__EXPRESSION;
+ default:
+ return super.eDerivedOperationID(baseOperationID, baseClass);
+ }
+ }
+ return super.eDerivedOperationID(baseOperationID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object eInvoke(int operationID, EList<?> arguments) throws InvocationTargetException {
+ switch (operationID) {
+ case AlfPackage.EXTENT_OR_EXPRESSION___IS_ADD_TARGET__EXPRESSION:
+ return isAddTarget((Expression) arguments.get(0));
+ case AlfPackage.EXTENT_OR_EXPRESSION___EXTENT_OR_EXPRESSION_EXPRESSION_DERIVATION__DIAGNOSTICCHAIN_MAP:
+ return extentOrExpressionExpressionDerivation((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ case AlfPackage.EXTENT_OR_EXPRESSION___EXTENT_OR_EXPRESSION_EXTENT_TYPE__DIAGNOSTICCHAIN_MAP:
+ return extentOrExpressionExtentType((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ case AlfPackage.EXTENT_OR_EXPRESSION___EXTENT_OR_EXPRESSION_RESOLUTION__DIAGNOSTICCHAIN_MAP:
+ return extentOrExpressionResolution((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ }
+ return super.eInvoke(operationID, arguments);
+ }
+
+} // ExtentOrExpressionImpl
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
new file mode 100644
index 00000000000..3af4b469ea5
--- /dev/null
+++ b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/ExternalElementReferenceImpl.java
@@ -0,0 +1,2636 @@
+/**
+ */
+package org.eclipse.papyrus.uml.alf.impl;
+
+import java.lang.reflect.InvocationTargetException;
+import java.math.BigInteger;
+
+import org.eclipse.emf.common.util.BasicEList;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.common.util.WrappedException;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EOperation;
+import org.eclipse.papyrus.uml.alf.AlfFactory;
+import org.eclipse.papyrus.uml.alf.AlfPackage;
+import org.eclipse.papyrus.uml.alf.ElementReference;
+import org.eclipse.papyrus.uml.alf.ExternalElementReference;
+import org.eclipse.papyrus.uml.alf.Member;
+import org.eclipse.papyrus.uml.alf.UnitDefinition;
+import org.eclipse.uml2.uml.NamedElement;
+import org.eclipse.uml2.uml.Namespace;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>External Element Reference</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.uml.alf.impl.ExternalElementReferenceImpl#getElement <em>Element</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.impl.ExternalElementReferenceImpl#getAlias <em>Alias</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class ExternalElementReferenceImpl extends ElementReferenceImpl implements ExternalElementReference {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected ExternalElementReferenceImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return AlfPackage.eINSTANCE.getExternalElementReference();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EObject getElement() {
+ return (EObject) eGet(AlfPackage.eINSTANCE.getExternalElementReference_Element(), true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setElement(EObject newElement) {
+ eSet(AlfPackage.eINSTANCE.getExternalElementReference_Element(), newElement);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public String getAlias() {
+ return (String) eGet(AlfPackage.eINSTANCE.getExternalElementReference_Alias(), true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setAlias(String newAlias) {
+ eSet(AlfPackage.eINSTANCE.getExternalElementReference_Alias(), newAlias);
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #isUml() <em>Is Uml</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #isUml()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate IS_UML__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getExternalElementReference__IsUml()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isUml() {
+ try {
+ return (Boolean) IS_UML__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #asUml() <em>As Uml</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #asUml()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate AS_UML__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getExternalElementReference__AsUml()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EObject asUml() {
+ try {
+ return (EObject) AS_UML__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #asMember() <em>As Member</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #asMember()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate AS_MEMBER__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getExternalElementReference__AsMember()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public Member asMember() {
+ try {
+ return (Member) AS_MEMBER__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #isSameKindAs(org.eclipse.papyrus.uml.alf.ElementReference) <em>Is Same Kind As</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #isSameKindAs(org.eclipse.papyrus.uml.alf.ElementReference)
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate IS_SAME_KIND_AS_ELEMENT_REFERENCE__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getExternalElementReference__IsSameKindAs__ElementReference()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isSameKindAs(ElementReference member) {
+ try {
+ return (Boolean) IS_SAME_KIND_AS_ELEMENT_REFERENCE__EINVOCATION_DELEGATE.dynamicInvoke(this, new BasicEList.UnmodifiableEList<Object>(1, new Object[] { member }));
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #isNamedElement() <em>Is Named Element</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #isNamedElement()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate IS_NAMED_ELEMENT__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getExternalElementReference__IsNamedElement()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isNamedElement() {
+ try {
+ return (Boolean) IS_NAMED_ELEMENT__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #isNamespace() <em>Is Namespace</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #isNamespace()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate IS_NAMESPACE__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getExternalElementReference__IsNamespace()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isNamespace() {
+ try {
+ return (Boolean) IS_NAMESPACE__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #isNamespaceFor(org.eclipse.papyrus.uml.alf.UnitDefinition) <em>Is Namespace For</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #isNamespaceFor(org.eclipse.papyrus.uml.alf.UnitDefinition)
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate IS_NAMESPACE_FOR_UNIT_DEFINITION__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getExternalElementReference__IsNamespaceFor__UnitDefinition()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isNamespaceFor(UnitDefinition unit) {
+ try {
+ return (Boolean) IS_NAMESPACE_FOR_UNIT_DEFINITION__EINVOCATION_DELEGATE.dynamicInvoke(this, new BasicEList.UnmodifiableEList<Object>(1, new Object[] { unit }));
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #isModelNamespace() <em>Is Model Namespace</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #isModelNamespace()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate IS_MODEL_NAMESPACE__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getExternalElementReference__IsModelNamespace()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isModelNamespace() {
+ try {
+ return (Boolean) IS_MODEL_NAMESPACE__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #isPackage() <em>Is Package</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #isPackage()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate IS_PACKAGE__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getExternalElementReference__IsPackage()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isPackage() {
+ try {
+ return (Boolean) IS_PACKAGE__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #isProfile() <em>Is Profile</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #isProfile()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate IS_PROFILE__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getExternalElementReference__IsProfile()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isProfile() {
+ try {
+ return (Boolean) IS_PROFILE__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #isPackageableElement() <em>Is Packageable Element</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #isPackageableElement()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate IS_PACKAGEABLE_ELEMENT__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getExternalElementReference__IsPackageableElement()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isPackageableElement() {
+ try {
+ return (Boolean) IS_PACKAGEABLE_ELEMENT__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #isClassifier() <em>Is Classifier</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #isClassifier()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate IS_CLASSIFIER__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getExternalElementReference__IsClassifier()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isClassifier() {
+ try {
+ return (Boolean) IS_CLASSIFIER__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #isAbstractClassifier() <em>Is Abstract Classifier</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #isAbstractClassifier()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate IS_ABSTRACT_CLASSIFIER__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getExternalElementReference__IsAbstractClassifier()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isAbstractClassifier() {
+ try {
+ return (Boolean) IS_ABSTRACT_CLASSIFIER__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #isAssociation() <em>Is Association</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #isAssociation()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate IS_ASSOCIATION__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getExternalElementReference__IsAssociation()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isAssociation() {
+ try {
+ return (Boolean) IS_ASSOCIATION__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #isDataType() <em>Is Data Type</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #isDataType()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate IS_DATA_TYPE__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getExternalElementReference__IsDataType()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isDataType() {
+ try {
+ return (Boolean) IS_DATA_TYPE__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #isClass() <em>Is Class</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #isClass()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate IS_CLASS__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getExternalElementReference__IsClass()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isClass() {
+ try {
+ return (Boolean) IS_CLASS__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #isActiveClass() <em>Is Active Class</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #isActiveClass()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate IS_ACTIVE_CLASS__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getExternalElementReference__IsActiveClass()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isActiveClass() {
+ try {
+ return (Boolean) IS_ACTIVE_CLASS__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #isSignal() <em>Is Signal</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #isSignal()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate IS_SIGNAL__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getExternalElementReference__IsSignal()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isSignal() {
+ try {
+ return (Boolean) IS_SIGNAL__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #isEnumeration() <em>Is Enumeration</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #isEnumeration()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate IS_ENUMERATION__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getExternalElementReference__IsEnumeration()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isEnumeration() {
+ try {
+ return (Boolean) IS_ENUMERATION__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #isBehavior() <em>Is Behavior</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #isBehavior()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate IS_BEHAVIOR__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getExternalElementReference__IsBehavior()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isBehavior() {
+ try {
+ return (Boolean) IS_BEHAVIOR__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #isActivity() <em>Is Activity</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #isActivity()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate IS_ACTIVITY__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getExternalElementReference__IsActivity()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isActivity() {
+ try {
+ return (Boolean) IS_ACTIVITY__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #isMethod() <em>Is Method</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #isMethod()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate IS_METHOD__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getExternalElementReference__IsMethod()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isMethod() {
+ try {
+ return (Boolean) IS_METHOD__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isReception() {
+ try {
+ return (Boolean) IS_RECEPTION__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #isPrimitiveType() <em>Is Primitive Type</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #isPrimitiveType()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate IS_PRIMITIVE_TYPE__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getExternalElementReference__IsPrimitiveType()).getInvocationDelegate();
+ /**
+ * The cached invocation delegate for the '{@link #isReception() <em>Is Reception</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #isReception()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate IS_RECEPTION__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getExternalElementReference__IsReception()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isPrimitiveType() {
+ try {
+ return (Boolean) IS_PRIMITIVE_TYPE__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #isOperation() <em>Is Operation</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #isOperation()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate IS_OPERATION__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getExternalElementReference__IsOperation()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isOperation() {
+ try {
+ return (Boolean) IS_OPERATION__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #isConstructor() <em>Is Constructor</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #isConstructor()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate IS_CONSTRUCTOR__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getExternalElementReference__IsConstructor()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isConstructor() {
+ try {
+ return (Boolean) IS_CONSTRUCTOR__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #isDestructor() <em>Is Destructor</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #isDestructor()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate IS_DESTRUCTOR__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getExternalElementReference__IsDestructor()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isDestructor() {
+ try {
+ return (Boolean) IS_DESTRUCTOR__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #isFeature() <em>Is Feature</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #isFeature()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate IS_FEATURE__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getExternalElementReference__IsFeature()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isFeature() {
+ try {
+ return (Boolean) IS_FEATURE__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #isProperty() <em>Is Property</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #isProperty()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate IS_PROPERTY__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getExternalElementReference__IsProperty()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isProperty() {
+ try {
+ return (Boolean) IS_PROPERTY__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #isAssociationEnd() <em>Is Association End</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #isAssociationEnd()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate IS_ASSOCIATION_END__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getExternalElementReference__IsAssociationEnd()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isAssociationEnd() {
+ try {
+ return (Boolean) IS_ASSOCIATION_END__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #isParameter() <em>Is Parameter</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #isParameter()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate IS_PARAMETER__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getExternalElementReference__IsParameter()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isParameter() {
+ try {
+ return (Boolean) IS_PARAMETER__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #isTemplate() <em>Is Template</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #isTemplate()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate IS_TEMPLATE__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getExternalElementReference__IsTemplate()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isTemplate() {
+ try {
+ return (Boolean) IS_TEMPLATE__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #isTemplateParameter() <em>Is Template Parameter</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #isTemplateParameter()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate IS_TEMPLATE_PARAMETER__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getExternalElementReference__IsTemplateParameter()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isTemplateParameter() {
+ try {
+ return (Boolean) IS_TEMPLATE_PARAMETER__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #isClassifierTemplateParameter() <em>Is Classifier Template Parameter</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #isClassifierTemplateParameter()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate IS_CLASSIFIER_TEMPLATE_PARAMETER__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getExternalElementReference__IsClassifierTemplateParameter()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isClassifierTemplateParameter() {
+ try {
+ return (Boolean) IS_CLASSIFIER_TEMPLATE_PARAMETER__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #isParameteredElement() <em>Is Parametered Element</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #isParameteredElement()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate IS_PARAMETERED_ELEMENT__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getExternalElementReference__IsParameteredElement()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isParameteredElement() {
+ try {
+ return (Boolean) IS_PARAMETERED_ELEMENT__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #isTemplateBinding() <em>Is Template Binding</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #isTemplateBinding()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate IS_TEMPLATE_BINDING__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getExternalElementReference__IsTemplateBinding()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isTemplateBinding() {
+ try {
+ return (Boolean) IS_TEMPLATE_BINDING__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #isStereotype() <em>Is Stereotype</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #isStereotype()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate IS_STEREOTYPE__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getExternalElementReference__IsStereotype()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isStereotype() {
+ try {
+ return (Boolean) IS_STEREOTYPE__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #isEnumerationLiteral() <em>Is Enumeration Literal</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #isEnumerationLiteral()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate IS_ENUMERATION_LITERAL__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getExternalElementReference__IsEnumerationLiteral()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isEnumerationLiteral() {
+ try {
+ return (Boolean) IS_ENUMERATION_LITERAL__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #isLoopVariable() <em>Is Loop Variable</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #isLoopVariable()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate IS_LOOP_VARIABLE__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getExternalElementReference__IsLoopVariable()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isLoopVariable() {
+ try {
+ return (Boolean) IS_LOOP_VARIABLE__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #isAnnotation() <em>Is Annotation</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #isAnnotation()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate IS_ANNOTATION__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getExternalElementReference__IsAnnotation()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isAnnotation() {
+ try {
+ return (Boolean) IS_ANNOTATION__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #isSequenceExpansionExpression() <em>Is Sequence Expansion Expression</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #isSequenceExpansionExpression()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate IS_SEQUENCE_EXPANSION_EXPRESSION__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getExternalElementReference__IsSequenceExpansionExpression()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isSequenceExpansionExpression() {
+ try {
+ return (Boolean) IS_SEQUENCE_EXPANSION_EXPRESSION__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #name() <em>Name</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #name()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate NAME__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getExternalElementReference__Name()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public String name() {
+ try {
+ return (String) NAME__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #visibility() <em>Visibility</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #visibility()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate VISIBILITY__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getExternalElementReference__Visibility()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public String visibility() {
+ try {
+ return (String) VISIBILITY__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #ownedMembers() <em>Owned Members</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #ownedMembers()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate OWNED_MEMBERS__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getExternalElementReference__OwnedMembers()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<ElementReference> ownedMembers() {
+ try {
+ return (EList<ElementReference>) OWNED_MEMBERS__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated NOT
+ */
+ public EList<ElementReference> enumerationMembers() {
+ EList<ElementReference> members = new BasicEList<ElementReference>();
+ for (NamedElement member : ((Namespace) this.getElement()).getMembers()) {
+ ExternalElementReference reference =
+ AlfFactory.eINSTANCE.createExternalEnumerationLiteralReference();
+ reference.setElement(member);
+ reference.setAlias(member.getName());
+ members.add(reference);
+ }
+ return members;
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #members() <em>Members</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #members()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate MEMBERS__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getExternalElementReference__Members()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<ElementReference> members() {
+ try {
+ return (EList<ElementReference>) MEMBERS__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #additionalMembers() <em>Additional Members</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #additionalMembers()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate ADDITIONAL_MEMBERS__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getExternalElementReference__AdditionalMembers()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<ElementReference> additionalMembers() {
+ try {
+ return (EList<ElementReference>) ADDITIONAL_MEMBERS__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #inherit(org.eclipse.emf.common.util.EList) <em>Inherit</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #inherit(org.eclipse.emf.common.util.EList)
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate INHERIT_ELIST__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getExternalElementReference__Inherit__EList()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<ElementReference> inherit(EList<ElementReference> inheritableMembers) {
+ try {
+ return (EList<ElementReference>) INHERIT_ELIST__EINVOCATION_DELEGATE.dynamicInvoke(this, new BasicEList.UnmodifiableEList<Object>(1, new Object[] { inheritableMembers }));
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * 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.getExternalElementReference__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 #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 -->
+ *
+ * @see #associationEnds()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate ASSOCIATION_ENDS__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getExternalElementReference__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 #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 -->
+ *
+ * @see #opposite()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate OPPOSITE__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getExternalElementReference__Opposite()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public ElementReference opposite() {
+ try {
+ return (ElementReference) OPPOSITE__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #signal() <em>Signal</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #signal()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate SIGNAL__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getExternalElementReference__Signal()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public ElementReference signal() {
+ try {
+ return (ElementReference) SIGNAL__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #namespace() <em>Namespace</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #namespace()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate NAMESPACE__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getExternalElementReference__Namespace()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public ElementReference namespace() {
+ try {
+ return (ElementReference) NAMESPACE__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #ownedParameters() <em>Owned Parameters</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #ownedParameters()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate OWNED_PARAMETERS__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getExternalElementReference__OwnedParameters()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<EObject> ownedParameters() {
+ try {
+ return (EList<EObject>) OWNED_PARAMETERS__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #parameters() <em>Parameters</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #parameters()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate PARAMETERS__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getExternalElementReference__Parameters()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<ElementReference> parameters() {
+ try {
+ return (EList<ElementReference>) PARAMETERS__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #returnParameter() <em>Return Parameter</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #returnParameter()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate RETURN_PARAMETER__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getExternalElementReference__ReturnParameter()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public ElementReference returnParameter() {
+ try {
+ return (ElementReference) RETURN_PARAMETER__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #specification() <em>Specification</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #specification()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate SPECIFICATION__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getExternalElementReference__Specification()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public ElementReference specification() {
+ try {
+ return (ElementReference) SPECIFICATION__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #redefinedOperations() <em>Redefined Operations</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #redefinedOperations()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate REDEFINED_OPERATIONS__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getExternalElementReference__RedefinedOperations()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<ElementReference> redefinedOperations() {
+ try {
+ return (EList<ElementReference>) REDEFINED_OPERATIONS__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #template() <em>Template</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #template()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate TEMPLATE__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getExternalElementReference__Template()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public ElementReference template() {
+ try {
+ return (ElementReference) TEMPLATE__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #umlTemplateBinding() <em>Uml Template Binding</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #umlTemplateBinding()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate UML_TEMPLATE_BINDING__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getExternalElementReference__UmlTemplateBinding()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EObject umlTemplateBinding() {
+ try {
+ return (EObject) UML_TEMPLATE_BINDING__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #templateParameters() <em>Template Parameters</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #templateParameters()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate TEMPLATE_PARAMETERS__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getExternalElementReference__TemplateParameters()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<ElementReference> templateParameters() {
+ try {
+ return (EList<ElementReference>) TEMPLATE_PARAMETERS__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #parameteredElements() <em>Parametered Elements</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #parameteredElements()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate PARAMETERED_ELEMENTS__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getExternalElementReference__ParameteredElements()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<ElementReference> parameteredElements() {
+ try {
+ return (EList<ElementReference>) PARAMETERED_ELEMENTS__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #templateActuals() <em>Template Actuals</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #templateActuals()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate TEMPLATE_ACTUALS__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getExternalElementReference__TemplateActuals()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<ElementReference> templateActuals() {
+ try {
+ return (EList<ElementReference>) TEMPLATE_ACTUALS__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #direction() <em>Direction</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #direction()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate DIRECTION__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getExternalElementReference__Direction()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public String direction() {
+ try {
+ return (String) DIRECTION__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #association() <em>Association</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #association()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate ASSOCIATION__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getExternalElementReference__Association()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public ElementReference association() {
+ try {
+ return (ElementReference) ASSOCIATION__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #type() <em>Type</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #type()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate TYPE__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getExternalElementReference__Type()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public ElementReference type() {
+ try {
+ return (ElementReference) TYPE__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #lower() <em>Lower</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #lower()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate LOWER__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getExternalElementReference__Lower()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public BigInteger lower() {
+ try {
+ return (BigInteger) LOWER__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #upper() <em>Upper</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #upper()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate UPPER__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getExternalElementReference__Upper()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public BigInteger upper() {
+ try {
+ return (BigInteger) UPPER__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #isOrdered() <em>Is Ordered</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #isOrdered()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate IS_ORDERED__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getExternalElementReference__IsOrdered()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isOrdered() {
+ try {
+ return (Boolean) IS_ORDERED__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #isNonunique() <em>Is Nonunique</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #isNonunique()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate IS_NONUNIQUE__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getExternalElementReference__IsNonunique()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isNonunique() {
+ try {
+ return (Boolean) IS_NONUNIQUE__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #parents() <em>Parents</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #parents()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate PARENTS__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getExternalElementReference__Parents()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<ElementReference> parents() {
+ try {
+ return (EList<ElementReference>) PARENTS__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #allParents() <em>All Parents</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #allParents()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate ALL_PARENTS__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getExternalElementReference__AllParents()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<ElementReference> allParents() {
+ try {
+ return (EList<ElementReference>) ALL_PARENTS__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #classifierBehavior() <em>Classifier Behavior</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #classifierBehavior()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate CLASSIFIER_BEHAVIOR__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getExternalElementReference__ClassifierBehavior()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public ElementReference classifierBehavior() {
+ try {
+ return (ElementReference) CLASSIFIER_BEHAVIOR__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #appliedProfiles() <em>Applied Profiles</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #appliedProfiles()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate APPLIED_PROFILES__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getExternalElementReference__AppliedProfiles()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<ElementReference> appliedProfiles() {
+ try {
+ return (EList<ElementReference>) APPLIED_PROFILES__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #activeClass() <em>Active Class</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #activeClass()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate ACTIVE_CLASS__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getExternalElementReference__ActiveClass()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public ElementReference activeClass() {
+ try {
+ return (ElementReference) ACTIVE_CLASS__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #conformsTo(org.eclipse.papyrus.uml.alf.ElementReference) <em>Conforms To</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #conformsTo(org.eclipse.papyrus.uml.alf.ElementReference)
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate CONFORMS_TO_ELEMENT_REFERENCE__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getExternalElementReference__ConformsTo__ElementReference()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean conformsTo(ElementReference other) {
+ try {
+ return (Boolean) CONFORMS_TO_ELEMENT_REFERENCE__EINVOCATION_DELEGATE.dynamicInvoke(this, new BasicEList.UnmodifiableEList<Object>(1, new Object[] { other }));
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #equals(org.eclipse.papyrus.uml.alf.ElementReference) <em>Equals</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #equals(org.eclipse.papyrus.uml.alf.ElementReference)
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate EQUALS_ELEMENT_REFERENCE__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getExternalElementReference__Equals__ElementReference()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean equals(ElementReference other) {
+ try {
+ return (Boolean) EQUALS_ELEMENT_REFERENCE__EINVOCATION_DELEGATE.dynamicInvoke(this, new BasicEList.UnmodifiableEList<Object>(1, new Object[] { other }));
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #copy() <em>Copy</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #copy()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate COPY__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getExternalElementReference__Copy()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public ElementReference copy() {
+ try {
+ return (ElementReference) COPY__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #modelScope() <em>Model Scope</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #modelScope()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate MODEL_SCOPE__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getExternalElementReference__ModelScope()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public ElementReference modelScope() {
+ try {
+ return (ElementReference) MODEL_SCOPE__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #resolvePathName(java.lang.String) <em>Resolve Path Name</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #resolvePathName(java.lang.String)
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate RESOLVE_PATH_NAME_STRING__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getExternalElementReference__ResolvePathName__String()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<ElementReference> resolvePathName(String pathName) {
+ try {
+ return (EList<ElementReference>) RESOLVE_PATH_NAME_STRING__EINVOCATION_DELEGATE.dynamicInvoke(this, new BasicEList.UnmodifiableEList<Object>(1, new Object[] { pathName }));
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated NOT
+ */
+ public EList<ElementReference> ExternalElementReference_resolvePathName(String pathName) {
+ return !this.isNamespace() ? new BasicEList<ElementReference>() :
+ ModelNamespaceImpl.resolvePathName(pathName, (Namespace) this.getElement());
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #resolveInScope(java.lang.String) <em>Resolve In Scope</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #resolveInScope(java.lang.String)
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate RESOLVE_IN_SCOPE_STRING__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getExternalElementReference__ResolveInScope__String()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<ElementReference> resolveInScope(String name) {
+ try {
+ return (EList<ElementReference>) RESOLVE_IN_SCOPE_STRING__EINVOCATION_DELEGATE.dynamicInvoke(this, new BasicEList.UnmodifiableEList<Object>(1, new Object[] { name }));
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #resolveStereotype(java.lang.String) <em>Resolve Stereotype</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #resolveStereotype(java.lang.String)
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate RESOLVE_STEREOTYPE_STRING__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getExternalElementReference__ResolveStereotype__String()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<ElementReference> resolveStereotype(String stereotypeName) {
+ try {
+ return (EList<ElementReference>) RESOLVE_STEREOTYPE_STRING__EINVOCATION_DELEGATE.dynamicInvoke(this, new BasicEList.UnmodifiableEList<Object>(1, new Object[] { stereotypeName }));
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #stub() <em>Stub</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #stub()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate STUB__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getExternalElementReference__Stub()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public ElementReference stub() {
+ try {
+ return (ElementReference) STUB__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #stubFor(org.eclipse.papyrus.uml.alf.UnitDefinition) <em>Stub For</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #stubFor(org.eclipse.papyrus.uml.alf.UnitDefinition)
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate STUB_FOR_UNIT_DEFINITION__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getExternalElementReference__StubFor__UnitDefinition()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public ElementReference stubFor(UnitDefinition unit) {
+ try {
+ return (ElementReference) STUB_FOR_UNIT_DEFINITION__EINVOCATION_DELEGATE.dynamicInvoke(this, new BasicEList.UnmodifiableEList<Object>(1, new Object[] { unit }));
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public int eDerivedOperationID(int baseOperationID, Class<?> baseClass) {
+ if (baseClass == ElementReference.class) {
+ switch (baseOperationID) {
+ case AlfPackage.ELEMENT_REFERENCE___IS_UML:
+ return AlfPackage.EXTERNAL_ELEMENT_REFERENCE___IS_UML;
+ case AlfPackage.ELEMENT_REFERENCE___AS_UML:
+ return AlfPackage.EXTERNAL_ELEMENT_REFERENCE___AS_UML;
+ case AlfPackage.ELEMENT_REFERENCE___AS_MEMBER:
+ return AlfPackage.EXTERNAL_ELEMENT_REFERENCE___AS_MEMBER;
+ case AlfPackage.ELEMENT_REFERENCE___IS_SAME_KIND_AS__ELEMENTREFERENCE:
+ return AlfPackage.EXTERNAL_ELEMENT_REFERENCE___IS_SAME_KIND_AS__ELEMENTREFERENCE;
+ case AlfPackage.ELEMENT_REFERENCE___IS_NAMED_ELEMENT:
+ return AlfPackage.EXTERNAL_ELEMENT_REFERENCE___IS_NAMED_ELEMENT;
+ case AlfPackage.ELEMENT_REFERENCE___IS_NAMESPACE:
+ return AlfPackage.EXTERNAL_ELEMENT_REFERENCE___IS_NAMESPACE;
+ case AlfPackage.ELEMENT_REFERENCE___IS_NAMESPACE_FOR__UNITDEFINITION:
+ return AlfPackage.EXTERNAL_ELEMENT_REFERENCE___IS_NAMESPACE_FOR__UNITDEFINITION;
+ case AlfPackage.ELEMENT_REFERENCE___IS_MODEL_NAMESPACE:
+ return AlfPackage.EXTERNAL_ELEMENT_REFERENCE___IS_MODEL_NAMESPACE;
+ case AlfPackage.ELEMENT_REFERENCE___IS_PACKAGE:
+ return AlfPackage.EXTERNAL_ELEMENT_REFERENCE___IS_PACKAGE;
+ case AlfPackage.ELEMENT_REFERENCE___IS_PROFILE:
+ return AlfPackage.EXTERNAL_ELEMENT_REFERENCE___IS_PROFILE;
+ case AlfPackage.ELEMENT_REFERENCE___IS_PACKAGEABLE_ELEMENT:
+ return AlfPackage.EXTERNAL_ELEMENT_REFERENCE___IS_PACKAGEABLE_ELEMENT;
+ case AlfPackage.ELEMENT_REFERENCE___IS_CLASSIFIER:
+ return AlfPackage.EXTERNAL_ELEMENT_REFERENCE___IS_CLASSIFIER;
+ case AlfPackage.ELEMENT_REFERENCE___IS_ABSTRACT_CLASSIFIER:
+ return AlfPackage.EXTERNAL_ELEMENT_REFERENCE___IS_ABSTRACT_CLASSIFIER;
+ case AlfPackage.ELEMENT_REFERENCE___IS_ASSOCIATION:
+ return AlfPackage.EXTERNAL_ELEMENT_REFERENCE___IS_ASSOCIATION;
+ case AlfPackage.ELEMENT_REFERENCE___IS_DATA_TYPE:
+ return AlfPackage.EXTERNAL_ELEMENT_REFERENCE___IS_DATA_TYPE;
+ case AlfPackage.ELEMENT_REFERENCE___IS_CLASS:
+ return AlfPackage.EXTERNAL_ELEMENT_REFERENCE___IS_CLASS;
+ case AlfPackage.ELEMENT_REFERENCE___IS_ACTIVE_CLASS:
+ return AlfPackage.EXTERNAL_ELEMENT_REFERENCE___IS_ACTIVE_CLASS;
+ case AlfPackage.ELEMENT_REFERENCE___IS_SIGNAL:
+ return AlfPackage.EXTERNAL_ELEMENT_REFERENCE___IS_SIGNAL;
+ case AlfPackage.ELEMENT_REFERENCE___IS_ENUMERATION:
+ return AlfPackage.EXTERNAL_ELEMENT_REFERENCE___IS_ENUMERATION;
+ case AlfPackage.ELEMENT_REFERENCE___IS_BEHAVIOR:
+ return AlfPackage.EXTERNAL_ELEMENT_REFERENCE___IS_BEHAVIOR;
+ case AlfPackage.ELEMENT_REFERENCE___IS_ACTIVITY:
+ return AlfPackage.EXTERNAL_ELEMENT_REFERENCE___IS_ACTIVITY;
+ case AlfPackage.ELEMENT_REFERENCE___IS_METHOD:
+ return AlfPackage.EXTERNAL_ELEMENT_REFERENCE___IS_METHOD;
+ case AlfPackage.ELEMENT_REFERENCE___IS_PRIMITIVE_TYPE:
+ return AlfPackage.EXTERNAL_ELEMENT_REFERENCE___IS_PRIMITIVE_TYPE;
+ case AlfPackage.ELEMENT_REFERENCE___IS_RECEPTION:
+ return AlfPackage.EXTERNAL_ELEMENT_REFERENCE___IS_RECEPTION;
+ case AlfPackage.ELEMENT_REFERENCE___IS_OPERATION:
+ return AlfPackage.EXTERNAL_ELEMENT_REFERENCE___IS_OPERATION;
+ case AlfPackage.ELEMENT_REFERENCE___IS_CONSTRUCTOR:
+ return AlfPackage.EXTERNAL_ELEMENT_REFERENCE___IS_CONSTRUCTOR;
+ case AlfPackage.ELEMENT_REFERENCE___IS_DESTRUCTOR:
+ return AlfPackage.EXTERNAL_ELEMENT_REFERENCE___IS_DESTRUCTOR;
+ case AlfPackage.ELEMENT_REFERENCE___IS_FEATURE:
+ return AlfPackage.EXTERNAL_ELEMENT_REFERENCE___IS_FEATURE;
+ case AlfPackage.ELEMENT_REFERENCE___IS_PROPERTY:
+ return AlfPackage.EXTERNAL_ELEMENT_REFERENCE___IS_PROPERTY;
+ case AlfPackage.ELEMENT_REFERENCE___IS_ASSOCIATION_END:
+ return AlfPackage.EXTERNAL_ELEMENT_REFERENCE___IS_ASSOCIATION_END;
+ case AlfPackage.ELEMENT_REFERENCE___IS_PARAMETER:
+ return AlfPackage.EXTERNAL_ELEMENT_REFERENCE___IS_PARAMETER;
+ case AlfPackage.ELEMENT_REFERENCE___IS_TEMPLATE:
+ return AlfPackage.EXTERNAL_ELEMENT_REFERENCE___IS_TEMPLATE;
+ case AlfPackage.ELEMENT_REFERENCE___IS_TEMPLATE_PARAMETER:
+ return AlfPackage.EXTERNAL_ELEMENT_REFERENCE___IS_TEMPLATE_PARAMETER;
+ case AlfPackage.ELEMENT_REFERENCE___IS_CLASSIFIER_TEMPLATE_PARAMETER:
+ return AlfPackage.EXTERNAL_ELEMENT_REFERENCE___IS_CLASSIFIER_TEMPLATE_PARAMETER;
+ case AlfPackage.ELEMENT_REFERENCE___IS_PARAMETERED_ELEMENT:
+ return AlfPackage.EXTERNAL_ELEMENT_REFERENCE___IS_PARAMETERED_ELEMENT;
+ case AlfPackage.ELEMENT_REFERENCE___IS_TEMPLATE_BINDING:
+ return AlfPackage.EXTERNAL_ELEMENT_REFERENCE___IS_TEMPLATE_BINDING;
+ case AlfPackage.ELEMENT_REFERENCE___IS_STEREOTYPE:
+ return AlfPackage.EXTERNAL_ELEMENT_REFERENCE___IS_STEREOTYPE;
+ case AlfPackage.ELEMENT_REFERENCE___IS_ENUMERATION_LITERAL:
+ return AlfPackage.EXTERNAL_ELEMENT_REFERENCE___IS_ENUMERATION_LITERAL;
+ case AlfPackage.ELEMENT_REFERENCE___IS_LOOP_VARIABLE:
+ return AlfPackage.EXTERNAL_ELEMENT_REFERENCE___IS_LOOP_VARIABLE;
+ case AlfPackage.ELEMENT_REFERENCE___IS_ANNOTATION:
+ return AlfPackage.EXTERNAL_ELEMENT_REFERENCE___IS_ANNOTATION;
+ case AlfPackage.ELEMENT_REFERENCE___IS_SEQUENCE_EXPANSION_EXPRESSION:
+ return AlfPackage.EXTERNAL_ELEMENT_REFERENCE___IS_SEQUENCE_EXPANSION_EXPRESSION;
+ case AlfPackage.ELEMENT_REFERENCE___NAME:
+ return AlfPackage.EXTERNAL_ELEMENT_REFERENCE___NAME;
+ case AlfPackage.ELEMENT_REFERENCE___VISIBILITY:
+ return AlfPackage.EXTERNAL_ELEMENT_REFERENCE___VISIBILITY;
+ case AlfPackage.ELEMENT_REFERENCE___OWNED_MEMBERS:
+ return AlfPackage.EXTERNAL_ELEMENT_REFERENCE___OWNED_MEMBERS;
+ case AlfPackage.ELEMENT_REFERENCE___MEMBERS:
+ return AlfPackage.EXTERNAL_ELEMENT_REFERENCE___MEMBERS;
+ case AlfPackage.ELEMENT_REFERENCE___PROPERTIES:
+ return AlfPackage.EXTERNAL_ELEMENT_REFERENCE___PROPERTIES;
+ case AlfPackage.ELEMENT_REFERENCE___ASSOCIATION_ENDS:
+ return AlfPackage.EXTERNAL_ELEMENT_REFERENCE___ASSOCIATION_ENDS;
+ case AlfPackage.ELEMENT_REFERENCE___OPPOSITE:
+ return AlfPackage.EXTERNAL_ELEMENT_REFERENCE___OPPOSITE;
+ case AlfPackage.ELEMENT_REFERENCE___SIGNAL:
+ return AlfPackage.EXTERNAL_ELEMENT_REFERENCE___SIGNAL;
+ case AlfPackage.ELEMENT_REFERENCE___PARAMETERS:
+ return AlfPackage.EXTERNAL_ELEMENT_REFERENCE___PARAMETERS;
+ case AlfPackage.ELEMENT_REFERENCE___RETURN_PARAMETER:
+ return AlfPackage.EXTERNAL_ELEMENT_REFERENCE___RETURN_PARAMETER;
+ case AlfPackage.ELEMENT_REFERENCE___SPECIFICATION:
+ return AlfPackage.EXTERNAL_ELEMENT_REFERENCE___SPECIFICATION;
+ case AlfPackage.ELEMENT_REFERENCE___REDEFINED_OPERATIONS:
+ return AlfPackage.EXTERNAL_ELEMENT_REFERENCE___REDEFINED_OPERATIONS;
+ case AlfPackage.ELEMENT_REFERENCE___NAMESPACE:
+ return AlfPackage.EXTERNAL_ELEMENT_REFERENCE___NAMESPACE;
+ case AlfPackage.ELEMENT_REFERENCE___TEMPLATE:
+ return AlfPackage.EXTERNAL_ELEMENT_REFERENCE___TEMPLATE;
+ case AlfPackage.ELEMENT_REFERENCE___TEMPLATE_PARAMETERS:
+ return AlfPackage.EXTERNAL_ELEMENT_REFERENCE___TEMPLATE_PARAMETERS;
+ case AlfPackage.ELEMENT_REFERENCE___PARAMETERED_ELEMENTS:
+ return AlfPackage.EXTERNAL_ELEMENT_REFERENCE___PARAMETERED_ELEMENTS;
+ case AlfPackage.ELEMENT_REFERENCE___TEMPLATE_ACTUALS:
+ return AlfPackage.EXTERNAL_ELEMENT_REFERENCE___TEMPLATE_ACTUALS;
+ case AlfPackage.ELEMENT_REFERENCE___DIRECTION:
+ return AlfPackage.EXTERNAL_ELEMENT_REFERENCE___DIRECTION;
+ case AlfPackage.ELEMENT_REFERENCE___ASSOCIATION:
+ return AlfPackage.EXTERNAL_ELEMENT_REFERENCE___ASSOCIATION;
+ case AlfPackage.ELEMENT_REFERENCE___TYPE:
+ return AlfPackage.EXTERNAL_ELEMENT_REFERENCE___TYPE;
+ case AlfPackage.ELEMENT_REFERENCE___LOWER:
+ return AlfPackage.EXTERNAL_ELEMENT_REFERENCE___LOWER;
+ case AlfPackage.ELEMENT_REFERENCE___UPPER:
+ return AlfPackage.EXTERNAL_ELEMENT_REFERENCE___UPPER;
+ case AlfPackage.ELEMENT_REFERENCE___IS_ORDERED:
+ return AlfPackage.EXTERNAL_ELEMENT_REFERENCE___IS_ORDERED;
+ case AlfPackage.ELEMENT_REFERENCE___IS_NONUNIQUE:
+ return AlfPackage.EXTERNAL_ELEMENT_REFERENCE___IS_NONUNIQUE;
+ case AlfPackage.ELEMENT_REFERENCE___PARENTS:
+ return AlfPackage.EXTERNAL_ELEMENT_REFERENCE___PARENTS;
+ case AlfPackage.ELEMENT_REFERENCE___ALL_PARENTS:
+ return AlfPackage.EXTERNAL_ELEMENT_REFERENCE___ALL_PARENTS;
+ case AlfPackage.ELEMENT_REFERENCE___CLASSIFIER_BEHAVIOR:
+ return AlfPackage.EXTERNAL_ELEMENT_REFERENCE___CLASSIFIER_BEHAVIOR;
+ case AlfPackage.ELEMENT_REFERENCE___APPLIED_PROFILES:
+ return AlfPackage.EXTERNAL_ELEMENT_REFERENCE___APPLIED_PROFILES;
+ case AlfPackage.ELEMENT_REFERENCE___ACTIVE_CLASS:
+ return AlfPackage.EXTERNAL_ELEMENT_REFERENCE___ACTIVE_CLASS;
+ case AlfPackage.ELEMENT_REFERENCE___CONFORMS_TO__ELEMENTREFERENCE:
+ return AlfPackage.EXTERNAL_ELEMENT_REFERENCE___CONFORMS_TO__ELEMENTREFERENCE;
+ case AlfPackage.ELEMENT_REFERENCE___EQUALS__ELEMENTREFERENCE:
+ return AlfPackage.EXTERNAL_ELEMENT_REFERENCE___EQUALS__ELEMENTREFERENCE;
+ case AlfPackage.ELEMENT_REFERENCE___COPY:
+ return AlfPackage.EXTERNAL_ELEMENT_REFERENCE___COPY;
+ case AlfPackage.ELEMENT_REFERENCE___MODEL_SCOPE:
+ return AlfPackage.EXTERNAL_ELEMENT_REFERENCE___MODEL_SCOPE;
+ case AlfPackage.ELEMENT_REFERENCE___RESOLVE_PATH_NAME__STRING:
+ return AlfPackage.EXTERNAL_ELEMENT_REFERENCE___RESOLVE_PATH_NAME__STRING;
+ case AlfPackage.ELEMENT_REFERENCE___RESOLVE_IN_SCOPE__STRING:
+ return AlfPackage.EXTERNAL_ELEMENT_REFERENCE___RESOLVE_IN_SCOPE__STRING;
+ case AlfPackage.ELEMENT_REFERENCE___RESOLVE_STEREOTYPE__STRING:
+ return AlfPackage.EXTERNAL_ELEMENT_REFERENCE___RESOLVE_STEREOTYPE__STRING;
+ case AlfPackage.ELEMENT_REFERENCE___STUB:
+ return AlfPackage.EXTERNAL_ELEMENT_REFERENCE___STUB;
+ case AlfPackage.ELEMENT_REFERENCE___STUB_FOR__UNITDEFINITION:
+ return AlfPackage.EXTERNAL_ELEMENT_REFERENCE___STUB_FOR__UNITDEFINITION;
+ default:
+ return super.eDerivedOperationID(baseOperationID, baseClass);
+ }
+ }
+ return super.eDerivedOperationID(baseOperationID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object eInvoke(int operationID, EList<?> arguments) throws InvocationTargetException {
+ switch (operationID) {
+ case AlfPackage.EXTERNAL_ELEMENT_REFERENCE___IS_UML:
+ return isUml();
+ case AlfPackage.EXTERNAL_ELEMENT_REFERENCE___AS_UML:
+ return asUml();
+ case AlfPackage.EXTERNAL_ELEMENT_REFERENCE___AS_MEMBER:
+ return asMember();
+ case AlfPackage.EXTERNAL_ELEMENT_REFERENCE___IS_SAME_KIND_AS__ELEMENTREFERENCE:
+ return isSameKindAs((ElementReference) arguments.get(0));
+ case AlfPackage.EXTERNAL_ELEMENT_REFERENCE___IS_NAMED_ELEMENT:
+ return isNamedElement();
+ case AlfPackage.EXTERNAL_ELEMENT_REFERENCE___IS_NAMESPACE:
+ return isNamespace();
+ case AlfPackage.EXTERNAL_ELEMENT_REFERENCE___IS_NAMESPACE_FOR__UNITDEFINITION:
+ return isNamespaceFor((UnitDefinition) arguments.get(0));
+ case AlfPackage.EXTERNAL_ELEMENT_REFERENCE___IS_MODEL_NAMESPACE:
+ return isModelNamespace();
+ case AlfPackage.EXTERNAL_ELEMENT_REFERENCE___IS_PACKAGE:
+ return isPackage();
+ case AlfPackage.EXTERNAL_ELEMENT_REFERENCE___IS_PROFILE:
+ return isProfile();
+ case AlfPackage.EXTERNAL_ELEMENT_REFERENCE___IS_PACKAGEABLE_ELEMENT:
+ return isPackageableElement();
+ case AlfPackage.EXTERNAL_ELEMENT_REFERENCE___IS_CLASSIFIER:
+ return isClassifier();
+ case AlfPackage.EXTERNAL_ELEMENT_REFERENCE___IS_ABSTRACT_CLASSIFIER:
+ return isAbstractClassifier();
+ case AlfPackage.EXTERNAL_ELEMENT_REFERENCE___IS_ASSOCIATION:
+ return isAssociation();
+ case AlfPackage.EXTERNAL_ELEMENT_REFERENCE___IS_DATA_TYPE:
+ return isDataType();
+ case AlfPackage.EXTERNAL_ELEMENT_REFERENCE___IS_CLASS:
+ return isClass();
+ case AlfPackage.EXTERNAL_ELEMENT_REFERENCE___IS_ACTIVE_CLASS:
+ return isActiveClass();
+ case AlfPackage.EXTERNAL_ELEMENT_REFERENCE___IS_SIGNAL:
+ return isSignal();
+ case AlfPackage.EXTERNAL_ELEMENT_REFERENCE___IS_ENUMERATION:
+ return isEnumeration();
+ case AlfPackage.EXTERNAL_ELEMENT_REFERENCE___IS_BEHAVIOR:
+ return isBehavior();
+ case AlfPackage.EXTERNAL_ELEMENT_REFERENCE___IS_ACTIVITY:
+ return isActivity();
+ case AlfPackage.EXTERNAL_ELEMENT_REFERENCE___IS_METHOD:
+ return isMethod();
+ case AlfPackage.EXTERNAL_ELEMENT_REFERENCE___IS_PRIMITIVE_TYPE:
+ return isPrimitiveType();
+ case AlfPackage.EXTERNAL_ELEMENT_REFERENCE___IS_RECEPTION:
+ return isReception();
+ case AlfPackage.EXTERNAL_ELEMENT_REFERENCE___IS_OPERATION:
+ return isOperation();
+ case AlfPackage.EXTERNAL_ELEMENT_REFERENCE___IS_CONSTRUCTOR:
+ return isConstructor();
+ case AlfPackage.EXTERNAL_ELEMENT_REFERENCE___IS_DESTRUCTOR:
+ return isDestructor();
+ case AlfPackage.EXTERNAL_ELEMENT_REFERENCE___IS_FEATURE:
+ return isFeature();
+ case AlfPackage.EXTERNAL_ELEMENT_REFERENCE___IS_PROPERTY:
+ return isProperty();
+ case AlfPackage.EXTERNAL_ELEMENT_REFERENCE___IS_ASSOCIATION_END:
+ return isAssociationEnd();
+ case AlfPackage.EXTERNAL_ELEMENT_REFERENCE___IS_PARAMETER:
+ return isParameter();
+ case AlfPackage.EXTERNAL_ELEMENT_REFERENCE___IS_TEMPLATE:
+ return isTemplate();
+ case AlfPackage.EXTERNAL_ELEMENT_REFERENCE___IS_TEMPLATE_PARAMETER:
+ return isTemplateParameter();
+ case AlfPackage.EXTERNAL_ELEMENT_REFERENCE___IS_CLASSIFIER_TEMPLATE_PARAMETER:
+ return isClassifierTemplateParameter();
+ case AlfPackage.EXTERNAL_ELEMENT_REFERENCE___IS_PARAMETERED_ELEMENT:
+ return isParameteredElement();
+ case AlfPackage.EXTERNAL_ELEMENT_REFERENCE___IS_TEMPLATE_BINDING:
+ return isTemplateBinding();
+ case AlfPackage.EXTERNAL_ELEMENT_REFERENCE___IS_STEREOTYPE:
+ return isStereotype();
+ case AlfPackage.EXTERNAL_ELEMENT_REFERENCE___IS_ENUMERATION_LITERAL:
+ return isEnumerationLiteral();
+ case AlfPackage.EXTERNAL_ELEMENT_REFERENCE___IS_LOOP_VARIABLE:
+ return isLoopVariable();
+ case AlfPackage.EXTERNAL_ELEMENT_REFERENCE___IS_ANNOTATION:
+ return isAnnotation();
+ case AlfPackage.EXTERNAL_ELEMENT_REFERENCE___IS_SEQUENCE_EXPANSION_EXPRESSION:
+ return isSequenceExpansionExpression();
+ case AlfPackage.EXTERNAL_ELEMENT_REFERENCE___NAME:
+ return name();
+ case AlfPackage.EXTERNAL_ELEMENT_REFERENCE___VISIBILITY:
+ return visibility();
+ case AlfPackage.EXTERNAL_ELEMENT_REFERENCE___OWNED_MEMBERS:
+ return ownedMembers();
+ case AlfPackage.EXTERNAL_ELEMENT_REFERENCE___ENUMERATION_MEMBERS:
+ return enumerationMembers();
+ case AlfPackage.EXTERNAL_ELEMENT_REFERENCE___MEMBERS:
+ return members();
+ case AlfPackage.EXTERNAL_ELEMENT_REFERENCE___ADDITIONAL_MEMBERS:
+ return additionalMembers();
+ case AlfPackage.EXTERNAL_ELEMENT_REFERENCE___INHERIT__ELIST:
+ return inherit((EList<ElementReference>) arguments.get(0));
+ 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:
+ return signal();
+ case AlfPackage.EXTERNAL_ELEMENT_REFERENCE___NAMESPACE:
+ return namespace();
+ case AlfPackage.EXTERNAL_ELEMENT_REFERENCE___OWNED_PARAMETERS:
+ return ownedParameters();
+ case AlfPackage.EXTERNAL_ELEMENT_REFERENCE___PARAMETERS:
+ return parameters();
+ case AlfPackage.EXTERNAL_ELEMENT_REFERENCE___RETURN_PARAMETER:
+ return returnParameter();
+ case AlfPackage.EXTERNAL_ELEMENT_REFERENCE___SPECIFICATION:
+ return specification();
+ case AlfPackage.EXTERNAL_ELEMENT_REFERENCE___REDEFINED_OPERATIONS:
+ return redefinedOperations();
+ case AlfPackage.EXTERNAL_ELEMENT_REFERENCE___TEMPLATE:
+ return template();
+ case AlfPackage.EXTERNAL_ELEMENT_REFERENCE___UML_TEMPLATE_BINDING:
+ return umlTemplateBinding();
+ case AlfPackage.EXTERNAL_ELEMENT_REFERENCE___TEMPLATE_PARAMETERS:
+ return templateParameters();
+ case AlfPackage.EXTERNAL_ELEMENT_REFERENCE___PARAMETERED_ELEMENTS:
+ return parameteredElements();
+ case AlfPackage.EXTERNAL_ELEMENT_REFERENCE___TEMPLATE_ACTUALS:
+ return templateActuals();
+ case AlfPackage.EXTERNAL_ELEMENT_REFERENCE___DIRECTION:
+ return direction();
+ case AlfPackage.EXTERNAL_ELEMENT_REFERENCE___ASSOCIATION:
+ return association();
+ case AlfPackage.EXTERNAL_ELEMENT_REFERENCE___TYPE:
+ return type();
+ case AlfPackage.EXTERNAL_ELEMENT_REFERENCE___LOWER:
+ return lower();
+ case AlfPackage.EXTERNAL_ELEMENT_REFERENCE___UPPER:
+ return upper();
+ case AlfPackage.EXTERNAL_ELEMENT_REFERENCE___IS_ORDERED:
+ return isOrdered();
+ case AlfPackage.EXTERNAL_ELEMENT_REFERENCE___IS_NONUNIQUE:
+ return isNonunique();
+ case AlfPackage.EXTERNAL_ELEMENT_REFERENCE___PARENTS:
+ return parents();
+ case AlfPackage.EXTERNAL_ELEMENT_REFERENCE___ALL_PARENTS:
+ return allParents();
+ case AlfPackage.EXTERNAL_ELEMENT_REFERENCE___CLASSIFIER_BEHAVIOR:
+ return classifierBehavior();
+ case AlfPackage.EXTERNAL_ELEMENT_REFERENCE___APPLIED_PROFILES:
+ return appliedProfiles();
+ case AlfPackage.EXTERNAL_ELEMENT_REFERENCE___ACTIVE_CLASS:
+ return activeClass();
+ case AlfPackage.EXTERNAL_ELEMENT_REFERENCE___CONFORMS_TO__ELEMENTREFERENCE:
+ return conformsTo((ElementReference) arguments.get(0));
+ case AlfPackage.EXTERNAL_ELEMENT_REFERENCE___EQUALS__ELEMENTREFERENCE:
+ return equals((ElementReference) arguments.get(0));
+ case AlfPackage.EXTERNAL_ELEMENT_REFERENCE___COPY:
+ return copy();
+ case AlfPackage.EXTERNAL_ELEMENT_REFERENCE___MODEL_SCOPE:
+ return modelScope();
+ case AlfPackage.EXTERNAL_ELEMENT_REFERENCE___RESOLVE_PATH_NAME__STRING:
+ return resolvePathName((String) arguments.get(0));
+ case AlfPackage.EXTERNAL_ELEMENT_REFERENCE___EXTERNAL_ELEMENT_REFERENCE_RESOLVE_PATH_NAME__STRING:
+ return ExternalElementReference_resolvePathName((String) arguments.get(0));
+ case AlfPackage.EXTERNAL_ELEMENT_REFERENCE___RESOLVE_IN_SCOPE__STRING:
+ return resolveInScope((String) arguments.get(0));
+ case AlfPackage.EXTERNAL_ELEMENT_REFERENCE___RESOLVE_STEREOTYPE__STRING:
+ return resolveStereotype((String) arguments.get(0));
+ case AlfPackage.EXTERNAL_ELEMENT_REFERENCE___STUB:
+ return stub();
+ case AlfPackage.EXTERNAL_ELEMENT_REFERENCE___STUB_FOR__UNITDEFINITION:
+ return stubFor((UnitDefinition) arguments.get(0));
+ }
+ return super.eInvoke(operationID, arguments);
+ }
+
+} // ExternalElementReferenceImpl
diff --git a/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/ExternalEnumerationLiteralReferenceImpl.java b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/ExternalEnumerationLiteralReferenceImpl.java
new file mode 100644
index 00000000000..a6e93376742
--- /dev/null
+++ b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/ExternalEnumerationLiteralReferenceImpl.java
@@ -0,0 +1,313 @@
+/**
+ */
+package org.eclipse.papyrus.uml.alf.impl;
+
+import java.lang.reflect.InvocationTargetException;
+
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.common.util.WrappedException;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EOperation;
+import org.eclipse.papyrus.uml.alf.AlfFactory;
+import org.eclipse.papyrus.uml.alf.AlfPackage;
+import org.eclipse.papyrus.uml.alf.ElementReference;
+import org.eclipse.papyrus.uml.alf.ExternalElementReference;
+import org.eclipse.papyrus.uml.alf.ExternalEnumerationLiteralReference;
+import org.eclipse.uml2.uml.EnumerationLiteral;
+import org.eclipse.uml2.uml.NamedElement;
+import org.eclipse.uml2.uml.VisibilityKind;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>External Enumeration Literal Reference</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ *
+ * @generated
+ */
+public class ExternalEnumerationLiteralReferenceImpl extends ExternalElementReferenceImpl implements ExternalEnumerationLiteralReference {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected ExternalEnumerationLiteralReferenceImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return AlfPackage.eINSTANCE.getExternalEnumerationLiteralReference();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated NOT
+ */
+ public EObject ExternalEnumerationLiteralReference_asUML() {
+ return this.getElement();
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #isNamedEement() <em>Is Named Eement</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #isNamedEement()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate IS_NAMED_EEMENT__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getExternalEnumerationLiteralReference__IsNamedEement()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isNamedEement() {
+ try {
+ return (Boolean) IS_NAMED_EEMENT__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #isClassifier() <em>Is Classifier</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #isClassifier()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate IS_CLASSIFIER__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getExternalEnumerationLiteralReference__IsClassifier()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isClassifier() {
+ try {
+ return (Boolean) IS_CLASSIFIER__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #isParameter() <em>Is Parameter</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #isParameter()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate IS_PARAMETER__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getExternalEnumerationLiteralReference__IsParameter()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isParameter() {
+ try {
+ return (Boolean) IS_PARAMETER__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #isEnumerationLiteral() <em>Is Enumeration Literal</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #isEnumerationLiteral()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate IS_ENUMERATION_LITERAL__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getExternalEnumerationLiteralReference__IsEnumerationLiteral()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isEnumerationLiteral() {
+ try {
+ return (Boolean) IS_ENUMERATION_LITERAL__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated NOT
+ */
+ public String ExternalEnumerationLiteralReference_visibility() {
+ VisibilityKind visibility = ((NamedElement) this.getElement()).getVisibility();
+ return visibility == null ? null :
+ visibility == VisibilityKind.PACKAGE_LITERAL ? "package" :
+ visibility == VisibilityKind.PRIVATE_LITERAL ? "private" :
+ visibility == VisibilityKind.PROTECTED_LITERAL ? "protected" :
+ visibility == VisibilityKind.PUBLIC_LITERAL ? "public" : "";
+
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #visibility() <em>Visibility</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #visibility()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate VISIBILITY__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getExternalEnumerationLiteralReference__Visibility()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public String visibility() {
+ try {
+ return (String) VISIBILITY__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated NOT
+ */
+ public ElementReference ExternalEnumerationLiteralReference_type() {
+ EnumerationLiteral literal = (EnumerationLiteral) this.getElement();
+ ExternalElementReference reference =
+ AlfFactory.eINSTANCE.createExternalElementReference();
+ reference.setElement(literal.getEnumeration());
+ return reference;
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #type() <em>Type</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #type()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate TYPE__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getExternalEnumerationLiteralReference__Type()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public ElementReference type() {
+ try {
+ return (ElementReference) TYPE__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public int eDerivedOperationID(int baseOperationID, Class<?> baseClass) {
+ if (baseClass == ElementReference.class) {
+ switch (baseOperationID) {
+ case AlfPackage.ELEMENT_REFERENCE___IS_CLASSIFIER:
+ return AlfPackage.EXTERNAL_ENUMERATION_LITERAL_REFERENCE___IS_CLASSIFIER;
+ case AlfPackage.ELEMENT_REFERENCE___IS_PARAMETER:
+ return AlfPackage.EXTERNAL_ENUMERATION_LITERAL_REFERENCE___IS_PARAMETER;
+ case AlfPackage.ELEMENT_REFERENCE___IS_ENUMERATION_LITERAL:
+ return AlfPackage.EXTERNAL_ENUMERATION_LITERAL_REFERENCE___IS_ENUMERATION_LITERAL;
+ case AlfPackage.ELEMENT_REFERENCE___VISIBILITY:
+ return AlfPackage.EXTERNAL_ENUMERATION_LITERAL_REFERENCE___VISIBILITY;
+ case AlfPackage.ELEMENT_REFERENCE___TYPE:
+ return AlfPackage.EXTERNAL_ENUMERATION_LITERAL_REFERENCE___TYPE;
+ default:
+ return super.eDerivedOperationID(baseOperationID, baseClass);
+ }
+ }
+ if (baseClass == ExternalElementReference.class) {
+ switch (baseOperationID) {
+ case AlfPackage.EXTERNAL_ELEMENT_REFERENCE___IS_CLASSIFIER:
+ return AlfPackage.EXTERNAL_ENUMERATION_LITERAL_REFERENCE___IS_CLASSIFIER;
+ case AlfPackage.EXTERNAL_ELEMENT_REFERENCE___IS_PARAMETER:
+ return AlfPackage.EXTERNAL_ENUMERATION_LITERAL_REFERENCE___IS_PARAMETER;
+ case AlfPackage.EXTERNAL_ELEMENT_REFERENCE___IS_ENUMERATION_LITERAL:
+ return AlfPackage.EXTERNAL_ENUMERATION_LITERAL_REFERENCE___IS_ENUMERATION_LITERAL;
+ case AlfPackage.EXTERNAL_ELEMENT_REFERENCE___VISIBILITY:
+ return AlfPackage.EXTERNAL_ENUMERATION_LITERAL_REFERENCE___VISIBILITY;
+ case AlfPackage.EXTERNAL_ELEMENT_REFERENCE___TYPE:
+ return AlfPackage.EXTERNAL_ENUMERATION_LITERAL_REFERENCE___TYPE;
+ default:
+ return super.eDerivedOperationID(baseOperationID, baseClass);
+ }
+ }
+ return super.eDerivedOperationID(baseOperationID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Object eInvoke(int operationID, EList<?> arguments) throws InvocationTargetException {
+ switch (operationID) {
+ case AlfPackage.EXTERNAL_ENUMERATION_LITERAL_REFERENCE___IS_NAMED_EEMENT:
+ return isNamedEement();
+ case AlfPackage.EXTERNAL_ENUMERATION_LITERAL_REFERENCE___IS_CLASSIFIER:
+ return isClassifier();
+ case AlfPackage.EXTERNAL_ENUMERATION_LITERAL_REFERENCE___IS_PARAMETER:
+ return isParameter();
+ case AlfPackage.EXTERNAL_ENUMERATION_LITERAL_REFERENCE___IS_ENUMERATION_LITERAL:
+ return isEnumerationLiteral();
+ case AlfPackage.EXTERNAL_ENUMERATION_LITERAL_REFERENCE___EXTERNAL_ENUMERATION_LITERAL_REFERENCE_VISIBILITY:
+ return ExternalEnumerationLiteralReference_visibility();
+ case AlfPackage.EXTERNAL_ENUMERATION_LITERAL_REFERENCE___VISIBILITY:
+ return visibility();
+ case AlfPackage.EXTERNAL_ENUMERATION_LITERAL_REFERENCE___EXTERNAL_ENUMERATION_LITERAL_REFERENCE_TYPE:
+ return ExternalEnumerationLiteralReference_type();
+ case AlfPackage.EXTERNAL_ENUMERATION_LITERAL_REFERENCE___TYPE:
+ return type();
+ }
+ return super.eInvoke(operationID, arguments);
+ }
+
+} // ExternalEnumerationLiteralReferenceImpl
diff --git a/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/FeatureInvocationExpressionImpl.java b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/FeatureInvocationExpressionImpl.java
new file mode 100644
index 00000000000..b4dada42661
--- /dev/null
+++ b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/FeatureInvocationExpressionImpl.java
@@ -0,0 +1,311 @@
+/**
+ */
+package org.eclipse.papyrus.uml.alf.impl;
+
+import java.lang.reflect.InvocationTargetException;
+import java.util.Map;
+import org.eclipse.emf.common.util.BasicDiagnostic;
+import org.eclipse.emf.common.util.Diagnostic;
+import org.eclipse.emf.common.util.DiagnosticChain;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.common.util.WrappedException;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EOperation;
+import org.eclipse.emf.ecore.plugin.EcorePlugin;
+import org.eclipse.emf.ecore.util.EObjectValidator;
+import org.eclipse.papyrus.uml.alf.AlfPackage;
+import org.eclipse.papyrus.uml.alf.ElementReference;
+import org.eclipse.papyrus.uml.alf.FeatureInvocationExpression;
+import org.eclipse.papyrus.uml.alf.FeatureReference;
+import org.eclipse.papyrus.uml.alf.util.AlfValidator;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Feature Invocation Expression</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.uml.alf.impl.FeatureInvocationExpressionImpl#getTarget <em>Target</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class FeatureInvocationExpressionImpl extends InvocationExpressionImpl implements FeatureInvocationExpression {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected FeatureInvocationExpressionImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return AlfPackage.eINSTANCE.getFeatureInvocationExpression();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public FeatureReference getTarget() {
+ return (FeatureReference) eGet(AlfPackage.eINSTANCE.getFeatureInvocationExpression_Target(), true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setTarget(FeatureReference newTarget) {
+ eSet(AlfPackage.eINSTANCE.getFeatureInvocationExpression_Target(), newTarget);
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #feature() <em>Feature</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #feature()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate FEATURE__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getFeatureInvocationExpression__Feature()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public FeatureReference feature() {
+ try {
+ return (FeatureReference) FEATURE__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #referent() <em>Referent</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #referent()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate REFERENT__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getFeatureInvocationExpression__Referent()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public ElementReference referent() {
+ try {
+ return (ElementReference) REFERENT__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean featureInvocationExpressionReferentDerivation(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.FEATURE_INVOCATION_EXPRESSION__FEATURE_INVOCATION_EXPRESSION_REFERENT_DERIVATION,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "featureInvocationExpressionReferentDerivation", EObjectValidator.getObjectLabel(this, context) }),
+ new Object[] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean featureInvocationExpressionFeatureDerivation(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.FEATURE_INVOCATION_EXPRESSION__FEATURE_INVOCATION_EXPRESSION_FEATURE_DERIVATION,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "featureInvocationExpressionFeatureDerivation", EObjectValidator.getObjectLabel(this, context) }),
+ new Object[] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * The cached validation expression for the '{@link #featureInvocationExpressionReferentExists(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Feature Invocation Expression Referent Exists</em>}' invariant operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #featureInvocationExpressionReferentExists(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ * @ordered
+ */
+ protected static final String FEATURE_INVOCATION_EXPRESSION_REFERENT_EXISTS_DIAGNOSTIC_CHAIN_MAP__EEXPRESSION = "\n" +
+ " self.isImplicit or\n" +
+ " -- TODO: Remove this check once overloading resolution is implemented.\n" +
+ " self.tuple.size() <= self.parameterCount() and\n" +
+ " self.tuple.input()->forAll(input | self.parameterIsAssignableFrom(input)) and\n" +
+ " self.tuple.output()->forAll(output | self.parameterIsAssignableTo(output))";
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean featureInvocationExpressionReferentExists(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return AlfValidator.validate
+ (AlfPackage.eINSTANCE.getFeatureInvocationExpression(),
+ this,
+ diagnostics,
+ context,
+ "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot",
+ AlfPackage.eINSTANCE.getFeatureInvocationExpression__FeatureInvocationExpressionReferentExists__DiagnosticChain_Map(),
+ FEATURE_INVOCATION_EXPRESSION_REFERENT_EXISTS_DIAGNOSTIC_CHAIN_MAP__EEXPRESSION,
+ Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.FEATURE_INVOCATION_EXPRESSION__FEATURE_INVOCATION_EXPRESSION_REFERENT_EXISTS);
+ }
+
+ /**
+ * The cached validation expression for the '{@link #featureInvocationExpressionAlternativeConstructor(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Feature Invocation Expression Alternative Constructor</em>}' invariant operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #featureInvocationExpressionAlternativeConstructor(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ * @ordered
+ */
+ protected static final String FEATURE_INVOCATION_EXPRESSION_ALTERNATIVE_CONSTRUCTOR_DIAGNOSTIC_CHAIN_MAP__EEXPRESSION = "\n" +
+ " self.alternativeConstructorIsValid()";
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean featureInvocationExpressionAlternativeConstructor(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return AlfValidator.validate
+ (AlfPackage.eINSTANCE.getFeatureInvocationExpression(),
+ this,
+ diagnostics,
+ context,
+ "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot",
+ AlfPackage.eINSTANCE.getFeatureInvocationExpression__FeatureInvocationExpressionAlternativeConstructor__DiagnosticChain_Map(),
+ FEATURE_INVOCATION_EXPRESSION_ALTERNATIVE_CONSTRUCTOR_DIAGNOSTIC_CHAIN_MAP__EEXPRESSION,
+ Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.FEATURE_INVOCATION_EXPRESSION__FEATURE_INVOCATION_EXPRESSION_ALTERNATIVE_CONSTRUCTOR);
+ }
+
+ /**
+ * The cached validation expression for the '{@link #featureInvocationExpressionImplicitAlternativeConstructor(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Feature Invocation Expression Implicit Alternative Constructor</em>}' invariant
+ * operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #featureInvocationExpressionImplicitAlternativeConstructor(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ * @ordered
+ */
+ protected static final String FEATURE_INVOCATION_EXPRESSION_IMPLICIT_ALTERNATIVE_CONSTRUCTOR_DIAGNOSTIC_CHAIN_MAP__EEXPRESSION = "\n" +
+ " self.target = null implies\n" +
+ " let referent = self.referent in\n" +
+ " referent <> null and referent.isConstructor()";
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean featureInvocationExpressionImplicitAlternativeConstructor(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return AlfValidator.validate
+ (AlfPackage.eINSTANCE.getFeatureInvocationExpression(),
+ this,
+ diagnostics,
+ context,
+ "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot",
+ AlfPackage.eINSTANCE.getFeatureInvocationExpression__FeatureInvocationExpressionImplicitAlternativeConstructor__DiagnosticChain_Map(),
+ FEATURE_INVOCATION_EXPRESSION_IMPLICIT_ALTERNATIVE_CONSTRUCTOR_DIAGNOSTIC_CHAIN_MAP__EEXPRESSION,
+ Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.FEATURE_INVOCATION_EXPRESSION__FEATURE_INVOCATION_EXPRESSION_IMPLICIT_ALTERNATIVE_CONSTRUCTOR);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object eInvoke(int operationID, EList<?> arguments) throws InvocationTargetException {
+ switch (operationID) {
+ case AlfPackage.FEATURE_INVOCATION_EXPRESSION___FEATURE:
+ return feature();
+ case AlfPackage.FEATURE_INVOCATION_EXPRESSION___REFERENT:
+ return referent();
+ case AlfPackage.FEATURE_INVOCATION_EXPRESSION___FEATURE_INVOCATION_EXPRESSION_REFERENT_DERIVATION__DIAGNOSTICCHAIN_MAP:
+ return featureInvocationExpressionReferentDerivation((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ case AlfPackage.FEATURE_INVOCATION_EXPRESSION___FEATURE_INVOCATION_EXPRESSION_FEATURE_DERIVATION__DIAGNOSTICCHAIN_MAP:
+ return featureInvocationExpressionFeatureDerivation((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ case AlfPackage.FEATURE_INVOCATION_EXPRESSION___FEATURE_INVOCATION_EXPRESSION_REFERENT_EXISTS__DIAGNOSTICCHAIN_MAP:
+ return featureInvocationExpressionReferentExists((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ case AlfPackage.FEATURE_INVOCATION_EXPRESSION___FEATURE_INVOCATION_EXPRESSION_ALTERNATIVE_CONSTRUCTOR__DIAGNOSTICCHAIN_MAP:
+ return featureInvocationExpressionAlternativeConstructor((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ case AlfPackage.FEATURE_INVOCATION_EXPRESSION___FEATURE_INVOCATION_EXPRESSION_IMPLICIT_ALTERNATIVE_CONSTRUCTOR__DIAGNOSTICCHAIN_MAP:
+ return featureInvocationExpressionImplicitAlternativeConstructor((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ }
+ return super.eInvoke(operationID, arguments);
+ }
+
+} // FeatureInvocationExpressionImpl
diff --git a/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/FeatureLeftHandSideImpl.java b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/FeatureLeftHandSideImpl.java
new file mode 100644
index 00000000000..f9f93ff10f8
--- /dev/null
+++ b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/FeatureLeftHandSideImpl.java
@@ -0,0 +1,512 @@
+/**
+ */
+package org.eclipse.papyrus.uml.alf.impl;
+
+import java.lang.reflect.InvocationTargetException;
+
+import java.util.Map;
+
+import org.eclipse.emf.common.util.BasicDiagnostic;
+import org.eclipse.emf.common.util.Diagnostic;
+import org.eclipse.emf.common.util.DiagnosticChain;
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.common.util.WrappedException;
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.EOperation;
+import org.eclipse.emf.ecore.plugin.EcorePlugin;
+
+import org.eclipse.emf.ecore.util.EObjectValidator;
+
+import org.eclipse.papyrus.uml.alf.AlfPackage;
+import org.eclipse.papyrus.uml.alf.ElementReference;
+import org.eclipse.papyrus.uml.alf.Expression;
+import org.eclipse.papyrus.uml.alf.FeatureLeftHandSide;
+import org.eclipse.papyrus.uml.alf.FeatureReference;
+
+import org.eclipse.papyrus.uml.alf.util.AlfValidator;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Feature Left Hand Side</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.uml.alf.impl.FeatureLeftHandSideImpl#getExpression <em>Expression</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class FeatureLeftHandSideImpl extends LeftHandSideImpl implements FeatureLeftHandSide {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected FeatureLeftHandSideImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return AlfPackage.eINSTANCE.getFeatureLeftHandSide();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public Expression getExpression() {
+ return (Expression) eGet(AlfPackage.eINSTANCE.getFeatureLeftHandSide_Expression(), true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setExpression(Expression newExpression) {
+ eSet(AlfPackage.eINSTANCE.getFeatureLeftHandSide_Expression(), newExpression);
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #referent() <em>Referent</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #referent()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate REFERENT__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getFeatureLeftHandSide__Referent()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public ElementReference referent() {
+ try {
+ return (ElementReference) REFERENT__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #feature() <em>Feature</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #feature()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate FEATURE__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getFeatureLeftHandSide__Feature()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public FeatureReference feature() {
+ try {
+ return (FeatureReference) FEATURE__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #index() <em>Index</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #index()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate INDEX__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getFeatureLeftHandSide__Index()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public Expression index() {
+ try {
+ return (Expression) INDEX__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #localName() <em>Local Name</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #localName()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate LOCAL_NAME__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getFeatureLeftHandSide__LocalName()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public String localName() {
+ try {
+ return (String) LOCAL_NAME__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean featureLeftHandSideAssignmentBeforeDerivation(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.FEATURE_LEFT_HAND_SIDE__FEATURE_LEFT_HAND_SIDE_ASSIGNMENT_BEFORE_DERIVATION,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "featureLeftHandSideAssignmentBeforeDerivation", EObjectValidator.getObjectLabel(this, context) }),
+ new Object[] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean featureLeftHandSideAssignmentAfterDerivation(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.FEATURE_LEFT_HAND_SIDE__FEATURE_LEFT_HAND_SIDE_ASSIGNMENT_AFTER_DERIVATION,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "featureLeftHandSideAssignmentAfterDerivation", EObjectValidator.getObjectLabel(this, context) }),
+ new Object[] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * The cached validation expression for the '{@link #featureLeftHandSideFeatureExpression(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Feature Left Hand Side Feature Expression</em>}' invariant operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #featureLeftHandSideFeatureExpression(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ * @ordered
+ */
+ protected static final String FEATURE_LEFT_HAND_SIDE_FEATURE_EXPRESSION_DIAGNOSTIC_CHAIN_MAP__EEXPRESSION = "\n" +
+ " let expression = self.feature().expression in\n" +
+ " let type = expression.type in\n" +
+ " expression.upper = 1 and\n" +
+ " -- Note: The following condition ensures that a data value update will\n" +
+ " -- be to an existing assigned name.\n" +
+ " (type <> null and type.isDataType()) implies self.isDataValueUpdate()";
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean featureLeftHandSideFeatureExpression(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return AlfValidator.validate
+ (AlfPackage.eINSTANCE.getFeatureLeftHandSide(),
+ this,
+ diagnostics,
+ context,
+ "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot",
+ AlfPackage.eINSTANCE.getFeatureLeftHandSide__FeatureLeftHandSideFeatureExpression__DiagnosticChain_Map(),
+ FEATURE_LEFT_HAND_SIDE_FEATURE_EXPRESSION_DIAGNOSTIC_CHAIN_MAP__EEXPRESSION,
+ Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.FEATURE_LEFT_HAND_SIDE__FEATURE_LEFT_HAND_SIDE_FEATURE_EXPRESSION);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean featureLeftHandSideAssignmentsBefore(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.FEATURE_LEFT_HAND_SIDE__FEATURE_LEFT_HAND_SIDE_ASSIGNMENTS_BEFORE,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "featureLeftHandSideAssignmentsBefore", EObjectValidator.getObjectLabel(this, context) }),
+ new Object[] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean featureLeftHandSideReferentDerivation(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.FEATURE_LEFT_HAND_SIDE__FEATURE_LEFT_HAND_SIDE_REFERENT_DERIVATION,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "featureLeftHandSideReferentDerivation", EObjectValidator.getObjectLabel(this, context) }),
+ new Object[] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean featureLeftHandSideTypeDerivation(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.FEATURE_LEFT_HAND_SIDE__FEATURE_LEFT_HAND_SIDE_TYPE_DERIVATION,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "featureLeftHandSideTypeDerivation", EObjectValidator.getObjectLabel(this, context) }),
+ new Object[] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean featureLeftHandSideLowerDerivation(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.FEATURE_LEFT_HAND_SIDE__FEATURE_LEFT_HAND_SIDE_LOWER_DERIVATION,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "featureLeftHandSideLowerDerivation", EObjectValidator.getObjectLabel(this, context) }),
+ new Object[] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean featureLeftHandSideUpperDerivation(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.FEATURE_LEFT_HAND_SIDE__FEATURE_LEFT_HAND_SIDE_UPPER_DERIVATION,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "featureLeftHandSideUpperDerivation", EObjectValidator.getObjectLabel(this, context) }),
+ new Object[] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * The cached validation expression for the '{@link #featureLeftHandSideReferentConstraint(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Feature Left Hand Side Referent Constraint</em>}' invariant operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #featureLeftHandSideReferentConstraint(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ * @ordered
+ */
+ protected static final String FEATURE_LEFT_HAND_SIDE_REFERENT_CONSTRAINT_DIAGNOSTIC_CHAIN_MAP__EEXPRESSION = "self.referent <> null";
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean featureLeftHandSideReferentConstraint(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return AlfValidator.validate
+ (AlfPackage.eINSTANCE.getFeatureLeftHandSide(),
+ this,
+ diagnostics,
+ context,
+ "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot",
+ AlfPackage.eINSTANCE.getFeatureLeftHandSide__FeatureLeftHandSideReferentConstraint__DiagnosticChain_Map(),
+ FEATURE_LEFT_HAND_SIDE_REFERENT_CONSTRAINT_DIAGNOSTIC_CHAIN_MAP__EEXPRESSION,
+ Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.FEATURE_LEFT_HAND_SIDE__FEATURE_LEFT_HAND_SIDE_REFERENT_CONSTRAINT);
+ }
+
+ /**
+ * The cached validation expression for the '{@link #featureLeftHandSideIndexedFeature(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Feature Left Hand Side Indexed Feature</em>}' invariant operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #featureLeftHandSideIndexedFeature(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ * @ordered
+ */
+ protected static final String FEATURE_LEFT_HAND_SIDE_INDEXED_FEATURE_DIAGNOSTIC_CHAIN_MAP__EEXPRESSION = "\n" +
+ " self.index() <> null implies\n" +
+ " let referent = self.referent in\n" +
+ " referent <> null and referent.isOrdered() and referent.isNonunique()";
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean featureLeftHandSideIndexedFeature(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return AlfValidator.validate
+ (AlfPackage.eINSTANCE.getFeatureLeftHandSide(),
+ this,
+ diagnostics,
+ context,
+ "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot",
+ AlfPackage.eINSTANCE.getFeatureLeftHandSide__FeatureLeftHandSideIndexedFeature__DiagnosticChain_Map(),
+ FEATURE_LEFT_HAND_SIDE_INDEXED_FEATURE_DIAGNOSTIC_CHAIN_MAP__EEXPRESSION,
+ Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.FEATURE_LEFT_HAND_SIDE__FEATURE_LEFT_HAND_SIDE_INDEXED_FEATURE);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object eInvoke(int operationID, EList<?> arguments) throws InvocationTargetException {
+ switch (operationID) {
+ case AlfPackage.FEATURE_LEFT_HAND_SIDE___REFERENT:
+ return referent();
+ case AlfPackage.FEATURE_LEFT_HAND_SIDE___FEATURE:
+ return feature();
+ case AlfPackage.FEATURE_LEFT_HAND_SIDE___INDEX:
+ return index();
+ case AlfPackage.FEATURE_LEFT_HAND_SIDE___LOCAL_NAME:
+ return localName();
+ case AlfPackage.FEATURE_LEFT_HAND_SIDE___FEATURE_LEFT_HAND_SIDE_ASSIGNMENT_BEFORE_DERIVATION__DIAGNOSTICCHAIN_MAP:
+ return featureLeftHandSideAssignmentBeforeDerivation((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ case AlfPackage.FEATURE_LEFT_HAND_SIDE___FEATURE_LEFT_HAND_SIDE_ASSIGNMENT_AFTER_DERIVATION__DIAGNOSTICCHAIN_MAP:
+ return featureLeftHandSideAssignmentAfterDerivation((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ case AlfPackage.FEATURE_LEFT_HAND_SIDE___FEATURE_LEFT_HAND_SIDE_FEATURE_EXPRESSION__DIAGNOSTICCHAIN_MAP:
+ return featureLeftHandSideFeatureExpression((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ case AlfPackage.FEATURE_LEFT_HAND_SIDE___FEATURE_LEFT_HAND_SIDE_ASSIGNMENTS_BEFORE__DIAGNOSTICCHAIN_MAP:
+ return featureLeftHandSideAssignmentsBefore((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ case AlfPackage.FEATURE_LEFT_HAND_SIDE___FEATURE_LEFT_HAND_SIDE_REFERENT_DERIVATION__DIAGNOSTICCHAIN_MAP:
+ return featureLeftHandSideReferentDerivation((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ case AlfPackage.FEATURE_LEFT_HAND_SIDE___FEATURE_LEFT_HAND_SIDE_TYPE_DERIVATION__DIAGNOSTICCHAIN_MAP:
+ return featureLeftHandSideTypeDerivation((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ case AlfPackage.FEATURE_LEFT_HAND_SIDE___FEATURE_LEFT_HAND_SIDE_LOWER_DERIVATION__DIAGNOSTICCHAIN_MAP:
+ return featureLeftHandSideLowerDerivation((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ case AlfPackage.FEATURE_LEFT_HAND_SIDE___FEATURE_LEFT_HAND_SIDE_UPPER_DERIVATION__DIAGNOSTICCHAIN_MAP:
+ return featureLeftHandSideUpperDerivation((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ case AlfPackage.FEATURE_LEFT_HAND_SIDE___FEATURE_LEFT_HAND_SIDE_REFERENT_CONSTRAINT__DIAGNOSTICCHAIN_MAP:
+ return featureLeftHandSideReferentConstraint((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ case AlfPackage.FEATURE_LEFT_HAND_SIDE___FEATURE_LEFT_HAND_SIDE_INDEXED_FEATURE__DIAGNOSTICCHAIN_MAP:
+ return featureLeftHandSideIndexedFeature((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ }
+ return super.eInvoke(operationID, arguments);
+ }
+
+} // FeatureLeftHandSideImpl
diff --git a/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/FeatureReferenceImpl.java b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/FeatureReferenceImpl.java
new file mode 100644
index 00000000000..28682a7766b
--- /dev/null
+++ b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/FeatureReferenceImpl.java
@@ -0,0 +1,353 @@
+/**
+ */
+package org.eclipse.papyrus.uml.alf.impl;
+
+import java.lang.reflect.InvocationTargetException;
+
+import java.util.Map;
+
+import org.eclipse.emf.common.util.BasicDiagnostic;
+import org.eclipse.emf.common.util.BasicEList;
+import org.eclipse.emf.common.util.Diagnostic;
+import org.eclipse.emf.common.util.DiagnosticChain;
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.common.util.WrappedException;
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.EOperation;
+import org.eclipse.emf.ecore.plugin.EcorePlugin;
+
+import org.eclipse.emf.ecore.util.EObjectValidator;
+
+import org.eclipse.papyrus.uml.alf.AlfPackage;
+import org.eclipse.papyrus.uml.alf.AssignedSource;
+import org.eclipse.papyrus.uml.alf.ElementReference;
+import org.eclipse.papyrus.uml.alf.Expression;
+import org.eclipse.papyrus.uml.alf.FeatureReference;
+import org.eclipse.papyrus.uml.alf.InvocationExpression;
+import org.eclipse.papyrus.uml.alf.NameBinding;
+
+import org.eclipse.papyrus.uml.alf.util.AlfValidator;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Feature Reference</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.uml.alf.impl.FeatureReferenceImpl#getExpression <em>Expression</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.impl.FeatureReferenceImpl#getReferent <em>Referent</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.impl.FeatureReferenceImpl#getNameBinding <em>Name Binding</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class FeatureReferenceImpl extends ExpressionImpl implements FeatureReference {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated NOT
+ */
+ protected FeatureReferenceImpl() {
+ super();
+ this.registerCaching();
+ }
+
+ public void clear() {
+ super.clear();
+ this.referents = null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return AlfPackage.eINSTANCE.getFeatureReference();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public Expression getExpression() {
+ return (Expression) eGet(AlfPackage.eINSTANCE.getFeatureReference_Expression(), true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setExpression(Expression newExpression) {
+ eSet(AlfPackage.eINSTANCE.getFeatureReference_Expression(), newExpression);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<ElementReference> getReferent() {
+ return (EList<ElementReference>) eGet(AlfPackage.eINSTANCE.getFeatureReference_Referent(), true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public NameBinding getNameBinding() {
+ return (NameBinding) eGet(AlfPackage.eINSTANCE.getFeatureReference_NameBinding(), true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setNameBinding(NameBinding newNameBinding) {
+ eSet(AlfPackage.eINSTANCE.getFeatureReference_NameBinding(), newNameBinding);
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #updateAssignments() <em>Update Assignments</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #updateAssignments()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate UPDATE_ASSIGNMENTS__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getFeatureReference__UpdateAssignments()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<AssignedSource> updateAssignments() {
+ try {
+ return (EList<AssignedSource>) UPDATE_ASSIGNMENTS__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #behavioralFeatureReferent(org.eclipse.papyrus.uml.alf.InvocationExpression) <em>Behavioral Feature Referent</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #behavioralFeatureReferent(org.eclipse.papyrus.uml.alf.InvocationExpression)
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate BEHAVIORAL_FEATURE_REFERENT_INVOCATION_EXPRESSION__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getFeatureReference__BehavioralFeatureReferent__InvocationExpression())
+ .getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public ElementReference behavioralFeatureReferent(InvocationExpression invocation) {
+ try {
+ return (ElementReference) BEHAVIORAL_FEATURE_REFERENT_INVOCATION_EXPRESSION__EINVOCATION_DELEGATE.dynamicInvoke(this, new BasicEList.UnmodifiableEList<Object>(1, new Object[] { invocation }));
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean featureReferenceReferentDerivation(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.FEATURE_REFERENCE__FEATURE_REFERENCE_REFERENT_DERIVATION,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "featureReferenceReferentDerivation", EObjectValidator.getObjectLabel(this, context) }),
+ new Object[] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * The cached validation expression for the '{@link #featureReferenceTargetType(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Feature Reference Target Type</em>}' invariant operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #featureReferenceTargetType(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ * @ordered
+ */
+ protected static final String FEATURE_REFERENCE_TARGET_TYPE_DIAGNOSTIC_CHAIN_MAP__EEXPRESSION = "\n" +
+ " let type = self.expression.type in\n" +
+ " type <> null and not type.isPrimitiveType() and not type.isEnumeration()";
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean featureReferenceTargetType(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return AlfValidator.validate
+ (AlfPackage.eINSTANCE.getFeatureReference(),
+ this,
+ diagnostics,
+ context,
+ "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot",
+ AlfPackage.eINSTANCE.getFeatureReference__FeatureReferenceTargetType__DiagnosticChain_Map(),
+ FEATURE_REFERENCE_TARGET_TYPE_DIAGNOSTIC_CHAIN_MAP__EEXPRESSION,
+ Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.FEATURE_REFERENCE__FEATURE_REFERENCE_TARGET_TYPE);
+ }
+
+ private EList<ElementReference> referents = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated NOT
+ */
+ public EList<ElementReference> referentCached() {
+ if (this.referents == null) {
+ this.referents = this.referent();
+ }
+ return this.referents;
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #referent() <em>Referent</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #referent()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate REFERENT__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getFeatureReference__Referent()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<ElementReference> referent() {
+ try {
+ return (EList<ElementReference>) REFERENT__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #FeatureReference_referent() <em>Feature Reference referent</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #FeatureReference_referent()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate FEATURE_REFERENCE_REFERENT__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getFeatureReference__FeatureReference_referent()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<ElementReference> FeatureReference_referent() {
+ try {
+ return (EList<ElementReference>) FEATURE_REFERENCE_REFERENT__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public int eDerivedOperationID(int baseOperationID, Class<?> baseClass) {
+ if (baseClass == Expression.class) {
+ switch (baseOperationID) {
+ case AlfPackage.EXPRESSION___UPDATE_ASSIGNMENTS:
+ return AlfPackage.FEATURE_REFERENCE___UPDATE_ASSIGNMENTS;
+ default:
+ return super.eDerivedOperationID(baseOperationID, baseClass);
+ }
+ }
+ return super.eDerivedOperationID(baseOperationID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object eInvoke(int operationID, EList<?> arguments) throws InvocationTargetException {
+ switch (operationID) {
+ case AlfPackage.FEATURE_REFERENCE___UPDATE_ASSIGNMENTS:
+ return updateAssignments();
+ case AlfPackage.FEATURE_REFERENCE___BEHAVIORAL_FEATURE_REFERENT__INVOCATIONEXPRESSION:
+ return behavioralFeatureReferent((InvocationExpression) arguments.get(0));
+ case AlfPackage.FEATURE_REFERENCE___FEATURE_REFERENCE_REFERENT_DERIVATION__DIAGNOSTICCHAIN_MAP:
+ return featureReferenceReferentDerivation((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ case AlfPackage.FEATURE_REFERENCE___FEATURE_REFERENCE_TARGET_TYPE__DIAGNOSTICCHAIN_MAP:
+ return featureReferenceTargetType((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ case AlfPackage.FEATURE_REFERENCE___REFERENT_CACHED:
+ return referentCached();
+ case AlfPackage.FEATURE_REFERENCE___REFERENT:
+ return referent();
+ case AlfPackage.FEATURE_REFERENCE___FEATURE_REFERENCE_REFERENT:
+ return FeatureReference_referent();
+ }
+ return super.eInvoke(operationID, arguments);
+ }
+
+} // FeatureReferenceImpl
diff --git a/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/ForAllOrExistsOrOneExpressionImpl.java b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/ForAllOrExistsOrOneExpressionImpl.java
new file mode 100644
index 00000000000..11040d23e70
--- /dev/null
+++ b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/ForAllOrExistsOrOneExpressionImpl.java
@@ -0,0 +1,39 @@
+/**
+ */
+package org.eclipse.papyrus.uml.alf.impl;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.papyrus.uml.alf.AlfPackage;
+import org.eclipse.papyrus.uml.alf.ForAllOrExistsOrOneExpression;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>For All Or Exists Or One Expression</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ *
+ * @generated
+ */
+public class ForAllOrExistsOrOneExpressionImpl extends SequenceExpansionExpressionImpl implements ForAllOrExistsOrOneExpression {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected ForAllOrExistsOrOneExpressionImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return AlfPackage.eINSTANCE.getForAllOrExistsOrOneExpression();
+ }
+
+} // ForAllOrExistsOrOneExpressionImpl
diff --git a/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/ForStatementImpl.java b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/ForStatementImpl.java
new file mode 100644
index 00000000000..7b98a012809
--- /dev/null
+++ b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/ForStatementImpl.java
@@ -0,0 +1,587 @@
+/**
+ */
+package org.eclipse.papyrus.uml.alf.impl;
+
+import java.lang.reflect.InvocationTargetException;
+
+import java.util.Map;
+
+import org.eclipse.emf.common.util.BasicDiagnostic;
+import org.eclipse.emf.common.util.BasicEList;
+import org.eclipse.emf.common.util.Diagnostic;
+import org.eclipse.emf.common.util.DiagnosticChain;
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.common.util.WrappedException;
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.EOperation;
+import org.eclipse.emf.ecore.plugin.EcorePlugin;
+
+import org.eclipse.emf.ecore.util.EObjectValidator;
+
+import org.eclipse.papyrus.uml.alf.AlfPackage;
+import org.eclipse.papyrus.uml.alf.Annotation;
+import org.eclipse.papyrus.uml.alf.AssignedSource;
+import org.eclipse.papyrus.uml.alf.Block;
+import org.eclipse.papyrus.uml.alf.ForStatement;
+import org.eclipse.papyrus.uml.alf.LoopVariableDefinition;
+
+import org.eclipse.papyrus.uml.alf.Statement;
+import org.eclipse.papyrus.uml.alf.SyntaxElement;
+import org.eclipse.papyrus.uml.alf.util.AlfValidator;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>For Statement</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.uml.alf.impl.ForStatementImpl#getBody <em>Body</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.impl.ForStatementImpl#getVariableDefinition <em>Variable Definition</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.impl.ForStatementImpl#isIsParallel <em>Is Parallel</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class ForStatementImpl extends StatementImpl implements ForStatement {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected ForStatementImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return AlfPackage.eINSTANCE.getForStatement();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public Block getBody() {
+ return (Block) eGet(AlfPackage.eINSTANCE.getForStatement_Body(), true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setBody(Block newBody) {
+ eSet(AlfPackage.eINSTANCE.getForStatement_Body(), newBody);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<LoopVariableDefinition> getVariableDefinition() {
+ return (EList<LoopVariableDefinition>) eGet(AlfPackage.eINSTANCE.getForStatement_VariableDefinition(), true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isIsParallel() {
+ return (Boolean) eGet(AlfPackage.eINSTANCE.getForStatement_IsParallel(), true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setIsParallel(boolean newIsParallel) {
+ eSet(AlfPackage.eINSTANCE.getForStatement_IsParallel(), newIsParallel);
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #enclosingLoopStatement() <em>Enclosing Loop Statement</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #enclosingLoopStatement()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate ENCLOSING_LOOP_STATEMENT__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getForStatement__EnclosingLoopStatement()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public Statement enclosingLoopStatement() {
+ try {
+ return (Statement) ENCLOSING_LOOP_STATEMENT__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #assignmentsBefore(org.eclipse.papyrus.uml.alf.SyntaxElement) <em>Assignments Before</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #assignmentsBefore(org.eclipse.papyrus.uml.alf.SyntaxElement)
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate ASSIGNMENTS_BEFORE_SYNTAX_ELEMENT__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getForStatement__AssignmentsBefore__SyntaxElement()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<AssignedSource> assignmentsBefore(SyntaxElement element) {
+ try {
+ return (EList<AssignedSource>) ASSIGNMENTS_BEFORE_SYNTAX_ELEMENT__EINVOCATION_DELEGATE.dynamicInvoke(this, new BasicEList.UnmodifiableEList<Object>(1, new Object[] { element }));
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #assignmentsAfterVariables() <em>Assignments After Variables</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #assignmentsAfterVariables()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate ASSIGNMENTS_AFTER_VARIABLES__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getForStatement__AssignmentsAfterVariables()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<AssignedSource> assignmentsAfterVariables() {
+ try {
+ return (EList<AssignedSource>) ASSIGNMENTS_AFTER_VARIABLES__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #assignmentsAfter() <em>Assignments After</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #assignmentsAfter()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate ASSIGNMENTS_AFTER__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getForStatement__AssignmentsAfter()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<AssignedSource> assignmentsAfter() {
+ try {
+ return (EList<AssignedSource>) ASSIGNMENTS_AFTER__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #parallelNames() <em>Parallel Names</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #parallelNames()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate PARALLEL_NAMES__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getForStatement__ParallelNames()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<String> parallelNames() {
+ try {
+ return (EList<String>) PARALLEL_NAMES__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean forStatementAssignmentsBefore(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.FOR_STATEMENT__FOR_STATEMENT_ASSIGNMENTS_BEFORE,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "forStatementAssignmentsBefore", EObjectValidator.getObjectLabel(this, context) }),
+ new Object[] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean forStatementAssignmentsAfter(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.FOR_STATEMENT__FOR_STATEMENT_ASSIGNMENTS_AFTER,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "forStatementAssignmentsAfter", EObjectValidator.getObjectLabel(this, context) }),
+ new Object[] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * The cached validation expression for the '{@link #forStatementParallelAnnotationNames(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>For Statement Parallel Annotation Names</em>}' invariant operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #forStatementParallelAnnotationNames(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ * @ordered
+ */
+ protected static final String FOR_STATEMENT_PARALLEL_ANNOTATION_NAMES_DIAGNOSTIC_CHAIN_MAP__EEXPRESSION = "\n" +
+ " let assignments = self.variableDefinition.assignmentAfter in\n" +
+ " self.parallelNames()->forAll(n |\n" +
+ " assignments->exists(name = n and lower = 0 and upper = -1)\n" +
+ " )";
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean forStatementParallelAnnotationNames(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return AlfValidator.validate
+ (AlfPackage.eINSTANCE.getForStatement(),
+ this,
+ diagnostics,
+ context,
+ "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot",
+ AlfPackage.eINSTANCE.getForStatement__ForStatementParallelAnnotationNames__DiagnosticChain_Map(),
+ FOR_STATEMENT_PARALLEL_ANNOTATION_NAMES_DIAGNOSTIC_CHAIN_MAP__EEXPRESSION,
+ Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.FOR_STATEMENT__FOR_STATEMENT_PARALLEL_ANNOTATION_NAMES);
+ }
+
+ /**
+ * The cached validation expression for the '{@link #forStatementParallelAssignmentsAfter(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>For Statement Parallel Assignments After</em>}' invariant operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #forStatementParallelAssignmentsAfter(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ * @ordered
+ */
+ protected static final String FOR_STATEMENT_PARALLEL_ASSIGNMENTS_AFTER_DIAGNOSTIC_CHAIN_MAP__EEXPRESSION = "\n" +
+ " if not self.isParallel then true\n" +
+ " else\n" +
+ " self.body.newAssignments().name->\n" +
+ " excludesAll(self.variableDefinition.assignmentAfter.name)\n" +
+ " /*\n" +
+ " * The following is guaranteed by assignmentsAfter():\n" +
+ " let parallelNames = self.parallelNames() in\n" +
+ " self.assignmentAfter->forAll(a |\n" +
+ " assignmentsAfterVariables->exists(name = a.name) and\n" +
+ " if parallelNames->includes(a.name) then a.source = self \n" +
+ " else a.source = assignmentsAfterVariables->any(name = a.name).source \n" +
+ " endif\n" +
+ " )\n" +
+ " */\n" +
+ " endif";
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean forStatementParallelAssignmentsAfter(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return AlfValidator.validate
+ (AlfPackage.eINSTANCE.getForStatement(),
+ this,
+ diagnostics,
+ context,
+ "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot",
+ AlfPackage.eINSTANCE.getForStatement__ForStatementParallelAssignmentsAfter__DiagnosticChain_Map(),
+ FOR_STATEMENT_PARALLEL_ASSIGNMENTS_AFTER_DIAGNOSTIC_CHAIN_MAP__EEXPRESSION,
+ Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.FOR_STATEMENT__FOR_STATEMENT_PARALLEL_ASSIGNMENTS_AFTER);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean forStatementVariableDefinitions(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.FOR_STATEMENT__FOR_STATEMENT_VARIABLE_DEFINITIONS,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "forStatementVariableDefinitions", EObjectValidator.getObjectLabel(this, context) }),
+ new Object[] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean forStatementLoopVariables(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.FOR_STATEMENT__FOR_STATEMENT_LOOP_VARIABLES,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "forStatementLoopVariables", EObjectValidator.getObjectLabel(this, context) }),
+ new Object[] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean forStatementIsParallelDerivation(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.FOR_STATEMENT__FOR_STATEMENT_IS_PARALLEL_DERIVATION,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "forStatementIsParallelDerivation", EObjectValidator.getObjectLabel(this, context) }),
+ new Object[] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean forStatementEnclosedStatements(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.FOR_STATEMENT__FOR_STATEMENT_ENCLOSED_STATEMENTS,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "forStatementEnclosedStatements", EObjectValidator.getObjectLabel(this, context) }),
+ new Object[] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #annotationAllowed(org.eclipse.papyrus.uml.alf.Annotation) <em>Annotation Allowed</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #annotationAllowed(org.eclipse.papyrus.uml.alf.Annotation)
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate ANNOTATION_ALLOWED_ANNOTATION__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getForStatement__AnnotationAllowed__Annotation()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean annotationAllowed(Annotation annotation) {
+ try {
+ return (Boolean) ANNOTATION_ALLOWED_ANNOTATION__EINVOCATION_DELEGATE.dynamicInvoke(this, new BasicEList.UnmodifiableEList<Object>(1, new Object[] { annotation }));
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public int eDerivedOperationID(int baseOperationID, Class<?> baseClass) {
+ if (baseClass == SyntaxElement.class) {
+ switch (baseOperationID) {
+ case AlfPackage.SYNTAX_ELEMENT___ASSIGNMENTS_BEFORE__SYNTAXELEMENT:
+ return AlfPackage.FOR_STATEMENT___ASSIGNMENTS_BEFORE__SYNTAXELEMENT;
+ default:
+ return super.eDerivedOperationID(baseOperationID, baseClass);
+ }
+ }
+ if (baseClass == Statement.class) {
+ switch (baseOperationID) {
+ case AlfPackage.STATEMENT___ENCLOSING_LOOP_STATEMENT:
+ return AlfPackage.FOR_STATEMENT___ENCLOSING_LOOP_STATEMENT;
+ case AlfPackage.STATEMENT___ANNOTATION_ALLOWED__ANNOTATION:
+ return AlfPackage.FOR_STATEMENT___ANNOTATION_ALLOWED__ANNOTATION;
+ case AlfPackage.STATEMENT___ASSIGNMENTS_AFTER:
+ return AlfPackage.FOR_STATEMENT___ASSIGNMENTS_AFTER;
+ default:
+ return super.eDerivedOperationID(baseOperationID, baseClass);
+ }
+ }
+ return super.eDerivedOperationID(baseOperationID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object eInvoke(int operationID, EList<?> arguments) throws InvocationTargetException {
+ switch (operationID) {
+ case AlfPackage.FOR_STATEMENT___ENCLOSING_LOOP_STATEMENT:
+ return enclosingLoopStatement();
+ case AlfPackage.FOR_STATEMENT___ASSIGNMENTS_BEFORE__SYNTAXELEMENT:
+ return assignmentsBefore((SyntaxElement) arguments.get(0));
+ case AlfPackage.FOR_STATEMENT___ASSIGNMENTS_AFTER_VARIABLES:
+ return assignmentsAfterVariables();
+ case AlfPackage.FOR_STATEMENT___ASSIGNMENTS_AFTER:
+ return assignmentsAfter();
+ case AlfPackage.FOR_STATEMENT___PARALLEL_NAMES:
+ return parallelNames();
+ case AlfPackage.FOR_STATEMENT___FOR_STATEMENT_ASSIGNMENTS_BEFORE__DIAGNOSTICCHAIN_MAP:
+ return forStatementAssignmentsBefore((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ case AlfPackage.FOR_STATEMENT___FOR_STATEMENT_ASSIGNMENTS_AFTER__DIAGNOSTICCHAIN_MAP:
+ return forStatementAssignmentsAfter((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ case AlfPackage.FOR_STATEMENT___FOR_STATEMENT_PARALLEL_ANNOTATION_NAMES__DIAGNOSTICCHAIN_MAP:
+ return forStatementParallelAnnotationNames((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ case AlfPackage.FOR_STATEMENT___FOR_STATEMENT_PARALLEL_ASSIGNMENTS_AFTER__DIAGNOSTICCHAIN_MAP:
+ return forStatementParallelAssignmentsAfter((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ case AlfPackage.FOR_STATEMENT___FOR_STATEMENT_VARIABLE_DEFINITIONS__DIAGNOSTICCHAIN_MAP:
+ return forStatementVariableDefinitions((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ case AlfPackage.FOR_STATEMENT___FOR_STATEMENT_LOOP_VARIABLES__DIAGNOSTICCHAIN_MAP:
+ return forStatementLoopVariables((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ case AlfPackage.FOR_STATEMENT___FOR_STATEMENT_IS_PARALLEL_DERIVATION__DIAGNOSTICCHAIN_MAP:
+ return forStatementIsParallelDerivation((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ case AlfPackage.FOR_STATEMENT___FOR_STATEMENT_ENCLOSED_STATEMENTS__DIAGNOSTICCHAIN_MAP:
+ return forStatementEnclosedStatements((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ case AlfPackage.FOR_STATEMENT___ANNOTATION_ALLOWED__ANNOTATION:
+ return annotationAllowed((Annotation) arguments.get(0));
+ }
+ return super.eInvoke(operationID, arguments);
+ }
+
+} // ForStatementImpl
diff --git a/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/FormalParameterImpl.java b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/FormalParameterImpl.java
new file mode 100644
index 00000000000..b44403be770
--- /dev/null
+++ b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/FormalParameterImpl.java
@@ -0,0 +1,328 @@
+/**
+ */
+package org.eclipse.papyrus.uml.alf.impl;
+
+import java.lang.reflect.InvocationTargetException;
+import org.eclipse.emf.common.util.BasicEList;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.common.util.WrappedException;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EOperation;
+import org.eclipse.papyrus.uml.alf.AlfPackage;
+import org.eclipse.papyrus.uml.alf.ElementReference;
+import org.eclipse.papyrus.uml.alf.FormalParameter;
+import org.eclipse.papyrus.uml.alf.MemberDefinition;
+import org.eclipse.papyrus.uml.alf.StereotypeAnnotation;
+import org.eclipse.papyrus.uml.alf.SyntaxElement;
+import org.eclipse.papyrus.uml.alf.TypedElementDefinition;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Formal Parameter</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.uml.alf.impl.FormalParameterImpl#getDirection <em>Direction</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.impl.FormalParameterImpl#getTypePart <em>Type Part</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class FormalParameterImpl extends MemberDefinitionImpl implements FormalParameter {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected FormalParameterImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return AlfPackage.eINSTANCE.getFormalParameter();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public String getDirection() {
+ return (String) eGet(AlfPackage.eINSTANCE.getFormalParameter_Direction(), true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setDirection(String newDirection) {
+ eSet(AlfPackage.eINSTANCE.getFormalParameter_Direction(), newDirection);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public TypedElementDefinition getTypePart() {
+ return (TypedElementDefinition) eGet(AlfPackage.eINSTANCE.getFormalParameter_TypePart(), true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setTypePart(TypedElementDefinition newTypePart) {
+ eSet(AlfPackage.eINSTANCE.getFormalParameter_TypePart(), newTypePart);
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #currentScope() <em>Current Scope</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #currentScope()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate CURRENT_SCOPE__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getFormalParameter__CurrentScope()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public ElementReference currentScope() {
+ try {
+ return (ElementReference) CURRENT_SCOPE__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #annotationAllowed(org.eclipse.papyrus.uml.alf.StereotypeAnnotation) <em>Annotation Allowed</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #annotationAllowed(org.eclipse.papyrus.uml.alf.StereotypeAnnotation)
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate ANNOTATION_ALLOWED_STEREOTYPE_ANNOTATION__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getFormalParameter__AnnotationAllowed__StereotypeAnnotation())
+ .getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean annotationAllowed(StereotypeAnnotation annotation) {
+ try {
+ return (Boolean) ANNOTATION_ALLOWED_STEREOTYPE_ANNOTATION__EINVOCATION_DELEGATE.dynamicInvoke(this, new BasicEList.UnmodifiableEList<Object>(1, new Object[] { annotation }));
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #isSameKindAs(org.eclipse.papyrus.uml.alf.ElementReference) <em>Is Same Kind As</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #isSameKindAs(org.eclipse.papyrus.uml.alf.ElementReference)
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate IS_SAME_KIND_AS_ELEMENT_REFERENCE__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getFormalParameter__IsSameKindAs__ElementReference()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isSameKindAs(ElementReference member) {
+ try {
+ return (Boolean) IS_SAME_KIND_AS_ELEMENT_REFERENCE__EINVOCATION_DELEGATE.dynamicInvoke(this, new BasicEList.UnmodifiableEList<Object>(1, new Object[] { member }));
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #matches(org.eclipse.papyrus.uml.alf.FormalParameter) <em>Matches</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #matches(org.eclipse.papyrus.uml.alf.FormalParameter)
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate MATCHES_FORMAL_PARAMETER__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getFormalParameter__Matches__FormalParameter()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean matches(FormalParameter other) {
+ try {
+ return (Boolean) MATCHES_FORMAL_PARAMETER__EINVOCATION_DELEGATE.dynamicInvoke(this, new BasicEList.UnmodifiableEList<Object>(1, new Object[] { other }));
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #matchesElement(org.eclipse.papyrus.uml.alf.ElementReference) <em>Matches Element</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #matchesElement(org.eclipse.papyrus.uml.alf.ElementReference)
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate MATCHES_ELEMENT_ELEMENT_REFERENCE__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getFormalParameter__MatchesElement__ElementReference()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean matchesElement(ElementReference other) {
+ try {
+ return (Boolean) MATCHES_ELEMENT_ELEMENT_REFERENCE__EINVOCATION_DELEGATE.dynamicInvoke(this, new BasicEList.UnmodifiableEList<Object>(1, new Object[] { other }));
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #matchesNameType(org.eclipse.papyrus.uml.alf.ElementReference) <em>Matches Name Type</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #matchesNameType(org.eclipse.papyrus.uml.alf.ElementReference)
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate MATCHES_NAME_TYPE_ELEMENT_REFERENCE__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getFormalParameter__MatchesNameType__ElementReference()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean matchesNameType(ElementReference other) {
+ try {
+ return (Boolean) MATCHES_NAME_TYPE_ELEMENT_REFERENCE__EINVOCATION_DELEGATE.dynamicInvoke(this, new BasicEList.UnmodifiableEList<Object>(1, new Object[] { other }));
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #matchesType(org.eclipse.papyrus.uml.alf.ElementReference) <em>Matches Type</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #matchesType(org.eclipse.papyrus.uml.alf.ElementReference)
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate MATCHES_TYPE_ELEMENT_REFERENCE__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getFormalParameter__MatchesType__ElementReference()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean matchesType(ElementReference other) {
+ try {
+ return (Boolean) MATCHES_TYPE_ELEMENT_REFERENCE__EINVOCATION_DELEGATE.dynamicInvoke(this, new BasicEList.UnmodifiableEList<Object>(1, new Object[] { other }));
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public int eDerivedOperationID(int baseOperationID, Class<?> baseClass) {
+ if (baseClass == SyntaxElement.class) {
+ switch (baseOperationID) {
+ case AlfPackage.SYNTAX_ELEMENT___CURRENT_SCOPE:
+ return AlfPackage.FORMAL_PARAMETER___CURRENT_SCOPE;
+ default:
+ return super.eDerivedOperationID(baseOperationID, baseClass);
+ }
+ }
+ if (baseClass == MemberDefinition.class) {
+ switch (baseOperationID) {
+ case AlfPackage.MEMBER_DEFINITION___ANNOTATION_ALLOWED__STEREOTYPEANNOTATION:
+ return AlfPackage.FORMAL_PARAMETER___ANNOTATION_ALLOWED__STEREOTYPEANNOTATION;
+ case AlfPackage.MEMBER_DEFINITION___IS_SAME_KIND_AS__ELEMENTREFERENCE:
+ return AlfPackage.FORMAL_PARAMETER___IS_SAME_KIND_AS__ELEMENTREFERENCE;
+ default:
+ return super.eDerivedOperationID(baseOperationID, baseClass);
+ }
+ }
+ return super.eDerivedOperationID(baseOperationID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Object eInvoke(int operationID, EList<?> arguments) throws InvocationTargetException {
+ switch (operationID) {
+ case AlfPackage.FORMAL_PARAMETER___CURRENT_SCOPE:
+ return currentScope();
+ case AlfPackage.FORMAL_PARAMETER___ANNOTATION_ALLOWED__STEREOTYPEANNOTATION:
+ return annotationAllowed((StereotypeAnnotation) arguments.get(0));
+ case AlfPackage.FORMAL_PARAMETER___IS_SAME_KIND_AS__ELEMENTREFERENCE:
+ return isSameKindAs((ElementReference) arguments.get(0));
+ case AlfPackage.FORMAL_PARAMETER___MATCHES__FORMALPARAMETER:
+ return matches((FormalParameter) arguments.get(0));
+ case AlfPackage.FORMAL_PARAMETER___MATCHES_ELEMENT__ELEMENTREFERENCE:
+ return matchesElement((ElementReference) arguments.get(0));
+ case AlfPackage.FORMAL_PARAMETER___MATCHES_NAME_TYPE__ELEMENTREFERENCE:
+ return matchesNameType((ElementReference) arguments.get(0));
+ case AlfPackage.FORMAL_PARAMETER___MATCHES_TYPE__ELEMENTREFERENCE:
+ return matchesType((ElementReference) arguments.get(0));
+ }
+ return super.eInvoke(operationID, arguments);
+ }
+
+} // FormalParameterImpl
diff --git a/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/IfStatementImpl.java b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/IfStatementImpl.java
new file mode 100644
index 00000000000..6027757e53b
--- /dev/null
+++ b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/IfStatementImpl.java
@@ -0,0 +1,366 @@
+/**
+ */
+package org.eclipse.papyrus.uml.alf.impl;
+
+import java.lang.reflect.InvocationTargetException;
+import java.util.Map;
+import org.eclipse.emf.common.util.BasicDiagnostic;
+import org.eclipse.emf.common.util.BasicEList;
+import org.eclipse.emf.common.util.Diagnostic;
+import org.eclipse.emf.common.util.DiagnosticChain;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.common.util.WrappedException;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EOperation;
+import org.eclipse.emf.ecore.plugin.EcorePlugin;
+import org.eclipse.emf.ecore.util.EObjectValidator;
+import org.eclipse.papyrus.uml.alf.AlfPackage;
+import org.eclipse.papyrus.uml.alf.Annotation;
+import org.eclipse.papyrus.uml.alf.AssignedSource;
+import org.eclipse.papyrus.uml.alf.Block;
+import org.eclipse.papyrus.uml.alf.ConcurrentClauses;
+import org.eclipse.papyrus.uml.alf.IfStatement;
+import org.eclipse.papyrus.uml.alf.Statement;
+import org.eclipse.papyrus.uml.alf.util.AlfValidator;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>If Statement</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.uml.alf.impl.IfStatementImpl#getNonFinalClauses <em>Non Final Clauses</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.impl.IfStatementImpl#getFinalClause <em>Final Clause</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.impl.IfStatementImpl#isIsAssured <em>Is Assured</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.impl.IfStatementImpl#isIsDeterminate <em>Is Determinate</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class IfStatementImpl extends StatementImpl implements IfStatement {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected IfStatementImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return AlfPackage.eINSTANCE.getIfStatement();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<ConcurrentClauses> getNonFinalClauses() {
+ return (EList<ConcurrentClauses>) eGet(AlfPackage.eINSTANCE.getIfStatement_NonFinalClauses(), true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public Block getFinalClause() {
+ return (Block) eGet(AlfPackage.eINSTANCE.getIfStatement_FinalClause(), true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setFinalClause(Block newFinalClause) {
+ eSet(AlfPackage.eINSTANCE.getIfStatement_FinalClause(), newFinalClause);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isIsAssured() {
+ return (Boolean) eGet(AlfPackage.eINSTANCE.getIfStatement_IsAssured(), true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setIsAssured(boolean newIsAssured) {
+ eSet(AlfPackage.eINSTANCE.getIfStatement_IsAssured(), newIsAssured);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isIsDeterminate() {
+ return (Boolean) eGet(AlfPackage.eINSTANCE.getIfStatement_IsDeterminate(), true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setIsDeterminate(boolean newIsDeterminate) {
+ eSet(AlfPackage.eINSTANCE.getIfStatement_IsDeterminate(), newIsDeterminate);
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #assignmentsAfter() <em>Assignments After</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #assignmentsAfter()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate ASSIGNMENTS_AFTER__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getIfStatement__AssignmentsAfter()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<AssignedSource> assignmentsAfter() {
+ try {
+ return (EList<AssignedSource>) ASSIGNMENTS_AFTER__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean ifStatementAssignmentsBefore(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.IF_STATEMENT__IF_STATEMENT_ASSIGNMENTS_BEFORE,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "ifStatementAssignmentsBefore", EObjectValidator.getObjectLabel(this, context) }),
+ new Object[] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean ifStatementAssignmentsAfter(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.IF_STATEMENT__IF_STATEMENT_ASSIGNMENTS_AFTER,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "ifStatementAssignmentsAfter", EObjectValidator.getObjectLabel(this, context) }),
+ new Object[] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean ifStatementEnclosedStatements(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.IF_STATEMENT__IF_STATEMENT_ENCLOSED_STATEMENTS,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "ifStatementEnclosedStatements", EObjectValidator.getObjectLabel(this, context) }),
+ new Object[] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean ifStatementIsAssuredDerivation(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.IF_STATEMENT__IF_STATEMENT_IS_ASSURED_DERIVATION,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "ifStatementIsAssuredDerivation", EObjectValidator.getObjectLabel(this, context) }),
+ new Object[] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean ifStatementIsDeterminateDerivation(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.IF_STATEMENT__IF_STATEMENT_IS_DETERMINATE_DERIVATION,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "ifStatementIsDeterminateDerivation", EObjectValidator.getObjectLabel(this, context) }),
+ new Object[] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #annotationAllowed(org.eclipse.papyrus.uml.alf.Annotation) <em>Annotation Allowed</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #annotationAllowed(org.eclipse.papyrus.uml.alf.Annotation)
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate ANNOTATION_ALLOWED_ANNOTATION__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getIfStatement__AnnotationAllowed__Annotation()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean annotationAllowed(Annotation annotation) {
+ try {
+ return (Boolean) ANNOTATION_ALLOWED_ANNOTATION__EINVOCATION_DELEGATE.dynamicInvoke(this, new BasicEList.UnmodifiableEList<Object>(1, new Object[] { annotation }));
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public int eDerivedOperationID(int baseOperationID, Class<?> baseClass) {
+ if (baseClass == Statement.class) {
+ switch (baseOperationID) {
+ case AlfPackage.STATEMENT___ANNOTATION_ALLOWED__ANNOTATION:
+ return AlfPackage.IF_STATEMENT___ANNOTATION_ALLOWED__ANNOTATION;
+ case AlfPackage.STATEMENT___ASSIGNMENTS_AFTER:
+ return AlfPackage.IF_STATEMENT___ASSIGNMENTS_AFTER;
+ default:
+ return super.eDerivedOperationID(baseOperationID, baseClass);
+ }
+ }
+ return super.eDerivedOperationID(baseOperationID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object eInvoke(int operationID, EList<?> arguments) throws InvocationTargetException {
+ switch (operationID) {
+ case AlfPackage.IF_STATEMENT___ASSIGNMENTS_AFTER:
+ return assignmentsAfter();
+ case AlfPackage.IF_STATEMENT___IF_STATEMENT_ASSIGNMENTS_BEFORE__DIAGNOSTICCHAIN_MAP:
+ return ifStatementAssignmentsBefore((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ case AlfPackage.IF_STATEMENT___IF_STATEMENT_ASSIGNMENTS_AFTER__DIAGNOSTICCHAIN_MAP:
+ return ifStatementAssignmentsAfter((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ case AlfPackage.IF_STATEMENT___IF_STATEMENT_ENCLOSED_STATEMENTS__DIAGNOSTICCHAIN_MAP:
+ return ifStatementEnclosedStatements((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ case AlfPackage.IF_STATEMENT___IF_STATEMENT_IS_ASSURED_DERIVATION__DIAGNOSTICCHAIN_MAP:
+ return ifStatementIsAssuredDerivation((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ case AlfPackage.IF_STATEMENT___IF_STATEMENT_IS_DETERMINATE_DERIVATION__DIAGNOSTICCHAIN_MAP:
+ return ifStatementIsDeterminateDerivation((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ case AlfPackage.IF_STATEMENT___ANNOTATION_ALLOWED__ANNOTATION:
+ return annotationAllowed((Annotation) arguments.get(0));
+ }
+ return super.eInvoke(operationID, arguments);
+ }
+
+} // IfStatementImpl
diff --git a/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/ImportReferenceImpl.java b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/ImportReferenceImpl.java
new file mode 100644
index 00000000000..14355edb19b
--- /dev/null
+++ b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/ImportReferenceImpl.java
@@ -0,0 +1,233 @@
+/**
+ */
+package org.eclipse.papyrus.uml.alf.impl;
+
+import java.lang.reflect.InvocationTargetException;
+import java.util.Map;
+import org.eclipse.emf.common.util.BasicDiagnostic;
+import org.eclipse.emf.common.util.Diagnostic;
+import org.eclipse.emf.common.util.DiagnosticChain;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.plugin.EcorePlugin;
+import org.eclipse.emf.ecore.util.EObjectValidator;
+import org.eclipse.papyrus.uml.alf.AlfPackage;
+import org.eclipse.papyrus.uml.alf.ElementReference;
+import org.eclipse.papyrus.uml.alf.ImportReference;
+import org.eclipse.papyrus.uml.alf.Member;
+import org.eclipse.papyrus.uml.alf.QualifiedName;
+import org.eclipse.papyrus.uml.alf.UnitDefinition;
+import org.eclipse.papyrus.uml.alf.util.AlfValidator;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Import Reference</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.uml.alf.impl.ImportReferenceImpl#getVisibility <em>Visibility</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.impl.ImportReferenceImpl#getReferentName <em>Referent Name</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.impl.ImportReferenceImpl#getReferent <em>Referent</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.impl.ImportReferenceImpl#getUnit <em>Unit</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public abstract class ImportReferenceImpl extends SyntaxElementImpl implements ImportReference {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected ImportReferenceImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return AlfPackage.eINSTANCE.getImportReference();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public String getVisibility() {
+ return (String) eGet(AlfPackage.eINSTANCE.getImportReference_Visibility(), true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setVisibility(String newVisibility) {
+ eSet(AlfPackage.eINSTANCE.getImportReference_Visibility(), newVisibility);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public QualifiedName getReferentName() {
+ return (QualifiedName) eGet(AlfPackage.eINSTANCE.getImportReference_ReferentName(), true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setReferentName(QualifiedName newReferentName) {
+ eSet(AlfPackage.eINSTANCE.getImportReference_ReferentName(), newReferentName);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public ElementReference getReferent() {
+ return (ElementReference) eGet(AlfPackage.eINSTANCE.getImportReference_Referent(), true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setReferent(ElementReference newReferent) {
+ eSet(AlfPackage.eINSTANCE.getImportReference_Referent(), newReferent);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public UnitDefinition getUnit() {
+ return (UnitDefinition) eGet(AlfPackage.eINSTANCE.getImportReference_Unit(), true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setUnit(UnitDefinition newUnit) {
+ eSet(AlfPackage.eINSTANCE.getImportReference_Unit(), newUnit);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EList<Member> importedMembers() {
+ // TODO: implement this method
+ // Ensure that you remove @generated or mark it @generated NOT
+ throw new UnsupportedOperationException();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean importReferenceReferentDerivation(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.IMPORT_REFERENCE__IMPORT_REFERENCE_REFERENT_DERIVATION,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "importReferenceReferentDerivation", EObjectValidator.getObjectLabel(this, context) }),
+ new Object[] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * The cached validation expression for the '{@link #importReferenceReferent(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Import Reference Referent</em>}' invariant operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #importReferenceReferent(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ * @ordered
+ */
+ protected static final String IMPORT_REFERENCE_REFERENT_DIAGNOSTIC_CHAIN_MAP__EEXPRESSION = "\n" +
+ " self.referent <> null and\n" +
+ " let visibility = self.referent.visibility() in \n" +
+ " visibility = null or visibility = 'public'";
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean importReferenceReferent(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return AlfValidator.validate
+ (AlfPackage.eINSTANCE.getImportReference(),
+ this,
+ diagnostics,
+ context,
+ "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot",
+ AlfPackage.eINSTANCE.getImportReference__ImportReferenceReferent__DiagnosticChain_Map(),
+ IMPORT_REFERENCE_REFERENT_DIAGNOSTIC_CHAIN_MAP__EEXPRESSION,
+ Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.IMPORT_REFERENCE__IMPORT_REFERENCE_REFERENT);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object eInvoke(int operationID, EList<?> arguments) throws InvocationTargetException {
+ switch (operationID) {
+ case AlfPackage.IMPORT_REFERENCE___IMPORTED_MEMBERS:
+ return importedMembers();
+ case AlfPackage.IMPORT_REFERENCE___IMPORT_REFERENCE_REFERENT_DERIVATION__DIAGNOSTICCHAIN_MAP:
+ return importReferenceReferentDerivation((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ case AlfPackage.IMPORT_REFERENCE___IMPORT_REFERENCE_REFERENT__DIAGNOSTICCHAIN_MAP:
+ return importReferenceReferent((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ }
+ return super.eInvoke(operationID, arguments);
+ }
+
+} // ImportReferenceImpl
diff --git a/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/ImportedMemberImpl.java b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/ImportedMemberImpl.java
new file mode 100644
index 00000000000..92c0fefd4fb
--- /dev/null
+++ b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/ImportedMemberImpl.java
@@ -0,0 +1,332 @@
+/**
+ */
+package org.eclipse.papyrus.uml.alf.impl;
+
+import java.lang.reflect.InvocationTargetException;
+
+import java.util.Map;
+
+import org.eclipse.emf.common.util.BasicDiagnostic;
+import org.eclipse.emf.common.util.BasicEList;
+import org.eclipse.emf.common.util.Diagnostic;
+import org.eclipse.emf.common.util.DiagnosticChain;
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.common.util.WrappedException;
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.EOperation;
+import org.eclipse.emf.ecore.plugin.EcorePlugin;
+
+import org.eclipse.emf.ecore.util.EObjectValidator;
+
+import org.eclipse.papyrus.uml.alf.AlfPackage;
+import org.eclipse.papyrus.uml.alf.ElementReference;
+import org.eclipse.papyrus.uml.alf.ImportedMember;
+
+import org.eclipse.papyrus.uml.alf.MemberDefinition;
+import org.eclipse.papyrus.uml.alf.StereotypeAnnotation;
+import org.eclipse.papyrus.uml.alf.SyntaxElement;
+import org.eclipse.papyrus.uml.alf.util.AlfValidator;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Imported Member</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.uml.alf.impl.ImportedMemberImpl#getReferent <em>Referent</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class ImportedMemberImpl extends MemberDefinitionImpl implements ImportedMember {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected ImportedMemberImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return AlfPackage.eINSTANCE.getImportedMember();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public ElementReference getReferent() {
+ return (ElementReference) eGet(AlfPackage.eINSTANCE.getImportedMember_Referent(), true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setReferent(ElementReference newReferent) {
+ eSet(AlfPackage.eINSTANCE.getImportedMember_Referent(), newReferent);
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #actualName() <em>Actual Name</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #actualName()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate ACTUAL_NAME__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getImportedMember__ActualName()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public String actualName() {
+ try {
+ return (String) ACTUAL_NAME__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #toReference() <em>To Reference</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #toReference()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate TO_REFERENCE__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getImportedMember__ToReference()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public ElementReference toReference() {
+ try {
+ return (ElementReference) TO_REFERENCE__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #annotationAllowed(org.eclipse.papyrus.uml.alf.StereotypeAnnotation) <em>Annotation Allowed</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #annotationAllowed(org.eclipse.papyrus.uml.alf.StereotypeAnnotation)
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate ANNOTATION_ALLOWED_STEREOTYPE_ANNOTATION__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getImportedMember__AnnotationAllowed__StereotypeAnnotation())
+ .getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean annotationAllowed(StereotypeAnnotation annotation) {
+ try {
+ return (Boolean) ANNOTATION_ALLOWED_STEREOTYPE_ANNOTATION__EINVOCATION_DELEGATE.dynamicInvoke(this, new BasicEList.UnmodifiableEList<Object>(1, new Object[] { annotation }));
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #isSameKindAs(org.eclipse.papyrus.uml.alf.ElementReference) <em>Is Same Kind As</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #isSameKindAs(org.eclipse.papyrus.uml.alf.ElementReference)
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate IS_SAME_KIND_AS_ELEMENT_REFERENCE__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getImportedMember__IsSameKindAs__ElementReference()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isSameKindAs(ElementReference member) {
+ try {
+ return (Boolean) IS_SAME_KIND_AS_ELEMENT_REFERENCE__EINVOCATION_DELEGATE.dynamicInvoke(this, new BasicEList.UnmodifiableEList<Object>(1, new Object[] { member }));
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #isFeature() <em>Is Feature</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #isFeature()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate IS_FEATURE__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getImportedMember__IsFeature()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isFeature() {
+ try {
+ return (Boolean) IS_FEATURE__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached validation expression for the '{@link #importedMemberNotStub(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Imported Member Not Stub</em>}' invariant operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #importedMemberNotStub(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ * @ordered
+ */
+ protected static final String IMPORTED_MEMBER_NOT_STUB_DIAGNOSTIC_CHAIN_MAP__EEXPRESSION = "not self.isStub";
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean importedMemberNotStub(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return AlfValidator.validate
+ (AlfPackage.eINSTANCE.getImportedMember(),
+ this,
+ diagnostics,
+ context,
+ "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot",
+ AlfPackage.eINSTANCE.getImportedMember__ImportedMemberNotStub__DiagnosticChain_Map(),
+ IMPORTED_MEMBER_NOT_STUB_DIAGNOSTIC_CHAIN_MAP__EEXPRESSION,
+ Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.IMPORTED_MEMBER__IMPORTED_MEMBER_NOT_STUB);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean importedMemberIsFeatureDerivation(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.IMPORTED_MEMBER__IMPORTED_MEMBER_IS_FEATURE_DERIVATION,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "importedMemberIsFeatureDerivation", EObjectValidator.getObjectLabel(this, context) }),
+ new Object[] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public int eDerivedOperationID(int baseOperationID, Class<?> baseClass) {
+ if (baseClass == SyntaxElement.class) {
+ switch (baseOperationID) {
+ case AlfPackage.SYNTAX_ELEMENT___TO_REFERENCE:
+ return AlfPackage.IMPORTED_MEMBER___TO_REFERENCE;
+ default:
+ return super.eDerivedOperationID(baseOperationID, baseClass);
+ }
+ }
+ if (baseClass == MemberDefinition.class) {
+ switch (baseOperationID) {
+ case AlfPackage.MEMBER_DEFINITION___ACTUAL_NAME:
+ return AlfPackage.IMPORTED_MEMBER___ACTUAL_NAME;
+ case AlfPackage.MEMBER_DEFINITION___ANNOTATION_ALLOWED__STEREOTYPEANNOTATION:
+ return AlfPackage.IMPORTED_MEMBER___ANNOTATION_ALLOWED__STEREOTYPEANNOTATION;
+ case AlfPackage.MEMBER_DEFINITION___IS_SAME_KIND_AS__ELEMENTREFERENCE:
+ return AlfPackage.IMPORTED_MEMBER___IS_SAME_KIND_AS__ELEMENTREFERENCE;
+ case AlfPackage.MEMBER_DEFINITION___IS_FEATURE:
+ return AlfPackage.IMPORTED_MEMBER___IS_FEATURE;
+ default:
+ return super.eDerivedOperationID(baseOperationID, baseClass);
+ }
+ }
+ return super.eDerivedOperationID(baseOperationID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object eInvoke(int operationID, EList<?> arguments) throws InvocationTargetException {
+ switch (operationID) {
+ case AlfPackage.IMPORTED_MEMBER___ACTUAL_NAME:
+ return actualName();
+ case AlfPackage.IMPORTED_MEMBER___TO_REFERENCE:
+ return toReference();
+ case AlfPackage.IMPORTED_MEMBER___ANNOTATION_ALLOWED__STEREOTYPEANNOTATION:
+ return annotationAllowed((StereotypeAnnotation) arguments.get(0));
+ case AlfPackage.IMPORTED_MEMBER___IS_SAME_KIND_AS__ELEMENTREFERENCE:
+ return isSameKindAs((ElementReference) arguments.get(0));
+ case AlfPackage.IMPORTED_MEMBER___IS_FEATURE:
+ return isFeature();
+ case AlfPackage.IMPORTED_MEMBER___IMPORTED_MEMBER_NOT_STUB__DIAGNOSTICCHAIN_MAP:
+ return importedMemberNotStub((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ case AlfPackage.IMPORTED_MEMBER___IMPORTED_MEMBER_IS_FEATURE_DERIVATION__DIAGNOSTICCHAIN_MAP:
+ return importedMemberIsFeatureDerivation((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ }
+ return super.eInvoke(operationID, arguments);
+ }
+
+} // ImportedMemberImpl
diff --git a/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/InLineStatementImpl.java b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/InLineStatementImpl.java
new file mode 100644
index 00000000000..3f01ddb6cab
--- /dev/null
+++ b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/InLineStatementImpl.java
@@ -0,0 +1,144 @@
+/**
+ */
+package org.eclipse.papyrus.uml.alf.impl;
+
+import java.lang.reflect.InvocationTargetException;
+
+import java.util.Map;
+
+import org.eclipse.emf.common.util.BasicDiagnostic;
+import org.eclipse.emf.common.util.Diagnostic;
+import org.eclipse.emf.common.util.DiagnosticChain;
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.plugin.EcorePlugin;
+
+import org.eclipse.emf.ecore.util.EObjectValidator;
+
+import org.eclipse.papyrus.uml.alf.AlfPackage;
+import org.eclipse.papyrus.uml.alf.InLineStatement;
+
+import org.eclipse.papyrus.uml.alf.util.AlfValidator;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>In Line Statement</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.uml.alf.impl.InLineStatementImpl#getLanguage <em>Language</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.impl.InLineStatementImpl#getCode <em>Code</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class InLineStatementImpl extends StatementImpl implements InLineStatement {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected InLineStatementImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return AlfPackage.eINSTANCE.getInLineStatement();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public String getLanguage() {
+ return (String) eGet(AlfPackage.eINSTANCE.getInLineStatement_Language(), true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setLanguage(String newLanguage) {
+ eSet(AlfPackage.eINSTANCE.getInLineStatement_Language(), newLanguage);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public String getCode() {
+ return (String) eGet(AlfPackage.eINSTANCE.getInLineStatement_Code(), true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setCode(String newCode) {
+ eSet(AlfPackage.eINSTANCE.getInLineStatement_Code(), newCode);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean inLineStatementAssignmentsAfter(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.IN_LINE_STATEMENT__IN_LINE_STATEMENT_ASSIGNMENTS_AFTER,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "inLineStatementAssignmentsAfter", EObjectValidator.getObjectLabel(this, context) }),
+ new Object[] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object eInvoke(int operationID, EList<?> arguments) throws InvocationTargetException {
+ switch (operationID) {
+ case AlfPackage.IN_LINE_STATEMENT___IN_LINE_STATEMENT_ASSIGNMENTS_AFTER__DIAGNOSTICCHAIN_MAP:
+ return inLineStatementAssignmentsAfter((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ }
+ return super.eInvoke(operationID, arguments);
+ }
+
+} // InLineStatementImpl
diff --git a/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/IncrementOrDecrementExpressionImpl.java b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/IncrementOrDecrementExpressionImpl.java
new file mode 100644
index 00000000000..3172823fb68
--- /dev/null
+++ b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/IncrementOrDecrementExpressionImpl.java
@@ -0,0 +1,724 @@
+/**
+ */
+package org.eclipse.papyrus.uml.alf.impl;
+
+import java.lang.reflect.InvocationTargetException;
+
+import java.math.BigInteger;
+import java.util.Map;
+
+import org.eclipse.emf.common.util.BasicDiagnostic;
+import org.eclipse.emf.common.util.Diagnostic;
+import org.eclipse.emf.common.util.DiagnosticChain;
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.common.util.WrappedException;
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.EOperation;
+import org.eclipse.emf.ecore.plugin.EcorePlugin;
+
+import org.eclipse.emf.ecore.util.EObjectValidator;
+
+import org.eclipse.papyrus.uml.alf.AlfPackage;
+import org.eclipse.papyrus.uml.alf.AssignableElement;
+import org.eclipse.papyrus.uml.alf.AssignedSource;
+import org.eclipse.papyrus.uml.alf.ElementReference;
+import org.eclipse.papyrus.uml.alf.Expression;
+import org.eclipse.papyrus.uml.alf.IncrementOrDecrementExpression;
+import org.eclipse.papyrus.uml.alf.LeftHandSide;
+
+import org.eclipse.papyrus.uml.alf.util.AlfValidator;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Increment Or Decrement Expression</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.uml.alf.impl.IncrementOrDecrementExpressionImpl#getAssignment <em>Assignment</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.impl.IncrementOrDecrementExpressionImpl#getOperand <em>Operand</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.impl.IncrementOrDecrementExpressionImpl#getExpression <em>Expression</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.impl.IncrementOrDecrementExpressionImpl#getFeature <em>Feature</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.impl.IncrementOrDecrementExpressionImpl#isIsPrefix <em>Is Prefix</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.impl.IncrementOrDecrementExpressionImpl#isIsFeature <em>Is Feature</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.impl.IncrementOrDecrementExpressionImpl#isIsIndexed <em>Is Indexed</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.impl.IncrementOrDecrementExpressionImpl#isIsDataValueUpdate <em>Is Data Value Update</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.impl.IncrementOrDecrementExpressionImpl#getOperator <em>Operator</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class IncrementOrDecrementExpressionImpl extends ExpressionImpl implements IncrementOrDecrementExpression {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected IncrementOrDecrementExpressionImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return AlfPackage.eINSTANCE.getIncrementOrDecrementExpression();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public AssignedSource getAssignment() {
+ return (AssignedSource) eGet(AlfPackage.eINSTANCE.getIncrementOrDecrementExpression_Assignment(), true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setAssignment(AssignedSource newAssignment) {
+ eSet(AlfPackage.eINSTANCE.getIncrementOrDecrementExpression_Assignment(), newAssignment);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public LeftHandSide getOperand() {
+ return (LeftHandSide) eGet(AlfPackage.eINSTANCE.getIncrementOrDecrementExpression_Operand(), true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setOperand(LeftHandSide newOperand) {
+ eSet(AlfPackage.eINSTANCE.getIncrementOrDecrementExpression_Operand(), newOperand);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public Expression getExpression() {
+ return (Expression) eGet(AlfPackage.eINSTANCE.getIncrementOrDecrementExpression_Expression(), true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setExpression(Expression newExpression) {
+ eSet(AlfPackage.eINSTANCE.getIncrementOrDecrementExpression_Expression(), newExpression);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public ElementReference getFeature() {
+ return (ElementReference) eGet(AlfPackage.eINSTANCE.getIncrementOrDecrementExpression_Feature(), true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setFeature(ElementReference newFeature) {
+ eSet(AlfPackage.eINSTANCE.getIncrementOrDecrementExpression_Feature(), newFeature);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isIsPrefix() {
+ return (Boolean) eGet(AlfPackage.eINSTANCE.getIncrementOrDecrementExpression_IsPrefix(), true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setIsPrefix(boolean newIsPrefix) {
+ eSet(AlfPackage.eINSTANCE.getIncrementOrDecrementExpression_IsPrefix(), newIsPrefix);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isIsFeature() {
+ return (Boolean) eGet(AlfPackage.eINSTANCE.getIncrementOrDecrementExpression_IsFeature(), true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setIsFeature(boolean newIsFeature) {
+ eSet(AlfPackage.eINSTANCE.getIncrementOrDecrementExpression_IsFeature(), newIsFeature);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isIsIndexed() {
+ return (Boolean) eGet(AlfPackage.eINSTANCE.getIncrementOrDecrementExpression_IsIndexed(), true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setIsIndexed(boolean newIsIndexed) {
+ eSet(AlfPackage.eINSTANCE.getIncrementOrDecrementExpression_IsIndexed(), newIsIndexed);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isIsDataValueUpdate() {
+ return (Boolean) eGet(AlfPackage.eINSTANCE.getIncrementOrDecrementExpression_IsDataValueUpdate(), true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setIsDataValueUpdate(boolean newIsDataValueUpdate) {
+ eSet(AlfPackage.eINSTANCE.getIncrementOrDecrementExpression_IsDataValueUpdate(), newIsDataValueUpdate);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public String getOperator() {
+ return (String) eGet(AlfPackage.eINSTANCE.getIncrementOrDecrementExpression_Operator(), true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setOperator(String newOperator) {
+ eSet(AlfPackage.eINSTANCE.getIncrementOrDecrementExpression_Operator(), newOperator);
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #type() <em>Type</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #type()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate TYPE__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getIncrementOrDecrementExpression__Type()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public ElementReference type() {
+ try {
+ return (ElementReference) TYPE__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #lower() <em>Lower</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #lower()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate LOWER__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getIncrementOrDecrementExpression__Lower()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public BigInteger lower() {
+ try {
+ return (BigInteger) LOWER__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #upper() <em>Upper</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #upper()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate UPPER__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getIncrementOrDecrementExpression__Upper()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public BigInteger upper() {
+ try {
+ return (BigInteger) UPPER__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean incrementOrDecrementExpressionAssignmentDerivation(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.INCREMENT_OR_DECREMENT_EXPRESSION__INCREMENT_OR_DECREMENT_EXPRESSION_ASSIGNMENT_DERIVATION,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "incrementOrDecrementExpressionAssignmentDerivation", EObjectValidator.getObjectLabel(this, context) }),
+ new Object[] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean incrementOrDecrementExpressionIsFeatureDerivation(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.INCREMENT_OR_DECREMENT_EXPRESSION__INCREMENT_OR_DECREMENT_EXPRESSION_IS_FEATURE_DERIVATION,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "incrementOrDecrementExpressionIsFeatureDerivation", EObjectValidator.getObjectLabel(this, context) }),
+ new Object[] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean incrementOrDecrementExpressionIsIndexedDerivation(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.INCREMENT_OR_DECREMENT_EXPRESSION__INCREMENT_OR_DECREMENT_EXPRESSION_IS_INDEXED_DERIVATION,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "incrementOrDecrementExpressionIsIndexedDerivation", EObjectValidator.getObjectLabel(this, context) }),
+ new Object[] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean incrementOrDecrementExpressionIsDataValueUpdateDerivation(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.INCREMENT_OR_DECREMENT_EXPRESSION__INCREMENT_OR_DECREMENT_EXPRESSION_IS_DATA_VALUE_UPDATE_DERIVATION,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "incrementOrDecrementExpressionIsDataValueUpdateDerivation", EObjectValidator.getObjectLabel(this, context) }),
+ new Object[] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean incrementOrDecrementExpressionFeatureDerivation(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.INCREMENT_OR_DECREMENT_EXPRESSION__INCREMENT_OR_DECREMENT_EXPRESSION_FEATURE_DERIVATION,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "incrementOrDecrementExpressionFeatureDerivation", EObjectValidator.getObjectLabel(this, context) }),
+ new Object[] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean incrementOrDecrementExpressionExpressionDerivation(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.INCREMENT_OR_DECREMENT_EXPRESSION__INCREMENT_OR_DECREMENT_EXPRESSION_EXPRESSION_DERIVATION,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "incrementOrDecrementExpressionExpressionDerivation", EObjectValidator.getObjectLabel(this, context) }),
+ new Object[] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean incrementOrDecrementExpressionTypeDerivation(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.INCREMENT_OR_DECREMENT_EXPRESSION__INCREMENT_OR_DECREMENT_EXPRESSION_TYPE_DERIVATION,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "incrementOrDecrementExpressionTypeDerivation", EObjectValidator.getObjectLabel(this, context) }),
+ new Object[] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean incrementOrDecrementExpressionLowerDerivation(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.INCREMENT_OR_DECREMENT_EXPRESSION__INCREMENT_OR_DECREMENT_EXPRESSION_LOWER_DERIVATION,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "incrementOrDecrementExpressionLowerDerivation", EObjectValidator.getObjectLabel(this, context) }),
+ new Object[] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean incrementOrDecrementExpressionUpperDerivation(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.INCREMENT_OR_DECREMENT_EXPRESSION__INCREMENT_OR_DECREMENT_EXPRESSION_UPPER_DERIVATION,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "incrementOrDecrementExpressionUpperDerivation", EObjectValidator.getObjectLabel(this, context) }),
+ new Object[] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * The cached validation expression for the '{@link #incrementOrDecrementExpressionOperand(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Increment Or Decrement Expression Operand</em>}' invariant operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #incrementOrDecrementExpressionOperand(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ * @ordered
+ */
+ protected static final String INCREMENT_OR_DECREMENT_EXPRESSION_OPERAND_DIAGNOSTIC_CHAIN_MAP__EEXPRESSION = "self.isIntegerType(self.operand.type) and self.operand.upper = 1";
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean incrementOrDecrementExpressionOperand(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return AlfValidator.validate
+ (AlfPackage.eINSTANCE.getIncrementOrDecrementExpression(),
+ this,
+ diagnostics,
+ context,
+ "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot",
+ AlfPackage.eINSTANCE.getIncrementOrDecrementExpression__IncrementOrDecrementExpressionOperand__DiagnosticChain_Map(),
+ INCREMENT_OR_DECREMENT_EXPRESSION_OPERAND_DIAGNOSTIC_CHAIN_MAP__EEXPRESSION,
+ Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.INCREMENT_OR_DECREMENT_EXPRESSION__INCREMENT_OR_DECREMENT_EXPRESSION_OPERAND);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean incrementOrDecrementExpressionAssignmentsBefore(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.INCREMENT_OR_DECREMENT_EXPRESSION__INCREMENT_OR_DECREMENT_EXPRESSION_ASSIGNMENTS_BEFORE,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "incrementOrDecrementExpressionAssignmentsBefore", EObjectValidator.getObjectLabel(this, context) }),
+ new Object[] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #updateAssignments() <em>Update Assignments</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #updateAssignments()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate UPDATE_ASSIGNMENTS__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getIncrementOrDecrementExpression__UpdateAssignments()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<AssignedSource> updateAssignments() {
+ try {
+ return (EList<AssignedSource>) UPDATE_ASSIGNMENTS__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public int eDerivedOperationID(int baseOperationID, Class<?> baseClass) {
+ if (baseClass == AssignableElement.class) {
+ switch (baseOperationID) {
+ case AlfPackage.ASSIGNABLE_ELEMENT___TYPE:
+ return AlfPackage.INCREMENT_OR_DECREMENT_EXPRESSION___TYPE;
+ case AlfPackage.ASSIGNABLE_ELEMENT___LOWER:
+ return AlfPackage.INCREMENT_OR_DECREMENT_EXPRESSION___LOWER;
+ case AlfPackage.ASSIGNABLE_ELEMENT___UPPER:
+ return AlfPackage.INCREMENT_OR_DECREMENT_EXPRESSION___UPPER;
+ default:
+ return super.eDerivedOperationID(baseOperationID, baseClass);
+ }
+ }
+ if (baseClass == Expression.class) {
+ switch (baseOperationID) {
+ case AlfPackage.EXPRESSION___UPDATE_ASSIGNMENTS:
+ return AlfPackage.INCREMENT_OR_DECREMENT_EXPRESSION___UPDATE_ASSIGNMENTS;
+ default:
+ return super.eDerivedOperationID(baseOperationID, baseClass);
+ }
+ }
+ return super.eDerivedOperationID(baseOperationID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object eInvoke(int operationID, EList<?> arguments) throws InvocationTargetException {
+ switch (operationID) {
+ case AlfPackage.INCREMENT_OR_DECREMENT_EXPRESSION___TYPE:
+ return type();
+ case AlfPackage.INCREMENT_OR_DECREMENT_EXPRESSION___LOWER:
+ return lower();
+ case AlfPackage.INCREMENT_OR_DECREMENT_EXPRESSION___UPPER:
+ return upper();
+ case AlfPackage.INCREMENT_OR_DECREMENT_EXPRESSION___INCREMENT_OR_DECREMENT_EXPRESSION_ASSIGNMENT_DERIVATION__DIAGNOSTICCHAIN_MAP:
+ return incrementOrDecrementExpressionAssignmentDerivation((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ case AlfPackage.INCREMENT_OR_DECREMENT_EXPRESSION___INCREMENT_OR_DECREMENT_EXPRESSION_IS_FEATURE_DERIVATION__DIAGNOSTICCHAIN_MAP:
+ return incrementOrDecrementExpressionIsFeatureDerivation((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ case AlfPackage.INCREMENT_OR_DECREMENT_EXPRESSION___INCREMENT_OR_DECREMENT_EXPRESSION_IS_INDEXED_DERIVATION__DIAGNOSTICCHAIN_MAP:
+ return incrementOrDecrementExpressionIsIndexedDerivation((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ case AlfPackage.INCREMENT_OR_DECREMENT_EXPRESSION___INCREMENT_OR_DECREMENT_EXPRESSION_IS_DATA_VALUE_UPDATE_DERIVATION__DIAGNOSTICCHAIN_MAP:
+ return incrementOrDecrementExpressionIsDataValueUpdateDerivation((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ case AlfPackage.INCREMENT_OR_DECREMENT_EXPRESSION___INCREMENT_OR_DECREMENT_EXPRESSION_FEATURE_DERIVATION__DIAGNOSTICCHAIN_MAP:
+ return incrementOrDecrementExpressionFeatureDerivation((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ case AlfPackage.INCREMENT_OR_DECREMENT_EXPRESSION___INCREMENT_OR_DECREMENT_EXPRESSION_EXPRESSION_DERIVATION__DIAGNOSTICCHAIN_MAP:
+ return incrementOrDecrementExpressionExpressionDerivation((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ case AlfPackage.INCREMENT_OR_DECREMENT_EXPRESSION___INCREMENT_OR_DECREMENT_EXPRESSION_TYPE_DERIVATION__DIAGNOSTICCHAIN_MAP:
+ return incrementOrDecrementExpressionTypeDerivation((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ case AlfPackage.INCREMENT_OR_DECREMENT_EXPRESSION___INCREMENT_OR_DECREMENT_EXPRESSION_LOWER_DERIVATION__DIAGNOSTICCHAIN_MAP:
+ return incrementOrDecrementExpressionLowerDerivation((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ case AlfPackage.INCREMENT_OR_DECREMENT_EXPRESSION___INCREMENT_OR_DECREMENT_EXPRESSION_UPPER_DERIVATION__DIAGNOSTICCHAIN_MAP:
+ return incrementOrDecrementExpressionUpperDerivation((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ case AlfPackage.INCREMENT_OR_DECREMENT_EXPRESSION___INCREMENT_OR_DECREMENT_EXPRESSION_OPERAND__DIAGNOSTICCHAIN_MAP:
+ return incrementOrDecrementExpressionOperand((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ case AlfPackage.INCREMENT_OR_DECREMENT_EXPRESSION___INCREMENT_OR_DECREMENT_EXPRESSION_ASSIGNMENTS_BEFORE__DIAGNOSTICCHAIN_MAP:
+ return incrementOrDecrementExpressionAssignmentsBefore((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ case AlfPackage.INCREMENT_OR_DECREMENT_EXPRESSION___UPDATE_ASSIGNMENTS:
+ return updateAssignments();
+ }
+ return super.eInvoke(operationID, arguments);
+ }
+
+} // IncrementOrDecrementExpressionImpl
diff --git a/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/InputNamedExpressionImpl.java b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/InputNamedExpressionImpl.java
new file mode 100644
index 00000000000..03b61bfd7ad
--- /dev/null
+++ b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/InputNamedExpressionImpl.java
@@ -0,0 +1,266 @@
+/**
+ */
+package org.eclipse.papyrus.uml.alf.impl;
+
+import java.lang.reflect.InvocationTargetException;
+
+import java.util.Map;
+
+import org.eclipse.emf.common.util.BasicDiagnostic;
+import org.eclipse.emf.common.util.Diagnostic;
+import org.eclipse.emf.common.util.DiagnosticChain;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.common.util.WrappedException;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EOperation;
+
+import org.eclipse.emf.ecore.plugin.EcorePlugin;
+
+import org.eclipse.emf.ecore.util.EObjectValidator;
+
+import org.eclipse.papyrus.uml.alf.AlfPackage;
+import org.eclipse.papyrus.uml.alf.Expression;
+import org.eclipse.papyrus.uml.alf.InputNamedExpression;
+import org.eclipse.papyrus.uml.alf.Tuple;
+
+import org.eclipse.papyrus.uml.alf.util.AlfValidator;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Input Named Expression</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.uml.alf.impl.InputNamedExpressionImpl#getName <em>Name</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.impl.InputNamedExpressionImpl#getExpression <em>Expression</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.impl.InputNamedExpressionImpl#getIndex <em>Index</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.impl.InputNamedExpressionImpl#isIsCollectionConversion <em>Is Collection Conversion</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.impl.InputNamedExpressionImpl#isIsBitStringConversion <em>Is Bit String Conversion</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class InputNamedExpressionImpl extends SyntaxElementImpl implements InputNamedExpression {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected InputNamedExpressionImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return AlfPackage.eINSTANCE.getInputNamedExpression();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public String getName() {
+ return (String) eGet(AlfPackage.eINSTANCE.getInputNamedExpression_Name(), true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setName(String newName) {
+ eSet(AlfPackage.eINSTANCE.getInputNamedExpression_Name(), newName);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public Expression getExpression() {
+ return (Expression) eGet(AlfPackage.eINSTANCE.getInputNamedExpression_Expression(), true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setExpression(Expression newExpression) {
+ eSet(AlfPackage.eINSTANCE.getInputNamedExpression_Expression(), newExpression);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public Expression getIndex() {
+ return (Expression) eGet(AlfPackage.eINSTANCE.getInputNamedExpression_Index(), true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setIndex(Expression newIndex) {
+ eSet(AlfPackage.eINSTANCE.getInputNamedExpression_Index(), newIndex);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isIsCollectionConversion() {
+ return (Boolean) eGet(AlfPackage.eINSTANCE.getInputNamedExpression_IsCollectionConversion(), true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setIsCollectionConversion(boolean newIsCollectionConversion) {
+ eSet(AlfPackage.eINSTANCE.getInputNamedExpression_IsCollectionConversion(), newIsCollectionConversion);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isIsBitStringConversion() {
+ return (Boolean) eGet(AlfPackage.eINSTANCE.getInputNamedExpression_IsBitStringConversion(), true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setIsBitStringConversion(boolean newIsBitStringConversion) {
+ eSet(AlfPackage.eINSTANCE.getInputNamedExpression_IsBitStringConversion(), newIsBitStringConversion);
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #tuple() <em>Tuple</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #tuple()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate TUPLE__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getInputNamedExpression__Tuple()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public Tuple tuple() {
+ try {
+ return (Tuple) TUPLE__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean namedExpressionIsCollectionConversionDerivation(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.INPUT_NAMED_EXPRESSION__NAMED_EXPRESSION_IS_COLLECTION_CONVERSION_DERIVATION,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "namedExpressionIsCollectionConversionDerivation", EObjectValidator.getObjectLabel(this, context) }),
+ new Object[] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean namedExpressionIsBitStringConversionDerivation(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.INPUT_NAMED_EXPRESSION__NAMED_EXPRESSION_IS_BIT_STRING_CONVERSION_DERIVATION,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "namedExpressionIsBitStringConversionDerivation", EObjectValidator.getObjectLabel(this, context) }),
+ new Object[] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object eInvoke(int operationID, EList<?> arguments) throws InvocationTargetException {
+ switch (operationID) {
+ case AlfPackage.INPUT_NAMED_EXPRESSION___TUPLE:
+ return tuple();
+ case AlfPackage.INPUT_NAMED_EXPRESSION___NAMED_EXPRESSION_IS_COLLECTION_CONVERSION_DERIVATION__DIAGNOSTICCHAIN_MAP:
+ return namedExpressionIsCollectionConversionDerivation((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ case AlfPackage.INPUT_NAMED_EXPRESSION___NAMED_EXPRESSION_IS_BIT_STRING_CONVERSION_DERIVATION__DIAGNOSTICCHAIN_MAP:
+ return namedExpressionIsBitStringConversionDerivation((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ }
+ return super.eInvoke(operationID, arguments);
+ }
+
+} // InputNamedExpressionImpl
diff --git a/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/InstanceCreationExpressionImpl.java b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/InstanceCreationExpressionImpl.java
new file mode 100644
index 00000000000..fa7ee76f773
--- /dev/null
+++ b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/InstanceCreationExpressionImpl.java
@@ -0,0 +1,606 @@
+/**
+ */
+package org.eclipse.papyrus.uml.alf.impl;
+
+import java.lang.reflect.InvocationTargetException;
+import java.math.BigInteger;
+import java.util.Map;
+import org.eclipse.emf.common.util.BasicDiagnostic;
+import org.eclipse.emf.common.util.Diagnostic;
+import org.eclipse.emf.common.util.DiagnosticChain;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.common.util.WrappedException;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EOperation;
+import org.eclipse.emf.ecore.plugin.EcorePlugin;
+import org.eclipse.emf.ecore.util.EObjectValidator;
+import org.eclipse.papyrus.uml.alf.AlfPackage;
+import org.eclipse.papyrus.uml.alf.AssignableElement;
+import org.eclipse.papyrus.uml.alf.ElementReference;
+import org.eclipse.papyrus.uml.alf.FeatureReference;
+import org.eclipse.papyrus.uml.alf.InstanceCreationExpression;
+import org.eclipse.papyrus.uml.alf.InvocationExpression;
+import org.eclipse.papyrus.uml.alf.QualifiedName;
+import org.eclipse.papyrus.uml.alf.util.AlfValidator;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Instance Creation Expression</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.uml.alf.impl.InstanceCreationExpressionImpl#isIsConstructorless <em>Is Constructorless</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.impl.InstanceCreationExpressionImpl#isIsObjectCreation <em>Is Object Creation</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.impl.InstanceCreationExpressionImpl#getConstructor <em>Constructor</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class InstanceCreationExpressionImpl extends InvocationExpressionImpl implements InstanceCreationExpression {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected InstanceCreationExpressionImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return AlfPackage.eINSTANCE.getInstanceCreationExpression();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isIsConstructorless() {
+ return (Boolean) eGet(AlfPackage.eINSTANCE.getInstanceCreationExpression_IsConstructorless(), true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setIsConstructorless(boolean newIsConstructorless) {
+ eSet(AlfPackage.eINSTANCE.getInstanceCreationExpression_IsConstructorless(), newIsConstructorless);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isIsObjectCreation() {
+ return (Boolean) eGet(AlfPackage.eINSTANCE.getInstanceCreationExpression_IsObjectCreation(), true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setIsObjectCreation(boolean newIsObjectCreation) {
+ eSet(AlfPackage.eINSTANCE.getInstanceCreationExpression_IsObjectCreation(), newIsObjectCreation);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public QualifiedName getConstructor() {
+ return (QualifiedName) eGet(AlfPackage.eINSTANCE.getInstanceCreationExpression_Constructor(), true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setConstructor(QualifiedName newConstructor) {
+ eSet(AlfPackage.eINSTANCE.getInstanceCreationExpression_Constructor(), newConstructor);
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #referent() <em>Referent</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #referent()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate REFERENT__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getInstanceCreationExpression__Referent()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public ElementReference referent() {
+ try {
+ return (ElementReference) REFERENT__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #feature() <em>Feature</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #feature()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate FEATURE__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getInstanceCreationExpression__Feature()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public FeatureReference feature() {
+ try {
+ return (FeatureReference) FEATURE__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #type() <em>Type</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #type()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate TYPE__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getInstanceCreationExpression__Type()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public ElementReference type() {
+ try {
+ return (ElementReference) TYPE__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #lower() <em>Lower</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #lower()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate LOWER__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getInstanceCreationExpression__Lower()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public BigInteger lower() {
+ try {
+ return (BigInteger) LOWER__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #upper() <em>Upper</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #upper()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate UPPER__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getInstanceCreationExpression__Upper()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public BigInteger upper() {
+ try {
+ return (BigInteger) UPPER__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean instanceCreationExpressionIsObjectCreationDerivation(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.INSTANCE_CREATION_EXPRESSION__INSTANCE_CREATION_EXPRESSION_IS_OBJECT_CREATION_DERIVATION,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "instanceCreationExpressionIsObjectCreationDerivation", EObjectValidator.getObjectLabel(this, context) }),
+ new Object[] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean instanceCreationExpressionIsConstructorlessDerivation(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.INSTANCE_CREATION_EXPRESSION__INSTANCE_CREATION_EXPRESSION_IS_CONSTRUCTORLESS_DERIVATION,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "instanceCreationExpressionIsConstructorlessDerivation", EObjectValidator.getObjectLabel(this, context) }),
+ new Object[] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean instanceCreationExpressionReferentDerivation(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.INSTANCE_CREATION_EXPRESSION__INSTANCE_CREATION_EXPRESSION_REFERENT_DERIVATION,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "instanceCreationExpressionReferentDerivation", EObjectValidator.getObjectLabel(this, context) }),
+ new Object[] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean instanceCreationExpressionFeatureDerivation(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.INSTANCE_CREATION_EXPRESSION__INSTANCE_CREATION_EXPRESSION_FEATURE_DERIVATION,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "instanceCreationExpressionFeatureDerivation", EObjectValidator.getObjectLabel(this, context) }),
+ new Object[] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * The cached validation expression for the '{@link #instanceCreationExpressionConstructor(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Instance Creation Expression Constructor</em>}' invariant operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #instanceCreationExpressionConstructor(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ * @ordered
+ */
+ protected static final String INSTANCE_CREATION_EXPRESSION_CONSTRUCTOR_DIAGNOSTIC_CHAIN_MAP__EEXPRESSION = "\n" +
+ " let referent = self.referent in\n" +
+ " referent <> null and\n" +
+ " (referent.isDataType() or referent.isClass() or referent.isOperation())";
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean instanceCreationExpressionConstructor(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return AlfValidator.validate
+ (AlfPackage.eINSTANCE.getInstanceCreationExpression(),
+ this,
+ diagnostics,
+ context,
+ "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot",
+ AlfPackage.eINSTANCE.getInstanceCreationExpression__InstanceCreationExpressionConstructor__DiagnosticChain_Map(),
+ INSTANCE_CREATION_EXPRESSION_CONSTRUCTOR_DIAGNOSTIC_CHAIN_MAP__EEXPRESSION,
+ Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.INSTANCE_CREATION_EXPRESSION__INSTANCE_CREATION_EXPRESSION_CONSTRUCTOR);
+ }
+
+ /**
+ * The cached validation expression for the '{@link #instanceCreationExpressionConstructorlessLegality(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Instance Creation Expression Constructorless Legality</em>}' invariant operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #instanceCreationExpressionConstructorlessLegality(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ * @ordered
+ */
+ protected static final String INSTANCE_CREATION_EXPRESSION_CONSTRUCTORLESS_LEGALITY_DIAGNOSTIC_CHAIN_MAP__EEXPRESSION = "\n" +
+ " self.isConstructorless implies \n" +
+ " self.tuple.size() = 0 and \n" +
+ " not self.referent.ownedMembers()->exists(isConstructor())";
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean instanceCreationExpressionConstructorlessLegality(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return AlfValidator.validate
+ (AlfPackage.eINSTANCE.getInstanceCreationExpression(),
+ this,
+ diagnostics,
+ context,
+ "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot",
+ AlfPackage.eINSTANCE.getInstanceCreationExpression__InstanceCreationExpressionConstructorlessLegality__DiagnosticChain_Map(),
+ INSTANCE_CREATION_EXPRESSION_CONSTRUCTORLESS_LEGALITY_DIAGNOSTIC_CHAIN_MAP__EEXPRESSION,
+ Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.INSTANCE_CREATION_EXPRESSION__INSTANCE_CREATION_EXPRESSION_CONSTRUCTORLESS_LEGALITY);
+ }
+
+ /**
+ * The cached validation expression for the '{@link #instanceCreationExpressionDataTypeCompatibility(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Instance Creation Expression Data Type Compatibility</em>}' invariant operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #instanceCreationExpressionDataTypeCompatibility(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ * @ordered
+ */
+ protected static final String INSTANCE_CREATION_EXPRESSION_DATA_TYPE_COMPATIBILITY_DIAGNOSTIC_CHAIN_MAP__EEXPRESSION = "\n" +
+ " -- TODO: Once overloading resolution is implemented, change this to only\n" +
+ " -- be for data value creation.\n" +
+ " self.tuple.size() <= self.parameterCount() and\n" +
+ " self.tuple.input->forAll(input | self.parameterIsAssignableFrom(input)) and\n" +
+ " self.tuple.output->forAll(output | self.parameterIsAssignableTo(output))";
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean instanceCreationExpressionDataTypeCompatibility(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return AlfValidator.validate
+ (AlfPackage.eINSTANCE.getInstanceCreationExpression(),
+ this,
+ diagnostics,
+ context,
+ "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot",
+ AlfPackage.eINSTANCE.getInstanceCreationExpression__InstanceCreationExpressionDataTypeCompatibility__DiagnosticChain_Map(),
+ INSTANCE_CREATION_EXPRESSION_DATA_TYPE_COMPATIBILITY_DIAGNOSTIC_CHAIN_MAP__EEXPRESSION,
+ Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.INSTANCE_CREATION_EXPRESSION__INSTANCE_CREATION_EXPRESSION_DATA_TYPE_COMPATIBILITY);
+ }
+
+ /**
+ * The cached validation expression for the '{@link #instanceCreationExpressionReferent(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Instance Creation Expression Referent</em>}' invariant operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #instanceCreationExpressionReferent(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ * @ordered
+ */
+ protected static final String INSTANCE_CREATION_EXPRESSION_REFERENT_DIAGNOSTIC_CHAIN_MAP__EEXPRESSION = "\n" +
+ " let referent = self.referent in\n" +
+ " let classReferent =\n" +
+ " if referent <> null and referent.isOperation() then \n" +
+ " referent.namespace()\n" +
+ " else\n" +
+ " referent\n" +
+ " endif\n" +
+ " in\n" +
+ " referent <> null and not referent.isAbstractClassifier()";
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean instanceCreationExpressionReferent(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return AlfValidator.validate
+ (AlfPackage.eINSTANCE.getInstanceCreationExpression(),
+ this,
+ diagnostics,
+ context,
+ "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot",
+ AlfPackage.eINSTANCE.getInstanceCreationExpression__InstanceCreationExpressionReferent__DiagnosticChain_Map(),
+ INSTANCE_CREATION_EXPRESSION_REFERENT_DIAGNOSTIC_CHAIN_MAP__EEXPRESSION,
+ Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.INSTANCE_CREATION_EXPRESSION__INSTANCE_CREATION_EXPRESSION_REFERENT);
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #parameterElements() <em>Parameter Elements</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #parameterElements()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate PARAMETER_ELEMENTS__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getInstanceCreationExpression__ParameterElements()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<ElementReference> parameterElements() {
+ try {
+ return (EList<ElementReference>) PARAMETER_ELEMENTS__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public int eDerivedOperationID(int baseOperationID, Class<?> baseClass) {
+ if (baseClass == AssignableElement.class) {
+ switch (baseOperationID) {
+ case AlfPackage.ASSIGNABLE_ELEMENT___TYPE:
+ return AlfPackage.INSTANCE_CREATION_EXPRESSION___TYPE;
+ case AlfPackage.ASSIGNABLE_ELEMENT___LOWER:
+ return AlfPackage.INSTANCE_CREATION_EXPRESSION___LOWER;
+ case AlfPackage.ASSIGNABLE_ELEMENT___UPPER:
+ return AlfPackage.INSTANCE_CREATION_EXPRESSION___UPPER;
+ default:
+ return super.eDerivedOperationID(baseOperationID, baseClass);
+ }
+ }
+ if (baseClass == InvocationExpression.class) {
+ switch (baseOperationID) {
+ case AlfPackage.INVOCATION_EXPRESSION___FEATURE:
+ return AlfPackage.INSTANCE_CREATION_EXPRESSION___FEATURE;
+ case AlfPackage.INVOCATION_EXPRESSION___REFERENT:
+ return AlfPackage.INSTANCE_CREATION_EXPRESSION___REFERENT;
+ case AlfPackage.INVOCATION_EXPRESSION___TYPE:
+ return AlfPackage.INSTANCE_CREATION_EXPRESSION___TYPE;
+ case AlfPackage.INVOCATION_EXPRESSION___UPPER:
+ return AlfPackage.INSTANCE_CREATION_EXPRESSION___UPPER;
+ case AlfPackage.INVOCATION_EXPRESSION___LOWER:
+ return AlfPackage.INSTANCE_CREATION_EXPRESSION___LOWER;
+ case AlfPackage.INVOCATION_EXPRESSION___PARAMETER_ELEMENTS:
+ return AlfPackage.INSTANCE_CREATION_EXPRESSION___PARAMETER_ELEMENTS;
+ default:
+ return super.eDerivedOperationID(baseOperationID, baseClass);
+ }
+ }
+ return super.eDerivedOperationID(baseOperationID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object eInvoke(int operationID, EList<?> arguments) throws InvocationTargetException {
+ switch (operationID) {
+ case AlfPackage.INSTANCE_CREATION_EXPRESSION___REFERENT:
+ return referent();
+ case AlfPackage.INSTANCE_CREATION_EXPRESSION___FEATURE:
+ return feature();
+ case AlfPackage.INSTANCE_CREATION_EXPRESSION___TYPE:
+ return type();
+ case AlfPackage.INSTANCE_CREATION_EXPRESSION___LOWER:
+ return lower();
+ case AlfPackage.INSTANCE_CREATION_EXPRESSION___UPPER:
+ return upper();
+ case AlfPackage.INSTANCE_CREATION_EXPRESSION___INSTANCE_CREATION_EXPRESSION_IS_OBJECT_CREATION_DERIVATION__DIAGNOSTICCHAIN_MAP:
+ return instanceCreationExpressionIsObjectCreationDerivation((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ case AlfPackage.INSTANCE_CREATION_EXPRESSION___INSTANCE_CREATION_EXPRESSION_IS_CONSTRUCTORLESS_DERIVATION__DIAGNOSTICCHAIN_MAP:
+ return instanceCreationExpressionIsConstructorlessDerivation((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ case AlfPackage.INSTANCE_CREATION_EXPRESSION___INSTANCE_CREATION_EXPRESSION_REFERENT_DERIVATION__DIAGNOSTICCHAIN_MAP:
+ return instanceCreationExpressionReferentDerivation((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ case AlfPackage.INSTANCE_CREATION_EXPRESSION___INSTANCE_CREATION_EXPRESSION_FEATURE_DERIVATION__DIAGNOSTICCHAIN_MAP:
+ return instanceCreationExpressionFeatureDerivation((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ case AlfPackage.INSTANCE_CREATION_EXPRESSION___INSTANCE_CREATION_EXPRESSION_CONSTRUCTOR__DIAGNOSTICCHAIN_MAP:
+ return instanceCreationExpressionConstructor((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ case AlfPackage.INSTANCE_CREATION_EXPRESSION___INSTANCE_CREATION_EXPRESSION_CONSTRUCTORLESS_LEGALITY__DIAGNOSTICCHAIN_MAP:
+ return instanceCreationExpressionConstructorlessLegality((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ case AlfPackage.INSTANCE_CREATION_EXPRESSION___INSTANCE_CREATION_EXPRESSION_DATA_TYPE_COMPATIBILITY__DIAGNOSTICCHAIN_MAP:
+ return instanceCreationExpressionDataTypeCompatibility((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ case AlfPackage.INSTANCE_CREATION_EXPRESSION___INSTANCE_CREATION_EXPRESSION_REFERENT__DIAGNOSTICCHAIN_MAP:
+ return instanceCreationExpressionReferent((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ case AlfPackage.INSTANCE_CREATION_EXPRESSION___PARAMETER_ELEMENTS:
+ return parameterElements();
+ }
+ return super.eInvoke(operationID, arguments);
+ }
+
+} // InstanceCreationExpressionImpl
diff --git a/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/InternalElementReferenceImpl.java b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/InternalElementReferenceImpl.java
new file mode 100644
index 00000000000..f9adf58b693
--- /dev/null
+++ b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/InternalElementReferenceImpl.java
@@ -0,0 +1,2370 @@
+/**
+ */
+package org.eclipse.papyrus.uml.alf.impl;
+
+import java.lang.reflect.InvocationTargetException;
+import java.math.BigInteger;
+import org.eclipse.emf.common.util.BasicEList;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.common.util.WrappedException;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EOperation;
+import org.eclipse.papyrus.uml.alf.AlfPackage;
+import org.eclipse.papyrus.uml.alf.ElementReference;
+import org.eclipse.papyrus.uml.alf.InternalElementReference;
+import org.eclipse.papyrus.uml.alf.Member;
+import org.eclipse.papyrus.uml.alf.SyntaxElement;
+import org.eclipse.papyrus.uml.alf.UnitDefinition;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Internal Element Reference</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.uml.alf.impl.InternalElementReferenceImpl#getElement <em>Element</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class InternalElementReferenceImpl extends ElementReferenceImpl implements InternalElementReference {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected InternalElementReferenceImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return AlfPackage.eINSTANCE.getInternalElementReference();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public SyntaxElement getElement() {
+ return (SyntaxElement) eGet(AlfPackage.eINSTANCE.getInternalElementReference_Element(), true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setElement(SyntaxElement newElement) {
+ eSet(AlfPackage.eINSTANCE.getInternalElementReference_Element(), newElement);
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #isAlf() <em>Is Alf</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #isAlf()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate IS_ALF__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getInternalElementReference__IsAlf()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isAlf() {
+ try {
+ return (Boolean) IS_ALF__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #asAlf() <em>As Alf</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #asAlf()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate AS_ALF__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getInternalElementReference__AsAlf()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public SyntaxElement asAlf() {
+ try {
+ return (SyntaxElement) AS_ALF__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #asMember() <em>As Member</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #asMember()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate AS_MEMBER__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getInternalElementReference__AsMember()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public Member asMember() {
+ try {
+ return (Member) AS_MEMBER__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #isSameKindAs(org.eclipse.papyrus.uml.alf.ElementReference) <em>Is Same Kind As</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #isSameKindAs(org.eclipse.papyrus.uml.alf.ElementReference)
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate IS_SAME_KIND_AS_ELEMENT_REFERENCE__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getInternalElementReference__IsSameKindAs__ElementReference()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isSameKindAs(ElementReference member) {
+ try {
+ return (Boolean) IS_SAME_KIND_AS_ELEMENT_REFERENCE__EINVOCATION_DELEGATE.dynamicInvoke(this, new BasicEList.UnmodifiableEList<Object>(1, new Object[] { member }));
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #isNamedElement() <em>Is Named Element</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #isNamedElement()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate IS_NAMED_ELEMENT__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getInternalElementReference__IsNamedElement()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isNamedElement() {
+ try {
+ return (Boolean) IS_NAMED_ELEMENT__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #isNamespace() <em>Is Namespace</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #isNamespace()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate IS_NAMESPACE__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getInternalElementReference__IsNamespace()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isNamespace() {
+ try {
+ return (Boolean) IS_NAMESPACE__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #isNamespaceFor(org.eclipse.papyrus.uml.alf.UnitDefinition) <em>Is Namespace For</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #isNamespaceFor(org.eclipse.papyrus.uml.alf.UnitDefinition)
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate IS_NAMESPACE_FOR_UNIT_DEFINITION__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getInternalElementReference__IsNamespaceFor__UnitDefinition()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isNamespaceFor(UnitDefinition unit) {
+ try {
+ return (Boolean) IS_NAMESPACE_FOR_UNIT_DEFINITION__EINVOCATION_DELEGATE.dynamicInvoke(this, new BasicEList.UnmodifiableEList<Object>(1, new Object[] { unit }));
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #isModelNamespace() <em>Is Model Namespace</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #isModelNamespace()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate IS_MODEL_NAMESPACE__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getInternalElementReference__IsModelNamespace()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isModelNamespace() {
+ try {
+ return (Boolean) IS_MODEL_NAMESPACE__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #isPackage() <em>Is Package</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #isPackage()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate IS_PACKAGE__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getInternalElementReference__IsPackage()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isPackage() {
+ try {
+ return (Boolean) IS_PACKAGE__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #isProfile() <em>Is Profile</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #isProfile()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate IS_PROFILE__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getInternalElementReference__IsProfile()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isProfile() {
+ try {
+ return (Boolean) IS_PROFILE__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #isPackageableElement() <em>Is Packageable Element</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #isPackageableElement()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate IS_PACKAGEABLE_ELEMENT__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getInternalElementReference__IsPackageableElement()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isPackageableElement() {
+ try {
+ return (Boolean) IS_PACKAGEABLE_ELEMENT__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #isClassifier() <em>Is Classifier</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #isClassifier()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate IS_CLASSIFIER__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getInternalElementReference__IsClassifier()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isClassifier() {
+ try {
+ return (Boolean) IS_CLASSIFIER__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #isAbstractClassifier() <em>Is Abstract Classifier</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #isAbstractClassifier()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate IS_ABSTRACT_CLASSIFIER__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getInternalElementReference__IsAbstractClassifier()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isAbstractClassifier() {
+ try {
+ return (Boolean) IS_ABSTRACT_CLASSIFIER__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #isAssociation() <em>Is Association</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #isAssociation()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate IS_ASSOCIATION__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getInternalElementReference__IsAssociation()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isAssociation() {
+ try {
+ return (Boolean) IS_ASSOCIATION__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #isDataType() <em>Is Data Type</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #isDataType()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate IS_DATA_TYPE__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getInternalElementReference__IsDataType()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isDataType() {
+ try {
+ return (Boolean) IS_DATA_TYPE__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #isClass() <em>Is Class</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #isClass()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate IS_CLASS__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getInternalElementReference__IsClass()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isClass() {
+ try {
+ return (Boolean) IS_CLASS__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #isActiveClass() <em>Is Active Class</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #isActiveClass()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate IS_ACTIVE_CLASS__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getInternalElementReference__IsActiveClass()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isActiveClass() {
+ try {
+ return (Boolean) IS_ACTIVE_CLASS__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #isSignal() <em>Is Signal</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #isSignal()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate IS_SIGNAL__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getInternalElementReference__IsSignal()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isSignal() {
+ try {
+ return (Boolean) IS_SIGNAL__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #isEnumeration() <em>Is Enumeration</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #isEnumeration()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate IS_ENUMERATION__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getInternalElementReference__IsEnumeration()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isEnumeration() {
+ try {
+ return (Boolean) IS_ENUMERATION__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #isBehavior() <em>Is Behavior</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #isBehavior()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate IS_BEHAVIOR__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getInternalElementReference__IsBehavior()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isBehavior() {
+ try {
+ return (Boolean) IS_BEHAVIOR__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #isActivity() <em>Is Activity</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #isActivity()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate IS_ACTIVITY__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getInternalElementReference__IsActivity()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isActivity() {
+ try {
+ return (Boolean) IS_ACTIVITY__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #isMethod() <em>Is Method</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #isMethod()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate IS_METHOD__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getInternalElementReference__IsMethod()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isMethod() {
+ try {
+ return (Boolean) IS_METHOD__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isReception() {
+ try {
+ return (Boolean) IS_RECEPTION__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #isPrimitiveType() <em>Is Primitive Type</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #isPrimitiveType()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate IS_PRIMITIVE_TYPE__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getInternalElementReference__IsPrimitiveType()).getInvocationDelegate();
+ /**
+ * The cached invocation delegate for the '{@link #isReception() <em>Is Reception</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #isReception()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate IS_RECEPTION__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getInternalElementReference__IsReception()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isPrimitiveType() {
+ try {
+ return (Boolean) IS_PRIMITIVE_TYPE__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #isOperation() <em>Is Operation</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #isOperation()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate IS_OPERATION__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getInternalElementReference__IsOperation()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isOperation() {
+ try {
+ return (Boolean) IS_OPERATION__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #isConstructor() <em>Is Constructor</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #isConstructor()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate IS_CONSTRUCTOR__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getInternalElementReference__IsConstructor()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isConstructor() {
+ try {
+ return (Boolean) IS_CONSTRUCTOR__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #isDestructor() <em>Is Destructor</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #isDestructor()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate IS_DESTRUCTOR__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getInternalElementReference__IsDestructor()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isDestructor() {
+ try {
+ return (Boolean) IS_DESTRUCTOR__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #isFeature() <em>Is Feature</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #isFeature()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate IS_FEATURE__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getInternalElementReference__IsFeature()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isFeature() {
+ try {
+ return (Boolean) IS_FEATURE__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #isProperty() <em>Is Property</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #isProperty()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate IS_PROPERTY__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getInternalElementReference__IsProperty()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isProperty() {
+ try {
+ return (Boolean) IS_PROPERTY__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #isAssociationEnd() <em>Is Association End</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #isAssociationEnd()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate IS_ASSOCIATION_END__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getInternalElementReference__IsAssociationEnd()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isAssociationEnd() {
+ try {
+ return (Boolean) IS_ASSOCIATION_END__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #isParameter() <em>Is Parameter</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #isParameter()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate IS_PARAMETER__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getInternalElementReference__IsParameter()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isParameter() {
+ try {
+ return (Boolean) IS_PARAMETER__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #isTemplate() <em>Is Template</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #isTemplate()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate IS_TEMPLATE__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getInternalElementReference__IsTemplate()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isTemplate() {
+ try {
+ return (Boolean) IS_TEMPLATE__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #isTemplateParameter() <em>Is Template Parameter</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #isTemplateParameter()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate IS_TEMPLATE_PARAMETER__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getInternalElementReference__IsTemplateParameter()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isTemplateParameter() {
+ try {
+ return (Boolean) IS_TEMPLATE_PARAMETER__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #isClassifierTemplateParameter() <em>Is Classifier Template Parameter</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #isClassifierTemplateParameter()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate IS_CLASSIFIER_TEMPLATE_PARAMETER__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getInternalElementReference__IsClassifierTemplateParameter()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isClassifierTemplateParameter() {
+ try {
+ return (Boolean) IS_CLASSIFIER_TEMPLATE_PARAMETER__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #isParameteredElement() <em>Is Parametered Element</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #isParameteredElement()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate IS_PARAMETERED_ELEMENT__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getInternalElementReference__IsParameteredElement()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isParameteredElement() {
+ try {
+ return (Boolean) IS_PARAMETERED_ELEMENT__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #isTemplateBinding() <em>Is Template Binding</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #isTemplateBinding()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate IS_TEMPLATE_BINDING__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getInternalElementReference__IsTemplateBinding()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isTemplateBinding() {
+ try {
+ return (Boolean) IS_TEMPLATE_BINDING__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isEnumerationLiteral() {
+ try {
+ return (Boolean) IS_ENUMERATION_LITERAL__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isLoopVariable() {
+ try {
+ return (Boolean) IS_LOOP_VARIABLE__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isAnnotation() {
+ try {
+ return (Boolean) IS_ANNOTATION__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isSequenceExpansionExpression() {
+ try {
+ return (Boolean) IS_SEQUENCE_EXPANSION_EXPRESSION__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isAnyType() {
+ try {
+ return (Boolean) IS_ANY_TYPE__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #isStereotype() <em>Is Stereotype</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #isStereotype()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate IS_STEREOTYPE__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getInternalElementReference__IsStereotype()).getInvocationDelegate();
+ /**
+ * The cached invocation delegate for the '{@link #isEnumerationLiteral() <em>Is Enumeration Literal</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #isEnumerationLiteral()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate IS_ENUMERATION_LITERAL__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getInternalElementReference__IsEnumerationLiteral()).getInvocationDelegate();
+ /**
+ * The cached invocation delegate for the '{@link #isLoopVariable() <em>Is Loop Variable</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #isLoopVariable()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate IS_LOOP_VARIABLE__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getInternalElementReference__IsLoopVariable()).getInvocationDelegate();
+ /**
+ * The cached invocation delegate for the '{@link #isAnnotation() <em>Is Annotation</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #isAnnotation()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate IS_ANNOTATION__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getInternalElementReference__IsAnnotation()).getInvocationDelegate();
+ /**
+ * The cached invocation delegate for the '{@link #isSequenceExpansionExpression() <em>Is Sequence Expansion Expression</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #isSequenceExpansionExpression()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate IS_SEQUENCE_EXPANSION_EXPRESSION__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getInternalElementReference__IsSequenceExpansionExpression()).getInvocationDelegate();
+ /**
+ * The cached invocation delegate for the '{@link #isAnyType() <em>Is Any Type</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #isAnyType()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate IS_ANY_TYPE__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getInternalElementReference__IsAnyType()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isStereotype() {
+ try {
+ return (Boolean) IS_STEREOTYPE__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #name() <em>Name</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #name()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate NAME__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getInternalElementReference__Name()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public String name() {
+ try {
+ return (String) NAME__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #visibility() <em>Visibility</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #visibility()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate VISIBILITY__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getInternalElementReference__Visibility()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public String visibility() {
+ try {
+ return (String) VISIBILITY__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #ownedMembers() <em>Owned Members</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #ownedMembers()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate OWNED_MEMBERS__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getInternalElementReference__OwnedMembers()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<ElementReference> ownedMembers() {
+ try {
+ return (EList<ElementReference>) OWNED_MEMBERS__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #members() <em>Members</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #members()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate MEMBERS__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getInternalElementReference__Members()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<ElementReference> members() {
+ try {
+ return (EList<ElementReference>) MEMBERS__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 -->
+ *
+ * @see #opposite()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate OPPOSITE__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getInternalElementReference__Opposite()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public ElementReference opposite() {
+ try {
+ return (ElementReference) OPPOSITE__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #signal() <em>Signal</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #signal()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate SIGNAL__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getInternalElementReference__Signal()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public ElementReference signal() {
+ try {
+ return (ElementReference) SIGNAL__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #parameters() <em>Parameters</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #parameters()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate PARAMETERS__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getInternalElementReference__Parameters()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<ElementReference> parameters() {
+ try {
+ return (EList<ElementReference>) PARAMETERS__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #returnParameter() <em>Return Parameter</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #returnParameter()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate RETURN_PARAMETER__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getInternalElementReference__ReturnParameter()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public ElementReference returnParameter() {
+ try {
+ return (ElementReference) RETURN_PARAMETER__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #specification() <em>Specification</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #specification()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate SPECIFICATION__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getInternalElementReference__Specification()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public ElementReference specification() {
+ try {
+ return (ElementReference) SPECIFICATION__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #redefinedOperaions() <em>Redefined Operaions</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #redefinedOperaions()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate REDEFINED_OPERAIONS__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getInternalElementReference__RedefinedOperaions()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<ElementReference> redefinedOperaions() {
+ try {
+ return (EList<ElementReference>) REDEFINED_OPERAIONS__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #namespace() <em>Namespace</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #namespace()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate NAMESPACE__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getInternalElementReference__Namespace()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public ElementReference namespace() {
+ try {
+ return (ElementReference) NAMESPACE__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #template() <em>Template</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #template()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate TEMPLATE__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getInternalElementReference__Template()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public ElementReference template() {
+ try {
+ return (ElementReference) TEMPLATE__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #templateParameters() <em>Template Parameters</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #templateParameters()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate TEMPLATE_PARAMETERS__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getInternalElementReference__TemplateParameters()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<ElementReference> templateParameters() {
+ try {
+ return (EList<ElementReference>) TEMPLATE_PARAMETERS__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #parameteredElements() <em>Parametered Elements</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #parameteredElements()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate PARAMETERED_ELEMENTS__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getInternalElementReference__ParameteredElements()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<ElementReference> parameteredElements() {
+ try {
+ return (EList<ElementReference>) PARAMETERED_ELEMENTS__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #templateActuals() <em>Template Actuals</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #templateActuals()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate TEMPLATE_ACTUALS__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getInternalElementReference__TemplateActuals()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<ElementReference> templateActuals() {
+ try {
+ return (EList<ElementReference>) TEMPLATE_ACTUALS__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #direction() <em>Direction</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #direction()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate DIRECTION__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getInternalElementReference__Direction()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public String direction() {
+ try {
+ return (String) DIRECTION__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #association() <em>Association</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #association()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate ASSOCIATION__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getInternalElementReference__Association()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public ElementReference association() {
+ try {
+ return (ElementReference) ASSOCIATION__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #type() <em>Type</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #type()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate TYPE__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getInternalElementReference__Type()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public ElementReference type() {
+ try {
+ return (ElementReference) TYPE__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #lower() <em>Lower</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #lower()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate LOWER__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getInternalElementReference__Lower()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public BigInteger lower() {
+ try {
+ return (BigInteger) LOWER__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #upper() <em>Upper</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #upper()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate UPPER__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getInternalElementReference__Upper()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public BigInteger upper() {
+ try {
+ return (BigInteger) UPPER__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #isOrdered() <em>Is Ordered</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #isOrdered()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate IS_ORDERED__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getInternalElementReference__IsOrdered()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isOrdered() {
+ try {
+ return (Boolean) IS_ORDERED__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #isNonunique() <em>Is Nonunique</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #isNonunique()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate IS_NONUNIQUE__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getInternalElementReference__IsNonunique()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isNonunique() {
+ try {
+ return (Boolean) IS_NONUNIQUE__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #parents() <em>Parents</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #parents()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate PARENTS__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getInternalElementReference__Parents()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<ElementReference> parents() {
+ try {
+ return (EList<ElementReference>) PARENTS__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #allParents() <em>All Parents</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #allParents()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate ALL_PARENTS__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getInternalElementReference__AllParents()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<ElementReference> allParents() {
+ try {
+ return (EList<ElementReference>) ALL_PARENTS__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #classifierBehavior() <em>Classifier Behavior</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #classifierBehavior()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate CLASSIFIER_BEHAVIOR__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getInternalElementReference__ClassifierBehavior()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public ElementReference classifierBehavior() {
+ try {
+ return (ElementReference) CLASSIFIER_BEHAVIOR__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #appliedProfiles() <em>Applied Profiles</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #appliedProfiles()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate APPLIED_PROFILES__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getInternalElementReference__AppliedProfiles()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<ElementReference> appliedProfiles() {
+ try {
+ return (EList<ElementReference>) APPLIED_PROFILES__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #activeClass() <em>Active Class</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #activeClass()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate ACTIVE_CLASS__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getInternalElementReference__ActiveClass()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public ElementReference activeClass() {
+ try {
+ return (ElementReference) ACTIVE_CLASS__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #conformsTo(org.eclipse.papyrus.uml.alf.ElementReference) <em>Conforms To</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #conformsTo(org.eclipse.papyrus.uml.alf.ElementReference)
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate CONFORMS_TO_ELEMENT_REFERENCE__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getInternalElementReference__ConformsTo__ElementReference()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean conformsTo(ElementReference other) {
+ try {
+ return (Boolean) CONFORMS_TO_ELEMENT_REFERENCE__EINVOCATION_DELEGATE.dynamicInvoke(this, new BasicEList.UnmodifiableEList<Object>(1, new Object[] { other }));
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #equals(org.eclipse.papyrus.uml.alf.ElementReference) <em>Equals</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #equals(org.eclipse.papyrus.uml.alf.ElementReference)
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate EQUALS_ELEMENT_REFERENCE__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getInternalElementReference__Equals__ElementReference()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean equals(ElementReference other) {
+ try {
+ return (Boolean) EQUALS_ELEMENT_REFERENCE__EINVOCATION_DELEGATE.dynamicInvoke(this, new BasicEList.UnmodifiableEList<Object>(1, new Object[] { other }));
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #copy() <em>Copy</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #copy()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate COPY__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getInternalElementReference__Copy()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public ElementReference copy() {
+ try {
+ return (ElementReference) COPY__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #modelScope() <em>Model Scope</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #modelScope()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate MODEL_SCOPE__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getInternalElementReference__ModelScope()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public ElementReference modelScope() {
+ try {
+ return (ElementReference) MODEL_SCOPE__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #resolvePathName(java.lang.String) <em>Resolve Path Name</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #resolvePathName(java.lang.String)
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate RESOLVE_PATH_NAME_STRING__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getInternalElementReference__ResolvePathName__String()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<ElementReference> resolvePathName(String pathName) {
+ try {
+ return (EList<ElementReference>) RESOLVE_PATH_NAME_STRING__EINVOCATION_DELEGATE.dynamicInvoke(this, new BasicEList.UnmodifiableEList<Object>(1, new Object[] { pathName }));
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #resolveInScope(java.lang.String) <em>Resolve In Scope</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #resolveInScope(java.lang.String)
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate RESOLVE_IN_SCOPE_STRING__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getInternalElementReference__ResolveInScope__String()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<ElementReference> resolveInScope(String name) {
+ try {
+ return (EList<ElementReference>) RESOLVE_IN_SCOPE_STRING__EINVOCATION_DELEGATE.dynamicInvoke(this, new BasicEList.UnmodifiableEList<Object>(1, new Object[] { name }));
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #resolveStereotypeName(java.lang.String) <em>Resolve Stereotype Name</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #resolveStereotypeName(java.lang.String)
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate RESOLVE_STEREOTYPE_NAME_STRING__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getInternalElementReference__ResolveStereotypeName__String()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<ElementReference> resolveStereotypeName(String stereotypeName) {
+ try {
+ return (EList<ElementReference>) RESOLVE_STEREOTYPE_NAME_STRING__EINVOCATION_DELEGATE.dynamicInvoke(this, new BasicEList.UnmodifiableEList<Object>(1, new Object[] { stereotypeName }));
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #stub() <em>Stub</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #stub()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate STUB__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getInternalElementReference__Stub()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public ElementReference stub() {
+ try {
+ return (ElementReference) STUB__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #stubFor(org.eclipse.papyrus.uml.alf.UnitDefinition) <em>Stub For</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #stubFor(org.eclipse.papyrus.uml.alf.UnitDefinition)
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate STUB_FOR_UNIT_DEFINITION__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getInternalElementReference__StubFor__UnitDefinition()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public ElementReference stubFor(UnitDefinition unit) {
+ try {
+ return (ElementReference) STUB_FOR_UNIT_DEFINITION__EINVOCATION_DELEGATE.dynamicInvoke(this, new BasicEList.UnmodifiableEList<Object>(1, new Object[] { unit }));
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public int eDerivedOperationID(int baseOperationID, Class<?> baseClass) {
+ if (baseClass == ElementReference.class) {
+ switch (baseOperationID) {
+ case AlfPackage.ELEMENT_REFERENCE___IS_ALF:
+ return AlfPackage.INTERNAL_ELEMENT_REFERENCE___IS_ALF;
+ case AlfPackage.ELEMENT_REFERENCE___AS_ALF:
+ return AlfPackage.INTERNAL_ELEMENT_REFERENCE___AS_ALF;
+ case AlfPackage.ELEMENT_REFERENCE___AS_MEMBER:
+ return AlfPackage.INTERNAL_ELEMENT_REFERENCE___AS_MEMBER;
+ case AlfPackage.ELEMENT_REFERENCE___IS_SAME_KIND_AS__ELEMENTREFERENCE:
+ return AlfPackage.INTERNAL_ELEMENT_REFERENCE___IS_SAME_KIND_AS__ELEMENTREFERENCE;
+ case AlfPackage.ELEMENT_REFERENCE___IS_NAMED_ELEMENT:
+ return AlfPackage.INTERNAL_ELEMENT_REFERENCE___IS_NAMED_ELEMENT;
+ case AlfPackage.ELEMENT_REFERENCE___IS_NAMESPACE:
+ return AlfPackage.INTERNAL_ELEMENT_REFERENCE___IS_NAMESPACE;
+ case AlfPackage.ELEMENT_REFERENCE___IS_NAMESPACE_FOR__UNITDEFINITION:
+ return AlfPackage.INTERNAL_ELEMENT_REFERENCE___IS_NAMESPACE_FOR__UNITDEFINITION;
+ case AlfPackage.ELEMENT_REFERENCE___IS_MODEL_NAMESPACE:
+ return AlfPackage.INTERNAL_ELEMENT_REFERENCE___IS_MODEL_NAMESPACE;
+ case AlfPackage.ELEMENT_REFERENCE___IS_PACKAGE:
+ return AlfPackage.INTERNAL_ELEMENT_REFERENCE___IS_PACKAGE;
+ case AlfPackage.ELEMENT_REFERENCE___IS_PROFILE:
+ return AlfPackage.INTERNAL_ELEMENT_REFERENCE___IS_PROFILE;
+ case AlfPackage.ELEMENT_REFERENCE___IS_PACKAGEABLE_ELEMENT:
+ return AlfPackage.INTERNAL_ELEMENT_REFERENCE___IS_PACKAGEABLE_ELEMENT;
+ case AlfPackage.ELEMENT_REFERENCE___IS_CLASSIFIER:
+ return AlfPackage.INTERNAL_ELEMENT_REFERENCE___IS_CLASSIFIER;
+ case AlfPackage.ELEMENT_REFERENCE___IS_ABSTRACT_CLASSIFIER:
+ return AlfPackage.INTERNAL_ELEMENT_REFERENCE___IS_ABSTRACT_CLASSIFIER;
+ case AlfPackage.ELEMENT_REFERENCE___IS_ASSOCIATION:
+ return AlfPackage.INTERNAL_ELEMENT_REFERENCE___IS_ASSOCIATION;
+ case AlfPackage.ELEMENT_REFERENCE___IS_DATA_TYPE:
+ return AlfPackage.INTERNAL_ELEMENT_REFERENCE___IS_DATA_TYPE;
+ case AlfPackage.ELEMENT_REFERENCE___IS_CLASS:
+ return AlfPackage.INTERNAL_ELEMENT_REFERENCE___IS_CLASS;
+ case AlfPackage.ELEMENT_REFERENCE___IS_ACTIVE_CLASS:
+ return AlfPackage.INTERNAL_ELEMENT_REFERENCE___IS_ACTIVE_CLASS;
+ case AlfPackage.ELEMENT_REFERENCE___IS_SIGNAL:
+ return AlfPackage.INTERNAL_ELEMENT_REFERENCE___IS_SIGNAL;
+ case AlfPackage.ELEMENT_REFERENCE___IS_ENUMERATION:
+ return AlfPackage.INTERNAL_ELEMENT_REFERENCE___IS_ENUMERATION;
+ case AlfPackage.ELEMENT_REFERENCE___IS_BEHAVIOR:
+ return AlfPackage.INTERNAL_ELEMENT_REFERENCE___IS_BEHAVIOR;
+ case AlfPackage.ELEMENT_REFERENCE___IS_ACTIVITY:
+ return AlfPackage.INTERNAL_ELEMENT_REFERENCE___IS_ACTIVITY;
+ case AlfPackage.ELEMENT_REFERENCE___IS_METHOD:
+ return AlfPackage.INTERNAL_ELEMENT_REFERENCE___IS_METHOD;
+ case AlfPackage.ELEMENT_REFERENCE___IS_PRIMITIVE_TYPE:
+ return AlfPackage.INTERNAL_ELEMENT_REFERENCE___IS_PRIMITIVE_TYPE;
+ case AlfPackage.ELEMENT_REFERENCE___IS_RECEPTION:
+ return AlfPackage.INTERNAL_ELEMENT_REFERENCE___IS_RECEPTION;
+ case AlfPackage.ELEMENT_REFERENCE___IS_OPERATION:
+ return AlfPackage.INTERNAL_ELEMENT_REFERENCE___IS_OPERATION;
+ case AlfPackage.ELEMENT_REFERENCE___IS_CONSTRUCTOR:
+ return AlfPackage.INTERNAL_ELEMENT_REFERENCE___IS_CONSTRUCTOR;
+ case AlfPackage.ELEMENT_REFERENCE___IS_DESTRUCTOR:
+ return AlfPackage.INTERNAL_ELEMENT_REFERENCE___IS_DESTRUCTOR;
+ case AlfPackage.ELEMENT_REFERENCE___IS_FEATURE:
+ return AlfPackage.INTERNAL_ELEMENT_REFERENCE___IS_FEATURE;
+ case AlfPackage.ELEMENT_REFERENCE___IS_PROPERTY:
+ return AlfPackage.INTERNAL_ELEMENT_REFERENCE___IS_PROPERTY;
+ case AlfPackage.ELEMENT_REFERENCE___IS_ASSOCIATION_END:
+ return AlfPackage.INTERNAL_ELEMENT_REFERENCE___IS_ASSOCIATION_END;
+ case AlfPackage.ELEMENT_REFERENCE___IS_PARAMETER:
+ return AlfPackage.INTERNAL_ELEMENT_REFERENCE___IS_PARAMETER;
+ case AlfPackage.ELEMENT_REFERENCE___IS_TEMPLATE:
+ return AlfPackage.INTERNAL_ELEMENT_REFERENCE___IS_TEMPLATE;
+ case AlfPackage.ELEMENT_REFERENCE___IS_TEMPLATE_PARAMETER:
+ return AlfPackage.INTERNAL_ELEMENT_REFERENCE___IS_TEMPLATE_PARAMETER;
+ case AlfPackage.ELEMENT_REFERENCE___IS_CLASSIFIER_TEMPLATE_PARAMETER:
+ return AlfPackage.INTERNAL_ELEMENT_REFERENCE___IS_CLASSIFIER_TEMPLATE_PARAMETER;
+ case AlfPackage.ELEMENT_REFERENCE___IS_PARAMETERED_ELEMENT:
+ return AlfPackage.INTERNAL_ELEMENT_REFERENCE___IS_PARAMETERED_ELEMENT;
+ case AlfPackage.ELEMENT_REFERENCE___IS_TEMPLATE_BINDING:
+ return AlfPackage.INTERNAL_ELEMENT_REFERENCE___IS_TEMPLATE_BINDING;
+ case AlfPackage.ELEMENT_REFERENCE___IS_STEREOTYPE:
+ return AlfPackage.INTERNAL_ELEMENT_REFERENCE___IS_STEREOTYPE;
+ case AlfPackage.ELEMENT_REFERENCE___IS_ENUMERATION_LITERAL:
+ return AlfPackage.INTERNAL_ELEMENT_REFERENCE___IS_ENUMERATION_LITERAL;
+ case AlfPackage.ELEMENT_REFERENCE___IS_LOOP_VARIABLE:
+ return AlfPackage.INTERNAL_ELEMENT_REFERENCE___IS_LOOP_VARIABLE;
+ case AlfPackage.ELEMENT_REFERENCE___IS_ANNOTATION:
+ return AlfPackage.INTERNAL_ELEMENT_REFERENCE___IS_ANNOTATION;
+ case AlfPackage.ELEMENT_REFERENCE___IS_SEQUENCE_EXPANSION_EXPRESSION:
+ return AlfPackage.INTERNAL_ELEMENT_REFERENCE___IS_SEQUENCE_EXPANSION_EXPRESSION;
+ case AlfPackage.ELEMENT_REFERENCE___IS_ANY_TYPE:
+ return AlfPackage.INTERNAL_ELEMENT_REFERENCE___IS_ANY_TYPE;
+ case AlfPackage.ELEMENT_REFERENCE___NAME:
+ return AlfPackage.INTERNAL_ELEMENT_REFERENCE___NAME;
+ case AlfPackage.ELEMENT_REFERENCE___VISIBILITY:
+ return AlfPackage.INTERNAL_ELEMENT_REFERENCE___VISIBILITY;
+ case AlfPackage.ELEMENT_REFERENCE___OWNED_MEMBERS:
+ return AlfPackage.INTERNAL_ELEMENT_REFERENCE___OWNED_MEMBERS;
+ case AlfPackage.ELEMENT_REFERENCE___MEMBERS:
+ return AlfPackage.INTERNAL_ELEMENT_REFERENCE___MEMBERS;
+ case AlfPackage.ELEMENT_REFERENCE___OPPOSITE:
+ return AlfPackage.INTERNAL_ELEMENT_REFERENCE___OPPOSITE;
+ case AlfPackage.ELEMENT_REFERENCE___SIGNAL:
+ return AlfPackage.INTERNAL_ELEMENT_REFERENCE___SIGNAL;
+ case AlfPackage.ELEMENT_REFERENCE___PARAMETERS:
+ return AlfPackage.INTERNAL_ELEMENT_REFERENCE___PARAMETERS;
+ case AlfPackage.ELEMENT_REFERENCE___RETURN_PARAMETER:
+ return AlfPackage.INTERNAL_ELEMENT_REFERENCE___RETURN_PARAMETER;
+ case AlfPackage.ELEMENT_REFERENCE___SPECIFICATION:
+ return AlfPackage.INTERNAL_ELEMENT_REFERENCE___SPECIFICATION;
+ case AlfPackage.ELEMENT_REFERENCE___NAMESPACE:
+ return AlfPackage.INTERNAL_ELEMENT_REFERENCE___NAMESPACE;
+ case AlfPackage.ELEMENT_REFERENCE___TEMPLATE:
+ return AlfPackage.INTERNAL_ELEMENT_REFERENCE___TEMPLATE;
+ case AlfPackage.ELEMENT_REFERENCE___TEMPLATE_PARAMETERS:
+ return AlfPackage.INTERNAL_ELEMENT_REFERENCE___TEMPLATE_PARAMETERS;
+ case AlfPackage.ELEMENT_REFERENCE___PARAMETERED_ELEMENTS:
+ return AlfPackage.INTERNAL_ELEMENT_REFERENCE___PARAMETERED_ELEMENTS;
+ case AlfPackage.ELEMENT_REFERENCE___TEMPLATE_ACTUALS:
+ return AlfPackage.INTERNAL_ELEMENT_REFERENCE___TEMPLATE_ACTUALS;
+ case AlfPackage.ELEMENT_REFERENCE___DIRECTION:
+ return AlfPackage.INTERNAL_ELEMENT_REFERENCE___DIRECTION;
+ case AlfPackage.ELEMENT_REFERENCE___ASSOCIATION:
+ return AlfPackage.INTERNAL_ELEMENT_REFERENCE___ASSOCIATION;
+ case AlfPackage.ELEMENT_REFERENCE___TYPE:
+ return AlfPackage.INTERNAL_ELEMENT_REFERENCE___TYPE;
+ case AlfPackage.ELEMENT_REFERENCE___LOWER:
+ return AlfPackage.INTERNAL_ELEMENT_REFERENCE___LOWER;
+ case AlfPackage.ELEMENT_REFERENCE___UPPER:
+ return AlfPackage.INTERNAL_ELEMENT_REFERENCE___UPPER;
+ case AlfPackage.ELEMENT_REFERENCE___IS_ORDERED:
+ return AlfPackage.INTERNAL_ELEMENT_REFERENCE___IS_ORDERED;
+ case AlfPackage.ELEMENT_REFERENCE___IS_NONUNIQUE:
+ return AlfPackage.INTERNAL_ELEMENT_REFERENCE___IS_NONUNIQUE;
+ case AlfPackage.ELEMENT_REFERENCE___PARENTS:
+ return AlfPackage.INTERNAL_ELEMENT_REFERENCE___PARENTS;
+ case AlfPackage.ELEMENT_REFERENCE___ALL_PARENTS:
+ return AlfPackage.INTERNAL_ELEMENT_REFERENCE___ALL_PARENTS;
+ case AlfPackage.ELEMENT_REFERENCE___CLASSIFIER_BEHAVIOR:
+ return AlfPackage.INTERNAL_ELEMENT_REFERENCE___CLASSIFIER_BEHAVIOR;
+ case AlfPackage.ELEMENT_REFERENCE___APPLIED_PROFILES:
+ return AlfPackage.INTERNAL_ELEMENT_REFERENCE___APPLIED_PROFILES;
+ case AlfPackage.ELEMENT_REFERENCE___ACTIVE_CLASS:
+ return AlfPackage.INTERNAL_ELEMENT_REFERENCE___ACTIVE_CLASS;
+ case AlfPackage.ELEMENT_REFERENCE___CONFORMS_TO__ELEMENTREFERENCE:
+ return AlfPackage.INTERNAL_ELEMENT_REFERENCE___CONFORMS_TO__ELEMENTREFERENCE;
+ case AlfPackage.ELEMENT_REFERENCE___EQUALS__ELEMENTREFERENCE:
+ return AlfPackage.INTERNAL_ELEMENT_REFERENCE___EQUALS__ELEMENTREFERENCE;
+ case AlfPackage.ELEMENT_REFERENCE___COPY:
+ return AlfPackage.INTERNAL_ELEMENT_REFERENCE___COPY;
+ case AlfPackage.ELEMENT_REFERENCE___MODEL_SCOPE:
+ return AlfPackage.INTERNAL_ELEMENT_REFERENCE___MODEL_SCOPE;
+ case AlfPackage.ELEMENT_REFERENCE___RESOLVE_PATH_NAME__STRING:
+ return AlfPackage.INTERNAL_ELEMENT_REFERENCE___RESOLVE_PATH_NAME__STRING;
+ case AlfPackage.ELEMENT_REFERENCE___RESOLVE_IN_SCOPE__STRING:
+ return AlfPackage.INTERNAL_ELEMENT_REFERENCE___RESOLVE_IN_SCOPE__STRING;
+ case AlfPackage.ELEMENT_REFERENCE___STUB:
+ return AlfPackage.INTERNAL_ELEMENT_REFERENCE___STUB;
+ case AlfPackage.ELEMENT_REFERENCE___STUB_FOR__UNITDEFINITION:
+ return AlfPackage.INTERNAL_ELEMENT_REFERENCE___STUB_FOR__UNITDEFINITION;
+ default:
+ return super.eDerivedOperationID(baseOperationID, baseClass);
+ }
+ }
+ return super.eDerivedOperationID(baseOperationID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Object eInvoke(int operationID, EList<?> arguments) throws InvocationTargetException {
+ switch (operationID) {
+ case AlfPackage.INTERNAL_ELEMENT_REFERENCE___IS_ALF:
+ return isAlf();
+ case AlfPackage.INTERNAL_ELEMENT_REFERENCE___AS_ALF:
+ return asAlf();
+ case AlfPackage.INTERNAL_ELEMENT_REFERENCE___AS_MEMBER:
+ return asMember();
+ case AlfPackage.INTERNAL_ELEMENT_REFERENCE___IS_SAME_KIND_AS__ELEMENTREFERENCE:
+ return isSameKindAs((ElementReference) arguments.get(0));
+ case AlfPackage.INTERNAL_ELEMENT_REFERENCE___IS_NAMED_ELEMENT:
+ return isNamedElement();
+ case AlfPackage.INTERNAL_ELEMENT_REFERENCE___IS_NAMESPACE:
+ return isNamespace();
+ case AlfPackage.INTERNAL_ELEMENT_REFERENCE___IS_NAMESPACE_FOR__UNITDEFINITION:
+ return isNamespaceFor((UnitDefinition) arguments.get(0));
+ case AlfPackage.INTERNAL_ELEMENT_REFERENCE___IS_MODEL_NAMESPACE:
+ return isModelNamespace();
+ case AlfPackage.INTERNAL_ELEMENT_REFERENCE___IS_PACKAGE:
+ return isPackage();
+ case AlfPackage.INTERNAL_ELEMENT_REFERENCE___IS_PROFILE:
+ return isProfile();
+ case AlfPackage.INTERNAL_ELEMENT_REFERENCE___IS_PACKAGEABLE_ELEMENT:
+ return isPackageableElement();
+ case AlfPackage.INTERNAL_ELEMENT_REFERENCE___IS_CLASSIFIER:
+ return isClassifier();
+ case AlfPackage.INTERNAL_ELEMENT_REFERENCE___IS_ABSTRACT_CLASSIFIER:
+ return isAbstractClassifier();
+ case AlfPackage.INTERNAL_ELEMENT_REFERENCE___IS_ASSOCIATION:
+ return isAssociation();
+ case AlfPackage.INTERNAL_ELEMENT_REFERENCE___IS_DATA_TYPE:
+ return isDataType();
+ case AlfPackage.INTERNAL_ELEMENT_REFERENCE___IS_CLASS:
+ return isClass();
+ case AlfPackage.INTERNAL_ELEMENT_REFERENCE___IS_ACTIVE_CLASS:
+ return isActiveClass();
+ case AlfPackage.INTERNAL_ELEMENT_REFERENCE___IS_SIGNAL:
+ return isSignal();
+ case AlfPackage.INTERNAL_ELEMENT_REFERENCE___IS_ENUMERATION:
+ return isEnumeration();
+ case AlfPackage.INTERNAL_ELEMENT_REFERENCE___IS_BEHAVIOR:
+ return isBehavior();
+ case AlfPackage.INTERNAL_ELEMENT_REFERENCE___IS_ACTIVITY:
+ return isActivity();
+ case AlfPackage.INTERNAL_ELEMENT_REFERENCE___IS_METHOD:
+ return isMethod();
+ case AlfPackage.INTERNAL_ELEMENT_REFERENCE___IS_PRIMITIVE_TYPE:
+ return isPrimitiveType();
+ case AlfPackage.INTERNAL_ELEMENT_REFERENCE___IS_RECEPTION:
+ return isReception();
+ case AlfPackage.INTERNAL_ELEMENT_REFERENCE___IS_OPERATION:
+ return isOperation();
+ case AlfPackage.INTERNAL_ELEMENT_REFERENCE___IS_CONSTRUCTOR:
+ return isConstructor();
+ case AlfPackage.INTERNAL_ELEMENT_REFERENCE___IS_DESTRUCTOR:
+ return isDestructor();
+ case AlfPackage.INTERNAL_ELEMENT_REFERENCE___IS_FEATURE:
+ return isFeature();
+ case AlfPackage.INTERNAL_ELEMENT_REFERENCE___IS_PROPERTY:
+ return isProperty();
+ case AlfPackage.INTERNAL_ELEMENT_REFERENCE___IS_ASSOCIATION_END:
+ return isAssociationEnd();
+ case AlfPackage.INTERNAL_ELEMENT_REFERENCE___IS_PARAMETER:
+ return isParameter();
+ case AlfPackage.INTERNAL_ELEMENT_REFERENCE___IS_TEMPLATE:
+ return isTemplate();
+ case AlfPackage.INTERNAL_ELEMENT_REFERENCE___IS_TEMPLATE_PARAMETER:
+ return isTemplateParameter();
+ case AlfPackage.INTERNAL_ELEMENT_REFERENCE___IS_CLASSIFIER_TEMPLATE_PARAMETER:
+ return isClassifierTemplateParameter();
+ case AlfPackage.INTERNAL_ELEMENT_REFERENCE___IS_PARAMETERED_ELEMENT:
+ return isParameteredElement();
+ case AlfPackage.INTERNAL_ELEMENT_REFERENCE___IS_TEMPLATE_BINDING:
+ return isTemplateBinding();
+ case AlfPackage.INTERNAL_ELEMENT_REFERENCE___IS_STEREOTYPE:
+ return isStereotype();
+ case AlfPackage.INTERNAL_ELEMENT_REFERENCE___IS_ENUMERATION_LITERAL:
+ return isEnumerationLiteral();
+ case AlfPackage.INTERNAL_ELEMENT_REFERENCE___IS_LOOP_VARIABLE:
+ return isLoopVariable();
+ case AlfPackage.INTERNAL_ELEMENT_REFERENCE___IS_ANNOTATION:
+ return isAnnotation();
+ case AlfPackage.INTERNAL_ELEMENT_REFERENCE___IS_SEQUENCE_EXPANSION_EXPRESSION:
+ return isSequenceExpansionExpression();
+ case AlfPackage.INTERNAL_ELEMENT_REFERENCE___IS_ANY_TYPE:
+ return isAnyType();
+ case AlfPackage.INTERNAL_ELEMENT_REFERENCE___NAME:
+ return name();
+ case AlfPackage.INTERNAL_ELEMENT_REFERENCE___VISIBILITY:
+ return visibility();
+ case AlfPackage.INTERNAL_ELEMENT_REFERENCE___OWNED_MEMBERS:
+ return ownedMembers();
+ case AlfPackage.INTERNAL_ELEMENT_REFERENCE___MEMBERS:
+ return members();
+ case AlfPackage.INTERNAL_ELEMENT_REFERENCE___OPPOSITE:
+ return opposite();
+ case AlfPackage.INTERNAL_ELEMENT_REFERENCE___SIGNAL:
+ return signal();
+ case AlfPackage.INTERNAL_ELEMENT_REFERENCE___PARAMETERS:
+ return parameters();
+ case AlfPackage.INTERNAL_ELEMENT_REFERENCE___RETURN_PARAMETER:
+ return returnParameter();
+ case AlfPackage.INTERNAL_ELEMENT_REFERENCE___SPECIFICATION:
+ return specification();
+ case AlfPackage.INTERNAL_ELEMENT_REFERENCE___REDEFINED_OPERAIONS:
+ return redefinedOperaions();
+ case AlfPackage.INTERNAL_ELEMENT_REFERENCE___NAMESPACE:
+ return namespace();
+ case AlfPackage.INTERNAL_ELEMENT_REFERENCE___TEMPLATE:
+ return template();
+ case AlfPackage.INTERNAL_ELEMENT_REFERENCE___TEMPLATE_PARAMETERS:
+ return templateParameters();
+ case AlfPackage.INTERNAL_ELEMENT_REFERENCE___PARAMETERED_ELEMENTS:
+ return parameteredElements();
+ case AlfPackage.INTERNAL_ELEMENT_REFERENCE___TEMPLATE_ACTUALS:
+ return templateActuals();
+ case AlfPackage.INTERNAL_ELEMENT_REFERENCE___DIRECTION:
+ return direction();
+ case AlfPackage.INTERNAL_ELEMENT_REFERENCE___ASSOCIATION:
+ return association();
+ case AlfPackage.INTERNAL_ELEMENT_REFERENCE___TYPE:
+ return type();
+ case AlfPackage.INTERNAL_ELEMENT_REFERENCE___LOWER:
+ return lower();
+ case AlfPackage.INTERNAL_ELEMENT_REFERENCE___UPPER:
+ return upper();
+ case AlfPackage.INTERNAL_ELEMENT_REFERENCE___IS_ORDERED:
+ return isOrdered();
+ case AlfPackage.INTERNAL_ELEMENT_REFERENCE___IS_NONUNIQUE:
+ return isNonunique();
+ case AlfPackage.INTERNAL_ELEMENT_REFERENCE___PARENTS:
+ return parents();
+ case AlfPackage.INTERNAL_ELEMENT_REFERENCE___ALL_PARENTS:
+ return allParents();
+ case AlfPackage.INTERNAL_ELEMENT_REFERENCE___CLASSIFIER_BEHAVIOR:
+ return classifierBehavior();
+ case AlfPackage.INTERNAL_ELEMENT_REFERENCE___APPLIED_PROFILES:
+ return appliedProfiles();
+ case AlfPackage.INTERNAL_ELEMENT_REFERENCE___ACTIVE_CLASS:
+ return activeClass();
+ case AlfPackage.INTERNAL_ELEMENT_REFERENCE___CONFORMS_TO__ELEMENTREFERENCE:
+ return conformsTo((ElementReference) arguments.get(0));
+ case AlfPackage.INTERNAL_ELEMENT_REFERENCE___EQUALS__ELEMENTREFERENCE:
+ return equals((ElementReference) arguments.get(0));
+ case AlfPackage.INTERNAL_ELEMENT_REFERENCE___COPY:
+ return copy();
+ case AlfPackage.INTERNAL_ELEMENT_REFERENCE___MODEL_SCOPE:
+ return modelScope();
+ case AlfPackage.INTERNAL_ELEMENT_REFERENCE___RESOLVE_PATH_NAME__STRING:
+ return resolvePathName((String) arguments.get(0));
+ case AlfPackage.INTERNAL_ELEMENT_REFERENCE___RESOLVE_IN_SCOPE__STRING:
+ return resolveInScope((String) arguments.get(0));
+ case AlfPackage.INTERNAL_ELEMENT_REFERENCE___RESOLVE_STEREOTYPE_NAME__STRING:
+ return resolveStereotypeName((String) arguments.get(0));
+ case AlfPackage.INTERNAL_ELEMENT_REFERENCE___STUB:
+ return stub();
+ case AlfPackage.INTERNAL_ELEMENT_REFERENCE___STUB_FOR__UNITDEFINITION:
+ return stubFor((UnitDefinition) arguments.get(0));
+ }
+ return super.eInvoke(operationID, arguments);
+ }
+
+} // InternalElementReferenceImpl
diff --git a/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/InvocationExpressionImpl.java b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/InvocationExpressionImpl.java
new file mode 100644
index 00000000000..cf09c4cb84a
--- /dev/null
+++ b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/InvocationExpressionImpl.java
@@ -0,0 +1,1248 @@
+/**
+ */
+package org.eclipse.papyrus.uml.alf.impl;
+
+import java.lang.reflect.InvocationTargetException;
+import java.math.BigInteger;
+import java.util.Map;
+import org.eclipse.emf.common.util.BasicDiagnostic;
+import org.eclipse.emf.common.util.BasicEList;
+import org.eclipse.emf.common.util.Diagnostic;
+import org.eclipse.emf.common.util.DiagnosticChain;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.common.util.WrappedException;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EOperation;
+import org.eclipse.emf.ecore.plugin.EcorePlugin;
+import org.eclipse.emf.ecore.util.EObjectValidator;
+import org.eclipse.papyrus.uml.alf.AlfPackage;
+import org.eclipse.papyrus.uml.alf.AssignableElement;
+import org.eclipse.papyrus.uml.alf.AssignedSource;
+import org.eclipse.papyrus.uml.alf.ElementReference;
+import org.eclipse.papyrus.uml.alf.Expression;
+import org.eclipse.papyrus.uml.alf.FeatureReference;
+import org.eclipse.papyrus.uml.alf.InputNamedExpression;
+import org.eclipse.papyrus.uml.alf.InvocationExpression;
+import org.eclipse.papyrus.uml.alf.OutputNamedExpression;
+import org.eclipse.papyrus.uml.alf.SyntaxElement;
+import org.eclipse.papyrus.uml.alf.Tuple;
+import org.eclipse.papyrus.uml.alf.util.AlfValidator;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Invocation Expression</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.uml.alf.impl.InvocationExpressionImpl#isIsBehavior <em>Is Behavior</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.impl.InvocationExpressionImpl#isIsAssociationEnd <em>Is Association End</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.impl.InvocationExpressionImpl#getFeature <em>Feature</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.impl.InvocationExpressionImpl#isIsOperation <em>Is Operation</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.impl.InvocationExpressionImpl#isIsDestructor <em>Is Destructor</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.impl.InvocationExpressionImpl#isIsImplicit <em>Is Implicit</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.impl.InvocationExpressionImpl#getReferent <em>Referent</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.impl.InvocationExpressionImpl#getParameter <em>Parameter</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.impl.InvocationExpressionImpl#isIsSignal <em>Is Signal</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.impl.InvocationExpressionImpl#getTuple <em>Tuple</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public abstract class InvocationExpressionImpl extends ExpressionImpl implements InvocationExpression {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated NOT
+ */
+ protected InvocationExpressionImpl() {
+ super();
+ this.registerCaching();
+ }
+
+ public void clear() {
+ super.clear();
+ this.referent = null;
+ this.notResolved = true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return AlfPackage.eINSTANCE.getInvocationExpression();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isIsBehavior() {
+ return (Boolean) eGet(AlfPackage.eINSTANCE.getInvocationExpression_IsBehavior(), true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setIsBehavior(boolean newIsBehavior) {
+ eSet(AlfPackage.eINSTANCE.getInvocationExpression_IsBehavior(), newIsBehavior);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isIsAssociationEnd() {
+ return (Boolean) eGet(AlfPackage.eINSTANCE.getInvocationExpression_IsAssociationEnd(), true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setIsAssociationEnd(boolean newIsAssociationEnd) {
+ eSet(AlfPackage.eINSTANCE.getInvocationExpression_IsAssociationEnd(), newIsAssociationEnd);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public FeatureReference getFeature() {
+ return (FeatureReference) eGet(AlfPackage.eINSTANCE.getInvocationExpression_Feature(), true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setFeature(FeatureReference newFeature) {
+ eSet(AlfPackage.eINSTANCE.getInvocationExpression_Feature(), newFeature);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isIsOperation() {
+ return (Boolean) eGet(AlfPackage.eINSTANCE.getInvocationExpression_IsOperation(), true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setIsOperation(boolean newIsOperation) {
+ eSet(AlfPackage.eINSTANCE.getInvocationExpression_IsOperation(), newIsOperation);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isIsDestructor() {
+ return (Boolean) eGet(AlfPackage.eINSTANCE.getInvocationExpression_IsDestructor(), true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setIsDestructor(boolean newIsDestructor) {
+ eSet(AlfPackage.eINSTANCE.getInvocationExpression_IsDestructor(), newIsDestructor);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isIsImplicit() {
+ return (Boolean) eGet(AlfPackage.eINSTANCE.getInvocationExpression_IsImplicit(), true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setIsImplicit(boolean newIsImplicit) {
+ eSet(AlfPackage.eINSTANCE.getInvocationExpression_IsImplicit(), newIsImplicit);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public ElementReference getReferent() {
+ return (ElementReference) eGet(AlfPackage.eINSTANCE.getInvocationExpression_Referent(), true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setReferent(ElementReference newReferent) {
+ eSet(AlfPackage.eINSTANCE.getInvocationExpression_Referent(), newReferent);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<ElementReference> getParameter() {
+ return (EList<ElementReference>) eGet(AlfPackage.eINSTANCE.getInvocationExpression_Parameter(), true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isIsSignal() {
+ return (Boolean) eGet(AlfPackage.eINSTANCE.getInvocationExpression_IsSignal(), true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setIsSignal(boolean newIsSignal) {
+ eSet(AlfPackage.eINSTANCE.getInvocationExpression_IsSignal(), newIsSignal);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public Tuple getTuple() {
+ return (Tuple) eGet(AlfPackage.eINSTANCE.getInvocationExpression_Tuple(), true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setTuple(Tuple newTuple) {
+ eSet(AlfPackage.eINSTANCE.getInvocationExpression_Tuple(), newTuple);
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #assignmentsBefore(org.eclipse.papyrus.uml.alf.SyntaxElement) <em>Assignments Before</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #assignmentsBefore(org.eclipse.papyrus.uml.alf.SyntaxElement)
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate ASSIGNMENTS_BEFORE_SYNTAX_ELEMENT__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getInvocationExpression__AssignmentsBefore__SyntaxElement()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<AssignedSource> assignmentsBefore(SyntaxElement element) {
+ try {
+ return (EList<AssignedSource>) ASSIGNMENTS_BEFORE_SYNTAX_ELEMENT__EINVOCATION_DELEGATE.dynamicInvoke(this, new BasicEList.UnmodifiableEList<Object>(1, new Object[] { element }));
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public FeatureReference feature() {
+ // TODO: implement this method
+ // Ensure that you remove @generated or mark it @generated NOT
+ throw new UnsupportedOperationException();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public ElementReference type() {
+ try {
+ return (ElementReference) TYPE__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public ElementReference InvocationExpression_type() {
+ try {
+ return (ElementReference) INVOCATION_EXPRESSION_TYPE__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public BigInteger upper() {
+ try {
+ return (BigInteger) UPPER__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public BigInteger InvocationExpression_upper() {
+ try {
+ return (BigInteger) INVOCATION_EXPRESSION_UPPER__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public BigInteger lower() {
+ try {
+ return (BigInteger) LOWER__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public BigInteger InvocationExpression_lower() {
+ try {
+ return (BigInteger) INVOCATION_EXPRESSION_LOWER__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public ElementReference parameterNamed(String name) {
+ try {
+ return (ElementReference) PARAMETER_NAMED_STRING__EINVOCATION_DELEGATE.dynamicInvoke(this, new BasicEList.UnmodifiableEList<Object>(1, new Object[] { name }));
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public BigInteger parameterCount() {
+ try {
+ return (BigInteger) PARAMETER_COUNT__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean parameterIsAssignableFrom(InputNamedExpression input) {
+ try {
+ return (Boolean) PARAMETER_IS_ASSIGNABLE_FROM_INPUT_NAMED_EXPRESSION__EINVOCATION_DELEGATE.dynamicInvoke(this, new BasicEList.UnmodifiableEList<Object>(1, new Object[] { input }));
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean parameterIsAssignableTo(OutputNamedExpression output) {
+ try {
+ return (Boolean) PARAMETER_IS_ASSIGNABLE_TO_OUTPUT_NAMED_EXPRESSION__EINVOCATION_DELEGATE.dynamicInvoke(this, new BasicEList.UnmodifiableEList<Object>(1, new Object[] { output }));
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean alternativeConstructorIsValid() {
+ try {
+ return (Boolean) ALTERNATIVE_CONSTRUCTOR_IS_VALID__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated NOT
+ */
+ public ElementReference bindTemplateImplicitArguments(ElementReference referent, Expression primary) {
+ return this.bindTemplateImplicitArguments1(referent, primary);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public ElementReference effectiveType(ElementReference parameter, Expression expression) {
+ try {
+ return (ElementReference) EFFECTIVE_TYPE_ELEMENT_REFERENCE_EXPRESSION__EINVOCATION_DELEGATE.dynamicInvoke(this, new BasicEList.UnmodifiableEList<Object>(2, new Object[] { parameter, expression }));
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean invocationExpressionIsBehaviorDerivation(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.INVOCATION_EXPRESSION__INVOCATION_EXPRESSION_IS_BEHAVIOR_DERIVATION,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "invocationExpressionIsBehaviorDerivation", EObjectValidator.getObjectLabel(this, context) }),
+ new Object[] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean invocationExpressionIsAssociationEndDerivation(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.INVOCATION_EXPRESSION__INVOCATION_EXPRESSION_IS_ASSOCIATION_END_DERIVATION,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "invocationExpressionIsAssociationEndDerivation", EObjectValidator.getObjectLabel(this, context) }),
+ new Object[] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean invocationExpressionIsOperationDerivation(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.INVOCATION_EXPRESSION__INVOCATION_EXPRESSION_IS_OPERATION_DERIVATION,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "invocationExpressionIsOperationDerivation", EObjectValidator.getObjectLabel(this, context) }),
+ new Object[] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean invocationExpressionIsDestructorDerivation(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.INVOCATION_EXPRESSION__INVOCATION_EXPRESSION_IS_DESTRUCTOR_DERIVATION,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "invocationExpressionIsDestructorDerivation", EObjectValidator.getObjectLabel(this, context) }),
+ new Object[] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean invocationExpressionIsImplicitDerivation(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.INVOCATION_EXPRESSION__INVOCATION_EXPRESSION_IS_IMPLICIT_DERIVATION,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "invocationExpressionIsImplicitDerivation", EObjectValidator.getObjectLabel(this, context) }),
+ new Object[] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean invocationExpressionIsSignalDerivation(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.INVOCATION_EXPRESSION__INVOCATION_EXPRESSION_IS_SIGNAL_DERIVATION,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "invocationExpressionIsSignalDerivation", EObjectValidator.getObjectLabel(this, context) }),
+ new Object[] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean invocationExpressionParameterDerivation(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.INVOCATION_EXPRESSION__INVOCATION_EXPRESSION_PARAMETER_DERIVATION,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "invocationExpressionParameterDerivation", EObjectValidator.getObjectLabel(this, context) }),
+ new Object[] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean invocationExpressionTypeDerivation(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.INVOCATION_EXPRESSION__INVOCATION_EXPRESSION_TYPE_DERIVATION,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "invocationExpressionTypeDerivation", EObjectValidator.getObjectLabel(this, context) }),
+ new Object[] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean invocationExpressionUpperDerivation(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.INVOCATION_EXPRESSION__INVOCATION_EXPRESSION_UPPER_DERIVATION,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "invocationExpressionUpperDerivation", EObjectValidator.getObjectLabel(this, context) }),
+ new Object[] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean invocationExpressionLowerDerivation(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.INVOCATION_EXPRESSION__INVOCATION_EXPRESSION_LOWER_DERIVATION,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "invocationExpressionLowerDerivation", EObjectValidator.getObjectLabel(this, context) }),
+ new Object[] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean invocationExpressionAssignmentsBefore(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.INVOCATION_EXPRESSION__INVOCATION_EXPRESSION_ASSIGNMENTS_BEFORE,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "invocationExpressionAssignmentsBefore", EObjectValidator.getObjectLabel(this, context) }),
+ new Object[] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<AssignedSource> updateAssignments() {
+ try {
+ return (EList<AssignedSource>) UPDATE_ASSIGNMENTS__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean invocationExpressionTemplateParameters(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return AlfValidator.validate
+ (AlfPackage.eINSTANCE.getInvocationExpression(),
+ this,
+ diagnostics,
+ context,
+ "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot",
+ AlfPackage.eINSTANCE.getInvocationExpression__InvocationExpressionTemplateParameters__DiagnosticChain_Map(),
+ INVOCATION_EXPRESSION_TEMPLATE_PARAMETERS_DIAGNOSTIC_CHAIN_MAP__EEXPRESSION,
+ Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.INVOCATION_EXPRESSION__INVOCATION_EXPRESSION_TEMPLATE_PARAMETERS);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public int eDerivedOperationID(int baseOperationID, Class<?> baseClass) {
+ if (baseClass == SyntaxElement.class) {
+ switch (baseOperationID) {
+ case AlfPackage.SYNTAX_ELEMENT___ASSIGNMENTS_BEFORE__SYNTAXELEMENT:
+ return AlfPackage.INVOCATION_EXPRESSION___ASSIGNMENTS_BEFORE__SYNTAXELEMENT;
+ default:
+ return super.eDerivedOperationID(baseOperationID, baseClass);
+ }
+ }
+ if (baseClass == AssignableElement.class) {
+ switch (baseOperationID) {
+ case AlfPackage.ASSIGNABLE_ELEMENT___TYPE:
+ return AlfPackage.INVOCATION_EXPRESSION___TYPE;
+ case AlfPackage.ASSIGNABLE_ELEMENT___LOWER:
+ return AlfPackage.INVOCATION_EXPRESSION___LOWER;
+ case AlfPackage.ASSIGNABLE_ELEMENT___UPPER:
+ return AlfPackage.INVOCATION_EXPRESSION___UPPER;
+ default:
+ return super.eDerivedOperationID(baseOperationID, baseClass);
+ }
+ }
+ if (baseClass == Expression.class) {
+ switch (baseOperationID) {
+ case AlfPackage.EXPRESSION___UPDATE_ASSIGNMENTS:
+ return AlfPackage.INVOCATION_EXPRESSION___UPDATE_ASSIGNMENTS;
+ default:
+ return super.eDerivedOperationID(baseOperationID, baseClass);
+ }
+ }
+ return super.eDerivedOperationID(baseOperationID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<ElementReference> parameterElements() {
+ try {
+ return (EList<ElementReference>) PARAMETER_ELEMENTS__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<ElementReference> InvocationExpression_parameterElements() {
+ try {
+ return (EList<ElementReference>) INVOCATION_EXPRESSION_PARAMETER_ELEMENTS__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public ElementReference parameterFromProperty(ElementReference property) {
+ try {
+ return (ElementReference) PARAMETER_FROM_PROPERTY_ELEMENT_REFERENCE__EINVOCATION_DELEGATE.dynamicInvoke(this, new BasicEList.UnmodifiableEList<Object>(1, new Object[] { property }));
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public ElementReference parameterFromPropertyWithMultiplicity(ElementReference property, String lower, String upper) {
+ try {
+ return (ElementReference) PARAMETER_FROM_PROPERTY_WITH_MULTIPLICITY_ELEMENT_REFERENCE_STRING_STRING__EINVOCATION_DELEGATE.dynamicInvoke(this, new BasicEList.UnmodifiableEList<Object>(3, new Object[] { property, lower, upper }));
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #type() <em>Type</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #type()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate TYPE__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getInvocationExpression__Type()).getInvocationDelegate();
+ /**
+ * The cached invocation delegate for the '{@link #InvocationExpression_type() <em>Invocation Expression type</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #InvocationExpression_type()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate INVOCATION_EXPRESSION_TYPE__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getInvocationExpression__InvocationExpression_type()).getInvocationDelegate();
+ /**
+ * The cached invocation delegate for the '{@link #upper() <em>Upper</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #upper()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate UPPER__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getInvocationExpression__Upper()).getInvocationDelegate();
+ /**
+ * The cached invocation delegate for the '{@link #InvocationExpression_upper() <em>Invocation Expression upper</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #InvocationExpression_upper()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate INVOCATION_EXPRESSION_UPPER__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getInvocationExpression__InvocationExpression_upper()).getInvocationDelegate();
+ /**
+ * The cached invocation delegate for the '{@link #lower() <em>Lower</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #lower()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate LOWER__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getInvocationExpression__Lower()).getInvocationDelegate();
+ /**
+ * The cached invocation delegate for the '{@link #InvocationExpression_lower() <em>Invocation Expression lower</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #InvocationExpression_lower()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate INVOCATION_EXPRESSION_LOWER__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getInvocationExpression__InvocationExpression_lower()).getInvocationDelegate();
+ /**
+ * The cached invocation delegate for the '{@link #parameterNamed(java.lang.String) <em>Parameter Named</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #parameterNamed(java.lang.String)
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate PARAMETER_NAMED_STRING__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getInvocationExpression__ParameterNamed__String()).getInvocationDelegate();
+ /**
+ * The cached invocation delegate for the '{@link #parameterCount() <em>Parameter Count</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #parameterCount()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate PARAMETER_COUNT__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getInvocationExpression__ParameterCount()).getInvocationDelegate();
+ /**
+ * The cached invocation delegate for the '{@link #parameterIsAssignableFrom(org.eclipse.papyrus.uml.alf.InputNamedExpression) <em>Parameter Is Assignable From</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #parameterIsAssignableFrom(org.eclipse.papyrus.uml.alf.InputNamedExpression)
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate PARAMETER_IS_ASSIGNABLE_FROM_INPUT_NAMED_EXPRESSION__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE
+ .getInvocationExpression__ParameterIsAssignableFrom__InputNamedExpression()).getInvocationDelegate();
+ /**
+ * The cached invocation delegate for the '{@link #parameterIsAssignableTo(org.eclipse.papyrus.uml.alf.OutputNamedExpression) <em>Parameter Is Assignable To</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #parameterIsAssignableTo(org.eclipse.papyrus.uml.alf.OutputNamedExpression)
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate PARAMETER_IS_ASSIGNABLE_TO_OUTPUT_NAMED_EXPRESSION__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getInvocationExpression__ParameterIsAssignableTo__OutputNamedExpression())
+ .getInvocationDelegate();
+ /**
+ * The cached invocation delegate for the '{@link #alternativeConstructorIsValid() <em>Alternative Constructor Is Valid</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #alternativeConstructorIsValid()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate ALTERNATIVE_CONSTRUCTOR_IS_VALID__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getInvocationExpression__AlternativeConstructorIsValid()).getInvocationDelegate();
+ /**
+ * The cached invocation delegate for the '{@link #bindTemplateImplicitArguments1(org.eclipse.papyrus.uml.alf.ElementReference, org.eclipse.papyrus.uml.alf.Expression) <em>Bind Template Implicit Arguments1</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #bindTemplateImplicitArguments1(org.eclipse.papyrus.uml.alf.ElementReference, org.eclipse.papyrus.uml.alf.Expression)
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate BIND_TEMPLATE_IMPLICIT_ARGUMENTS1_ELEMENT_REFERENCE_EXPRESSION__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE
+ .getInvocationExpression__BindTemplateImplicitArguments1__ElementReference_Expression()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public ElementReference bindTemplateImplicitArguments1(ElementReference referent, Expression primary) {
+ try {
+ return (ElementReference) BIND_TEMPLATE_IMPLICIT_ARGUMENTS1_ELEMENT_REFERENCE_EXPRESSION__EINVOCATION_DELEGATE.dynamicInvoke(this, new BasicEList.UnmodifiableEList<Object>(2, new Object[] { referent, primary }));
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #effectiveType(org.eclipse.papyrus.uml.alf.ElementReference, org.eclipse.papyrus.uml.alf.Expression) <em>Effective Type</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #effectiveType(org.eclipse.papyrus.uml.alf.ElementReference, org.eclipse.papyrus.uml.alf.Expression)
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate EFFECTIVE_TYPE_ELEMENT_REFERENCE_EXPRESSION__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getInvocationExpression__EffectiveType__ElementReference_Expression())
+ .getInvocationDelegate();
+ /**
+ * The cached invocation delegate for the '{@link #parameterElements() <em>Parameter Elements</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #parameterElements()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate PARAMETER_ELEMENTS__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getInvocationExpression__ParameterElements()).getInvocationDelegate();
+ /**
+ * The cached invocation delegate for the '{@link #InvocationExpression_parameterElements() <em>Invocation Expression parameter Elements</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #InvocationExpression_parameterElements()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate INVOCATION_EXPRESSION_PARAMETER_ELEMENTS__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getInvocationExpression__InvocationExpression_parameterElements())
+ .getInvocationDelegate();
+ /**
+ * The cached invocation delegate for the '{@link #parameterFromProperty(org.eclipse.papyrus.uml.alf.ElementReference) <em>Parameter From Property</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #parameterFromProperty(org.eclipse.papyrus.uml.alf.ElementReference)
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate PARAMETER_FROM_PROPERTY_ELEMENT_REFERENCE__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getInvocationExpression__ParameterFromProperty__ElementReference())
+ .getInvocationDelegate();
+ /**
+ * The cached invocation delegate for the '{@link #parameterFromPropertyWithMultiplicity(org.eclipse.papyrus.uml.alf.ElementReference, java.lang.String, java.lang.String) <em>Parameter From Property With Multiplicity</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #parameterFromPropertyWithMultiplicity(org.eclipse.papyrus.uml.alf.ElementReference, java.lang.String, java.lang.String)
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate PARAMETER_FROM_PROPERTY_WITH_MULTIPLICITY_ELEMENT_REFERENCE_STRING_STRING__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE
+ .getInvocationExpression__ParameterFromPropertyWithMultiplicity__ElementReference_String_String()).getInvocationDelegate();
+ /**
+ * The cached invocation delegate for the '{@link #updateAssignments() <em>Update Assignments</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #updateAssignments()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate UPDATE_ASSIGNMENTS__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getInvocationExpression__UpdateAssignments()).getInvocationDelegate();
+ /**
+ * The cached validation expression for the '{@link #invocationExpressionTemplateParameters(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Invocation Expression Template Parameters</em>}' invariant operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #invocationExpressionTemplateParameters(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ * @ordered
+ */
+ protected static final String INVOCATION_EXPRESSION_TEMPLATE_PARAMETERS_DIAGNOSTIC_CHAIN_MAP__EEXPRESSION = "\n" +
+ " let referent = self.referent in\n" +
+ " referent <> null implies\n" +
+ " let template = referent.template() in\n" +
+ " template <> null implies \n" +
+ " let parameters = template.templateParameters() in\n" +
+ " let actuals = referent.templateActuals() in\n" +
+ " parameters->size() = actuals->size() and\n" +
+ " parameters->size() <> 0 implies\n" +
+ " Sequence{1..parameters->size()}->forAll(i |\n" +
+ " let parameter = parameters->at(i) in\n" +
+ " let actual = actuals->at(i) in\n" +
+ " parameter.isClassifierTemplateParameter() and\n" +
+ " parameter.parents()->forAll(p | actual.conformsTo(p))\n" +
+ " )";
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public ElementReference referent() {
+ // TODO: implement this method
+ // Ensure that you remove @generated or mark it @generated NOT
+ throw new UnsupportedOperationException();
+ }
+
+ private ElementReference referent = null;
+ private boolean notResolved = true;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated NOT
+ */
+ public ElementReference referentCached() {
+ if (this.notResolved) {
+ this.referent = this.referent();
+ this.notResolved = false;
+ }
+ return this.referent;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object eInvoke(int operationID, EList<?> arguments) throws InvocationTargetException {
+ switch (operationID) {
+ case AlfPackage.INVOCATION_EXPRESSION___ASSIGNMENTS_BEFORE__SYNTAXELEMENT:
+ return assignmentsBefore((SyntaxElement) arguments.get(0));
+ case AlfPackage.INVOCATION_EXPRESSION___FEATURE:
+ return feature();
+ case AlfPackage.INVOCATION_EXPRESSION___REFERENT:
+ return referent();
+ case AlfPackage.INVOCATION_EXPRESSION___REFERENT_CACHED:
+ return referentCached();
+ case AlfPackage.INVOCATION_EXPRESSION___TYPE:
+ return type();
+ case AlfPackage.INVOCATION_EXPRESSION___INVOCATION_EXPRESSION_TYPE:
+ return InvocationExpression_type();
+ case AlfPackage.INVOCATION_EXPRESSION___UPPER:
+ return upper();
+ case AlfPackage.INVOCATION_EXPRESSION___INVOCATION_EXPRESSION_UPPER:
+ return InvocationExpression_upper();
+ case AlfPackage.INVOCATION_EXPRESSION___LOWER:
+ return lower();
+ case AlfPackage.INVOCATION_EXPRESSION___INVOCATION_EXPRESSION_LOWER:
+ return InvocationExpression_lower();
+ case AlfPackage.INVOCATION_EXPRESSION___PARAMETER_NAMED__STRING:
+ return parameterNamed((String) arguments.get(0));
+ case AlfPackage.INVOCATION_EXPRESSION___PARAMETER_COUNT:
+ return parameterCount();
+ case AlfPackage.INVOCATION_EXPRESSION___PARAMETER_IS_ASSIGNABLE_FROM__INPUTNAMEDEXPRESSION:
+ return parameterIsAssignableFrom((InputNamedExpression) arguments.get(0));
+ case AlfPackage.INVOCATION_EXPRESSION___PARAMETER_IS_ASSIGNABLE_TO__OUTPUTNAMEDEXPRESSION:
+ return parameterIsAssignableTo((OutputNamedExpression) arguments.get(0));
+ case AlfPackage.INVOCATION_EXPRESSION___ALTERNATIVE_CONSTRUCTOR_IS_VALID:
+ return alternativeConstructorIsValid();
+ case AlfPackage.INVOCATION_EXPRESSION___BIND_TEMPLATE_IMPLICIT_ARGUMENTS__ELEMENTREFERENCE_EXPRESSION:
+ return bindTemplateImplicitArguments((ElementReference) arguments.get(0), (Expression) arguments.get(1));
+ case AlfPackage.INVOCATION_EXPRESSION___BIND_TEMPLATE_IMPLICIT_ARGUMENTS1__ELEMENTREFERENCE_EXPRESSION:
+ return bindTemplateImplicitArguments1((ElementReference) arguments.get(0), (Expression) arguments.get(1));
+ case AlfPackage.INVOCATION_EXPRESSION___EFFECTIVE_TYPE__ELEMENTREFERENCE_EXPRESSION:
+ return effectiveType((ElementReference) arguments.get(0), (Expression) arguments.get(1));
+ case AlfPackage.INVOCATION_EXPRESSION___PARAMETER_ELEMENTS:
+ return parameterElements();
+ case AlfPackage.INVOCATION_EXPRESSION___INVOCATION_EXPRESSION_PARAMETER_ELEMENTS:
+ return InvocationExpression_parameterElements();
+ case AlfPackage.INVOCATION_EXPRESSION___PARAMETER_FROM_PROPERTY__ELEMENTREFERENCE:
+ return parameterFromProperty((ElementReference) arguments.get(0));
+ case AlfPackage.INVOCATION_EXPRESSION___PARAMETER_FROM_PROPERTY_WITH_MULTIPLICITY__ELEMENTREFERENCE_STRING_STRING:
+ return parameterFromPropertyWithMultiplicity((ElementReference) arguments.get(0), (String) arguments.get(1), (String) arguments.get(2));
+ case AlfPackage.INVOCATION_EXPRESSION___INVOCATION_EXPRESSION_IS_BEHAVIOR_DERIVATION__DIAGNOSTICCHAIN_MAP:
+ return invocationExpressionIsBehaviorDerivation((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ case AlfPackage.INVOCATION_EXPRESSION___INVOCATION_EXPRESSION_IS_ASSOCIATION_END_DERIVATION__DIAGNOSTICCHAIN_MAP:
+ return invocationExpressionIsAssociationEndDerivation((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ case AlfPackage.INVOCATION_EXPRESSION___INVOCATION_EXPRESSION_IS_OPERATION_DERIVATION__DIAGNOSTICCHAIN_MAP:
+ return invocationExpressionIsOperationDerivation((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ case AlfPackage.INVOCATION_EXPRESSION___INVOCATION_EXPRESSION_IS_DESTRUCTOR_DERIVATION__DIAGNOSTICCHAIN_MAP:
+ return invocationExpressionIsDestructorDerivation((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ case AlfPackage.INVOCATION_EXPRESSION___INVOCATION_EXPRESSION_IS_IMPLICIT_DERIVATION__DIAGNOSTICCHAIN_MAP:
+ return invocationExpressionIsImplicitDerivation((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ case AlfPackage.INVOCATION_EXPRESSION___INVOCATION_EXPRESSION_IS_SIGNAL_DERIVATION__DIAGNOSTICCHAIN_MAP:
+ return invocationExpressionIsSignalDerivation((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ case AlfPackage.INVOCATION_EXPRESSION___INVOCATION_EXPRESSION_PARAMETER_DERIVATION__DIAGNOSTICCHAIN_MAP:
+ return invocationExpressionParameterDerivation((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ case AlfPackage.INVOCATION_EXPRESSION___INVOCATION_EXPRESSION_TYPE_DERIVATION__DIAGNOSTICCHAIN_MAP:
+ return invocationExpressionTypeDerivation((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ case AlfPackage.INVOCATION_EXPRESSION___INVOCATION_EXPRESSION_UPPER_DERIVATION__DIAGNOSTICCHAIN_MAP:
+ return invocationExpressionUpperDerivation((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ case AlfPackage.INVOCATION_EXPRESSION___INVOCATION_EXPRESSION_LOWER_DERIVATION__DIAGNOSTICCHAIN_MAP:
+ return invocationExpressionLowerDerivation((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ case AlfPackage.INVOCATION_EXPRESSION___INVOCATION_EXPRESSION_ASSIGNMENTS_BEFORE__DIAGNOSTICCHAIN_MAP:
+ return invocationExpressionAssignmentsBefore((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ case AlfPackage.INVOCATION_EXPRESSION___UPDATE_ASSIGNMENTS:
+ return updateAssignments();
+ case AlfPackage.INVOCATION_EXPRESSION___INVOCATION_EXPRESSION_TEMPLATE_PARAMETERS__DIAGNOSTICCHAIN_MAP:
+ return invocationExpressionTemplateParameters((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ }
+ return super.eInvoke(operationID, arguments);
+ }
+
+} // InvocationExpressionImpl
diff --git a/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/IsUniqueExpressionImpl.java b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/IsUniqueExpressionImpl.java
new file mode 100644
index 00000000000..b8de05ce2ef
--- /dev/null
+++ b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/IsUniqueExpressionImpl.java
@@ -0,0 +1,39 @@
+/**
+ */
+package org.eclipse.papyrus.uml.alf.impl;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.papyrus.uml.alf.AlfPackage;
+import org.eclipse.papyrus.uml.alf.IsUniqueExpression;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Is Unique Expression</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ *
+ * @generated
+ */
+public class IsUniqueExpressionImpl extends SequenceExpansionExpressionImpl implements IsUniqueExpression {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected IsUniqueExpressionImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return AlfPackage.eINSTANCE.getIsUniqueExpression();
+ }
+
+} // IsUniqueExpressionImpl
diff --git a/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/IsolationExpressionImpl.java b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/IsolationExpressionImpl.java
new file mode 100644
index 00000000000..dd8b18a8974
--- /dev/null
+++ b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/IsolationExpressionImpl.java
@@ -0,0 +1,231 @@
+/**
+ */
+package org.eclipse.papyrus.uml.alf.impl;
+
+import java.lang.reflect.InvocationTargetException;
+import java.math.BigInteger;
+import java.util.Map;
+import org.eclipse.emf.common.util.BasicDiagnostic;
+import org.eclipse.emf.common.util.Diagnostic;
+import org.eclipse.emf.common.util.DiagnosticChain;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.common.util.WrappedException;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EOperation;
+import org.eclipse.emf.ecore.plugin.EcorePlugin;
+import org.eclipse.emf.ecore.util.EObjectValidator;
+import org.eclipse.papyrus.uml.alf.AlfPackage;
+import org.eclipse.papyrus.uml.alf.ElementReference;
+import org.eclipse.papyrus.uml.alf.IsolationExpression;
+import org.eclipse.papyrus.uml.alf.util.AlfValidator;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Isolation Expression</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ *
+ * @generated
+ */
+public class IsolationExpressionImpl extends UnaryExpressionImpl implements IsolationExpression {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected IsolationExpressionImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return AlfPackage.eINSTANCE.getIsolationExpression();
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #type() <em>Type</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #type()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate TYPE__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getIsolationExpression__Type()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public ElementReference type() {
+ try {
+ return (ElementReference) TYPE__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #lower() <em>Lower</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #lower()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate LOWER__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getIsolationExpression__Lower()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public BigInteger lower() {
+ try {
+ return (BigInteger) LOWER__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #upper() <em>Upper</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #upper()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate UPPER__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getIsolationExpression__Upper()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public BigInteger upper() {
+ try {
+ return (BigInteger) UPPER__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isolationExpressionTypeDerivation(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.ISOLATION_EXPRESSION__ISOLATION_EXPRESSION_TYPE_DERIVATION,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "isolationExpressionTypeDerivation", EObjectValidator.getObjectLabel(this, context) }),
+ new Object[] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isolationExpressionLowerDerivation(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.ISOLATION_EXPRESSION__ISOLATION_EXPRESSION_LOWER_DERIVATION,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "isolationExpressionLowerDerivation", EObjectValidator.getObjectLabel(this, context) }),
+ new Object[] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isolationExpressionUpperDerivation(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.ISOLATION_EXPRESSION__ISOLATION_EXPRESSION_UPPER_DERIVATION,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "isolationExpressionUpperDerivation", EObjectValidator.getObjectLabel(this, context) }),
+ new Object[] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object eInvoke(int operationID, EList<?> arguments) throws InvocationTargetException {
+ switch (operationID) {
+ case AlfPackage.ISOLATION_EXPRESSION___TYPE:
+ return type();
+ case AlfPackage.ISOLATION_EXPRESSION___LOWER:
+ return lower();
+ case AlfPackage.ISOLATION_EXPRESSION___UPPER:
+ return upper();
+ case AlfPackage.ISOLATION_EXPRESSION___ISOLATION_EXPRESSION_TYPE_DERIVATION__DIAGNOSTICCHAIN_MAP:
+ return isolationExpressionTypeDerivation((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ case AlfPackage.ISOLATION_EXPRESSION___ISOLATION_EXPRESSION_LOWER_DERIVATION__DIAGNOSTICCHAIN_MAP:
+ return isolationExpressionLowerDerivation((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ case AlfPackage.ISOLATION_EXPRESSION___ISOLATION_EXPRESSION_UPPER_DERIVATION__DIAGNOSTICCHAIN_MAP:
+ return isolationExpressionUpperDerivation((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ }
+ return super.eInvoke(operationID, arguments);
+ }
+
+} // IsolationExpressionImpl
diff --git a/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/LeftHandSideImpl.java b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/LeftHandSideImpl.java
new file mode 100644
index 00000000000..2bfcf9d3654
--- /dev/null
+++ b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/LeftHandSideImpl.java
@@ -0,0 +1,525 @@
+/**
+ */
+package org.eclipse.papyrus.uml.alf.impl;
+
+import java.lang.reflect.InvocationTargetException;
+import java.math.BigInteger;
+import java.util.Map;
+import org.eclipse.emf.common.util.BasicEList;
+import org.eclipse.emf.common.util.Diagnostic;
+import org.eclipse.emf.common.util.DiagnosticChain;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.common.util.WrappedException;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EOperation;
+import org.eclipse.papyrus.uml.alf.AlfPackage;
+import org.eclipse.papyrus.uml.alf.AssignableElement;
+import org.eclipse.papyrus.uml.alf.AssignedSource;
+import org.eclipse.papyrus.uml.alf.ElementReference;
+import org.eclipse.papyrus.uml.alf.Expression;
+import org.eclipse.papyrus.uml.alf.FeatureReference;
+import org.eclipse.papyrus.uml.alf.LeftHandSide;
+import org.eclipse.papyrus.uml.alf.SyntaxElement;
+import org.eclipse.papyrus.uml.alf.util.AlfValidator;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Left Hand Side</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.uml.alf.impl.LeftHandSideImpl#getAssignmentBefore <em>Assignment Before</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.impl.LeftHandSideImpl#getAssignmentAfter <em>Assignment After</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.impl.LeftHandSideImpl#getReferent <em>Referent</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public abstract class LeftHandSideImpl extends AssignableElementImpl implements LeftHandSide {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected LeftHandSideImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return AlfPackage.eINSTANCE.getLeftHandSide();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<AssignedSource> getAssignmentBefore() {
+ return (EList<AssignedSource>) eGet(AlfPackage.eINSTANCE.getLeftHandSide_AssignmentBefore(), true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<AssignedSource> getAssignmentAfter() {
+ return (EList<AssignedSource>) eGet(AlfPackage.eINSTANCE.getLeftHandSide_AssignmentAfter(), true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public ElementReference getReferent() {
+ return (ElementReference) eGet(AlfPackage.eINSTANCE.getLeftHandSide_Referent(), true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setReferent(ElementReference newReferent) {
+ eSet(AlfPackage.eINSTANCE.getLeftHandSide_Referent(), newReferent);
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #assignmentsBefore(org.eclipse.papyrus.uml.alf.SyntaxElement) <em>Assignments Before</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #assignmentsBefore(org.eclipse.papyrus.uml.alf.SyntaxElement)
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate ASSIGNMENTS_BEFORE_SYNTAX_ELEMENT__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getLeftHandSide__AssignmentsBefore__SyntaxElement()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<AssignedSource> assignmentsBefore(SyntaxElement element) {
+ try {
+ return (EList<AssignedSource>) ASSIGNMENTS_BEFORE_SYNTAX_ELEMENT__EINVOCATION_DELEGATE.dynamicInvoke(this, new BasicEList.UnmodifiableEList<Object>(1, new Object[] { element }));
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #assignmentsAfter() <em>Assignments After</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #assignmentsAfter()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate ASSIGNMENTS_AFTER__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getLeftHandSide__AssignmentsAfter()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<AssignedSource> assignmentsAfter() {
+ try {
+ return (EList<AssignedSource>) ASSIGNMENTS_AFTER__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #type() <em>Type</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #type()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate TYPE__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getLeftHandSide__Type()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public ElementReference type() {
+ try {
+ return (ElementReference) TYPE__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #LeftHandSide_type() <em>Left Hand Side type</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #LeftHandSide_type()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate LEFT_HAND_SIDE_TYPE__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getLeftHandSide__LeftHandSide_type()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public ElementReference LeftHandSide_type() {
+ try {
+ return (ElementReference) LEFT_HAND_SIDE_TYPE__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #upper() <em>Upper</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #upper()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate UPPER__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getLeftHandSide__Upper()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public BigInteger upper() {
+ try {
+ return (BigInteger) UPPER__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #LeftHandSide_upper() <em>Left Hand Side upper</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #LeftHandSide_upper()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate LEFT_HAND_SIDE_UPPER__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getLeftHandSide__LeftHandSide_upper()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public BigInteger LeftHandSide_upper() {
+ try {
+ return (BigInteger) LEFT_HAND_SIDE_UPPER__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #lower() <em>Lower</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #lower()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate LOWER__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getLeftHandSide__Lower()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public BigInteger lower() {
+ try {
+ return (BigInteger) LOWER__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #LeftHandSide_lower() <em>Left Hand Side lower</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #LeftHandSide_lower()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate LEFT_HAND_SIDE_LOWER__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getLeftHandSide__LeftHandSide_lower()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public BigInteger LeftHandSide_lower() {
+ try {
+ return (BigInteger) LEFT_HAND_SIDE_LOWER__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public ElementReference referent() {
+ // TODO: implement this method
+ // Ensure that you remove @generated or mark it @generated NOT
+ throw new UnsupportedOperationException();
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #assignedName() <em>Assigned Name</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #assignedName()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate ASSIGNED_NAME__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getLeftHandSide__AssignedName()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public String assignedName() {
+ try {
+ return (String) ASSIGNED_NAME__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public String localName() {
+ // TODO: implement this method
+ // Ensure that you remove @generated or mark it @generated NOT
+ throw new UnsupportedOperationException();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public FeatureReference feature() {
+ // TODO: implement this method
+ // Ensure that you remove @generated or mark it @generated NOT
+ throw new UnsupportedOperationException();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public Expression expression() {
+ // TODO: implement this method
+ // Ensure that you remove @generated or mark it @generated NOT
+ throw new UnsupportedOperationException();
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #isDataValueUpdate() <em>Is Data Value Update</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #isDataValueUpdate()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate IS_DATA_VALUE_UPDATE__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getLeftHandSide__IsDataValueUpdate()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isDataValueUpdate() {
+ try {
+ return (Boolean) IS_DATA_VALUE_UPDATE__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached validation expression for the '{@link #leftHandSideIndexExpression(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Left Hand Side Index Expression</em>}' invariant operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #leftHandSideIndexExpression(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ * @ordered
+ */
+ protected static final String LEFT_HAND_SIDE_INDEX_EXPRESSION_DIAGNOSTIC_CHAIN_MAP__EEXPRESSION = "self.index() <> null implies self.index().upper <= 1";
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean leftHandSideIndexExpression(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return AlfValidator.validate
+ (AlfPackage.eINSTANCE.getLeftHandSide(),
+ this,
+ diagnostics,
+ context,
+ "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot",
+ AlfPackage.eINSTANCE.getLeftHandSide__LeftHandSideIndexExpression__DiagnosticChain_Map(),
+ LEFT_HAND_SIDE_INDEX_EXPRESSION_DIAGNOSTIC_CHAIN_MAP__EEXPRESSION,
+ Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.LEFT_HAND_SIDE__LEFT_HAND_SIDE_INDEX_EXPRESSION);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public Expression index() {
+ // TODO: implement this method
+ // Ensure that you remove @generated or mark it @generated NOT
+ throw new UnsupportedOperationException();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public int eDerivedOperationID(int baseOperationID, Class<?> baseClass) {
+ if (baseClass == SyntaxElement.class) {
+ switch (baseOperationID) {
+ case AlfPackage.SYNTAX_ELEMENT___ASSIGNMENTS_BEFORE__SYNTAXELEMENT:
+ return AlfPackage.LEFT_HAND_SIDE___ASSIGNMENTS_BEFORE__SYNTAXELEMENT;
+ default:
+ return super.eDerivedOperationID(baseOperationID, baseClass);
+ }
+ }
+ if (baseClass == AssignableElement.class) {
+ switch (baseOperationID) {
+ case AlfPackage.ASSIGNABLE_ELEMENT___TYPE:
+ return AlfPackage.LEFT_HAND_SIDE___TYPE;
+ case AlfPackage.ASSIGNABLE_ELEMENT___LOWER:
+ return AlfPackage.LEFT_HAND_SIDE___LOWER;
+ case AlfPackage.ASSIGNABLE_ELEMENT___UPPER:
+ return AlfPackage.LEFT_HAND_SIDE___UPPER;
+ default:
+ return super.eDerivedOperationID(baseOperationID, baseClass);
+ }
+ }
+ return super.eDerivedOperationID(baseOperationID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object eInvoke(int operationID, EList<?> arguments) throws InvocationTargetException {
+ switch (operationID) {
+ case AlfPackage.LEFT_HAND_SIDE___ASSIGNMENTS_BEFORE__SYNTAXELEMENT:
+ return assignmentsBefore((SyntaxElement) arguments.get(0));
+ case AlfPackage.LEFT_HAND_SIDE___ASSIGNMENTS_AFTER:
+ return assignmentsAfter();
+ case AlfPackage.LEFT_HAND_SIDE___TYPE:
+ return type();
+ case AlfPackage.LEFT_HAND_SIDE___LEFT_HAND_SIDE_TYPE:
+ return LeftHandSide_type();
+ case AlfPackage.LEFT_HAND_SIDE___UPPER:
+ return upper();
+ case AlfPackage.LEFT_HAND_SIDE___LEFT_HAND_SIDE_UPPER:
+ return LeftHandSide_upper();
+ case AlfPackage.LEFT_HAND_SIDE___LOWER:
+ return lower();
+ case AlfPackage.LEFT_HAND_SIDE___LEFT_HAND_SIDE_LOWER:
+ return LeftHandSide_lower();
+ case AlfPackage.LEFT_HAND_SIDE___REFERENT:
+ return referent();
+ case AlfPackage.LEFT_HAND_SIDE___ASSIGNED_NAME:
+ return assignedName();
+ case AlfPackage.LEFT_HAND_SIDE___LOCAL_NAME:
+ return localName();
+ case AlfPackage.LEFT_HAND_SIDE___FEATURE:
+ return feature();
+ case AlfPackage.LEFT_HAND_SIDE___EXPRESSION:
+ return expression();
+ case AlfPackage.LEFT_HAND_SIDE___IS_DATA_VALUE_UPDATE:
+ return isDataValueUpdate();
+ case AlfPackage.LEFT_HAND_SIDE___LEFT_HAND_SIDE_INDEX_EXPRESSION__DIAGNOSTICCHAIN_MAP:
+ return leftHandSideIndexExpression((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ case AlfPackage.LEFT_HAND_SIDE___INDEX:
+ return index();
+ }
+ return super.eInvoke(operationID, arguments);
+ }
+
+} // LeftHandSideImpl
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
new file mode 100644
index 00000000000..8e438e715ec
--- /dev/null
+++ b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/LinkOperationExpressionImpl.java
@@ -0,0 +1,442 @@
+/**
+ */
+package org.eclipse.papyrus.uml.alf.impl;
+
+import java.lang.reflect.InvocationTargetException;
+import java.util.Map;
+import org.eclipse.emf.common.util.BasicDiagnostic;
+import org.eclipse.emf.common.util.Diagnostic;
+import org.eclipse.emf.common.util.DiagnosticChain;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.common.util.WrappedException;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EOperation;
+import org.eclipse.emf.ecore.plugin.EcorePlugin;
+import org.eclipse.emf.ecore.util.EObjectValidator;
+import org.eclipse.papyrus.uml.alf.AlfPackage;
+import org.eclipse.papyrus.uml.alf.ElementReference;
+import org.eclipse.papyrus.uml.alf.FeatureReference;
+import org.eclipse.papyrus.uml.alf.InvocationExpression;
+import org.eclipse.papyrus.uml.alf.LinkOperationExpression;
+import org.eclipse.papyrus.uml.alf.QualifiedName;
+import org.eclipse.papyrus.uml.alf.util.AlfValidator;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Link Operation Expression</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.uml.alf.impl.LinkOperationExpressionImpl#getOperation <em>Operation</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.impl.LinkOperationExpressionImpl#isIsCreation <em>Is Creation</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.impl.LinkOperationExpressionImpl#isIsClear <em>Is Clear</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.impl.LinkOperationExpressionImpl#getAssociationName <em>Association Name</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class LinkOperationExpressionImpl extends InvocationExpressionImpl implements LinkOperationExpression {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected LinkOperationExpressionImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return AlfPackage.eINSTANCE.getLinkOperationExpression();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public String getOperation() {
+ return (String) eGet(AlfPackage.eINSTANCE.getLinkOperationExpression_Operation(), true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setOperation(String newOperation) {
+ eSet(AlfPackage.eINSTANCE.getLinkOperationExpression_Operation(), newOperation);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isIsCreation() {
+ return (Boolean) eGet(AlfPackage.eINSTANCE.getLinkOperationExpression_IsCreation(), true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setIsCreation(boolean newIsCreation) {
+ eSet(AlfPackage.eINSTANCE.getLinkOperationExpression_IsCreation(), newIsCreation);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isIsClear() {
+ return (Boolean) eGet(AlfPackage.eINSTANCE.getLinkOperationExpression_IsClear(), true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setIsClear(boolean newIsClear) {
+ eSet(AlfPackage.eINSTANCE.getLinkOperationExpression_IsClear(), newIsClear);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public QualifiedName getAssociationName() {
+ return (QualifiedName) eGet(AlfPackage.eINSTANCE.getLinkOperationExpression_AssociationName(), true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setAssociationName(QualifiedName newAssociationName) {
+ eSet(AlfPackage.eINSTANCE.getLinkOperationExpression_AssociationName(), newAssociationName);
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #referent() <em>Referent</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #referent()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate REFERENT__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getLinkOperationExpression__Referent()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public ElementReference referent() {
+ try {
+ return (ElementReference) REFERENT__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #feature() <em>Feature</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #feature()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate FEATURE__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getLinkOperationExpression__Feature()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public FeatureReference feature() {
+ try {
+ return (FeatureReference) FEATURE__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean linkOperationExpressionIsCreationDerivation(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.LINK_OPERATION_EXPRESSION__LINK_OPERATION_EXPRESSION_IS_CREATION_DERIVATION,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "linkOperationExpressionIsCreationDerivation", EObjectValidator.getObjectLabel(this, context) }),
+ new Object[] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean linkOperationExpressionIsClearDerivation(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.LINK_OPERATION_EXPRESSION__LINK_OPERATION_EXPRESSION_IS_CLEAR_DERIVATION,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "linkOperationExpressionIsClearDerivation", EObjectValidator.getObjectLabel(this, context) }),
+ new Object[] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean linkOperationExpressionReferentDerivation(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.LINK_OPERATION_EXPRESSION__LINK_OPERATION_EXPRESSION_REFERENT_DERIVATION,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "linkOperationExpressionReferentDerivation", EObjectValidator.getObjectLabel(this, context) }),
+ new Object[] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean linkOperationExpressionFeatureDerivation(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.LINK_OPERATION_EXPRESSION__LINK_OPERATION_EXPRESSION_FEATURE_DERIVATION,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "linkOperationExpressionFeatureDerivation", EObjectValidator.getObjectLabel(this, context) }),
+ new Object[] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * The cached validation expression for the '{@link #linkOperationExpressionAssociationReference(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Link Operation Expression Association Reference</em>}' invariant operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #linkOperationExpressionAssociationReference(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ * @ordered
+ */
+ protected static final String LINK_OPERATION_EXPRESSION_ASSOCIATION_REFERENCE_DIAGNOSTIC_CHAIN_MAP__EEXPRESSION = "self.referent <> null";
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean linkOperationExpressionAssociationReference(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return AlfValidator.validate
+ (AlfPackage.eINSTANCE.getLinkOperationExpression(),
+ this,
+ diagnostics,
+ context,
+ "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot",
+ AlfPackage.eINSTANCE.getLinkOperationExpression__LinkOperationExpressionAssociationReference__DiagnosticChain_Map(),
+ LINK_OPERATION_EXPRESSION_ASSOCIATION_REFERENCE_DIAGNOSTIC_CHAIN_MAP__EEXPRESSION,
+ Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.LINK_OPERATION_EXPRESSION__LINK_OPERATION_EXPRESSION_ASSOCIATION_REFERENCE);
+ }
+
+ /**
+ * The cached validation expression for the '{@link #linkOperationExpressionArgumentCompatibility(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Link Operation Expression Argument Compatibility</em>}' invariant operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #linkOperationExpressionArgumentCompatibility(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ * @ordered
+ */
+ protected static final String LINK_OPERATION_EXPRESSION_ARGUMENT_COMPATIBILITY_DIAGNOSTIC_CHAIN_MAP__EEXPRESSION = "\n" +
+ " self.tuple.size() <= self.parameterCount() and\n" +
+ " self.tuple.input->forAll(input | self.parameterIsAssignableFrom(input))";
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean linkOperationExpressionArgumentCompatibility(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return AlfValidator.validate
+ (AlfPackage.eINSTANCE.getLinkOperationExpression(),
+ this,
+ diagnostics,
+ context,
+ "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot",
+ AlfPackage.eINSTANCE.getLinkOperationExpression__LinkOperationExpressionArgumentCompatibility__DiagnosticChain_Map(),
+ LINK_OPERATION_EXPRESSION_ARGUMENT_COMPATIBILITY_DIAGNOSTIC_CHAIN_MAP__EEXPRESSION,
+ Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.LINK_OPERATION_EXPRESSION__LINK_OPERATION_EXPRESSION_ARGUMENT_COMPATIBILITY);
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #parameterElements() <em>Parameter Elements</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #parameterElements()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate PARAMETER_ELEMENTS__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getLinkOperationExpression__ParameterElements()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<ElementReference> parameterElements() {
+ try {
+ return (EList<ElementReference>) PARAMETER_ELEMENTS__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public int eDerivedOperationID(int baseOperationID, Class<?> baseClass) {
+ if (baseClass == InvocationExpression.class) {
+ switch (baseOperationID) {
+ case AlfPackage.INVOCATION_EXPRESSION___FEATURE:
+ return AlfPackage.LINK_OPERATION_EXPRESSION___FEATURE;
+ case AlfPackage.INVOCATION_EXPRESSION___REFERENT:
+ return AlfPackage.LINK_OPERATION_EXPRESSION___REFERENT;
+ case AlfPackage.INVOCATION_EXPRESSION___PARAMETER_ELEMENTS:
+ return AlfPackage.LINK_OPERATION_EXPRESSION___PARAMETER_ELEMENTS;
+ default:
+ return super.eDerivedOperationID(baseOperationID, baseClass);
+ }
+ }
+ return super.eDerivedOperationID(baseOperationID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object eInvoke(int operationID, EList<?> arguments) throws InvocationTargetException {
+ switch (operationID) {
+ case AlfPackage.LINK_OPERATION_EXPRESSION___REFERENT:
+ return referent();
+ case AlfPackage.LINK_OPERATION_EXPRESSION___FEATURE:
+ return feature();
+ case AlfPackage.LINK_OPERATION_EXPRESSION___LINK_OPERATION_EXPRESSION_IS_CREATION_DERIVATION__DIAGNOSTICCHAIN_MAP:
+ return linkOperationExpressionIsCreationDerivation((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ case AlfPackage.LINK_OPERATION_EXPRESSION___LINK_OPERATION_EXPRESSION_IS_CLEAR_DERIVATION__DIAGNOSTICCHAIN_MAP:
+ return linkOperationExpressionIsClearDerivation((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ case AlfPackage.LINK_OPERATION_EXPRESSION___LINK_OPERATION_EXPRESSION_REFERENT_DERIVATION__DIAGNOSTICCHAIN_MAP:
+ return linkOperationExpressionReferentDerivation((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ case AlfPackage.LINK_OPERATION_EXPRESSION___LINK_OPERATION_EXPRESSION_FEATURE_DERIVATION__DIAGNOSTICCHAIN_MAP:
+ return linkOperationExpressionFeatureDerivation((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ case AlfPackage.LINK_OPERATION_EXPRESSION___LINK_OPERATION_EXPRESSION_ASSOCIATION_REFERENCE__DIAGNOSTICCHAIN_MAP:
+ return linkOperationExpressionAssociationReference((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ case AlfPackage.LINK_OPERATION_EXPRESSION___LINK_OPERATION_EXPRESSION_ARGUMENT_COMPATIBILITY__DIAGNOSTICCHAIN_MAP:
+ return linkOperationExpressionArgumentCompatibility((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ case AlfPackage.LINK_OPERATION_EXPRESSION___PARAMETER_ELEMENTS:
+ return parameterElements();
+ }
+ return super.eInvoke(operationID, arguments);
+ }
+
+} // LinkOperationExpressionImpl
diff --git a/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/LiteralExpressionImpl.java b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/LiteralExpressionImpl.java
new file mode 100644
index 00000000000..f08de055a33
--- /dev/null
+++ b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/LiteralExpressionImpl.java
@@ -0,0 +1,175 @@
+/**
+ */
+package org.eclipse.papyrus.uml.alf.impl;
+
+import java.lang.reflect.InvocationTargetException;
+import java.math.BigInteger;
+import java.util.Map;
+import org.eclipse.emf.common.util.BasicDiagnostic;
+import org.eclipse.emf.common.util.Diagnostic;
+import org.eclipse.emf.common.util.DiagnosticChain;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.common.util.WrappedException;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EOperation;
+import org.eclipse.emf.ecore.plugin.EcorePlugin;
+import org.eclipse.emf.ecore.util.EObjectValidator;
+import org.eclipse.papyrus.uml.alf.AlfPackage;
+import org.eclipse.papyrus.uml.alf.LiteralExpression;
+import org.eclipse.papyrus.uml.alf.util.AlfValidator;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Literal Expression</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ *
+ * @generated
+ */
+public abstract class LiteralExpressionImpl extends ExpressionImpl implements LiteralExpression {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected LiteralExpressionImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return AlfPackage.eINSTANCE.getLiteralExpression();
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #upper() <em>Upper</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #upper()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate UPPER__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getLiteralExpression__Upper()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public BigInteger upper() {
+ try {
+ return (BigInteger) UPPER__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #lower() <em>Lower</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #lower()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate LOWER__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getLiteralExpression__Lower()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public BigInteger lower() {
+ try {
+ return (BigInteger) LOWER__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean literalExpressionUpperDerivation(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.LITERAL_EXPRESSION__LITERAL_EXPRESSION_UPPER_DERIVATION,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "literalExpressionUpperDerivation", EObjectValidator.getObjectLabel(this, context) }),
+ new Object[] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean literalExpressionLowerDerivation(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.LITERAL_EXPRESSION__LITERAL_EXPRESSION_LOWER_DERIVATION,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "literalExpressionLowerDerivation", EObjectValidator.getObjectLabel(this, context) }),
+ new Object[] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object eInvoke(int operationID, EList<?> arguments) throws InvocationTargetException {
+ switch (operationID) {
+ case AlfPackage.LITERAL_EXPRESSION___UPPER:
+ return upper();
+ case AlfPackage.LITERAL_EXPRESSION___LOWER:
+ return lower();
+ case AlfPackage.LITERAL_EXPRESSION___LITERAL_EXPRESSION_UPPER_DERIVATION__DIAGNOSTICCHAIN_MAP:
+ return literalExpressionUpperDerivation((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ case AlfPackage.LITERAL_EXPRESSION___LITERAL_EXPRESSION_LOWER_DERIVATION__DIAGNOSTICCHAIN_MAP:
+ return literalExpressionLowerDerivation((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ }
+ return super.eInvoke(operationID, arguments);
+ }
+
+} // LiteralExpressionImpl
diff --git a/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/LocalNameDeclarationStatementImpl.java b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/LocalNameDeclarationStatementImpl.java
new file mode 100644
index 00000000000..8f24f3a0164
--- /dev/null
+++ b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/LocalNameDeclarationStatementImpl.java
@@ -0,0 +1,513 @@
+/**
+ */
+package org.eclipse.papyrus.uml.alf.impl;
+
+import java.lang.reflect.InvocationTargetException;
+import java.util.Map;
+import org.eclipse.emf.common.util.BasicDiagnostic;
+import org.eclipse.emf.common.util.Diagnostic;
+import org.eclipse.emf.common.util.DiagnosticChain;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.common.util.WrappedException;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EOperation;
+import org.eclipse.emf.ecore.plugin.EcorePlugin;
+import org.eclipse.emf.ecore.util.EObjectValidator;
+import org.eclipse.papyrus.uml.alf.AlfPackage;
+import org.eclipse.papyrus.uml.alf.AssignedSource;
+import org.eclipse.papyrus.uml.alf.ElementReference;
+import org.eclipse.papyrus.uml.alf.Expression;
+import org.eclipse.papyrus.uml.alf.LocalNameDeclarationStatement;
+import org.eclipse.papyrus.uml.alf.QualifiedName;
+import org.eclipse.papyrus.uml.alf.Statement;
+import org.eclipse.papyrus.uml.alf.util.AlfValidator;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Local Name Declaration Statement</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.uml.alf.impl.LocalNameDeclarationStatementImpl#getName <em>Name</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.impl.LocalNameDeclarationStatementImpl#getExpression <em>Expression</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.impl.LocalNameDeclarationStatementImpl#isHasMultiplicity <em>Has Multiplicity</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.impl.LocalNameDeclarationStatementImpl#getTypeName <em>Type Name</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.impl.LocalNameDeclarationStatementImpl#getType <em>Type</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.impl.LocalNameDeclarationStatementImpl#isIsAny <em>Is Any</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class LocalNameDeclarationStatementImpl extends StatementImpl implements LocalNameDeclarationStatement {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated NOT
+ */
+ protected LocalNameDeclarationStatementImpl() {
+ super();
+ this.registerCaching();
+ }
+
+ public void clear() {
+ super.clear();
+ this.type = null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return AlfPackage.eINSTANCE.getLocalNameDeclarationStatement();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public String getName() {
+ return (String) eGet(AlfPackage.eINSTANCE.getLocalNameDeclarationStatement_Name(), true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setName(String newName) {
+ eSet(AlfPackage.eINSTANCE.getLocalNameDeclarationStatement_Name(), newName);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public Expression getExpression() {
+ return (Expression) eGet(AlfPackage.eINSTANCE.getLocalNameDeclarationStatement_Expression(), true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setExpression(Expression newExpression) {
+ eSet(AlfPackage.eINSTANCE.getLocalNameDeclarationStatement_Expression(), newExpression);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isHasMultiplicity() {
+ return (Boolean) eGet(AlfPackage.eINSTANCE.getLocalNameDeclarationStatement_HasMultiplicity(), true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setHasMultiplicity(boolean newHasMultiplicity) {
+ eSet(AlfPackage.eINSTANCE.getLocalNameDeclarationStatement_HasMultiplicity(), newHasMultiplicity);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public QualifiedName getTypeName() {
+ return (QualifiedName) eGet(AlfPackage.eINSTANCE.getLocalNameDeclarationStatement_TypeName(), true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setTypeName(QualifiedName newTypeName) {
+ eSet(AlfPackage.eINSTANCE.getLocalNameDeclarationStatement_TypeName(), newTypeName);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public ElementReference getType() {
+ return (ElementReference) eGet(AlfPackage.eINSTANCE.getLocalNameDeclarationStatement_Type(), true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setType(ElementReference newType) {
+ eSet(AlfPackage.eINSTANCE.getLocalNameDeclarationStatement_Type(), newType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isIsAny() {
+ return (Boolean) eGet(AlfPackage.eINSTANCE.getLocalNameDeclarationStatement_IsAny(), true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setIsAny(boolean newIsAny) {
+ eSet(AlfPackage.eINSTANCE.getLocalNameDeclarationStatement_IsAny(), newIsAny);
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #actualName() <em>Actual Name</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #actualName()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate ACTUAL_NAME__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getLocalNameDeclarationStatement__ActualName()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public String actualName() {
+ try {
+ return (String) ACTUAL_NAME__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #assignmentsAfter() <em>Assignments After</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #assignmentsAfter()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate ASSIGNMENTS_AFTER__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getLocalNameDeclarationStatement__AssignmentsAfter()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<AssignedSource> assignmentsAfter() {
+ try {
+ return (EList<AssignedSource>) ASSIGNMENTS_AFTER__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean localNameDeclarationStatementAssignmentsBefore(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.LOCAL_NAME_DECLARATION_STATEMENT__LOCAL_NAME_DECLARATION_STATEMENT_ASSIGNMENTS_BEFORE,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "localNameDeclarationStatementAssignmentsBefore", EObjectValidator.getObjectLabel(this, context) }),
+ new Object[] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * The cached validation expression for the '{@link #localNameDeclarationStatementType(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Local Name Declaration Statement Type</em>}' invariant operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #localNameDeclarationStatementType(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ * @ordered
+ */
+ protected static final String LOCAL_NAME_DECLARATION_STATEMENT_TYPE_DIAGNOSTIC_CHAIN_MAP__EEXPRESSION = "\n" +
+ " self.typeName <> null implies \n" +
+ " self.type <> null and not self.type.isTemplate()\n" +
+ " and AssignableLocalNameDeclaration{localNameDeclaration = self}.\n" +
+ " isAssignableFrom(self.expression)";
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean localNameDeclarationStatementType(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return AlfValidator.validate
+ (AlfPackage.eINSTANCE.getLocalNameDeclarationStatement(),
+ this,
+ diagnostics,
+ context,
+ "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot",
+ AlfPackage.eINSTANCE.getLocalNameDeclarationStatement__LocalNameDeclarationStatementType__DiagnosticChain_Map(),
+ LOCAL_NAME_DECLARATION_STATEMENT_TYPE_DIAGNOSTIC_CHAIN_MAP__EEXPRESSION,
+ Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.LOCAL_NAME_DECLARATION_STATEMENT__LOCAL_NAME_DECLARATION_STATEMENT_TYPE);
+ }
+
+ /**
+ * The cached validation expression for the '{@link #localNameDeclarationStatementLocalName(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Local Name Declaration Statement Local Name</em>}' invariant operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #localNameDeclarationStatementLocalName(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ * @ordered
+ */
+ protected static final String LOCAL_NAME_DECLARATION_STATEMENT_LOCAL_NAME_DIAGNOSTIC_CHAIN_MAP__EEXPRESSION = "\n" +
+ " not self.expression.assignmentBefore->exists(a | a.name = self.actualName()) and\n" +
+ " not self.expression.assignmentAfter->exists(a | a.name = self.actualName())";
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean localNameDeclarationStatementLocalName(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return AlfValidator.validate
+ (AlfPackage.eINSTANCE.getLocalNameDeclarationStatement(),
+ this,
+ diagnostics,
+ context,
+ "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot",
+ AlfPackage.eINSTANCE.getLocalNameDeclarationStatement__LocalNameDeclarationStatementLocalName__DiagnosticChain_Map(),
+ LOCAL_NAME_DECLARATION_STATEMENT_LOCAL_NAME_DIAGNOSTIC_CHAIN_MAP__EEXPRESSION,
+ Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.LOCAL_NAME_DECLARATION_STATEMENT__LOCAL_NAME_DECLARATION_STATEMENT_LOCAL_NAME);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean localNameDeclarationStatementAssignmentsAfter(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.LOCAL_NAME_DECLARATION_STATEMENT__LOCAL_NAME_DECLARATION_STATEMENT_ASSIGNMENTS_AFTER,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "localNameDeclarationStatementAssignmentsAfter", EObjectValidator.getObjectLabel(this, context) }),
+ new Object[] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * The cached validation expression for the '{@link #localNameDeclarationStatementExpressionMultiplicity(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Local Name Declaration Statement Expression Multiplicity</em>}' invariant operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #localNameDeclarationStatementExpressionMultiplicity(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ * @ordered
+ */
+ protected static final String LOCAL_NAME_DECLARATION_STATEMENT_EXPRESSION_MULTIPLICITY_DIAGNOSTIC_CHAIN_MAP__EEXPRESSION = "(not self.hasMultiplicity) implies self.expression.upper <=1";
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean localNameDeclarationStatementExpressionMultiplicity(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return AlfValidator.validate
+ (AlfPackage.eINSTANCE.getLocalNameDeclarationStatement(),
+ this,
+ diagnostics,
+ context,
+ "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot",
+ AlfPackage.eINSTANCE.getLocalNameDeclarationStatement__LocalNameDeclarationStatementExpressionMultiplicity__DiagnosticChain_Map(),
+ LOCAL_NAME_DECLARATION_STATEMENT_EXPRESSION_MULTIPLICITY_DIAGNOSTIC_CHAIN_MAP__EEXPRESSION,
+ Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.LOCAL_NAME_DECLARATION_STATEMENT__LOCAL_NAME_DECLARATION_STATEMENT_EXPRESSION_MULTIPLICITY);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean localNameDeclarationStatementTypeDerivation(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.LOCAL_NAME_DECLARATION_STATEMENT__LOCAL_NAME_DECLARATION_STATEMENT_TYPE_DERIVATION,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "localNameDeclarationStatementTypeDerivation", EObjectValidator.getObjectLabel(this, context) }),
+ new Object[] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ private ElementReference type = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated NOT
+ */
+ public ElementReference typeCached() {
+ if (this.type == null) {
+ this.type = this.type();
+ }
+ return this.type;
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #type() <em>Type</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #type()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate TYPE__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getLocalNameDeclarationStatement__Type()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public ElementReference type() {
+ try {
+ return (ElementReference) TYPE__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public int eDerivedOperationID(int baseOperationID, Class<?> baseClass) {
+ if (baseClass == Statement.class) {
+ switch (baseOperationID) {
+ case AlfPackage.STATEMENT___ASSIGNMENTS_AFTER:
+ return AlfPackage.LOCAL_NAME_DECLARATION_STATEMENT___ASSIGNMENTS_AFTER;
+ default:
+ return super.eDerivedOperationID(baseOperationID, baseClass);
+ }
+ }
+ return super.eDerivedOperationID(baseOperationID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object eInvoke(int operationID, EList<?> arguments) throws InvocationTargetException {
+ switch (operationID) {
+ case AlfPackage.LOCAL_NAME_DECLARATION_STATEMENT___ACTUAL_NAME:
+ return actualName();
+ case AlfPackage.LOCAL_NAME_DECLARATION_STATEMENT___ASSIGNMENTS_AFTER:
+ return assignmentsAfter();
+ case AlfPackage.LOCAL_NAME_DECLARATION_STATEMENT___LOCAL_NAME_DECLARATION_STATEMENT_ASSIGNMENTS_BEFORE__DIAGNOSTICCHAIN_MAP:
+ return localNameDeclarationStatementAssignmentsBefore((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ case AlfPackage.LOCAL_NAME_DECLARATION_STATEMENT___LOCAL_NAME_DECLARATION_STATEMENT_TYPE__DIAGNOSTICCHAIN_MAP:
+ return localNameDeclarationStatementType((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ case AlfPackage.LOCAL_NAME_DECLARATION_STATEMENT___LOCAL_NAME_DECLARATION_STATEMENT_LOCAL_NAME__DIAGNOSTICCHAIN_MAP:
+ return localNameDeclarationStatementLocalName((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ case AlfPackage.LOCAL_NAME_DECLARATION_STATEMENT___LOCAL_NAME_DECLARATION_STATEMENT_ASSIGNMENTS_AFTER__DIAGNOSTICCHAIN_MAP:
+ return localNameDeclarationStatementAssignmentsAfter((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ case AlfPackage.LOCAL_NAME_DECLARATION_STATEMENT___LOCAL_NAME_DECLARATION_STATEMENT_EXPRESSION_MULTIPLICITY__DIAGNOSTICCHAIN_MAP:
+ return localNameDeclarationStatementExpressionMultiplicity((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ case AlfPackage.LOCAL_NAME_DECLARATION_STATEMENT___LOCAL_NAME_DECLARATION_STATEMENT_TYPE_DERIVATION__DIAGNOSTICCHAIN_MAP:
+ return localNameDeclarationStatementTypeDerivation((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ case AlfPackage.LOCAL_NAME_DECLARATION_STATEMENT___TYPE_CACHED:
+ return typeCached();
+ case AlfPackage.LOCAL_NAME_DECLARATION_STATEMENT___TYPE:
+ return type();
+ }
+ return super.eInvoke(operationID, arguments);
+ }
+
+} // LocalNameDeclarationStatementImpl
diff --git a/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/LogicalExpressionImpl.java b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/LogicalExpressionImpl.java
new file mode 100644
index 00000000000..34bbaa28b88
--- /dev/null
+++ b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/LogicalExpressionImpl.java
@@ -0,0 +1,421 @@
+/**
+ */
+package org.eclipse.papyrus.uml.alf.impl;
+
+import java.lang.reflect.InvocationTargetException;
+import java.math.BigInteger;
+import java.util.Map;
+import org.eclipse.emf.common.util.BasicDiagnostic;
+import org.eclipse.emf.common.util.Diagnostic;
+import org.eclipse.emf.common.util.DiagnosticChain;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.common.util.WrappedException;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EOperation;
+import org.eclipse.emf.ecore.plugin.EcorePlugin;
+import org.eclipse.emf.ecore.util.EObjectValidator;
+import org.eclipse.papyrus.uml.alf.AlfPackage;
+import org.eclipse.papyrus.uml.alf.ElementReference;
+import org.eclipse.papyrus.uml.alf.LogicalExpression;
+import org.eclipse.papyrus.uml.alf.util.AlfValidator;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Logical Expression</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.uml.alf.impl.LogicalExpressionImpl#isIsBitWise <em>Is Bit Wise</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.impl.LogicalExpressionImpl#isIsBitStringConversion1 <em>Is Bit String Conversion1</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.impl.LogicalExpressionImpl#isIsBitStringConversion2 <em>Is Bit String Conversion2</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class LogicalExpressionImpl extends BinaryExpressionImpl implements LogicalExpression {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected LogicalExpressionImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return AlfPackage.eINSTANCE.getLogicalExpression();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isIsBitWise() {
+ return (Boolean) eGet(AlfPackage.eINSTANCE.getLogicalExpression_IsBitWise(), true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setIsBitWise(boolean newIsBitWise) {
+ eSet(AlfPackage.eINSTANCE.getLogicalExpression_IsBitWise(), newIsBitWise);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isIsBitStringConversion1() {
+ return (Boolean) eGet(AlfPackage.eINSTANCE.getLogicalExpression_IsBitStringConversion1(), true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setIsBitStringConversion1(boolean newIsBitStringConversion1) {
+ eSet(AlfPackage.eINSTANCE.getLogicalExpression_IsBitStringConversion1(), newIsBitStringConversion1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isIsBitStringConversion2() {
+ return (Boolean) eGet(AlfPackage.eINSTANCE.getLogicalExpression_IsBitStringConversion2(), true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setIsBitStringConversion2(boolean newIsBitStringConversion2) {
+ eSet(AlfPackage.eINSTANCE.getLogicalExpression_IsBitStringConversion2(), newIsBitStringConversion2);
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #type() <em>Type</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #type()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate TYPE__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getLogicalExpression__Type()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public ElementReference type() {
+ try {
+ return (ElementReference) TYPE__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #lower() <em>Lower</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #lower()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate LOWER__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getLogicalExpression__Lower()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public BigInteger lower() {
+ try {
+ return (BigInteger) LOWER__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #upper() <em>Upper</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #upper()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate UPPER__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getLogicalExpression__Upper()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public BigInteger upper() {
+ try {
+ return (BigInteger) UPPER__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean logicalExpressionTypeDerivation(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.LOGICAL_EXPRESSION__LOGICAL_EXPRESSION_TYPE_DERIVATION,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "logicalExpressionTypeDerivation", EObjectValidator.getObjectLabel(this, context) }),
+ new Object[] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean logicalExpressionLowerDerivation(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.LOGICAL_EXPRESSION__LOGICAL_EXPRESSION_LOWER_DERIVATION,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "logicalExpressionLowerDerivation", EObjectValidator.getObjectLabel(this, context) }),
+ new Object[] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean logicalExpressionUpperDerivation(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.LOGICAL_EXPRESSION__LOGICAL_EXPRESSION_UPPER_DERIVATION,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "logicalExpressionUpperDerivation", EObjectValidator.getObjectLabel(this, context) }),
+ new Object[] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * The cached validation expression for the '{@link #logicalExpressionOperands(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Logical Expression Operands</em>}' invariant operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #logicalExpressionOperands(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ * @ordered
+ */
+ protected static final String LOGICAL_EXPRESSION_OPERANDS_DIAGNOSTIC_CHAIN_MAP__EEXPRESSION = "\n" +
+ " let type1 = self.operand1.type in\n" +
+ " let type2 = self.operand2.type in\n" +
+ " self.isBooleanType(type1) and self.isBooleanType(type2) or\n" +
+ " (self.isIntegerType(type1) or self.isBitStringType(type1)) and\n" +
+ " (self.isIntegerType(type2) or self.isBitStringType(type2))";
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean logicalExpressionOperands(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return AlfValidator.validate
+ (AlfPackage.eINSTANCE.getLogicalExpression(),
+ this,
+ diagnostics,
+ context,
+ "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot",
+ AlfPackage.eINSTANCE.getLogicalExpression__LogicalExpressionOperands__DiagnosticChain_Map(),
+ LOGICAL_EXPRESSION_OPERANDS_DIAGNOSTIC_CHAIN_MAP__EEXPRESSION,
+ Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.LOGICAL_EXPRESSION__LOGICAL_EXPRESSION_OPERANDS);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean logicalExpressionIsBitStringConversion1Derivation(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.LOGICAL_EXPRESSION__LOGICAL_EXPRESSION_IS_BIT_STRING_CONVERSION1_DERIVATION,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "logicalExpressionIsBitStringConversion1Derivation", EObjectValidator.getObjectLabel(this, context) }),
+ new Object[] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean logicalExpressionIsBitStringConversion2Derivation(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.LOGICAL_EXPRESSION__LOGICAL_EXPRESSION_IS_BIT_STRING_CONVERSION2_DERIVATION,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "logicalExpressionIsBitStringConversion2Derivation", EObjectValidator.getObjectLabel(this, context) }),
+ new Object[] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean logicalExpressionIsBitWiseDerivation(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.LOGICAL_EXPRESSION__LOGICAL_EXPRESSION_IS_BIT_WISE_DERIVATION,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "logicalExpressionIsBitWiseDerivation", EObjectValidator.getObjectLabel(this, context) }),
+ new Object[] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object eInvoke(int operationID, EList<?> arguments) throws InvocationTargetException {
+ switch (operationID) {
+ case AlfPackage.LOGICAL_EXPRESSION___TYPE:
+ return type();
+ case AlfPackage.LOGICAL_EXPRESSION___LOWER:
+ return lower();
+ case AlfPackage.LOGICAL_EXPRESSION___UPPER:
+ return upper();
+ case AlfPackage.LOGICAL_EXPRESSION___LOGICAL_EXPRESSION_TYPE_DERIVATION__DIAGNOSTICCHAIN_MAP:
+ return logicalExpressionTypeDerivation((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ case AlfPackage.LOGICAL_EXPRESSION___LOGICAL_EXPRESSION_LOWER_DERIVATION__DIAGNOSTICCHAIN_MAP:
+ return logicalExpressionLowerDerivation((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ case AlfPackage.LOGICAL_EXPRESSION___LOGICAL_EXPRESSION_UPPER_DERIVATION__DIAGNOSTICCHAIN_MAP:
+ return logicalExpressionUpperDerivation((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ case AlfPackage.LOGICAL_EXPRESSION___LOGICAL_EXPRESSION_OPERANDS__DIAGNOSTICCHAIN_MAP:
+ return logicalExpressionOperands((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ case AlfPackage.LOGICAL_EXPRESSION___LOGICAL_EXPRESSION_IS_BIT_STRING_CONVERSION1_DERIVATION__DIAGNOSTICCHAIN_MAP:
+ return logicalExpressionIsBitStringConversion1Derivation((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ case AlfPackage.LOGICAL_EXPRESSION___LOGICAL_EXPRESSION_IS_BIT_STRING_CONVERSION2_DERIVATION__DIAGNOSTICCHAIN_MAP:
+ return logicalExpressionIsBitStringConversion2Derivation((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ case AlfPackage.LOGICAL_EXPRESSION___LOGICAL_EXPRESSION_IS_BIT_WISE_DERIVATION__DIAGNOSTICCHAIN_MAP:
+ return logicalExpressionIsBitWiseDerivation((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ }
+ return super.eInvoke(operationID, arguments);
+ }
+
+} // LogicalExpressionImpl
diff --git a/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/LoopVariableDefinitionImpl.java b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/LoopVariableDefinitionImpl.java
new file mode 100644
index 00000000000..4cbca14e6b3
--- /dev/null
+++ b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/LoopVariableDefinitionImpl.java
@@ -0,0 +1,604 @@
+/**
+ */
+package org.eclipse.papyrus.uml.alf.impl;
+
+import java.lang.reflect.InvocationTargetException;
+import java.util.Map;
+import org.eclipse.emf.common.util.BasicDiagnostic;
+import org.eclipse.emf.common.util.Diagnostic;
+import org.eclipse.emf.common.util.DiagnosticChain;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.common.util.WrappedException;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EOperation;
+import org.eclipse.emf.ecore.plugin.EcorePlugin;
+import org.eclipse.emf.ecore.util.EObjectValidator;
+import org.eclipse.papyrus.uml.alf.AlfPackage;
+import org.eclipse.papyrus.uml.alf.AssignedSource;
+import org.eclipse.papyrus.uml.alf.ElementReference;
+import org.eclipse.papyrus.uml.alf.Expression;
+import org.eclipse.papyrus.uml.alf.LoopVariableDefinition;
+import org.eclipse.papyrus.uml.alf.QualifiedName;
+import org.eclipse.papyrus.uml.alf.util.AlfValidator;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Loop Variable Definition</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.uml.alf.impl.LoopVariableDefinitionImpl#getVariable <em>Variable</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.impl.LoopVariableDefinitionImpl#getExpression1 <em>Expression1</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.impl.LoopVariableDefinitionImpl#getExpression2 <em>Expression2</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.impl.LoopVariableDefinitionImpl#getTypeName <em>Type Name</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.impl.LoopVariableDefinitionImpl#isTypeIsInferred <em>Type Is Inferred</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.impl.LoopVariableDefinitionImpl#isIsCollectionConversion <em>Is Collection Conversion</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.impl.LoopVariableDefinitionImpl#getType <em>Type</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.impl.LoopVariableDefinitionImpl#isIsFirst <em>Is First</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.impl.LoopVariableDefinitionImpl#getAssignmentBefore <em>Assignment Before</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.impl.LoopVariableDefinitionImpl#getAssignmentAfter <em>Assignment After</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.impl.LoopVariableDefinitionImpl#isIsAny <em>Is Any</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class LoopVariableDefinitionImpl extends SyntaxElementImpl implements LoopVariableDefinition {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected LoopVariableDefinitionImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return AlfPackage.eINSTANCE.getLoopVariableDefinition();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public String getVariable() {
+ return (String) eGet(AlfPackage.eINSTANCE.getLoopVariableDefinition_Variable(), true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setVariable(String newVariable) {
+ eSet(AlfPackage.eINSTANCE.getLoopVariableDefinition_Variable(), newVariable);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public Expression getExpression1() {
+ return (Expression) eGet(AlfPackage.eINSTANCE.getLoopVariableDefinition_Expression1(), true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setExpression1(Expression newExpression1) {
+ eSet(AlfPackage.eINSTANCE.getLoopVariableDefinition_Expression1(), newExpression1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public Expression getExpression2() {
+ return (Expression) eGet(AlfPackage.eINSTANCE.getLoopVariableDefinition_Expression2(), true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setExpression2(Expression newExpression2) {
+ eSet(AlfPackage.eINSTANCE.getLoopVariableDefinition_Expression2(), newExpression2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public QualifiedName getTypeName() {
+ return (QualifiedName) eGet(AlfPackage.eINSTANCE.getLoopVariableDefinition_TypeName(), true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setTypeName(QualifiedName newTypeName) {
+ eSet(AlfPackage.eINSTANCE.getLoopVariableDefinition_TypeName(), newTypeName);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isTypeIsInferred() {
+ return (Boolean) eGet(AlfPackage.eINSTANCE.getLoopVariableDefinition_TypeIsInferred(), true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setTypeIsInferred(boolean newTypeIsInferred) {
+ eSet(AlfPackage.eINSTANCE.getLoopVariableDefinition_TypeIsInferred(), newTypeIsInferred);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isIsCollectionConversion() {
+ return (Boolean) eGet(AlfPackage.eINSTANCE.getLoopVariableDefinition_IsCollectionConversion(), true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setIsCollectionConversion(boolean newIsCollectionConversion) {
+ eSet(AlfPackage.eINSTANCE.getLoopVariableDefinition_IsCollectionConversion(), newIsCollectionConversion);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public ElementReference getType() {
+ return (ElementReference) eGet(AlfPackage.eINSTANCE.getLoopVariableDefinition_Type(), true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setType(ElementReference newType) {
+ eSet(AlfPackage.eINSTANCE.getLoopVariableDefinition_Type(), newType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isIsFirst() {
+ return (Boolean) eGet(AlfPackage.eINSTANCE.getLoopVariableDefinition_IsFirst(), true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setIsFirst(boolean newIsFirst) {
+ eSet(AlfPackage.eINSTANCE.getLoopVariableDefinition_IsFirst(), newIsFirst);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<AssignedSource> getAssignmentBefore() {
+ return (EList<AssignedSource>) eGet(AlfPackage.eINSTANCE.getLoopVariableDefinition_AssignmentBefore(), true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<AssignedSource> getAssignmentAfter() {
+ return (EList<AssignedSource>) eGet(AlfPackage.eINSTANCE.getLoopVariableDefinition_AssignmentAfter(), true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isIsAny() {
+ return (Boolean) eGet(AlfPackage.eINSTANCE.getLoopVariableDefinition_IsAny(), true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setIsAny(boolean newIsAny) {
+ eSet(AlfPackage.eINSTANCE.getLoopVariableDefinition_IsAny(), newIsAny);
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #actualName() <em>Actual Name</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #actualName()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate ACTUAL_NAME__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getLoopVariableDefinition__ActualName()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public String actualName() {
+ try {
+ return (String) ACTUAL_NAME__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #newAssignments() <em>New Assignments</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #newAssignments()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate NEW_ASSIGNMENTS__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getLoopVariableDefinition__NewAssignments()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<AssignedSource> newAssignments() {
+ try {
+ return (EList<AssignedSource>) NEW_ASSIGNMENTS__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean loopVariableDefinitionAssignmentAfterDerivation(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.LOOP_VARIABLE_DEFINITION__LOOP_VARIABLE_DEFINITION_ASSIGNMENT_AFTER_DERIVATION,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "loopVariableDefinitionAssignmentAfterDerivation", EObjectValidator.getObjectLabel(this, context) }),
+ new Object[] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean loopVariableDefinitionAssignmentsBefore(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.LOOP_VARIABLE_DEFINITION__LOOP_VARIABLE_DEFINITION_ASSIGNMENTS_BEFORE,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "loopVariableDefinitionAssignmentsBefore", EObjectValidator.getObjectLabel(this, context) }),
+ new Object[] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * The cached validation expression for the '{@link #loopVariableDefinitionRangeExpressions(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Loop Variable Definition Range Expressions</em>}' invariant operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #loopVariableDefinitionRangeExpressions(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ * @ordered
+ */
+ protected static final String LOOP_VARIABLE_DEFINITION_RANGE_EXPRESSIONS_DIAGNOSTIC_CHAIN_MAP__EEXPRESSION = "\n" +
+ " if self.expression2 = null then true\n" +
+ " else\n" +
+ " let type1 = self.expression1.type in\n" +
+ " let type2 = self.expression2.type in\n" +
+ " type1 <> null and self.isIntegerType(type) and self.expression1.upper = 1 and\n" +
+ " type2 <> null and self.isIntegerType(type) and self.expression2.upper = 1 and\n" +
+ " expression1.newAssignments().name->excludesAll(expression2.newAssignments().name)\n" +
+ " endif";
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean loopVariableDefinitionRangeExpressions(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return AlfValidator.validate
+ (AlfPackage.eINSTANCE.getLoopVariableDefinition(),
+ this,
+ diagnostics,
+ context,
+ "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot",
+ AlfPackage.eINSTANCE.getLoopVariableDefinition__LoopVariableDefinitionRangeExpressions__DiagnosticChain_Map(),
+ LOOP_VARIABLE_DEFINITION_RANGE_EXPRESSIONS_DIAGNOSTIC_CHAIN_MAP__EEXPRESSION,
+ Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.LOOP_VARIABLE_DEFINITION__LOOP_VARIABLE_DEFINITION_RANGE_EXPRESSIONS);
+ }
+
+ /**
+ * The cached validation expression for the '{@link #loopVariableDefinitionTypeName(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Loop Variable Definition Type Name</em>}' invariant operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #loopVariableDefinitionTypeName(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ * @ordered
+ */
+ protected static final String LOOP_VARIABLE_DEFINITION_TYPE_NAME_DIAGNOSTIC_CHAIN_MAP__EEXPRESSION = "\n" +
+ " if self.typeName = null then true\n" +
+ " else\n" +
+ " let referents = self.typeName.referent->select(isClassifier()) in\n" +
+ " referents->size() = 1 and not referents->exists(isTemplate())\n" +
+ " endif";
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean loopVariableDefinitionTypeName(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return AlfValidator.validate
+ (AlfPackage.eINSTANCE.getLoopVariableDefinition(),
+ this,
+ diagnostics,
+ context,
+ "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot",
+ AlfPackage.eINSTANCE.getLoopVariableDefinition__LoopVariableDefinitionTypeName__DiagnosticChain_Map(),
+ LOOP_VARIABLE_DEFINITION_TYPE_NAME_DIAGNOSTIC_CHAIN_MAP__EEXPRESSION,
+ Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.LOOP_VARIABLE_DEFINITION__LOOP_VARIABLE_DEFINITION_TYPE_NAME);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean loopVariableDefinitionTypeDerivation(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.LOOP_VARIABLE_DEFINITION__LOOP_VARIABLE_DEFINITION_TYPE_DERIVATION,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "loopVariableDefinitionTypeDerivation", EObjectValidator.getObjectLabel(this, context) }),
+ new Object[] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * The cached validation expression for the '{@link #loopVariableDefinitionDeclaredType(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Loop Variable Definition Declared Type</em>}' invariant operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #loopVariableDefinitionDeclaredType(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ * @ordered
+ */
+ protected static final String LOOP_VARIABLE_DEFINITION_DECLARED_TYPE_DIAGNOSTIC_CHAIN_MAP__EEXPRESSION = "\n" +
+ " if self.typeIsInferred then true\n" +
+ " else self.expression1.type.conformsTo(self.type)\n" +
+ " endif";
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean loopVariableDefinitionDeclaredType(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return AlfValidator.validate
+ (AlfPackage.eINSTANCE.getLoopVariableDefinition(),
+ this,
+ diagnostics,
+ context,
+ "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot",
+ AlfPackage.eINSTANCE.getLoopVariableDefinition__LoopVariableDefinitionDeclaredType__DiagnosticChain_Map(),
+ LOOP_VARIABLE_DEFINITION_DECLARED_TYPE_DIAGNOSTIC_CHAIN_MAP__EEXPRESSION,
+ Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.LOOP_VARIABLE_DEFINITION__LOOP_VARIABLE_DEFINITION_DECLARED_TYPE);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean loopVariableDefinitionIsCollectionConversionDerivation(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.LOOP_VARIABLE_DEFINITION__LOOP_VARIABLE_DEFINITION_IS_COLLECTION_CONVERSION_DERIVATION,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "loopVariableDefinitionIsCollectionConversionDerivation", EObjectValidator.getObjectLabel(this, context) }),
+ new Object[] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * The cached validation expression for the '{@link #loopVariableDefinitionVariable(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Loop Variable Definition Variable</em>}' invariant operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #loopVariableDefinitionVariable(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ * @ordered
+ */
+ protected static final String LOOP_VARIABLE_DEFINITION_VARIABLE_DIAGNOSTIC_CHAIN_MAP__EEXPRESSION = "\n" +
+ " self.expression1.assignmentAfter.name->excludes(self.actualName()) and\n" +
+ " self.expression2 <> null implies\n" +
+ " self.expression2.assignmentAfter.name->excludes(self.actualName())";
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean loopVariableDefinitionVariable(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return AlfValidator.validate
+ (AlfPackage.eINSTANCE.getLoopVariableDefinition(),
+ this,
+ diagnostics,
+ context,
+ "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot",
+ AlfPackage.eINSTANCE.getLoopVariableDefinition__LoopVariableDefinitionVariable__DiagnosticChain_Map(),
+ LOOP_VARIABLE_DEFINITION_VARIABLE_DIAGNOSTIC_CHAIN_MAP__EEXPRESSION,
+ Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.LOOP_VARIABLE_DEFINITION__LOOP_VARIABLE_DEFINITION_VARIABLE);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object eInvoke(int operationID, EList<?> arguments) throws InvocationTargetException {
+ switch (operationID) {
+ case AlfPackage.LOOP_VARIABLE_DEFINITION___ACTUAL_NAME:
+ return actualName();
+ case AlfPackage.LOOP_VARIABLE_DEFINITION___NEW_ASSIGNMENTS:
+ return newAssignments();
+ case AlfPackage.LOOP_VARIABLE_DEFINITION___LOOP_VARIABLE_DEFINITION_ASSIGNMENT_AFTER_DERIVATION__DIAGNOSTICCHAIN_MAP:
+ return loopVariableDefinitionAssignmentAfterDerivation((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ case AlfPackage.LOOP_VARIABLE_DEFINITION___LOOP_VARIABLE_DEFINITION_ASSIGNMENTS_BEFORE__DIAGNOSTICCHAIN_MAP:
+ return loopVariableDefinitionAssignmentsBefore((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ case AlfPackage.LOOP_VARIABLE_DEFINITION___LOOP_VARIABLE_DEFINITION_RANGE_EXPRESSIONS__DIAGNOSTICCHAIN_MAP:
+ return loopVariableDefinitionRangeExpressions((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ case AlfPackage.LOOP_VARIABLE_DEFINITION___LOOP_VARIABLE_DEFINITION_TYPE_NAME__DIAGNOSTICCHAIN_MAP:
+ return loopVariableDefinitionTypeName((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ case AlfPackage.LOOP_VARIABLE_DEFINITION___LOOP_VARIABLE_DEFINITION_TYPE_DERIVATION__DIAGNOSTICCHAIN_MAP:
+ return loopVariableDefinitionTypeDerivation((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ case AlfPackage.LOOP_VARIABLE_DEFINITION___LOOP_VARIABLE_DEFINITION_DECLARED_TYPE__DIAGNOSTICCHAIN_MAP:
+ return loopVariableDefinitionDeclaredType((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ case AlfPackage.LOOP_VARIABLE_DEFINITION___LOOP_VARIABLE_DEFINITION_IS_COLLECTION_CONVERSION_DERIVATION__DIAGNOSTICCHAIN_MAP:
+ return loopVariableDefinitionIsCollectionConversionDerivation((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ case AlfPackage.LOOP_VARIABLE_DEFINITION___LOOP_VARIABLE_DEFINITION_VARIABLE__DIAGNOSTICCHAIN_MAP:
+ return loopVariableDefinitionVariable((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ }
+ return super.eInvoke(operationID, arguments);
+ }
+
+} // LoopVariableDefinitionImpl
diff --git a/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/MemberDefinitionImpl.java b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/MemberDefinitionImpl.java
new file mode 100644
index 00000000000..45cf8b62f90
--- /dev/null
+++ b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/MemberDefinitionImpl.java
@@ -0,0 +1,842 @@
+/**
+ */
+package org.eclipse.papyrus.uml.alf.impl;
+
+import java.lang.reflect.InvocationTargetException;
+import java.util.Map;
+import org.eclipse.emf.common.util.BasicDiagnostic;
+import org.eclipse.emf.common.util.BasicEList;
+import org.eclipse.emf.common.util.Diagnostic;
+import org.eclipse.emf.common.util.DiagnosticChain;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.common.util.WrappedException;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EOperation;
+import org.eclipse.emf.ecore.plugin.EcorePlugin;
+import org.eclipse.emf.ecore.util.EObjectValidator;
+import org.eclipse.papyrus.uml.alf.AlfPackage;
+import org.eclipse.papyrus.uml.alf.ClassifierTemplateParameter;
+import org.eclipse.papyrus.uml.alf.ElementReference;
+import org.eclipse.papyrus.uml.alf.Member;
+import org.eclipse.papyrus.uml.alf.MemberDefinition;
+import org.eclipse.papyrus.uml.alf.QualifiedName;
+import org.eclipse.papyrus.uml.alf.StereotypeAnnotation;
+import org.eclipse.papyrus.uml.alf.UnitDefinition;
+import org.eclipse.papyrus.uml.alf.util.AlfValidator;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Member Definition</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.uml.alf.impl.MemberDefinitionImpl#getName <em>Name</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.impl.MemberDefinitionImpl#isIsStub <em>Is Stub</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.impl.MemberDefinitionImpl#isIsFeature <em>Is Feature</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.impl.MemberDefinitionImpl#isIsPrimitive <em>Is Primitive</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.impl.MemberDefinitionImpl#isIsExternal <em>Is External</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.impl.MemberDefinitionImpl#getSubunit <em>Subunit</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public abstract class MemberDefinitionImpl extends SyntaxElementImpl implements MemberDefinition {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected MemberDefinitionImpl() {
+ super();
+ }
+
+ @Override
+ public String getId() {
+ return super.getId() + " " + this.getName();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return AlfPackage.eINSTANCE.getMemberDefinition();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public String getName() {
+ return (String) eGet(AlfPackage.eINSTANCE.getMemberDefinition_Name(), true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setName(String newName) {
+ eSet(AlfPackage.eINSTANCE.getMemberDefinition_Name(), newName);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isIsStub() {
+ return (Boolean) eGet(AlfPackage.eINSTANCE.getMemberDefinition_IsStub(), true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setIsStub(boolean newIsStub) {
+ eSet(AlfPackage.eINSTANCE.getMemberDefinition_IsStub(), newIsStub);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isIsFeature() {
+ return (Boolean) eGet(AlfPackage.eINSTANCE.getMemberDefinition_IsFeature(), true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setIsFeature(boolean newIsFeature) {
+ eSet(AlfPackage.eINSTANCE.getMemberDefinition_IsFeature(), newIsFeature);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isIsPrimitive() {
+ return (Boolean) eGet(AlfPackage.eINSTANCE.getMemberDefinition_IsPrimitive(), true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setIsPrimitive(boolean newIsPrimitive) {
+ eSet(AlfPackage.eINSTANCE.getMemberDefinition_IsPrimitive(), newIsPrimitive);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isIsExternal() {
+ return (Boolean) eGet(AlfPackage.eINSTANCE.getMemberDefinition_IsExternal(), true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setIsExternal(boolean newIsExternal) {
+ eSet(AlfPackage.eINSTANCE.getMemberDefinition_IsExternal(), newIsExternal);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public UnitDefinition getSubunit() {
+ return (UnitDefinition) eGet(AlfPackage.eINSTANCE.getMemberDefinition_Subunit(), true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setSubunit(UnitDefinition newSubunit) {
+ eSet(AlfPackage.eINSTANCE.getMemberDefinition_Subunit(), newSubunit);
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #annotation() <em>Annotation</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #annotation()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate ANNOTATION__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getMemberDefinition__Annotation()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<StereotypeAnnotation> annotation() {
+ try {
+ return (EList<StereotypeAnnotation>) ANNOTATION__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #actualName() <em>Actual Name</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #actualName()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate ACTUAL_NAME__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getMemberDefinition__ActualName()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public String actualName() {
+ try {
+ return (String) ACTUAL_NAME__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #outerScope() <em>Outer Scope</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #outerScope()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate OUTER_SCOPE__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getMemberDefinition__OuterScope()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public ElementReference outerScope() {
+ try {
+ return (ElementReference) OUTER_SCOPE__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #MemberDefinition_outerScope() <em>Member Definition outer Scope</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #MemberDefinition_outerScope()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate MEMBER_DEFINITION_OUTER_SCOPE__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getMemberDefinition__MemberDefinition_outerScope()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public ElementReference MemberDefinition_outerScope() {
+ try {
+ return (ElementReference) MEMBER_DEFINITION_OUTER_SCOPE__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #qualifiedName() <em>Qualified Name</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #qualifiedName()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate QUALIFIED_NAME__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getMemberDefinition__QualifiedName()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public QualifiedName qualifiedName() {
+ try {
+ return (QualifiedName) QUALIFIED_NAME__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #namespaceReference() <em>Namespace Reference</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #namespaceReference()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate NAMESPACE_REFERENCE__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getMemberDefinition__NamespaceReference()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public ElementReference namespaceReference() {
+ try {
+ return (ElementReference) NAMESPACE_REFERENCE__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated NOT
+ */
+ public Member addToModel() {
+ // System.out.println("[addToModel] member=" + this.getName());
+ return ModelNamespaceImpl.getModelNamespace().addOwnedMember(this);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean memberAnnotations(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return AlfValidator.validate
+ (AlfPackage.eINSTANCE.getMemberDefinition(),
+ this,
+ diagnostics,
+ context,
+ "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot",
+ AlfPackage.eINSTANCE.getMemberDefinition__MemberAnnotations__DiagnosticChain_Map(),
+ MEMBER_ANNOTATIONS_DIAGNOSTIC_CHAIN_MAP__EEXPRESSION,
+ Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.MEMBER_DEFINITION__MEMBER_ANNOTATIONS);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean memberIsPrimitiveDerivation(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.MEMBER_DEFINITION__MEMBER_IS_PRIMITIVE_DERIVATION,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "memberIsPrimitiveDerivation", EObjectValidator.getObjectLabel(this, context) }),
+ new Object[] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean memberIsExternalDerivation(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.MEMBER_DEFINITION__MEMBER_IS_EXTERNAL_DERIVATION,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "memberIsExternalDerivation", EObjectValidator.getObjectLabel(this, context) }),
+ new Object[] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean memberExternal(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return AlfValidator.validate
+ (AlfPackage.eINSTANCE.getMemberDefinition(),
+ this,
+ diagnostics,
+ context,
+ "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot",
+ AlfPackage.eINSTANCE.getMemberDefinition__MemberExternal__DiagnosticChain_Map(),
+ MEMBER_EXTERNAL_DIAGNOSTIC_CHAIN_MAP__EEXPRESSION,
+ Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.MEMBER_DEFINITION__MEMBER_EXTERNAL);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean memberStub(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.MEMBER_DEFINITION__MEMBER_STUB,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "memberStub", EObjectValidator.getObjectLabel(this, context) }),
+ new Object[] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean memberSubunitDerivation(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.MEMBER_DEFINITION__MEMBER_SUBUNIT_DERIVATION,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "memberSubunitDerivation", EObjectValidator.getObjectLabel(this, context) }),
+ new Object[] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean memberStubStereotypes(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.MEMBER_DEFINITION__MEMBER_STUB_STEREOTYPES,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "memberStubStereotypes", EObjectValidator.getObjectLabel(this, context) }),
+ new Object[] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean memberPrimitive(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return AlfValidator.validate
+ (AlfPackage.eINSTANCE.getMemberDefinition(),
+ this,
+ diagnostics,
+ context,
+ "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot",
+ AlfPackage.eINSTANCE.getMemberDefinition__MemberPrimitive__DiagnosticChain_Map(),
+ MEMBER_PRIMITIVE_DIAGNOSTIC_CHAIN_MAP__EEXPRESSION,
+ Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.MEMBER_DEFINITION__MEMBER_PRIMITIVE);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public Member containingMember() {
+ try {
+ return (Member) CONTAINING_MEMBER__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean annotationAllowed(StereotypeAnnotation annotation) {
+ // TODO: implement this method
+ // Ensure that you remove @generated or mark it @generated NOT
+ throw new UnsupportedOperationException();
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #matchForStub(org.eclipse.papyrus.uml.alf.UnitDefinition) <em>Match For Stub</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #matchForStub(org.eclipse.papyrus.uml.alf.UnitDefinition)
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate MATCH_FOR_STUB_UNIT_DEFINITION__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getMemberDefinition__MatchForStub__UnitDefinition()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean matchForStub(UnitDefinition unit) {
+ try {
+ return (Boolean) MATCH_FOR_STUB_UNIT_DEFINITION__EINVOCATION_DELEGATE.dynamicInvoke(this, new BasicEList.UnmodifiableEList<Object>(1, new Object[] { unit }));
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #isDistinguishableFrom(org.eclipse.papyrus.uml.alf.MemberDefinition) <em>Is Distinguishable From</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #isDistinguishableFrom(org.eclipse.papyrus.uml.alf.MemberDefinition)
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate IS_DISTINGUISHABLE_FROM_MEMBER_DEFINITION__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getMemberDefinition__IsDistinguishableFrom__MemberDefinition())
+ .getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isDistinguishableFrom(MemberDefinition member) {
+ try {
+ return (Boolean) IS_DISTINGUISHABLE_FROM_MEMBER_DEFINITION__EINVOCATION_DELEGATE.dynamicInvoke(this, new BasicEList.UnmodifiableEList<Object>(1, new Object[] { member }));
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #MemberDefinition_isDistinguishableFrom(org.eclipse.papyrus.uml.alf.MemberDefinition) <em>Member Definition is Distinguishable From</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #MemberDefinition_isDistinguishableFrom(org.eclipse.papyrus.uml.alf.MemberDefinition)
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate MEMBER_DEFINITION_IS_DISTINGUISHABLE_FROM_MEMBER_DEFINITION__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE
+ .getMemberDefinition__MemberDefinition_isDistinguishableFrom__MemberDefinition()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean MemberDefinition_isDistinguishableFrom(MemberDefinition member) {
+ try {
+ return (Boolean) MEMBER_DEFINITION_IS_DISTINGUISHABLE_FROM_MEMBER_DEFINITION__EINVOCATION_DELEGATE.dynamicInvoke(this, new BasicEList.UnmodifiableEList<Object>(1, new Object[] { member }));
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isSameKindAs(ElementReference member) {
+ // TODO: implement this method
+ // Ensure that you remove @generated or mark it @generated NOT
+ throw new UnsupportedOperationException();
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #templateParameters() <em>Template Parameters</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #templateParameters()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate TEMPLATE_PARAMETERS__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getMemberDefinition__TemplateParameters()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<ClassifierTemplateParameter> templateParameters() {
+ try {
+ return (EList<ClassifierTemplateParameter>) TEMPLATE_PARAMETERS__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #isTemplate() <em>Is Template</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #isTemplate()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate IS_TEMPLATE__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getMemberDefinition__IsTemplate()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isTemplate() {
+ try {
+ return (Boolean) IS_TEMPLATE__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #isFeature() <em>Is Feature</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #isFeature()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate IS_FEATURE__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getMemberDefinition__IsFeature()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isFeature() {
+ try {
+ return (Boolean) IS_FEATURE__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached validation expression for the '{@link #memberAnnotations(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Member Annotations</em>}' invariant operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #memberAnnotations(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ * @ordered
+ */
+ protected static final String MEMBER_ANNOTATIONS_DIAGNOSTIC_CHAIN_MAP__EEXPRESSION = "\n" +
+ " self.annotation()->forAll(a | self.annotationAllowed(a))";
+ /**
+ * The cached validation expression for the '{@link #memberExternal(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Member External</em>}' invariant operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #memberExternal(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ * @ordered
+ */
+ protected static final String MEMBER_EXTERNAL_DIAGNOSTIC_CHAIN_MAP__EEXPRESSION = "\n" +
+ " self.isExternal implies self.isStub";
+ /**
+ * The cached validation expression for the '{@link #memberPrimitive(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Member Primitive</em>}' invariant operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #memberPrimitive(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ * @ordered
+ */
+ protected static final String MEMBER_PRIMITIVE_DIAGNOSTIC_CHAIN_MAP__EEXPRESSION = "\n" +
+ " self.isPrimitive implies not self.isStub and not self.isTemplate()";
+ /**
+ * The cached invocation delegate for the '{@link #containingMember() <em>Containing Member</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #containingMember()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate CONTAINING_MEMBER__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getMemberDefinition__ContainingMember()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object eInvoke(int operationID, EList<?> arguments) throws InvocationTargetException {
+ switch (operationID) {
+ case AlfPackage.MEMBER_DEFINITION___ANNOTATION:
+ return annotation();
+ case AlfPackage.MEMBER_DEFINITION___ACTUAL_NAME:
+ return actualName();
+ case AlfPackage.MEMBER_DEFINITION___OUTER_SCOPE:
+ return outerScope();
+ case AlfPackage.MEMBER_DEFINITION___MEMBER_DEFINITION_OUTER_SCOPE:
+ return MemberDefinition_outerScope();
+ case AlfPackage.MEMBER_DEFINITION___QUALIFIED_NAME:
+ return qualifiedName();
+ case AlfPackage.MEMBER_DEFINITION___NAMESPACE_REFERENCE:
+ return namespaceReference();
+ case AlfPackage.MEMBER_DEFINITION___ADD_TO_MODEL:
+ return addToModel();
+ case AlfPackage.MEMBER_DEFINITION___ANNOTATION_ALLOWED__STEREOTYPEANNOTATION:
+ return annotationAllowed((StereotypeAnnotation) arguments.get(0));
+ case AlfPackage.MEMBER_DEFINITION___MATCH_FOR_STUB__UNITDEFINITION:
+ return matchForStub((UnitDefinition) arguments.get(0));
+ case AlfPackage.MEMBER_DEFINITION___IS_DISTINGUISHABLE_FROM__MEMBERDEFINITION:
+ return isDistinguishableFrom((MemberDefinition) arguments.get(0));
+ case AlfPackage.MEMBER_DEFINITION___MEMBER_DEFINITION_IS_DISTINGUISHABLE_FROM__MEMBERDEFINITION:
+ return MemberDefinition_isDistinguishableFrom((MemberDefinition) arguments.get(0));
+ case AlfPackage.MEMBER_DEFINITION___IS_SAME_KIND_AS__ELEMENTREFERENCE:
+ return isSameKindAs((ElementReference) arguments.get(0));
+ case AlfPackage.MEMBER_DEFINITION___TEMPLATE_PARAMETERS:
+ return templateParameters();
+ case AlfPackage.MEMBER_DEFINITION___IS_TEMPLATE:
+ return isTemplate();
+ case AlfPackage.MEMBER_DEFINITION___IS_FEATURE:
+ return isFeature();
+ case AlfPackage.MEMBER_DEFINITION___MEMBER_ANNOTATIONS__DIAGNOSTICCHAIN_MAP:
+ return memberAnnotations((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ case AlfPackage.MEMBER_DEFINITION___MEMBER_IS_PRIMITIVE_DERIVATION__DIAGNOSTICCHAIN_MAP:
+ return memberIsPrimitiveDerivation((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ case AlfPackage.MEMBER_DEFINITION___MEMBER_IS_EXTERNAL_DERIVATION__DIAGNOSTICCHAIN_MAP:
+ return memberIsExternalDerivation((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ case AlfPackage.MEMBER_DEFINITION___MEMBER_EXTERNAL__DIAGNOSTICCHAIN_MAP:
+ return memberExternal((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ case AlfPackage.MEMBER_DEFINITION___MEMBER_STUB__DIAGNOSTICCHAIN_MAP:
+ return memberStub((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ case AlfPackage.MEMBER_DEFINITION___MEMBER_SUBUNIT_DERIVATION__DIAGNOSTICCHAIN_MAP:
+ return memberSubunitDerivation((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ case AlfPackage.MEMBER_DEFINITION___MEMBER_STUB_STEREOTYPES__DIAGNOSTICCHAIN_MAP:
+ return memberStubStereotypes((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ case AlfPackage.MEMBER_DEFINITION___MEMBER_PRIMITIVE__DIAGNOSTICCHAIN_MAP:
+ return memberPrimitive((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ case AlfPackage.MEMBER_DEFINITION___CONTAINING_MEMBER:
+ return containingMember();
+ }
+ return super.eInvoke(operationID, arguments);
+ }
+
+} // MemberDefinitionImpl
diff --git a/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/MemberImpl.java b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/MemberImpl.java
new file mode 100644
index 00000000000..1665adbbe4e
--- /dev/null
+++ b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/MemberImpl.java
@@ -0,0 +1,216 @@
+/**
+ */
+package org.eclipse.papyrus.uml.alf.impl;
+
+import java.lang.reflect.InvocationTargetException;
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.common.util.WrappedException;
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.EOperation;
+import org.eclipse.papyrus.uml.alf.AlfPackage;
+import org.eclipse.papyrus.uml.alf.ElementReference;
+import org.eclipse.papyrus.uml.alf.Member;
+import org.eclipse.papyrus.uml.alf.MemberDefinition;
+import org.eclipse.papyrus.uml.alf.NamespaceDefinition;
+import org.eclipse.papyrus.uml.alf.StereotypeAnnotation;
+import org.eclipse.papyrus.uml.alf.SyntaxElement;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Member</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.uml.alf.impl.MemberImpl#getDefinition <em>Definition</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.impl.MemberImpl#getVisibility <em>Visibility</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.impl.MemberImpl#getNamespace <em>Namespace</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.impl.MemberImpl#getAnnotation <em>Annotation</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class MemberImpl extends DocumentedElementImpl implements Member {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected MemberImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return AlfPackage.eINSTANCE.getMember();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public MemberDefinition getDefinition() {
+ return (MemberDefinition) eGet(AlfPackage.eINSTANCE.getMember_Definition(), true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setDefinition(MemberDefinition newDefinition) {
+ eSet(AlfPackage.eINSTANCE.getMember_Definition(), newDefinition);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public String getVisibility() {
+ return (String) eGet(AlfPackage.eINSTANCE.getMember_Visibility(), true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setVisibility(String newVisibility) {
+ eSet(AlfPackage.eINSTANCE.getMember_Visibility(), newVisibility);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public NamespaceDefinition getNamespace() {
+ return (NamespaceDefinition) eGet(AlfPackage.eINSTANCE.getMember_Namespace(), true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setNamespace(NamespaceDefinition newNamespace) {
+ eSet(AlfPackage.eINSTANCE.getMember_Namespace(), newNamespace);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<StereotypeAnnotation> getAnnotation() {
+ return (EList<StereotypeAnnotation>) eGet(AlfPackage.eINSTANCE.getMember_Annotation(), true);
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #toReference() <em>To Reference</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #toReference()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate TO_REFERENCE__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getMember__ToReference()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public ElementReference toReference() {
+ try {
+ return (ElementReference) TO_REFERENCE__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #visibility() <em>Visibility</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #visibility()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate VISIBILITY__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getMember__Visibility()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public String visibility() {
+ try {
+ return (String) VISIBILITY__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public int eDerivedOperationID(int baseOperationID, Class<?> baseClass) {
+ if (baseClass == SyntaxElement.class) {
+ switch (baseOperationID) {
+ case AlfPackage.SYNTAX_ELEMENT___TO_REFERENCE:
+ return AlfPackage.MEMBER___TO_REFERENCE;
+ default:
+ return super.eDerivedOperationID(baseOperationID, baseClass);
+ }
+ }
+ return super.eDerivedOperationID(baseOperationID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Object eInvoke(int operationID, EList<?> arguments) throws InvocationTargetException {
+ switch (operationID) {
+ case AlfPackage.MEMBER___TO_REFERENCE:
+ return toReference();
+ case AlfPackage.MEMBER___VISIBILITY:
+ return visibility();
+ }
+ return super.eInvoke(operationID, arguments);
+ }
+
+} // MemberImpl
diff --git a/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/ModelNamespaceImpl.java b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/ModelNamespaceImpl.java
new file mode 100644
index 00000000000..70dc7bb9bbe
--- /dev/null
+++ b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/ModelNamespaceImpl.java
@@ -0,0 +1,481 @@
+/**
+ */
+package org.eclipse.papyrus.uml.alf.impl;
+
+import java.lang.reflect.InvocationTargetException;
+import java.util.Collection;
+import org.eclipse.emf.common.util.BasicEList;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.common.util.WrappedException;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EOperation;
+import org.eclipse.papyrus.uml.alf.Model;
+import org.eclipse.papyrus.uml.alf.AlfFactory;
+import org.eclipse.papyrus.uml.alf.AlfPackage;
+import org.eclipse.papyrus.uml.alf.ElementReference;
+import org.eclipse.papyrus.uml.alf.ExternalElementReference;
+import org.eclipse.papyrus.uml.alf.ImportedMember;
+import org.eclipse.papyrus.uml.alf.InternalElementReference;
+import org.eclipse.papyrus.uml.alf.Member;
+import org.eclipse.papyrus.uml.alf.MemberDefinition;
+import org.eclipse.papyrus.uml.alf.ModelNamespace;
+import org.eclipse.papyrus.uml.alf.NamespaceDefinition;
+import org.eclipse.papyrus.uml.alf.PackageDefinition;
+import org.eclipse.papyrus.uml.alf.QualifiedName;
+import org.eclipse.papyrus.uml.alf.UnitDefinition;
+import org.eclipse.papyrus.uml.tools.utils.NameResolutionUtils;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.NamedElement;
+import org.eclipse.uml2.uml.Namespace;
+import org.eclipse.uml2.uml.UMLPackage;
+
+/**
+ * @generated
+ */
+public class ModelNamespaceImpl extends PackageDefinitionImpl implements ModelNamespace {
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected ModelNamespaceImpl() {
+ super();
+ }
+
+ private static ModelNamespaceImpl modelNamespace;
+
+ public static ModelNamespaceImpl getModelNamespace() {
+ if (modelNamespace == null) {
+ modelNamespace = (ModelNamespaceImpl) AlfFactory.eINSTANCE.createModelNamespace();
+ }
+ return modelNamespace;
+ }
+
+ public static NamespaceDefinition modelNamespaceFor(NamespaceDefinition namespace) {
+ final ModelNamespaceImpl modelNamespace = getModelNamespace();
+ modelNamespace.setModelUnit(namespace);
+ return modelNamespace;
+ }
+
+ static protected Member asMember(ElementReference reference) {
+ ImportedMember importedMember = AlfFactory.eINSTANCE.createImportedMember();
+ importedMember.setName(reference.name());
+ importedMember.setReferent(reference);
+ Member member = AlfFactory.eINSTANCE.createMember();
+ member.setVisibility("public");
+ member.setDefinition(importedMember);
+ return member;
+ }
+
+ public static EList<ElementReference> resolveInModelScope(QualifiedName qualifiedName) {
+ return getModelNamespace().resolvePathName(qualifiedName.getPathName());
+ }
+
+ public static void setContextFor(Element contextElement) {
+ setContext(!(contextElement instanceof NamedElement) ? null :
+ ((NamedElement) contextElement).getNamespace());
+ }
+
+ public static void setContext(Namespace contextNamespace) {
+ getModelNamespace().setContextNamespace(contextNamespace);
+ }
+
+ public static Namespace getContext() {
+ return getModelNamespace().getContextNamespace();
+ }
+
+ private Namespace contextNamespace = null;
+
+ private String modelUnitName = null;
+ private NamespaceDefinition modelUnitNamespace = null;
+ private Member modelUnitMember = null;
+
+ public void setContextNamespace(Namespace namespace) {
+ this.contextNamespace = namespace;
+ if (namespace == null || namespace.getName() == null) {
+ this.setName(null);
+ } else {
+ this.setName("'" + namespace.getName().replace("\\", "\\\\").replace("'", "\\'") + "'");
+ }
+ }
+
+ public Namespace getContextNamespace() {
+ if (this.contextNamespace == null) {
+ this.setContextNamespace(new Model());
+ }
+ return this.contextNamespace;
+ }
+
+ public void setModelUnit(NamespaceDefinition namespace) {
+ if (namespace != this.modelUnitNamespace) {
+ this.modelUnitNamespace = namespace;
+ this.modelUnitName = namespace.getName();
+ final InternalElementReference reference = AlfFactory.eINSTANCE.createInternalElementReference();
+ reference.setElement(namespace);
+ this.modelUnitMember = asMember(reference);
+ this.getOwnedMember().clear();
+ }
+ }
+
+ public Member addOwnedMember(MemberDefinition definition) {
+ final EList<Member> ownedMembers = this.getOwnedMember();
+
+ final String name = definition.getName();
+ for (Member member : ownedMembers) {
+ if (member.getDefinition().getName().equals(name)) {
+ return member;
+ }
+ }
+
+ final Member member = AlfFactory.eINSTANCE.createMember();
+ member.setDefinition(definition);
+ ownedMembers.add(member);
+ return member;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return AlfPackage.eINSTANCE.getModelNamespace();
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #outerScope() <em>Outer Scope</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #outerScope()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate OUTER_SCOPE__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getModelNamespace__OuterScope()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public ElementReference outerScope() {
+ try {
+ return (ElementReference) OUTER_SCOPE__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #modelScope() <em>Model Scope</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #modelScope()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate MODEL_SCOPE__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getModelNamespace__ModelScope()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public ElementReference modelScope() {
+ try {
+ return (ElementReference) MODEL_SCOPE__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #qualifiedName() <em>Qualified Name</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #qualifiedName()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate QUALIFIED_NAME__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getModelNamespace__QualifiedName()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public QualifiedName qualifiedName() {
+ try {
+ return (QualifiedName) QUALIFIED_NAME__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #resolveInScope(java.lang.String) <em>Resolve In Scope</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #resolveInScope(java.lang.String)
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate RESOLVE_IN_SCOPE_STRING__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getModelNamespace__ResolveInScope__String()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<Member> resolveInScope(String name) {
+ try {
+ return (EList<Member>) RESOLVE_IN_SCOPE_STRING__EINVOCATION_DELEGATE.dynamicInvoke(this, new BasicEList.UnmodifiableEList<Object>(1, new Object[] { name }));
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated NOT
+ */
+ public EList<Member> resolveInRoot(String name) {
+ EList<Member> members = new BasicEList<Member>();
+ if (name != null && name.equals(this.modelUnitName)) {
+ members.add(this.modelUnitMember);
+ } else {
+ for (ElementReference reference : this.resolvePathName(name)) {
+ members.add(asMember(reference));
+ }
+ }
+ return members;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<ElementReference> appliedProfiles() {
+ try {
+ return (EList<ElementReference>) APPLIED_PROFILES__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public ElementReference stubFor(UnitDefinition unit) {
+ try {
+ return (ElementReference) STUB_FOR_UNIT_DEFINITION__EINVOCATION_DELEGATE.dynamicInvoke(this, new BasicEList.UnmodifiableEList<Object>(1, new Object[] { unit }));
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated NOT
+ */
+ public ElementReference ModelNamespace_stubFor(UnitDefinition unit) {
+ ExternalElementReference namespaceReference =
+ AlfFactory.eINSTANCE.createExternalElementReference();
+ namespaceReference.setElement(this.getContextNamespace());
+ return namespaceReference.stubFor(unit);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated NOT
+ */
+ public EList<ElementReference> ModelNamespace_appliedProfiles() {
+ EList<ElementReference> profiles = new BasicEList<ElementReference>();
+ org.eclipse.uml2.uml.Package nearestPackage = this.getContextNamespace().getNearestPackage();
+ if (nearestPackage != null) {
+ for (org.eclipse.uml2.uml.Profile appliedProfile : nearestPackage.getAllAppliedProfiles()) {
+ ExternalElementReference reference =
+ AlfFactory.eINSTANCE.createExternalElementReference();
+ reference.setElement(appliedProfile);
+ profiles.add(reference);
+ }
+ }
+ return profiles;
+ }
+
+ /**
+ * @generated NOT
+ */
+ public EList<ElementReference> resolvePathName(final String pathName) {
+ return resolvePathName(pathName, this.getContextNamespace());
+ }
+
+ public static EList<ElementReference> resolvePathName(
+ final String pathName, final Namespace context) {
+ final EList<ElementReference> references = new BasicEList<ElementReference>();
+ final Collection<org.eclipse.uml2.uml.NamedElement> elements =
+ NameResolutionUtils.getNamedElements(
+ pathName, context,
+ UMLPackage.Literals.NAMED_ELEMENT);
+ for (org.eclipse.uml2.uml.NamedElement element : elements) {
+ final ExternalElementReference reference = AlfFactory.eINSTANCE.createExternalElementReference();
+ reference.setElement(element);
+ references.add(reference);
+ }
+ return references;
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #resolveAssociationEnd(org.eclipse.papyrus.uml.alf.ElementReference, java.lang.String) <em>Resolve Association End</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #resolveAssociationEnd(org.eclipse.papyrus.uml.alf.ElementReference, java.lang.String)
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate RESOLVE_ASSOCIATION_END_ELEMENT_REFERENCE_STRING__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getModelNamespace__ResolveAssociationEnd__ElementReference_String())
+ .getInvocationDelegate();
+
+ /**
+ * The cached invocation delegate for the '{@link #appliedProfiles() <em>Applied Profiles</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #appliedProfiles()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate APPLIED_PROFILES__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getModelNamespace__AppliedProfiles()).getInvocationDelegate();
+
+ /**
+ * The cached invocation delegate for the '{@link #stubFor(org.eclipse.papyrus.uml.alf.UnitDefinition) <em>Stub For</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #stubFor(org.eclipse.papyrus.uml.alf.UnitDefinition)
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate STUB_FOR_UNIT_DEFINITION__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getModelNamespace__StubFor__UnitDefinition()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<ElementReference> resolveAssociationEnd(ElementReference oppositeEndType, String name) {
+ try {
+ return (EList<ElementReference>) RESOLVE_ASSOCIATION_END_ELEMENT_REFERENCE_STRING__EINVOCATION_DELEGATE.dynamicInvoke(this, new BasicEList.UnmodifiableEList<Object>(2, new Object[] { oppositeEndType, name }));
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public int eDerivedOperationID(int baseOperationID, Class<?> baseClass) {
+ if (baseClass == MemberDefinition.class) {
+ switch (baseOperationID) {
+ case AlfPackage.MEMBER_DEFINITION___OUTER_SCOPE:
+ return AlfPackage.MODEL_NAMESPACE___OUTER_SCOPE;
+ case AlfPackage.MEMBER_DEFINITION___QUALIFIED_NAME:
+ return AlfPackage.MODEL_NAMESPACE___QUALIFIED_NAME;
+ default:
+ return super.eDerivedOperationID(baseOperationID, baseClass);
+ }
+ }
+ if (baseClass == NamespaceDefinition.class) {
+ switch (baseOperationID) {
+ case AlfPackage.NAMESPACE_DEFINITION___OUTER_SCOPE:
+ return AlfPackage.MODEL_NAMESPACE___OUTER_SCOPE;
+ case AlfPackage.NAMESPACE_DEFINITION___MODEL_SCOPE:
+ return AlfPackage.MODEL_NAMESPACE___MODEL_SCOPE;
+ case AlfPackage.NAMESPACE_DEFINITION___RESOLVE_IN_SCOPE__STRING:
+ return AlfPackage.MODEL_NAMESPACE___RESOLVE_IN_SCOPE__STRING;
+ case AlfPackage.NAMESPACE_DEFINITION___APPLIED_PROFILES:
+ return AlfPackage.MODEL_NAMESPACE___APPLIED_PROFILES;
+ case AlfPackage.NAMESPACE_DEFINITION___STUB_FOR__UNITDEFINITION:
+ return AlfPackage.MODEL_NAMESPACE___STUB_FOR__UNITDEFINITION;
+ default:
+ return super.eDerivedOperationID(baseOperationID, baseClass);
+ }
+ }
+ if (baseClass == PackageDefinition.class) {
+ switch (baseOperationID) {
+ case AlfPackage.PACKAGE_DEFINITION___APPLIED_PROFILES:
+ return AlfPackage.MODEL_NAMESPACE___APPLIED_PROFILES;
+ default:
+ return super.eDerivedOperationID(baseOperationID, baseClass);
+ }
+ }
+ return super.eDerivedOperationID(baseOperationID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Object eInvoke(int operationID, EList<?> arguments) throws InvocationTargetException {
+ switch (operationID) {
+ case AlfPackage.MODEL_NAMESPACE___OUTER_SCOPE:
+ return outerScope();
+ case AlfPackage.MODEL_NAMESPACE___MODEL_SCOPE:
+ return modelScope();
+ case AlfPackage.MODEL_NAMESPACE___QUALIFIED_NAME:
+ return qualifiedName();
+ case AlfPackage.MODEL_NAMESPACE___RESOLVE_IN_SCOPE__STRING:
+ return resolveInScope((String) arguments.get(0));
+ case AlfPackage.MODEL_NAMESPACE___RESOLVE_IN_ROOT__STRING:
+ return resolveInRoot((String) arguments.get(0));
+ case AlfPackage.MODEL_NAMESPACE___RESOLVE_PATH_NAME__STRING:
+ return resolvePathName((String) arguments.get(0));
+ case AlfPackage.MODEL_NAMESPACE___RESOLVE_ASSOCIATION_END__ELEMENTREFERENCE_STRING:
+ return resolveAssociationEnd((ElementReference) arguments.get(0), (String) arguments.get(1));
+ case AlfPackage.MODEL_NAMESPACE___APPLIED_PROFILES:
+ return appliedProfiles();
+ case AlfPackage.MODEL_NAMESPACE___STUB_FOR__UNITDEFINITION:
+ return stubFor((UnitDefinition) arguments.get(0));
+ case AlfPackage.MODEL_NAMESPACE___MODEL_NAMESPACE_STUB_FOR__UNITDEFINITION:
+ return ModelNamespace_stubFor((UnitDefinition) arguments.get(0));
+ case AlfPackage.MODEL_NAMESPACE___MODEL_NAMESPACE_APPLIED_PROFILES:
+ return ModelNamespace_appliedProfiles();
+ }
+ return super.eInvoke(operationID, arguments);
+ }
+
+} // ModelNamespaceImpl
diff --git a/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/NameBindingImpl.java b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/NameBindingImpl.java
new file mode 100644
index 00000000000..af1d0d43ae5
--- /dev/null
+++ b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/NameBindingImpl.java
@@ -0,0 +1,298 @@
+/**
+ */
+package org.eclipse.papyrus.uml.alf.impl;
+
+import java.lang.reflect.InvocationTargetException;
+import org.eclipse.emf.common.util.BasicEList;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.common.util.WrappedException;
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.EOperation;
+import org.eclipse.papyrus.uml.alf.AlfPackage;
+import org.eclipse.papyrus.uml.alf.NameBinding;
+import org.eclipse.papyrus.uml.alf.QualifiedName;
+import org.eclipse.papyrus.uml.alf.SyntaxElement;
+import org.eclipse.papyrus.uml.alf.TemplateBinding;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Name Binding</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.uml.alf.impl.NameBindingImpl#getBinding <em>Binding</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.impl.NameBindingImpl#getName <em>Name</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class NameBindingImpl extends SyntaxElementImpl implements NameBinding {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected NameBindingImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return AlfPackage.eINSTANCE.getNameBinding();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public TemplateBinding getBinding() {
+ return (TemplateBinding) eGet(AlfPackage.eINSTANCE.getNameBinding_Binding(), true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setBinding(TemplateBinding newBinding) {
+ eSet(AlfPackage.eINSTANCE.getNameBinding_Binding(), newBinding);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public String getName() {
+ return (String) eGet(AlfPackage.eINSTANCE.getNameBinding_Name(), true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setName(String newName) {
+ eSet(AlfPackage.eINSTANCE.getNameBinding_Name(), newName);
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #toString() <em>To String</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #toString()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate TO_STRING__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getNameBinding__ToString()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public String toString() {
+ try {
+ return (String) TO_STRING__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #toName() <em>To Name</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #toName()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate TO_NAME__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getNameBinding__ToName()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public String toName() {
+ try {
+ return (String) TO_NAME__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #process(java.lang.String) <em>Process</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #process(java.lang.String)
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate PROCESS_STRING__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getNameBinding__Process__String()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public String process(String s) {
+ try {
+ return (String) PROCESS_STRING__EINVOCATION_DELEGATE.dynamicInvoke(this, new BasicEList.UnmodifiableEList<Object>(1, new Object[] { s }));
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #escape(java.lang.String) <em>Escape</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #escape(java.lang.String)
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate ESCAPE_STRING__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getNameBinding__Escape__String()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public String escape(String s) {
+ try {
+ return (String) ESCAPE_STRING__EINVOCATION_DELEGATE.dynamicInvoke(this, new BasicEList.UnmodifiableEList<Object>(1, new Object[] { s }));
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #copy() <em>Copy</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #copy()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate COPY__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getNameBinding__Copy()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public NameBinding copy() {
+ try {
+ return (NameBinding) COPY__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #toQualifiedName(org.eclipse.papyrus.uml.alf.SyntaxElement) <em>To Qualified Name</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #toQualifiedName(org.eclipse.papyrus.uml.alf.SyntaxElement)
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate TO_QUALIFIED_NAME_SYNTAX_ELEMENT__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getNameBinding__ToQualifiedName__SyntaxElement()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public QualifiedName toQualifiedName(SyntaxElement owner) {
+ try {
+ return (QualifiedName) TO_QUALIFIED_NAME_SYNTAX_ELEMENT__EINVOCATION_DELEGATE.dynamicInvoke(this, new BasicEList.UnmodifiableEList<Object>(1, new Object[] { owner }));
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #toQualifiedNameWith(org.eclipse.papyrus.uml.alf.NameBinding, org.eclipse.papyrus.uml.alf.SyntaxElement) <em>To Qualified Name With</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #toQualifiedNameWith(org.eclipse.papyrus.uml.alf.NameBinding, org.eclipse.papyrus.uml.alf.SyntaxElement)
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate TO_QUALIFIED_NAME_WITH_NAME_BINDING_SYNTAX_ELEMENT__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getNameBinding__ToQualifiedNameWith__NameBinding_SyntaxElement())
+ .getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public QualifiedName toQualifiedNameWith(NameBinding other, SyntaxElement owner) {
+ try {
+ return (QualifiedName) TO_QUALIFIED_NAME_WITH_NAME_BINDING_SYNTAX_ELEMENT__EINVOCATION_DELEGATE.dynamicInvoke(this, new BasicEList.UnmodifiableEList<Object>(2, new Object[] { other, owner }));
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Object eInvoke(int operationID, EList<?> arguments) throws InvocationTargetException {
+ switch (operationID) {
+ case AlfPackage.NAME_BINDING___TO_STRING:
+ return toString();
+ case AlfPackage.NAME_BINDING___TO_NAME:
+ return toName();
+ case AlfPackage.NAME_BINDING___PROCESS__STRING:
+ return process((String) arguments.get(0));
+ case AlfPackage.NAME_BINDING___ESCAPE__STRING:
+ return escape((String) arguments.get(0));
+ case AlfPackage.NAME_BINDING___COPY:
+ return copy();
+ case AlfPackage.NAME_BINDING___TO_QUALIFIED_NAME__SYNTAXELEMENT:
+ return toQualifiedName((SyntaxElement) arguments.get(0));
+ case AlfPackage.NAME_BINDING___TO_QUALIFIED_NAME_WITH__NAMEBINDING_SYNTAXELEMENT:
+ return toQualifiedNameWith((NameBinding) arguments.get(0), (SyntaxElement) arguments.get(1));
+ }
+ return super.eInvoke(operationID, arguments);
+ }
+
+} // NameBindingImpl
diff --git a/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/NameExpressionImpl.java b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/NameExpressionImpl.java
new file mode 100644
index 00000000000..e1266a81e57
--- /dev/null
+++ b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/NameExpressionImpl.java
@@ -0,0 +1,622 @@
+/**
+ */
+package org.eclipse.papyrus.uml.alf.impl;
+
+import java.lang.reflect.InvocationTargetException;
+import java.math.BigInteger;
+import java.util.Map;
+import org.eclipse.emf.common.util.BasicDiagnostic;
+import org.eclipse.emf.common.util.BasicEList;
+import org.eclipse.emf.common.util.Diagnostic;
+import org.eclipse.emf.common.util.DiagnosticChain;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.common.util.WrappedException;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EOperation;
+import org.eclipse.emf.ecore.plugin.EcorePlugin;
+import org.eclipse.emf.ecore.util.EObjectValidator;
+import org.eclipse.papyrus.uml.alf.AlfPackage;
+import org.eclipse.papyrus.uml.alf.AssignableElement;
+import org.eclipse.papyrus.uml.alf.AssignedSource;
+import org.eclipse.papyrus.uml.alf.ElementReference;
+import org.eclipse.papyrus.uml.alf.Expression;
+import org.eclipse.papyrus.uml.alf.NameExpression;
+import org.eclipse.papyrus.uml.alf.PropertyAccessExpression;
+import org.eclipse.papyrus.uml.alf.QualifiedName;
+import org.eclipse.papyrus.uml.alf.util.AlfValidator;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Name Expression</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.uml.alf.impl.NameExpressionImpl#getEnumerationLiteral <em>Enumeration Literal</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.impl.NameExpressionImpl#getAssignment <em>Assignment</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.impl.NameExpressionImpl#getPropertyAccess <em>Property Access</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.impl.NameExpressionImpl#getName <em>Name</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class NameExpressionImpl extends ExpressionImpl implements NameExpression {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected NameExpressionImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return AlfPackage.eINSTANCE.getNameExpression();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public ElementReference getEnumerationLiteral() {
+ return (ElementReference) eGet(AlfPackage.eINSTANCE.getNameExpression_EnumerationLiteral(), true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setEnumerationLiteral(ElementReference newEnumerationLiteral) {
+ eSet(AlfPackage.eINSTANCE.getNameExpression_EnumerationLiteral(), newEnumerationLiteral);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public AssignedSource getAssignment() {
+ return (AssignedSource) eGet(AlfPackage.eINSTANCE.getNameExpression_Assignment(), true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setAssignment(AssignedSource newAssignment) {
+ eSet(AlfPackage.eINSTANCE.getNameExpression_Assignment(), newAssignment);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public PropertyAccessExpression getPropertyAccess() {
+ return (PropertyAccessExpression) eGet(AlfPackage.eINSTANCE.getNameExpression_PropertyAccess(), true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setPropertyAccess(PropertyAccessExpression newPropertyAccess) {
+ eSet(AlfPackage.eINSTANCE.getNameExpression_PropertyAccess(), newPropertyAccess);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public QualifiedName getName() {
+ return (QualifiedName) eGet(AlfPackage.eINSTANCE.getNameExpression_Name(), true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setName(QualifiedName newName) {
+ eSet(AlfPackage.eINSTANCE.getNameExpression_Name(), newName);
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #type() <em>Type</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #type()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate TYPE__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getNameExpression__Type()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public ElementReference type() {
+ try {
+ return (ElementReference) TYPE__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #upper() <em>Upper</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #upper()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate UPPER__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getNameExpression__Upper()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public BigInteger upper() {
+ try {
+ return (BigInteger) UPPER__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #lower() <em>Lower</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #lower()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate LOWER__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getNameExpression__Lower()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public BigInteger lower() {
+ try {
+ return (BigInteger) LOWER__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #parameterReferent() <em>Parameter Referent</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #parameterReferent()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate PARAMETER_REFERENT__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getNameExpression__ParameterReferent()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public ElementReference parameterReferent() {
+ try {
+ return (ElementReference) PARAMETER_REFERENT__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #assignmentFor_(java.lang.String) <em>Assignment For </em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #assignmentFor_(java.lang.String)
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate ASSIGNMENT_FOR_STRING__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getNameExpression__AssignmentFor___String()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public AssignedSource assignmentFor_(String localName) {
+ try {
+ return (AssignedSource) ASSIGNMENT_FOR_STRING__EINVOCATION_DELEGATE.dynamicInvoke(this, new BasicEList.UnmodifiableEList<Object>(1, new Object[] { localName }));
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated NOT
+ */
+ public AssignedSource assignmentFor(String localName) {
+ return this.assignmentFor_(localName);
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #isAddTarget() <em>Is Add Target</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #isAddTarget()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate IS_ADD_TARGET__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getNameExpression__IsAddTarget()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isAddTarget() {
+ try {
+ return (Boolean) IS_ADD_TARGET__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean nameExpressionAssignmentDerivation(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.NAME_EXPRESSION__NAME_EXPRESSION_ASSIGNMENT_DERIVATION,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "nameExpressionAssignmentDerivation", EObjectValidator.getObjectLabel(this, context) }),
+ new Object[] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean nameExpressionEnumerationLiteralDerivation(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.NAME_EXPRESSION__NAME_EXPRESSION_ENUMERATION_LITERAL_DERIVATION,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "nameExpressionEnumerationLiteralDerivation", EObjectValidator.getObjectLabel(this, context) }),
+ new Object[] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean nameExpressionPropertyAccessDerivation(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.NAME_EXPRESSION__NAME_EXPRESSION_PROPERTY_ACCESS_DERIVATION,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "nameExpressionPropertyAccessDerivation", EObjectValidator.getObjectLabel(this, context) }),
+ new Object[] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean nameExpressionTypeDerivation(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.NAME_EXPRESSION__NAME_EXPRESSION_TYPE_DERIVATION,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "nameExpressionTypeDerivation", EObjectValidator.getObjectLabel(this, context) }),
+ new Object[] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean nameExpressionUpperDerivation(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.NAME_EXPRESSION__NAME_EXPRESSION_UPPER_DERIVATION,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "nameExpressionUpperDerivation", EObjectValidator.getObjectLabel(this, context) }),
+ new Object[] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean nameExpressionLowerDerivation(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.NAME_EXPRESSION__NAME_EXPRESSION_LOWER_DERIVATION,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "nameExpressionLowerDerivation", EObjectValidator.getObjectLabel(this, context) }),
+ new Object[] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * The cached validation expression for the '{@link #nameExpressionResolution(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Name Expression Resolution</em>}' invariant operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #nameExpressionResolution(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ * @ordered
+ */
+ protected static final String NAME_EXPRESSION_RESOLUTION_DIAGNOSTIC_CHAIN_MAP__EEXPRESSION = "self.validateNameExpressionResolution()";
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean nameExpressionResolution(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return AlfValidator.validate
+ (AlfPackage.eINSTANCE.getNameExpression(),
+ this,
+ diagnostics,
+ context,
+ "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot",
+ AlfPackage.eINSTANCE.getNameExpression__NameExpressionResolution__DiagnosticChain_Map(),
+ NAME_EXPRESSION_RESOLUTION_DIAGNOSTIC_CHAIN_MAP__EEXPRESSION,
+ Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.NAME_EXPRESSION__NAME_EXPRESSION_RESOLUTION);
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #validateNameExpressionResolution() <em>Validate Name Expression Resolution</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #validateNameExpressionResolution()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate VALIDATE_NAME_EXPRESSION_RESOLUTION__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getNameExpression__ValidateNameExpressionResolution()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateNameExpressionResolution() {
+ try {
+ return (Boolean) VALIDATE_NAME_EXPRESSION_RESOLUTION__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #updateAssignments() <em>Update Assignments</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #updateAssignments()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate UPDATE_ASSIGNMENTS__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getNameExpression__UpdateAssignments()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<AssignedSource> updateAssignments() {
+ try {
+ return (EList<AssignedSource>) UPDATE_ASSIGNMENTS__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public int eDerivedOperationID(int baseOperationID, Class<?> baseClass) {
+ if (baseClass == AssignableElement.class) {
+ switch (baseOperationID) {
+ case AlfPackage.ASSIGNABLE_ELEMENT___TYPE:
+ return AlfPackage.NAME_EXPRESSION___TYPE;
+ case AlfPackage.ASSIGNABLE_ELEMENT___LOWER:
+ return AlfPackage.NAME_EXPRESSION___LOWER;
+ case AlfPackage.ASSIGNABLE_ELEMENT___UPPER:
+ return AlfPackage.NAME_EXPRESSION___UPPER;
+ default:
+ return super.eDerivedOperationID(baseOperationID, baseClass);
+ }
+ }
+ if (baseClass == Expression.class) {
+ switch (baseOperationID) {
+ case AlfPackage.EXPRESSION___UPDATE_ASSIGNMENTS:
+ return AlfPackage.NAME_EXPRESSION___UPDATE_ASSIGNMENTS;
+ default:
+ return super.eDerivedOperationID(baseOperationID, baseClass);
+ }
+ }
+ return super.eDerivedOperationID(baseOperationID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object eInvoke(int operationID, EList<?> arguments) throws InvocationTargetException {
+ switch (operationID) {
+ case AlfPackage.NAME_EXPRESSION___TYPE:
+ return type();
+ case AlfPackage.NAME_EXPRESSION___UPPER:
+ return upper();
+ case AlfPackage.NAME_EXPRESSION___LOWER:
+ return lower();
+ case AlfPackage.NAME_EXPRESSION___PARAMETER_REFERENT:
+ return parameterReferent();
+ case AlfPackage.NAME_EXPRESSION___ASSIGNMENT_FOR__STRING:
+ return assignmentFor((String) arguments.get(0));
+ case AlfPackage.NAME_EXPRESSION___ASSIGNMENT_FOR____STRING:
+ return assignmentFor_((String) arguments.get(0));
+ case AlfPackage.NAME_EXPRESSION___IS_ADD_TARGET:
+ return isAddTarget();
+ case AlfPackage.NAME_EXPRESSION___NAME_EXPRESSION_ASSIGNMENT_DERIVATION__DIAGNOSTICCHAIN_MAP:
+ return nameExpressionAssignmentDerivation((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ case AlfPackage.NAME_EXPRESSION___NAME_EXPRESSION_ENUMERATION_LITERAL_DERIVATION__DIAGNOSTICCHAIN_MAP:
+ return nameExpressionEnumerationLiteralDerivation((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ case AlfPackage.NAME_EXPRESSION___NAME_EXPRESSION_PROPERTY_ACCESS_DERIVATION__DIAGNOSTICCHAIN_MAP:
+ return nameExpressionPropertyAccessDerivation((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ case AlfPackage.NAME_EXPRESSION___NAME_EXPRESSION_TYPE_DERIVATION__DIAGNOSTICCHAIN_MAP:
+ return nameExpressionTypeDerivation((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ case AlfPackage.NAME_EXPRESSION___NAME_EXPRESSION_UPPER_DERIVATION__DIAGNOSTICCHAIN_MAP:
+ return nameExpressionUpperDerivation((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ case AlfPackage.NAME_EXPRESSION___NAME_EXPRESSION_LOWER_DERIVATION__DIAGNOSTICCHAIN_MAP:
+ return nameExpressionLowerDerivation((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ case AlfPackage.NAME_EXPRESSION___NAME_EXPRESSION_RESOLUTION__DIAGNOSTICCHAIN_MAP:
+ return nameExpressionResolution((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ case AlfPackage.NAME_EXPRESSION___VALIDATE_NAME_EXPRESSION_RESOLUTION:
+ return validateNameExpressionResolution();
+ case AlfPackage.NAME_EXPRESSION___UPDATE_ASSIGNMENTS:
+ return updateAssignments();
+ }
+ return super.eInvoke(operationID, arguments);
+ }
+
+} // NameExpressionImpl
diff --git a/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/NameLeftHandSideImpl.java b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/NameLeftHandSideImpl.java
new file mode 100644
index 00000000000..22a2b7751d4
--- /dev/null
+++ b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/NameLeftHandSideImpl.java
@@ -0,0 +1,771 @@
+/**
+ */
+package org.eclipse.papyrus.uml.alf.impl;
+
+import java.lang.reflect.InvocationTargetException;
+
+import java.math.BigInteger;
+import java.util.Map;
+
+import org.eclipse.emf.common.util.BasicDiagnostic;
+import org.eclipse.emf.common.util.Diagnostic;
+import org.eclipse.emf.common.util.DiagnosticChain;
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.common.util.WrappedException;
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.EOperation;
+import org.eclipse.emf.ecore.plugin.EcorePlugin;
+
+import org.eclipse.emf.ecore.util.EObjectValidator;
+
+import org.eclipse.papyrus.uml.alf.AlfPackage;
+import org.eclipse.papyrus.uml.alf.AssignableElement;
+import org.eclipse.papyrus.uml.alf.AssignedSource;
+import org.eclipse.papyrus.uml.alf.ElementReference;
+import org.eclipse.papyrus.uml.alf.Expression;
+import org.eclipse.papyrus.uml.alf.FeatureReference;
+import org.eclipse.papyrus.uml.alf.LeftHandSide;
+import org.eclipse.papyrus.uml.alf.NameLeftHandSide;
+import org.eclipse.papyrus.uml.alf.QualifiedName;
+
+import org.eclipse.papyrus.uml.alf.util.AlfValidator;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Name Left Hand Side</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.uml.alf.impl.NameLeftHandSideImpl#getTarget <em>Target</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.impl.NameLeftHandSideImpl#getIndex <em>Index</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class NameLeftHandSideImpl extends LeftHandSideImpl implements NameLeftHandSide {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected NameLeftHandSideImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return AlfPackage.eINSTANCE.getNameLeftHandSide();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public QualifiedName getTarget() {
+ return (QualifiedName) eGet(AlfPackage.eINSTANCE.getNameLeftHandSide_Target(), true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setTarget(QualifiedName newTarget) {
+ eSet(AlfPackage.eINSTANCE.getNameLeftHandSide_Target(), newTarget);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public Expression getIndex() {
+ return (Expression) eGet(AlfPackage.eINSTANCE.getNameLeftHandSide_Index(), true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setIndex(Expression newIndex) {
+ eSet(AlfPackage.eINSTANCE.getNameLeftHandSide_Index(), newIndex);
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #target() <em>Target</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #target()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate TARGET__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getNameLeftHandSide__Target()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public QualifiedName target() {
+ try {
+ return (QualifiedName) TARGET__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #index() <em>Index</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #index()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate INDEX__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getNameLeftHandSide__Index()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public Expression index() {
+ try {
+ return (Expression) INDEX__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #referent() <em>Referent</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #referent()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate REFERENT__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getNameLeftHandSide__Referent()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public ElementReference referent() {
+ try {
+ return (ElementReference) REFERENT__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #parameterReferent() <em>Parameter Referent</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #parameterReferent()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate PARAMETER_REFERENT__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getNameLeftHandSide__ParameterReferent()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public ElementReference parameterReferent() {
+ try {
+ return (ElementReference) PARAMETER_REFERENT__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #type() <em>Type</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #type()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate TYPE__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getNameLeftHandSide__Type()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public ElementReference type() {
+ try {
+ return (ElementReference) TYPE__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #upper() <em>Upper</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #upper()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate UPPER__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getNameLeftHandSide__Upper()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public BigInteger upper() {
+ try {
+ return (BigInteger) UPPER__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #lower() <em>Lower</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #lower()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate LOWER__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getNameLeftHandSide__Lower()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public BigInteger lower() {
+ try {
+ return (BigInteger) LOWER__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #oldAssignment() <em>Old Assignment</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #oldAssignment()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate OLD_ASSIGNMENT__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getNameLeftHandSide__OldAssignment()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public AssignedSource oldAssignment() {
+ try {
+ return (AssignedSource) OLD_ASSIGNMENT__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #feature() <em>Feature</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #feature()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate FEATURE__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getNameLeftHandSide__Feature()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public FeatureReference feature() {
+ try {
+ return (FeatureReference) FEATURE__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #localName() <em>Local Name</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #localName()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate LOCAL_NAME__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getNameLeftHandSide__LocalName()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public String localName() {
+ try {
+ return (String) LOCAL_NAME__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean nameLeftHandSideAssignmentAfterDerivation(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.NAME_LEFT_HAND_SIDE__NAME_LEFT_HAND_SIDE_ASSIGNMENT_AFTER_DERIVATION,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "nameLeftHandSideAssignmentAfterDerivation", EObjectValidator.getObjectLabel(this, context) }),
+ new Object[] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * The cached validation expression for the '{@link #nameLeftHandSideTargetAssignment(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Name Left Hand Side Target Assignment</em>}' invariant operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #nameLeftHandSideTargetAssignment(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ * @ordered
+ */
+ protected static final String NAME_LEFT_HAND_SIDE_TARGET_ASSIGNMENT_DIAGNOSTIC_CHAIN_MAP__EEXPRESSION = "\n" +
+ " let referent = self.referent in\n" +
+ " if referent = null then true\n" +
+ " else if referent.isParameter() then\n" +
+ " referent.direction() <> 'in'\n" +
+ " else if referent.isProperty() then\n" +
+ " let expression = self.feature().expression in\n" +
+ " -- This condition ensures that there will be an assigned name\n" +
+ " -- for an assignment to an attribute of a data type.\n" +
+ " expression.type.isDataType() implies self.isDataValueUpdate()\n" +
+ " else\n" +
+ " not (referent.isLoopVariable() or\n" +
+ " referent.isAnnotation() or\n" +
+ " referent.isSequenceExpansionExpression()\n" +
+ " )\n" +
+ " endif endif endif";
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean nameLeftHandSideTargetAssignment(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return AlfValidator.validate
+ (AlfPackage.eINSTANCE.getNameLeftHandSide(),
+ this,
+ diagnostics,
+ context,
+ "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot",
+ AlfPackage.eINSTANCE.getNameLeftHandSide__NameLeftHandSideTargetAssignment__DiagnosticChain_Map(),
+ NAME_LEFT_HAND_SIDE_TARGET_ASSIGNMENT_DIAGNOSTIC_CHAIN_MAP__EEXPRESSION,
+ Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.NAME_LEFT_HAND_SIDE__NAME_LEFT_HAND_SIDE_TARGET_ASSIGNMENT);
+ }
+
+ /**
+ * The cached validation expression for the '{@link #nameLeftHandSideAssignmentsBefore(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Name Left Hand Side Assignments Before</em>}' invariant operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #nameLeftHandSideAssignmentsBefore(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ * @ordered
+ */
+ protected static final String NAME_LEFT_HAND_SIDE_ASSIGNMENTS_BEFORE_DIAGNOSTIC_CHAIN_MAP__EEXPRESSION = "self.index <> null implies \n" +
+ " (self.feature() <> null or self.oldAssignment() <> null)";
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean nameLeftHandSideAssignmentsBefore(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return AlfValidator.validate
+ (AlfPackage.eINSTANCE.getNameLeftHandSide(),
+ this,
+ diagnostics,
+ context,
+ "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot",
+ AlfPackage.eINSTANCE.getNameLeftHandSide__NameLeftHandSideAssignmentsBefore__DiagnosticChain_Map(),
+ NAME_LEFT_HAND_SIDE_ASSIGNMENTS_BEFORE_DIAGNOSTIC_CHAIN_MAP__EEXPRESSION,
+ Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.NAME_LEFT_HAND_SIDE__NAME_LEFT_HAND_SIDE_ASSIGNMENTS_BEFORE);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean nameLeftHandSideReferentDerivation(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.NAME_LEFT_HAND_SIDE__NAME_LEFT_HAND_SIDE_REFERENT_DERIVATION,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "nameLeftHandSideReferentDerivation", EObjectValidator.getObjectLabel(this, context) }),
+ new Object[] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean nameLeftHandSideLowerDerivation(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.NAME_LEFT_HAND_SIDE__NAME_LEFT_HAND_SIDE_LOWER_DERIVATION,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "nameLeftHandSideLowerDerivation", EObjectValidator.getObjectLabel(this, context) }),
+ new Object[] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean nameLeftHandSideUpperDerivation(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.NAME_LEFT_HAND_SIDE__NAME_LEFT_HAND_SIDE_UPPER_DERIVATION,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "nameLeftHandSideUpperDerivation", EObjectValidator.getObjectLabel(this, context) }),
+ new Object[] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean nameLeftHandSideTypeDerivation(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.NAME_LEFT_HAND_SIDE__NAME_LEFT_HAND_SIDE_TYPE_DERIVATION,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "nameLeftHandSideTypeDerivation", EObjectValidator.getObjectLabel(this, context) }),
+ new Object[] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * The cached validation expression for the '{@link #nameLeftHandSideTargetResolution(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Name Left Hand Side Target Resolution</em>}' invariant operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #nameLeftHandSideTargetResolution(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ * @ordered
+ */
+ protected static final String NAME_LEFT_HAND_SIDE_TARGET_RESOLUTION_DIAGNOSTIC_CHAIN_MAP__EEXPRESSION = "\n" +
+ " self.target().qualification <> null implies\n" +
+ " let referent = self.referent in\n" +
+ " referent <> null and referent.isParameter() or\n" +
+ " let feature = self.feature() in\n" +
+ " feature <> null and \n" +
+ " -- TODO: This should be a separate constraint.\n" +
+ " feature.expression.upper = 1";
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean nameLeftHandSideTargetResolution(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return AlfValidator.validate
+ (AlfPackage.eINSTANCE.getNameLeftHandSide(),
+ this,
+ diagnostics,
+ context,
+ "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot",
+ AlfPackage.eINSTANCE.getNameLeftHandSide__NameLeftHandSideTargetResolution__DiagnosticChain_Map(),
+ NAME_LEFT_HAND_SIDE_TARGET_RESOLUTION_DIAGNOSTIC_CHAIN_MAP__EEXPRESSION,
+ Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.NAME_LEFT_HAND_SIDE__NAME_LEFT_HAND_SIDE_TARGET_RESOLUTION);
+ }
+
+ /**
+ * The cached validation expression for the '{@link #nameLeftHandSideIndexedFeature(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Name Left Hand Side Indexed Feature</em>}' invariant operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #nameLeftHandSideIndexedFeature(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ * @ordered
+ */
+ protected static final String NAME_LEFT_HAND_SIDE_INDEXED_FEATURE_DIAGNOSTIC_CHAIN_MAP__EEXPRESSION = "\n" +
+ " self.index() <> null implies\n" +
+ " let referent = self.referent in\n" +
+ " referent <> null and referent.isFeature() implies\n" +
+ " referent.isOrdered() and referent.isNonunique()";
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean nameLeftHandSideIndexedFeature(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return AlfValidator.validate
+ (AlfPackage.eINSTANCE.getNameLeftHandSide(),
+ this,
+ diagnostics,
+ context,
+ "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot",
+ AlfPackage.eINSTANCE.getNameLeftHandSide__NameLeftHandSideIndexedFeature__DiagnosticChain_Map(),
+ NAME_LEFT_HAND_SIDE_INDEXED_FEATURE_DIAGNOSTIC_CHAIN_MAP__EEXPRESSION,
+ Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.NAME_LEFT_HAND_SIDE__NAME_LEFT_HAND_SIDE_INDEXED_FEATURE);
+ }
+
+ /**
+ * The cached validation expression for the '{@link #nameLeftHandSideNontemplateTarget(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Name Left Hand Side Nontemplate Target</em>}' invariant operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #nameLeftHandSideNontemplateTarget(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ * @ordered
+ */
+ protected static final String NAME_LEFT_HAND_SIDE_NONTEMPLATE_TARGET_DIAGNOSTIC_CHAIN_MAP__EEXPRESSION = "self.target.templateName = null";
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean nameLeftHandSideNontemplateTarget(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return AlfValidator.validate
+ (AlfPackage.eINSTANCE.getNameLeftHandSide(),
+ this,
+ diagnostics,
+ context,
+ "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot",
+ AlfPackage.eINSTANCE.getNameLeftHandSide__NameLeftHandSideNontemplateTarget__DiagnosticChain_Map(),
+ NAME_LEFT_HAND_SIDE_NONTEMPLATE_TARGET_DIAGNOSTIC_CHAIN_MAP__EEXPRESSION,
+ Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.NAME_LEFT_HAND_SIDE__NAME_LEFT_HAND_SIDE_NONTEMPLATE_TARGET);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public int eDerivedOperationID(int baseOperationID, Class<?> baseClass) {
+ if (baseClass == AssignableElement.class) {
+ switch (baseOperationID) {
+ case AlfPackage.ASSIGNABLE_ELEMENT___TYPE:
+ return AlfPackage.NAME_LEFT_HAND_SIDE___TYPE;
+ case AlfPackage.ASSIGNABLE_ELEMENT___LOWER:
+ return AlfPackage.NAME_LEFT_HAND_SIDE___LOWER;
+ case AlfPackage.ASSIGNABLE_ELEMENT___UPPER:
+ return AlfPackage.NAME_LEFT_HAND_SIDE___UPPER;
+ default:
+ return super.eDerivedOperationID(baseOperationID, baseClass);
+ }
+ }
+ if (baseClass == LeftHandSide.class) {
+ switch (baseOperationID) {
+ case AlfPackage.LEFT_HAND_SIDE___TYPE:
+ return AlfPackage.NAME_LEFT_HAND_SIDE___TYPE;
+ case AlfPackage.LEFT_HAND_SIDE___UPPER:
+ return AlfPackage.NAME_LEFT_HAND_SIDE___UPPER;
+ case AlfPackage.LEFT_HAND_SIDE___LOWER:
+ return AlfPackage.NAME_LEFT_HAND_SIDE___LOWER;
+ case AlfPackage.LEFT_HAND_SIDE___REFERENT:
+ return AlfPackage.NAME_LEFT_HAND_SIDE___REFERENT;
+ case AlfPackage.LEFT_HAND_SIDE___LOCAL_NAME:
+ return AlfPackage.NAME_LEFT_HAND_SIDE___LOCAL_NAME;
+ case AlfPackage.LEFT_HAND_SIDE___FEATURE:
+ return AlfPackage.NAME_LEFT_HAND_SIDE___FEATURE;
+ case AlfPackage.LEFT_HAND_SIDE___INDEX:
+ return AlfPackage.NAME_LEFT_HAND_SIDE___INDEX;
+ default:
+ return super.eDerivedOperationID(baseOperationID, baseClass);
+ }
+ }
+ return super.eDerivedOperationID(baseOperationID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object eInvoke(int operationID, EList<?> arguments) throws InvocationTargetException {
+ switch (operationID) {
+ case AlfPackage.NAME_LEFT_HAND_SIDE___TARGET:
+ return target();
+ case AlfPackage.NAME_LEFT_HAND_SIDE___INDEX:
+ return index();
+ case AlfPackage.NAME_LEFT_HAND_SIDE___REFERENT:
+ return referent();
+ case AlfPackage.NAME_LEFT_HAND_SIDE___PARAMETER_REFERENT:
+ return parameterReferent();
+ case AlfPackage.NAME_LEFT_HAND_SIDE___TYPE:
+ return type();
+ case AlfPackage.NAME_LEFT_HAND_SIDE___UPPER:
+ return upper();
+ case AlfPackage.NAME_LEFT_HAND_SIDE___LOWER:
+ return lower();
+ case AlfPackage.NAME_LEFT_HAND_SIDE___OLD_ASSIGNMENT:
+ return oldAssignment();
+ case AlfPackage.NAME_LEFT_HAND_SIDE___FEATURE:
+ return feature();
+ case AlfPackage.NAME_LEFT_HAND_SIDE___LOCAL_NAME:
+ return localName();
+ case AlfPackage.NAME_LEFT_HAND_SIDE___NAME_LEFT_HAND_SIDE_ASSIGNMENT_AFTER_DERIVATION__DIAGNOSTICCHAIN_MAP:
+ return nameLeftHandSideAssignmentAfterDerivation((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ case AlfPackage.NAME_LEFT_HAND_SIDE___NAME_LEFT_HAND_SIDE_TARGET_ASSIGNMENT__DIAGNOSTICCHAIN_MAP:
+ return nameLeftHandSideTargetAssignment((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ case AlfPackage.NAME_LEFT_HAND_SIDE___NAME_LEFT_HAND_SIDE_ASSIGNMENTS_BEFORE__DIAGNOSTICCHAIN_MAP:
+ return nameLeftHandSideAssignmentsBefore((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ case AlfPackage.NAME_LEFT_HAND_SIDE___NAME_LEFT_HAND_SIDE_REFERENT_DERIVATION__DIAGNOSTICCHAIN_MAP:
+ return nameLeftHandSideReferentDerivation((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ case AlfPackage.NAME_LEFT_HAND_SIDE___NAME_LEFT_HAND_SIDE_LOWER_DERIVATION__DIAGNOSTICCHAIN_MAP:
+ return nameLeftHandSideLowerDerivation((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ case AlfPackage.NAME_LEFT_HAND_SIDE___NAME_LEFT_HAND_SIDE_UPPER_DERIVATION__DIAGNOSTICCHAIN_MAP:
+ return nameLeftHandSideUpperDerivation((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ case AlfPackage.NAME_LEFT_HAND_SIDE___NAME_LEFT_HAND_SIDE_TYPE_DERIVATION__DIAGNOSTICCHAIN_MAP:
+ return nameLeftHandSideTypeDerivation((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ case AlfPackage.NAME_LEFT_HAND_SIDE___NAME_LEFT_HAND_SIDE_TARGET_RESOLUTION__DIAGNOSTICCHAIN_MAP:
+ return nameLeftHandSideTargetResolution((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ case AlfPackage.NAME_LEFT_HAND_SIDE___NAME_LEFT_HAND_SIDE_INDEXED_FEATURE__DIAGNOSTICCHAIN_MAP:
+ return nameLeftHandSideIndexedFeature((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ case AlfPackage.NAME_LEFT_HAND_SIDE___NAME_LEFT_HAND_SIDE_NONTEMPLATE_TARGET__DIAGNOSTICCHAIN_MAP:
+ return nameLeftHandSideNontemplateTarget((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ }
+ return super.eInvoke(operationID, arguments);
+ }
+
+} // NameLeftHandSideImpl
diff --git a/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/NamedExpressionImpl.java b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/NamedExpressionImpl.java
new file mode 100644
index 00000000000..949bf3e623c
--- /dev/null
+++ b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/NamedExpressionImpl.java
@@ -0,0 +1,152 @@
+/**
+ */
+package org.eclipse.papyrus.uml.alf.impl;
+
+import java.lang.reflect.InvocationTargetException;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.common.util.WrappedException;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EOperation;
+import org.eclipse.papyrus.uml.alf.AlfPackage;
+import org.eclipse.papyrus.uml.alf.Expression;
+import org.eclipse.papyrus.uml.alf.NamedExpression;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Named Expression</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.uml.alf.impl.NamedExpressionImpl#getName <em>Name</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.impl.NamedExpressionImpl#getExpression <em>Expression</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.impl.NamedExpressionImpl#getIndex <em>Index</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class NamedExpressionImpl extends SyntaxElementImpl implements NamedExpression {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected NamedExpressionImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return AlfPackage.eINSTANCE.getNamedExpression();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public String getName() {
+ return (String) eGet(AlfPackage.eINSTANCE.getNamedExpression_Name(), true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setName(String newName) {
+ eSet(AlfPackage.eINSTANCE.getNamedExpression_Name(), newName);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public Expression getExpression() {
+ return (Expression) eGet(AlfPackage.eINSTANCE.getNamedExpression_Expression(), true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setExpression(Expression newExpression) {
+ eSet(AlfPackage.eINSTANCE.getNamedExpression_Expression(), newExpression);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public Expression getIndex() {
+ return (Expression) eGet(AlfPackage.eINSTANCE.getNamedExpression_Index(), true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setIndex(Expression newIndex) {
+ eSet(AlfPackage.eINSTANCE.getNamedExpression_Index(), newIndex);
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #actualName() <em>Actual Name</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #actualName()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate ACTUAL_NAME__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getNamedExpression__ActualName()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public String actualName() {
+ try {
+ return (String) ACTUAL_NAME__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Object eInvoke(int operationID, EList<?> arguments) throws InvocationTargetException {
+ switch (operationID) {
+ case AlfPackage.NAMED_EXPRESSION___ACTUAL_NAME:
+ return actualName();
+ }
+ return super.eInvoke(operationID, arguments);
+ }
+
+} // NamedExpressionImpl
diff --git a/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/NamedTemplateBindingImpl.java b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/NamedTemplateBindingImpl.java
new file mode 100644
index 00000000000..0856733ab81
--- /dev/null
+++ b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/NamedTemplateBindingImpl.java
@@ -0,0 +1,213 @@
+/**
+ */
+package org.eclipse.papyrus.uml.alf.impl;
+
+import java.lang.reflect.InvocationTargetException;
+import org.eclipse.emf.common.util.BasicEList;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.common.util.WrappedException;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EOperation;
+import org.eclipse.papyrus.uml.alf.AlfPackage;
+import org.eclipse.papyrus.uml.alf.ElementReference;
+import org.eclipse.papyrus.uml.alf.NamedTemplateBinding;
+import org.eclipse.papyrus.uml.alf.TemplateBinding;
+import org.eclipse.papyrus.uml.alf.TemplateParameterSubstitution;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Named Template Binding</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.uml.alf.impl.NamedTemplateBindingImpl#getSubstitution <em>Substitution</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class NamedTemplateBindingImpl extends TemplateBindingImpl implements NamedTemplateBinding {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected NamedTemplateBindingImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return AlfPackage.eINSTANCE.getNamedTemplateBinding();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<TemplateParameterSubstitution> getSubstitution() {
+ return (EList<TemplateParameterSubstitution>) eGet(AlfPackage.eINSTANCE.getNamedTemplateBinding_Substitution(), true);
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #toString() <em>To String</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #toString()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate TO_STRING__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getNamedTemplateBinding__ToString()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public String toString() {
+ try {
+ return (String) TO_STRING__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #matches(org.eclipse.papyrus.uml.alf.ElementReference) <em>Matches</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #matches(org.eclipse.papyrus.uml.alf.ElementReference)
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate MATCHES_ELEMENT_REFERENCE__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getNamedTemplateBinding__Matches__ElementReference()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean matches(ElementReference template) {
+ try {
+ return (Boolean) MATCHES_ELEMENT_REFERENCE__EINVOCATION_DELEGATE.dynamicInvoke(this, new BasicEList.UnmodifiableEList<Object>(1, new Object[] { template }));
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #matchesParameter(org.eclipse.papyrus.uml.alf.ElementReference) <em>Matches Parameter</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #matchesParameter(org.eclipse.papyrus.uml.alf.ElementReference)
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate MATCHES_PARAMETER_ELEMENT_REFERENCE__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getNamedTemplateBinding__MatchesParameter__ElementReference()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean matchesParameter(ElementReference parameter) {
+ try {
+ return (Boolean) MATCHES_PARAMETER_ELEMENT_REFERENCE__EINVOCATION_DELEGATE.dynamicInvoke(this, new BasicEList.UnmodifiableEList<Object>(1, new Object[] { parameter }));
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #bindTo(org.eclipse.papyrus.uml.alf.ElementReference) <em>Bind To</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #bindTo(org.eclipse.papyrus.uml.alf.ElementReference)
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate BIND_TO_ELEMENT_REFERENCE__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getNamedTemplateBinding__BindTo__ElementReference()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<ElementReference> bindTo(ElementReference template) {
+ try {
+ return (EList<ElementReference>) BIND_TO_ELEMENT_REFERENCE__EINVOCATION_DELEGATE.dynamicInvoke(this, new BasicEList.UnmodifiableEList<Object>(1, new Object[] { template }));
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #copy() <em>Copy</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #copy()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate COPY__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getNamedTemplateBinding__Copy()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public TemplateBinding copy() {
+ try {
+ return (TemplateBinding) COPY__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Object eInvoke(int operationID, EList<?> arguments) throws InvocationTargetException {
+ switch (operationID) {
+ case AlfPackage.NAMED_TEMPLATE_BINDING___TO_STRING:
+ return toString();
+ case AlfPackage.NAMED_TEMPLATE_BINDING___MATCHES__ELEMENTREFERENCE:
+ return matches((ElementReference) arguments.get(0));
+ case AlfPackage.NAMED_TEMPLATE_BINDING___MATCHES_PARAMETER__ELEMENTREFERENCE:
+ return matchesParameter((ElementReference) arguments.get(0));
+ case AlfPackage.NAMED_TEMPLATE_BINDING___BIND_TO__ELEMENTREFERENCE:
+ return bindTo((ElementReference) arguments.get(0));
+ case AlfPackage.NAMED_TEMPLATE_BINDING___COPY:
+ return copy();
+ }
+ return super.eInvoke(operationID, arguments);
+ }
+
+} // NamedTemplateBindingImpl
diff --git a/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/NamedTupleImpl.java b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/NamedTupleImpl.java
new file mode 100644
index 00000000000..282d77e0f4b
--- /dev/null
+++ b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/NamedTupleImpl.java
@@ -0,0 +1,203 @@
+/**
+ */
+package org.eclipse.papyrus.uml.alf.impl;
+
+import java.lang.reflect.InvocationTargetException;
+import java.math.BigInteger;
+import java.util.Map;
+import org.eclipse.emf.common.util.BasicEList;
+import org.eclipse.emf.common.util.Diagnostic;
+import org.eclipse.emf.common.util.DiagnosticChain;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.common.util.WrappedException;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EOperation;
+import org.eclipse.papyrus.uml.alf.AlfPackage;
+import org.eclipse.papyrus.uml.alf.ElementReference;
+import org.eclipse.papyrus.uml.alf.InputNamedExpression;
+import org.eclipse.papyrus.uml.alf.NamedExpression;
+import org.eclipse.papyrus.uml.alf.NamedTuple;
+import org.eclipse.papyrus.uml.alf.OutputNamedExpression;
+import org.eclipse.papyrus.uml.alf.util.AlfValidator;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Named Tuple</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.uml.alf.impl.NamedTupleImpl#getNamedExpression <em>Named Expression</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class NamedTupleImpl extends TupleImpl implements NamedTuple {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected NamedTupleImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return AlfPackage.eINSTANCE.getNamedTuple();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<NamedExpression> getNamedExpression() {
+ return (EList<NamedExpression>) eGet(AlfPackage.eINSTANCE.getNamedTuple_NamedExpression(), true);
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #size() <em>Size</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #size()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate SIZE__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getNamedTuple__Size()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public BigInteger size() {
+ try {
+ return (BigInteger) SIZE__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #inputFor(org.eclipse.emf.common.util.EList) <em>Input For</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #inputFor(org.eclipse.emf.common.util.EList)
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate INPUT_FOR_ELIST__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getNamedTuple__InputFor__EList()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<InputNamedExpression> inputFor(EList<ElementReference> parameters) {
+ try {
+ return (EList<InputNamedExpression>) INPUT_FOR_ELIST__EINVOCATION_DELEGATE.dynamicInvoke(this, new BasicEList.UnmodifiableEList<Object>(1, new Object[] { parameters }));
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #outputFor(org.eclipse.emf.common.util.EList) <em>Output For</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #outputFor(org.eclipse.emf.common.util.EList)
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate OUTPUT_FOR_ELIST__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getNamedTuple__OutputFor__EList()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<OutputNamedExpression> outputFor(EList<ElementReference> parameters) {
+ try {
+ return (EList<OutputNamedExpression>) OUTPUT_FOR_ELIST__EINVOCATION_DELEGATE.dynamicInvoke(this, new BasicEList.UnmodifiableEList<Object>(1, new Object[] { parameters }));
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached validation expression for the '{@link #namedTupleArgumentNames(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Named Tuple Argument Names</em>}' invariant operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #namedTupleArgumentNames(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ * @ordered
+ */
+ protected static final String NAMED_TUPLE_ARGUMENT_NAMES_DIAGNOSTIC_CHAIN_MAP__EEXPRESSION = "\n" +
+ " let names = self.invocation.parameter.name() in\n" +
+ " self.namedExpression->forAll(names->includes(actualName())) and\n" +
+ " self.namedExpression->isUnique(actualName())";
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean namedTupleArgumentNames(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return AlfValidator.validate
+ (AlfPackage.eINSTANCE.getNamedTuple(),
+ this,
+ diagnostics,
+ context,
+ "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot",
+ AlfPackage.eINSTANCE.getNamedTuple__NamedTupleArgumentNames__DiagnosticChain_Map(),
+ NAMED_TUPLE_ARGUMENT_NAMES_DIAGNOSTIC_CHAIN_MAP__EEXPRESSION,
+ Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.NAMED_TUPLE__NAMED_TUPLE_ARGUMENT_NAMES);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object eInvoke(int operationID, EList<?> arguments) throws InvocationTargetException {
+ switch (operationID) {
+ case AlfPackage.NAMED_TUPLE___SIZE:
+ return size();
+ case AlfPackage.NAMED_TUPLE___INPUT_FOR__ELIST:
+ return inputFor((EList<ElementReference>) arguments.get(0));
+ case AlfPackage.NAMED_TUPLE___OUTPUT_FOR__ELIST:
+ return outputFor((EList<ElementReference>) arguments.get(0));
+ case AlfPackage.NAMED_TUPLE___NAMED_TUPLE_ARGUMENT_NAMES__DIAGNOSTICCHAIN_MAP:
+ return namedTupleArgumentNames((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ }
+ return super.eInvoke(operationID, arguments);
+ }
+
+} // NamedTupleImpl
diff --git a/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/NamespaceDefinitionImpl.java b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/NamespaceDefinitionImpl.java
new file mode 100644
index 00000000000..9fc747ffdfd
--- /dev/null
+++ b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/NamespaceDefinitionImpl.java
@@ -0,0 +1,917 @@
+/**
+ */
+package org.eclipse.papyrus.uml.alf.impl;
+
+import java.lang.reflect.InvocationTargetException;
+import java.util.Collection;
+import java.util.Map;
+import org.eclipse.emf.common.util.BasicDiagnostic;
+import org.eclipse.emf.common.util.BasicEList;
+import org.eclipse.emf.common.util.Diagnostic;
+import org.eclipse.emf.common.util.DiagnosticChain;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.common.util.WrappedException;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EOperation;
+import org.eclipse.emf.ecore.plugin.EcorePlugin;
+import org.eclipse.emf.ecore.util.EObjectValidator;
+import org.eclipse.papyrus.uml.alf.AlfPackage;
+import org.eclipse.papyrus.uml.alf.ClassifierTemplateParameter;
+import org.eclipse.papyrus.uml.alf.ElementReference;
+import org.eclipse.papyrus.uml.alf.FormalParameter;
+import org.eclipse.papyrus.uml.alf.Member;
+import org.eclipse.papyrus.uml.alf.MemberDefinition;
+import org.eclipse.papyrus.uml.alf.NamespaceDefinition;
+import org.eclipse.papyrus.uml.alf.StereotypeAnnotation;
+import org.eclipse.papyrus.uml.alf.SyntaxElement;
+import org.eclipse.papyrus.uml.alf.UnitDefinition;
+import org.eclipse.papyrus.uml.alf.util.AlfValidator;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Namespace Definition</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.uml.alf.impl.NamespaceDefinitionImpl#getOwnedMember <em>Owned Member</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.impl.NamespaceDefinitionImpl#getUnit <em>Unit</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.impl.NamespaceDefinitionImpl#getMember <em>Member</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class NamespaceDefinitionImpl extends MemberDefinitionImpl implements NamespaceDefinition {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated NOT
+ */
+ protected NamespaceDefinitionImpl() {
+ super();
+ this.registerCaching();
+ }
+
+ @Override
+ public void clear() {
+ super.clear();
+ this.members = null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return AlfPackage.eINSTANCE.getNamespaceDefinition();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<Member> getOwnedMember() {
+ return (EList<Member>) eGet(AlfPackage.eINSTANCE.getNamespaceDefinition_OwnedMember(), true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public UnitDefinition getUnit() {
+ return (UnitDefinition) eGet(AlfPackage.eINSTANCE.getNamespaceDefinition_Unit(), true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setUnit(UnitDefinition newUnit) {
+ eSet(AlfPackage.eINSTANCE.getNamespaceDefinition_Unit(), newUnit);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<Member> getMember() {
+ return (EList<Member>) eGet(AlfPackage.eINSTANCE.getNamespaceDefinition_Member(), true);
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #currentScope() <em>Current Scope</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #currentScope()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate CURRENT_SCOPE__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getNamespaceDefinition__CurrentScope()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public ElementReference currentScope() {
+ try {
+ return (ElementReference) CURRENT_SCOPE__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated NOT
+ */
+ public NamespaceDefinition modelNamespace() {
+ return ModelNamespaceImpl.modelNamespaceFor(this);
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #outerScope() <em>Outer Scope</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #outerScope()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate OUTER_SCOPE__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getNamespaceDefinition__OuterScope()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public ElementReference outerScope() {
+ try {
+ return (ElementReference) OUTER_SCOPE__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #NamespaceDefinition_outerScope() <em>Namespace Definition outer Scope</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #NamespaceDefinition_outerScope()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate NAMESPACE_DEFINITION_OUTER_SCOPE__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getNamespaceDefinition__NamespaceDefinition_outerScope()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public ElementReference NamespaceDefinition_outerScope() {
+ try {
+ return (ElementReference) NAMESPACE_DEFINITION_OUTER_SCOPE__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #modelScope() <em>Model Scope</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #modelScope()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate MODEL_SCOPE__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getNamespaceDefinition__ModelScope()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public ElementReference modelScope() {
+ try {
+ return (ElementReference) MODEL_SCOPE__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #resolveInScope(java.lang.String) <em>Resolve In Scope</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #resolveInScope(java.lang.String)
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate RESOLVE_IN_SCOPE_STRING__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getNamespaceDefinition__ResolveInScope__String()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<Member> resolveInScope(String name) {
+ try {
+ return (EList<Member>) RESOLVE_IN_SCOPE_STRING__EINVOCATION_DELEGATE.dynamicInvoke(this, new BasicEList.UnmodifiableEList<Object>(1, new Object[] { name }));
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #appliedProfiles() <em>Applied Profiles</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #appliedProfiles()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate APPLIED_PROFILES__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getNamespaceDefinition__AppliedProfiles()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<ElementReference> appliedProfiles() {
+ try {
+ return (EList<ElementReference>) APPLIED_PROFILES__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #NamespaceDefinition_appliedProfiles() <em>Namespace Definition applied Profiles</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #NamespaceDefinition_appliedProfiles()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate NAMESPACE_DEFINITION_APPLIED_PROFILES__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getNamespaceDefinition__NamespaceDefinition_appliedProfiles()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<ElementReference> NamespaceDefinition_appliedProfiles() {
+ try {
+ return (EList<ElementReference>) NAMESPACE_DEFINITION_APPLIED_PROFILES__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #parameters() <em>Parameters</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #parameters()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate PARAMETERS__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getNamespaceDefinition__Parameters()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<FormalParameter> parameters() {
+ try {
+ return (EList<FormalParameter>) PARAMETERS__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #returnParameter() <em>Return Parameter</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #returnParameter()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate RETURN_PARAMETER__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getNamespaceDefinition__ReturnParameter()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public FormalParameter returnParameter() {
+ try {
+ return (FormalParameter) RETURN_PARAMETER__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #NamespaceDefinition_returnParameter() <em>Namespace Definition return Parameter</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #NamespaceDefinition_returnParameter()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate NAMESPACE_DEFINITION_RETURN_PARAMETER__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getNamespaceDefinition__NamespaceDefinition_returnParameter()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public FormalParameter NamespaceDefinition_returnParameter() {
+ try {
+ return (FormalParameter) NAMESPACE_DEFINITION_RETURN_PARAMETER__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #subunitOwnedMembers() <em>Subunit Owned Members</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #subunitOwnedMembers()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate SUBUNIT_OWNED_MEMBERS__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getNamespaceDefinition__SubunitOwnedMembers()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<Member> subunitOwnedMembers() {
+ try {
+ return (EList<Member>) SUBUNIT_OWNED_MEMBERS__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #annotationAllowed(org.eclipse.papyrus.uml.alf.StereotypeAnnotation) <em>Annotation Allowed</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #annotationAllowed(org.eclipse.papyrus.uml.alf.StereotypeAnnotation)
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate ANNOTATION_ALLOWED_STEREOTYPE_ANNOTATION__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getNamespaceDefinition__AnnotationAllowed__StereotypeAnnotation())
+ .getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean annotationAllowed(StereotypeAnnotation annotation) {
+ try {
+ return (Boolean) ANNOTATION_ALLOWED_STEREOTYPE_ANNOTATION__EINVOCATION_DELEGATE.dynamicInvoke(this, new BasicEList.UnmodifiableEList<Object>(1, new Object[] { annotation }));
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #NamespaceDefinition_annotationAllowed(org.eclipse.papyrus.uml.alf.StereotypeAnnotation) <em>Namespace Definition annotation Allowed</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #NamespaceDefinition_annotationAllowed(org.eclipse.papyrus.uml.alf.StereotypeAnnotation)
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate NAMESPACE_DEFINITION_ANNOTATION_ALLOWED_STEREOTYPE_ANNOTATION__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE
+ .getNamespaceDefinition__NamespaceDefinition_annotationAllowed__StereotypeAnnotation()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean NamespaceDefinition_annotationAllowed(StereotypeAnnotation annotation) {
+ try {
+ return (Boolean) NAMESPACE_DEFINITION_ANNOTATION_ALLOWED_STEREOTYPE_ANNOTATION__EINVOCATION_DELEGATE.dynamicInvoke(this, new BasicEList.UnmodifiableEList<Object>(1, new Object[] { annotation }));
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #templateParameters() <em>Template Parameters</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #templateParameters()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate TEMPLATE_PARAMETERS__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getNamespaceDefinition__TemplateParameters()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<ClassifierTemplateParameter> templateParameters() {
+ try {
+ return (EList<ClassifierTemplateParameter>) TEMPLATE_PARAMETERS__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ protected EList<Member> members = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated NOT
+ */
+ public EList<Member> membersCached() {
+ if (this.members == null) {
+ this.members = this.members();
+ }
+ return this.members;
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #members() <em>Members</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #members()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate MEMBERS__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getNamespaceDefinition__Members()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<Member> members() {
+ try {
+ return (EList<Member>) MEMBERS__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #NamespaceDefinition_members() <em>Namespace Definition members</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #NamespaceDefinition_members()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate NAMESPACE_DEFINITION_MEMBERS__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getNamespaceDefinition__NamespaceDefinition_members()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<Member> NamespaceDefinition_members() {
+ try {
+ return (EList<Member>) NAMESPACE_DEFINITION_MEMBERS__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #importedMembers() <em>Imported Members</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #importedMembers()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate IMPORTED_MEMBERS__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getNamespaceDefinition__ImportedMembers()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<Member> importedMembers() {
+ try {
+ return (EList<Member>) IMPORTED_MEMBERS__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #importMembers(org.eclipse.emf.common.util.EList) <em>Import Members</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #importMembers(org.eclipse.emf.common.util.EList)
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate IMPORT_MEMBERS_ELIST__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getNamespaceDefinition__ImportMembers__EList()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<Member> importMembers(EList<Member> importedMembers) {
+ try {
+ return (EList<Member>) IMPORT_MEMBERS_ELIST__EINVOCATION_DELEGATE.dynamicInvoke(this, new BasicEList.UnmodifiableEList<Object>(1, new Object[] { importedMembers }));
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #excludeCollisions(org.eclipse.emf.common.util.EList) <em>Exclude Collisions</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #excludeCollisions(org.eclipse.emf.common.util.EList)
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate EXCLUDE_COLLISIONS_ELIST__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getNamespaceDefinition__ExcludeCollisions__EList()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<Member> excludeCollisions(EList<Member> importedMembers) {
+ try {
+ return (EList<Member>) EXCLUDE_COLLISIONS_ELIST__EINVOCATION_DELEGATE.dynamicInvoke(this, new BasicEList.UnmodifiableEList<Object>(1, new Object[] { importedMembers }));
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #removeDuplicates(org.eclipse.emf.common.util.EList) <em>Remove Duplicates</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #removeDuplicates(org.eclipse.emf.common.util.EList)
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate REMOVE_DUPLICATES_ELIST__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getNamespaceDefinition__RemoveDuplicates__EList()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<Member> removeDuplicates(EList<Member> importedMembers) {
+ try {
+ return (EList<Member>) REMOVE_DUPLICATES_ELIST__EINVOCATION_DELEGATE.dynamicInvoke(this, new BasicEList.UnmodifiableEList<Object>(1, new Object[] { importedMembers }));
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated NOT
+ */
+ public EList<Member> includeDistinguishableCaching(EList<Member> importedMembers) {
+ this.members = new BasicEList<Member>(this.getOwnedMember());
+ this.members.addAll(importedMembers);
+ return this.includeDistinguishable(importedMembers);
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #includeDistinguishable(org.eclipse.emf.common.util.EList) <em>Include Distinguishable</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #includeDistinguishable(org.eclipse.emf.common.util.EList)
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate INCLUDE_DISTINGUISHABLE_ELIST__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getNamespaceDefinition__IncludeDistinguishable__EList()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<Member> includeDistinguishable(EList<Member> importedMembers) {
+ try {
+ return (EList<Member>) INCLUDE_DISTINGUISHABLE_ELIST__EINVOCATION_DELEGATE.dynamicInvoke(this, new BasicEList.UnmodifiableEList<Object>(1, new Object[] { importedMembers }));
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #stub() <em>Stub</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #stub()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate STUB__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getNamespaceDefinition__Stub()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public ElementReference stub() {
+ try {
+ return (ElementReference) STUB__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #stubFor(org.eclipse.papyrus.uml.alf.UnitDefinition) <em>Stub For</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #stubFor(org.eclipse.papyrus.uml.alf.UnitDefinition)
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate STUB_FOR_UNIT_DEFINITION__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getNamespaceDefinition__StubFor__UnitDefinition()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public ElementReference stubFor(UnitDefinition unit) {
+ try {
+ return (ElementReference) STUB_FOR_UNIT_DEFINITION__EINVOCATION_DELEGATE.dynamicInvoke(this, new BasicEList.UnmodifiableEList<Object>(1, new Object[] { unit }));
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean namespaceDefinitionMemberDerivation(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.NAMESPACE_DEFINITION__NAMESPACE_DEFINITION_MEMBER_DERIVATION,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "namespaceDefinitionMemberDerivation", EObjectValidator.getObjectLabel(this, context) }),
+ new Object[] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * The cached validation expression for the '{@link #namespaceDefinitionMemberDistinguishability(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Namespace Definition Member Distinguishability</em>}' invariant operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #namespaceDefinitionMemberDistinguishability(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ * @ordered
+ */
+ protected static final String NAMESPACE_DEFINITION_MEMBER_DISTINGUISHABILITY_DIAGNOSTIC_CHAIN_MAP__EEXPRESSION = "\n" +
+ " self.member->forAll(m1 | \n" +
+ " self.member->forAll(m2 | \n" +
+ " m1 = m2 or m1.definition.isDistinguishableFrom(m2.definition)\n" +
+ " )\n" +
+ " )";
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean namespaceDefinitionMemberDistinguishability(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return AlfValidator.validate
+ (AlfPackage.eINSTANCE.getNamespaceDefinition(),
+ this,
+ diagnostics,
+ context,
+ "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot",
+ AlfPackage.eINSTANCE.getNamespaceDefinition__NamespaceDefinitionMemberDistinguishability__DiagnosticChain_Map(),
+ NAMESPACE_DEFINITION_MEMBER_DISTINGUISHABILITY_DIAGNOSTIC_CHAIN_MAP__EEXPRESSION,
+ Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.NAMESPACE_DEFINITION__NAMESPACE_DEFINITION_MEMBER_DISTINGUISHABILITY);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public int eDerivedOperationID(int baseOperationID, Class<?> baseClass) {
+ if (baseClass == SyntaxElement.class) {
+ switch (baseOperationID) {
+ case AlfPackage.SYNTAX_ELEMENT___CURRENT_SCOPE:
+ return AlfPackage.NAMESPACE_DEFINITION___CURRENT_SCOPE;
+ default:
+ return super.eDerivedOperationID(baseOperationID, baseClass);
+ }
+ }
+ if (baseClass == MemberDefinition.class) {
+ switch (baseOperationID) {
+ case AlfPackage.MEMBER_DEFINITION___OUTER_SCOPE:
+ return AlfPackage.NAMESPACE_DEFINITION___OUTER_SCOPE;
+ case AlfPackage.MEMBER_DEFINITION___ANNOTATION_ALLOWED__STEREOTYPEANNOTATION:
+ return AlfPackage.NAMESPACE_DEFINITION___ANNOTATION_ALLOWED__STEREOTYPEANNOTATION;
+ case AlfPackage.MEMBER_DEFINITION___TEMPLATE_PARAMETERS:
+ return AlfPackage.NAMESPACE_DEFINITION___TEMPLATE_PARAMETERS;
+ default:
+ return super.eDerivedOperationID(baseOperationID, baseClass);
+ }
+ }
+ return super.eDerivedOperationID(baseOperationID, baseClass);
+ }
+
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object eInvoke(int operationID, EList<?> arguments) throws InvocationTargetException {
+ if (operationID == AlfPackage.NAMESPACE_DEFINITION___INCLUDE_DISTINGUISHABLE_CACHING__ELIST &&
+ !(arguments.get(0) instanceof EList<?>)) {
+ return this.includeDistinguishableCaching(new BasicEList<Member>((Collection<? extends Member>) arguments.get(0)));
+ } else {
+ return this.eInvokeGen(operationID, arguments);
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public Object eInvokeGen(int operationID, EList<?> arguments) throws InvocationTargetException {
+ switch (operationID) {
+ case AlfPackage.NAMESPACE_DEFINITION___CURRENT_SCOPE:
+ return currentScope();
+ case AlfPackage.NAMESPACE_DEFINITION___OUTER_SCOPE:
+ return outerScope();
+ case AlfPackage.NAMESPACE_DEFINITION___NAMESPACE_DEFINITION_OUTER_SCOPE:
+ return NamespaceDefinition_outerScope();
+ case AlfPackage.NAMESPACE_DEFINITION___MODEL_NAMESPACE:
+ return modelNamespace();
+ case AlfPackage.NAMESPACE_DEFINITION___MODEL_SCOPE:
+ return modelScope();
+ case AlfPackage.NAMESPACE_DEFINITION___RESOLVE_IN_SCOPE__STRING:
+ return resolveInScope((String) arguments.get(0));
+ case AlfPackage.NAMESPACE_DEFINITION___APPLIED_PROFILES:
+ return appliedProfiles();
+ case AlfPackage.NAMESPACE_DEFINITION___NAMESPACE_DEFINITION_APPLIED_PROFILES:
+ return NamespaceDefinition_appliedProfiles();
+ case AlfPackage.NAMESPACE_DEFINITION___PARAMETERS:
+ return parameters();
+ case AlfPackage.NAMESPACE_DEFINITION___RETURN_PARAMETER:
+ return returnParameter();
+ case AlfPackage.NAMESPACE_DEFINITION___NAMESPACE_DEFINITION_RETURN_PARAMETER:
+ return NamespaceDefinition_returnParameter();
+ case AlfPackage.NAMESPACE_DEFINITION___SUBUNIT_OWNED_MEMBERS:
+ return subunitOwnedMembers();
+ case AlfPackage.NAMESPACE_DEFINITION___ANNOTATION_ALLOWED__STEREOTYPEANNOTATION:
+ return annotationAllowed((StereotypeAnnotation) arguments.get(0));
+ case AlfPackage.NAMESPACE_DEFINITION___NAMESPACE_DEFINITION_ANNOTATION_ALLOWED__STEREOTYPEANNOTATION:
+ return NamespaceDefinition_annotationAllowed((StereotypeAnnotation) arguments.get(0));
+ case AlfPackage.NAMESPACE_DEFINITION___TEMPLATE_PARAMETERS:
+ return templateParameters();
+ case AlfPackage.NAMESPACE_DEFINITION___MEMBERS_CACHED:
+ return membersCached();
+ case AlfPackage.NAMESPACE_DEFINITION___MEMBERS:
+ return members();
+ case AlfPackage.NAMESPACE_DEFINITION___NAMESPACE_DEFINITION_MEMBERS:
+ return NamespaceDefinition_members();
+ case AlfPackage.NAMESPACE_DEFINITION___IMPORTED_MEMBERS:
+ return importedMembers();
+ case AlfPackage.NAMESPACE_DEFINITION___IMPORT_MEMBERS__ELIST:
+ return importMembers((EList<Member>) arguments.get(0));
+ case AlfPackage.NAMESPACE_DEFINITION___EXCLUDE_COLLISIONS__ELIST:
+ return excludeCollisions((EList<Member>) arguments.get(0));
+ case AlfPackage.NAMESPACE_DEFINITION___REMOVE_DUPLICATES__ELIST:
+ return removeDuplicates((EList<Member>) arguments.get(0));
+ case AlfPackage.NAMESPACE_DEFINITION___INCLUDE_DISTINGUISHABLE_CACHING__ELIST:
+ return includeDistinguishableCaching((EList<Member>) arguments.get(0));
+ case AlfPackage.NAMESPACE_DEFINITION___INCLUDE_DISTINGUISHABLE__ELIST:
+ return includeDistinguishable((EList<Member>) arguments.get(0));
+ case AlfPackage.NAMESPACE_DEFINITION___STUB:
+ return stub();
+ case AlfPackage.NAMESPACE_DEFINITION___STUB_FOR__UNITDEFINITION:
+ return stubFor((UnitDefinition) arguments.get(0));
+ case AlfPackage.NAMESPACE_DEFINITION___NAMESPACE_DEFINITION_MEMBER_DERIVATION__DIAGNOSTICCHAIN_MAP:
+ return namespaceDefinitionMemberDerivation((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ case AlfPackage.NAMESPACE_DEFINITION___NAMESPACE_DEFINITION_MEMBER_DISTINGUISHABILITY__DIAGNOSTICCHAIN_MAP:
+ return namespaceDefinitionMemberDistinguishability((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ }
+ return super.eInvoke(operationID, arguments);
+ }
+
+} // NamespaceDefinitionImpl
diff --git a/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/NaturalLiteralExpressionImpl.java b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/NaturalLiteralExpressionImpl.java
new file mode 100644
index 00000000000..53abcef40ef
--- /dev/null
+++ b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/NaturalLiteralExpressionImpl.java
@@ -0,0 +1,146 @@
+/**
+ */
+package org.eclipse.papyrus.uml.alf.impl;
+
+import java.lang.reflect.InvocationTargetException;
+import java.util.Map;
+import org.eclipse.emf.common.util.BasicDiagnostic;
+import org.eclipse.emf.common.util.Diagnostic;
+import org.eclipse.emf.common.util.DiagnosticChain;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.common.util.WrappedException;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EOperation;
+import org.eclipse.emf.ecore.plugin.EcorePlugin;
+import org.eclipse.emf.ecore.util.EObjectValidator;
+import org.eclipse.papyrus.uml.alf.AlfPackage;
+import org.eclipse.papyrus.uml.alf.ElementReference;
+import org.eclipse.papyrus.uml.alf.NaturalLiteralExpression;
+import org.eclipse.papyrus.uml.alf.util.AlfValidator;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Natural Literal Expression</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.uml.alf.impl.NaturalLiteralExpressionImpl#getImage <em>Image</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class NaturalLiteralExpressionImpl extends LiteralExpressionImpl implements NaturalLiteralExpression {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected NaturalLiteralExpressionImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return AlfPackage.eINSTANCE.getNaturalLiteralExpression();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public String getImage() {
+ return (String) eGet(AlfPackage.eINSTANCE.getNaturalLiteralExpression_Image(), true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setImage(String newImage) {
+ eSet(AlfPackage.eINSTANCE.getNaturalLiteralExpression_Image(), newImage);
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #type() <em>Type</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #type()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate TYPE__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getNaturalLiteralExpression__Type()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public ElementReference type() {
+ try {
+ return (ElementReference) TYPE__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean naturalLiteralExpressionTypeDerivation(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.NATURAL_LITERAL_EXPRESSION__NATURAL_LITERAL_EXPRESSION_TYPE_DERIVATION,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "naturalLiteralExpressionTypeDerivation", EObjectValidator.getObjectLabel(this, context) }),
+ new Object[] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object eInvoke(int operationID, EList<?> arguments) throws InvocationTargetException {
+ switch (operationID) {
+ case AlfPackage.NATURAL_LITERAL_EXPRESSION___TYPE:
+ return type();
+ case AlfPackage.NATURAL_LITERAL_EXPRESSION___NATURAL_LITERAL_EXPRESSION_TYPE_DERIVATION__DIAGNOSTICCHAIN_MAP:
+ return naturalLiteralExpressionTypeDerivation((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ }
+ return super.eInvoke(operationID, arguments);
+ }
+
+} // NaturalLiteralExpressionImpl
diff --git a/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/NonFinalClauseImpl.java b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/NonFinalClauseImpl.java
new file mode 100644
index 00000000000..fad68347270
--- /dev/null
+++ b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/NonFinalClauseImpl.java
@@ -0,0 +1,328 @@
+/**
+ */
+package org.eclipse.papyrus.uml.alf.impl;
+
+import java.lang.reflect.InvocationTargetException;
+
+import java.util.Map;
+
+import org.eclipse.emf.common.util.BasicDiagnostic;
+import org.eclipse.emf.common.util.BasicEList;
+import org.eclipse.emf.common.util.Diagnostic;
+import org.eclipse.emf.common.util.DiagnosticChain;
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.common.util.WrappedException;
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.EOperation;
+import org.eclipse.emf.ecore.plugin.EcorePlugin;
+
+import org.eclipse.emf.ecore.util.EObjectValidator;
+
+import org.eclipse.papyrus.uml.alf.AlfPackage;
+import org.eclipse.papyrus.uml.alf.AssignedSource;
+import org.eclipse.papyrus.uml.alf.Block;
+import org.eclipse.papyrus.uml.alf.Expression;
+import org.eclipse.papyrus.uml.alf.NonFinalClause;
+
+import org.eclipse.papyrus.uml.alf.SyntaxElement;
+import org.eclipse.papyrus.uml.alf.util.AlfValidator;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Non Final Clause</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.uml.alf.impl.NonFinalClauseImpl#getCondition <em>Condition</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.impl.NonFinalClauseImpl#getBody <em>Body</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class NonFinalClauseImpl extends SyntaxElementImpl implements NonFinalClause {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected NonFinalClauseImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return AlfPackage.eINSTANCE.getNonFinalClause();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public Expression getCondition() {
+ return (Expression) eGet(AlfPackage.eINSTANCE.getNonFinalClause_Condition(), true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setCondition(Expression newCondition) {
+ eSet(AlfPackage.eINSTANCE.getNonFinalClause_Condition(), newCondition);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public Block getBody() {
+ return (Block) eGet(AlfPackage.eINSTANCE.getNonFinalClause_Body(), true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setBody(Block newBody) {
+ eSet(AlfPackage.eINSTANCE.getNonFinalClause_Body(), newBody);
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #assignmentsBefore(org.eclipse.papyrus.uml.alf.SyntaxElement) <em>Assignments Before</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #assignmentsBefore(org.eclipse.papyrus.uml.alf.SyntaxElement)
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate ASSIGNMENTS_BEFORE_SYNTAX_ELEMENT__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getNonFinalClause__AssignmentsBefore__SyntaxElement()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<AssignedSource> assignmentsBefore(SyntaxElement element) {
+ try {
+ return (EList<AssignedSource>) ASSIGNMENTS_BEFORE_SYNTAX_ELEMENT__EINVOCATION_DELEGATE.dynamicInvoke(this, new BasicEList.UnmodifiableEList<Object>(1, new Object[] { element }));
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #assignmentsBefore() <em>Assignments Before</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #assignmentsBefore()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate ASSIGNMENTS_BEFORE__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getNonFinalClause__AssignmentsBefore()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<AssignedSource> assignmentsBefore() {
+ try {
+ return (EList<AssignedSource>) ASSIGNMENTS_BEFORE__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #assignmentsAfter() <em>Assignments After</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #assignmentsAfter()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate ASSIGNMENTS_AFTER__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getNonFinalClause__AssignmentsAfter()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean nonFinalClauseAssignmentsBeforeBody(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.NON_FINAL_CLAUSE__NON_FINAL_CLAUSE_ASSIGNMENTS_BEFORE_BODY,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "nonFinalClauseAssignmentsBeforeBody", EObjectValidator.getObjectLabel(this, context) }),
+ new Object[] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * The cached validation expression for the '{@link #nonFinalClauseConditionLocalNames(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Non Final Clause Condition Local Names</em>}' invariant operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #nonFinalClauseConditionLocalNames(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ * @ordered
+ */
+ protected static final String NON_FINAL_CLAUSE_CONDITION_LOCAL_NAMES_DIAGNOSTIC_CHAIN_MAP__EEXPRESSION = "\n" +
+ " self.condition.assignmentBefore.name->includesAll(\n" +
+ " self.condition.assignmentAfter.name\n" +
+ " )";
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean nonFinalClauseConditionLocalNames(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return AlfValidator.validate
+ (AlfPackage.eINSTANCE.getNonFinalClause(),
+ this,
+ diagnostics,
+ context,
+ "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot",
+ AlfPackage.eINSTANCE.getNonFinalClause__NonFinalClauseConditionLocalNames__DiagnosticChain_Map(),
+ NON_FINAL_CLAUSE_CONDITION_LOCAL_NAMES_DIAGNOSTIC_CHAIN_MAP__EEXPRESSION,
+ Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.NON_FINAL_CLAUSE__NON_FINAL_CLAUSE_CONDITION_LOCAL_NAMES);
+ }
+
+ /**
+ * The cached validation expression for the '{@link #nonFinalClauseConditionType(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Non Final Clause Condition Type</em>}' invariant operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #nonFinalClauseConditionType(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ * @ordered
+ */
+ protected static final String NON_FINAL_CLAUSE_CONDITION_TYPE_DIAGNOSTIC_CHAIN_MAP__EEXPRESSION = "\n" +
+ " let type = self.condition.type in\n" +
+ " type <> null and self.isBooleanType(type) and \n" +
+ " condition.upper <= 1";
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean nonFinalClauseConditionType(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return AlfValidator.validate
+ (AlfPackage.eINSTANCE.getNonFinalClause(),
+ this,
+ diagnostics,
+ context,
+ "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot",
+ AlfPackage.eINSTANCE.getNonFinalClause__NonFinalClauseConditionType__DiagnosticChain_Map(),
+ NON_FINAL_CLAUSE_CONDITION_TYPE_DIAGNOSTIC_CHAIN_MAP__EEXPRESSION,
+ Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.NON_FINAL_CLAUSE__NON_FINAL_CLAUSE_CONDITION_TYPE);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public int eDerivedOperationID(int baseOperationID, Class<?> baseClass) {
+ if (baseClass == SyntaxElement.class) {
+ switch (baseOperationID) {
+ case AlfPackage.SYNTAX_ELEMENT___ASSIGNMENTS_BEFORE:
+ return AlfPackage.NON_FINAL_CLAUSE___ASSIGNMENTS_BEFORE;
+ case AlfPackage.SYNTAX_ELEMENT___ASSIGNMENTS_BEFORE__SYNTAXELEMENT:
+ return AlfPackage.NON_FINAL_CLAUSE___ASSIGNMENTS_BEFORE__SYNTAXELEMENT;
+ default:
+ return super.eDerivedOperationID(baseOperationID, baseClass);
+ }
+ }
+ return super.eDerivedOperationID(baseOperationID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<AssignedSource> assignmentsAfter() {
+ try {
+ return (EList<AssignedSource>) ASSIGNMENTS_AFTER__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object eInvoke(int operationID, EList<?> arguments) throws InvocationTargetException {
+ switch (operationID) {
+ case AlfPackage.NON_FINAL_CLAUSE___ASSIGNMENTS_BEFORE__SYNTAXELEMENT:
+ return assignmentsBefore((SyntaxElement) arguments.get(0));
+ case AlfPackage.NON_FINAL_CLAUSE___ASSIGNMENTS_BEFORE:
+ return assignmentsBefore();
+ case AlfPackage.NON_FINAL_CLAUSE___ASSIGNMENTS_AFTER:
+ return assignmentsAfter();
+ case AlfPackage.NON_FINAL_CLAUSE___NON_FINAL_CLAUSE_ASSIGNMENTS_BEFORE_BODY__DIAGNOSTICCHAIN_MAP:
+ return nonFinalClauseAssignmentsBeforeBody((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ case AlfPackage.NON_FINAL_CLAUSE___NON_FINAL_CLAUSE_CONDITION_LOCAL_NAMES__DIAGNOSTICCHAIN_MAP:
+ return nonFinalClauseConditionLocalNames((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ case AlfPackage.NON_FINAL_CLAUSE___NON_FINAL_CLAUSE_CONDITION_TYPE__DIAGNOSTICCHAIN_MAP:
+ return nonFinalClauseConditionType((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ }
+ return super.eInvoke(operationID, arguments);
+ }
+
+} // NonFinalClauseImpl
diff --git a/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/NonReturnParameterImpl.java b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/NonReturnParameterImpl.java
new file mode 100644
index 00000000000..d80102fbde0
--- /dev/null
+++ b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/NonReturnParameterImpl.java
@@ -0,0 +1,45 @@
+/**
+ */
+package org.eclipse.papyrus.uml.alf.impl;
+
+import java.lang.reflect.InvocationTargetException;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.papyrus.uml.alf.AlfPackage;
+import org.eclipse.papyrus.uml.alf.NonReturnParameter;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Non Return Parameter</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ *
+ * @generated
+ */
+public class NonReturnParameterImpl extends FormalParameterImpl implements NonReturnParameter {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected NonReturnParameterImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return AlfPackage.eINSTANCE.getNonReturnParameter();
+ }
+
+ @Override
+ public Object eInvoke(int operationID, EList<?> arguments) throws InvocationTargetException {
+ return super.eInvoke(operationID, arguments);
+ }
+} // NonReturnParameterImpl
diff --git a/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/NumericUnaryExpressionImpl.java b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/NumericUnaryExpressionImpl.java
new file mode 100644
index 00000000000..787a849e5c3
--- /dev/null
+++ b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/NumericUnaryExpressionImpl.java
@@ -0,0 +1,264 @@
+/**
+ */
+package org.eclipse.papyrus.uml.alf.impl;
+
+import java.lang.reflect.InvocationTargetException;
+import java.math.BigInteger;
+import java.util.Map;
+import org.eclipse.emf.common.util.BasicDiagnostic;
+import org.eclipse.emf.common.util.Diagnostic;
+import org.eclipse.emf.common.util.DiagnosticChain;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.common.util.WrappedException;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EOperation;
+import org.eclipse.emf.ecore.plugin.EcorePlugin;
+import org.eclipse.emf.ecore.util.EObjectValidator;
+import org.eclipse.papyrus.uml.alf.AlfPackage;
+import org.eclipse.papyrus.uml.alf.ElementReference;
+import org.eclipse.papyrus.uml.alf.NumericUnaryExpression;
+import org.eclipse.papyrus.uml.alf.util.AlfValidator;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Numeric Unary Expression</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ *
+ * @generated
+ */
+public class NumericUnaryExpressionImpl extends UnaryExpressionImpl implements NumericUnaryExpression {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected NumericUnaryExpressionImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return AlfPackage.eINSTANCE.getNumericUnaryExpression();
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #type() <em>Type</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #type()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate TYPE__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getNumericUnaryExpression__Type()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public ElementReference type() {
+ try {
+ return (ElementReference) TYPE__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #lower() <em>Lower</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #lower()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate LOWER__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getNumericUnaryExpression__Lower()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public BigInteger lower() {
+ try {
+ return (BigInteger) LOWER__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #upper() <em>Upper</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #upper()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate UPPER__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getNumericUnaryExpression__Upper()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public BigInteger upper() {
+ try {
+ return (BigInteger) UPPER__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean numericUnaryExpressionTypeDerivation(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.NUMERIC_UNARY_EXPRESSION__NUMERIC_UNARY_EXPRESSION_TYPE_DERIVATION,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "numericUnaryExpressionTypeDerivation", EObjectValidator.getObjectLabel(this, context) }),
+ new Object[] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean numericUnaryExpressionLowerDerivation(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.NUMERIC_UNARY_EXPRESSION__NUMERIC_UNARY_EXPRESSION_LOWER_DERIVATION,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "numericUnaryExpressionLowerDerivation", EObjectValidator.getObjectLabel(this, context) }),
+ new Object[] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean numericUnaryExpressionUpperDerivation(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.NUMERIC_UNARY_EXPRESSION__NUMERIC_UNARY_EXPRESSION_UPPER_DERIVATION,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "numericUnaryExpressionUpperDerivation", EObjectValidator.getObjectLabel(this, context) }),
+ new Object[] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * The cached validation expression for the '{@link #numericUnaryExpressionOperand(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Numeric Unary Expression Operand</em>}' invariant operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #numericUnaryExpressionOperand(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ * @ordered
+ */
+ protected static final String NUMERIC_UNARY_EXPRESSION_OPERAND_DIAGNOSTIC_CHAIN_MAP__EEXPRESSION = "self.isIntegerType(self.operand.type) and self.operand.upper = 1";
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean numericUnaryExpressionOperand(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return AlfValidator.validate
+ (AlfPackage.eINSTANCE.getNumericUnaryExpression(),
+ this,
+ diagnostics,
+ context,
+ "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot",
+ AlfPackage.eINSTANCE.getNumericUnaryExpression__NumericUnaryExpressionOperand__DiagnosticChain_Map(),
+ NUMERIC_UNARY_EXPRESSION_OPERAND_DIAGNOSTIC_CHAIN_MAP__EEXPRESSION,
+ Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.NUMERIC_UNARY_EXPRESSION__NUMERIC_UNARY_EXPRESSION_OPERAND);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object eInvoke(int operationID, EList<?> arguments) throws InvocationTargetException {
+ switch (operationID) {
+ case AlfPackage.NUMERIC_UNARY_EXPRESSION___TYPE:
+ return type();
+ case AlfPackage.NUMERIC_UNARY_EXPRESSION___LOWER:
+ return lower();
+ case AlfPackage.NUMERIC_UNARY_EXPRESSION___UPPER:
+ return upper();
+ case AlfPackage.NUMERIC_UNARY_EXPRESSION___NUMERIC_UNARY_EXPRESSION_TYPE_DERIVATION__DIAGNOSTICCHAIN_MAP:
+ return numericUnaryExpressionTypeDerivation((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ case AlfPackage.NUMERIC_UNARY_EXPRESSION___NUMERIC_UNARY_EXPRESSION_LOWER_DERIVATION__DIAGNOSTICCHAIN_MAP:
+ return numericUnaryExpressionLowerDerivation((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ case AlfPackage.NUMERIC_UNARY_EXPRESSION___NUMERIC_UNARY_EXPRESSION_UPPER_DERIVATION__DIAGNOSTICCHAIN_MAP:
+ return numericUnaryExpressionUpperDerivation((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ case AlfPackage.NUMERIC_UNARY_EXPRESSION___NUMERIC_UNARY_EXPRESSION_OPERAND__DIAGNOSTICCHAIN_MAP:
+ return numericUnaryExpressionOperand((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ }
+ return super.eInvoke(operationID, arguments);
+ }
+
+} // NumericUnaryExpressionImpl
diff --git a/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/OperationDefinitionImpl.java b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/OperationDefinitionImpl.java
new file mode 100644
index 00000000000..196a71a6a64
--- /dev/null
+++ b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/OperationDefinitionImpl.java
@@ -0,0 +1,790 @@
+/**
+ */
+package org.eclipse.papyrus.uml.alf.impl;
+
+import java.lang.reflect.InvocationTargetException;
+import java.util.Map;
+import org.eclipse.emf.common.util.BasicDiagnostic;
+import org.eclipse.emf.common.util.BasicEList;
+import org.eclipse.emf.common.util.Diagnostic;
+import org.eclipse.emf.common.util.DiagnosticChain;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.common.util.WrappedException;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EOperation;
+import org.eclipse.emf.ecore.plugin.EcorePlugin;
+import org.eclipse.emf.ecore.util.EObjectValidator;
+import org.eclipse.papyrus.uml.alf.AlfPackage;
+import org.eclipse.papyrus.uml.alf.AssignedSource;
+import org.eclipse.papyrus.uml.alf.Block;
+import org.eclipse.papyrus.uml.alf.ElementReference;
+import org.eclipse.papyrus.uml.alf.FormalParameter;
+import org.eclipse.papyrus.uml.alf.MemberDefinition;
+import org.eclipse.papyrus.uml.alf.NamespaceDefinition;
+import org.eclipse.papyrus.uml.alf.OperationDefinition;
+import org.eclipse.papyrus.uml.alf.QualifiedNameList;
+import org.eclipse.papyrus.uml.alf.StereotypeAnnotation;
+import org.eclipse.papyrus.uml.alf.SyntaxElement;
+import org.eclipse.papyrus.uml.alf.UnitDefinition;
+import org.eclipse.papyrus.uml.alf.util.AlfValidator;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Operation Definition</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.uml.alf.impl.OperationDefinitionImpl#getRedefinition <em>Redefinition</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.impl.OperationDefinitionImpl#isIsAbstract <em>Is Abstract</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.impl.OperationDefinitionImpl#getBody <em>Body</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.impl.OperationDefinitionImpl#getRedefinedOperation <em>Redefined Operation</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.impl.OperationDefinitionImpl#isIsConstructor <em>Is Constructor</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.impl.OperationDefinitionImpl#isIsDestructor <em>Is Destructor</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class OperationDefinitionImpl extends NamespaceDefinitionImpl implements OperationDefinition {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected OperationDefinitionImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return AlfPackage.eINSTANCE.getOperationDefinition();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public QualifiedNameList getRedefinition() {
+ return (QualifiedNameList) eGet(AlfPackage.eINSTANCE.getOperationDefinition_Redefinition(), true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setRedefinition(QualifiedNameList newRedefinition) {
+ eSet(AlfPackage.eINSTANCE.getOperationDefinition_Redefinition(), newRedefinition);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isIsAbstract() {
+ return (Boolean) eGet(AlfPackage.eINSTANCE.getOperationDefinition_IsAbstract(), true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setIsAbstract(boolean newIsAbstract) {
+ eSet(AlfPackage.eINSTANCE.getOperationDefinition_IsAbstract(), newIsAbstract);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public Block getBody() {
+ return (Block) eGet(AlfPackage.eINSTANCE.getOperationDefinition_Body(), true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setBody(Block newBody) {
+ eSet(AlfPackage.eINSTANCE.getOperationDefinition_Body(), newBody);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<ElementReference> getRedefinedOperation() {
+ return (EList<ElementReference>) eGet(AlfPackage.eINSTANCE.getOperationDefinition_RedefinedOperation(), true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isIsConstructor() {
+ return (Boolean) eGet(AlfPackage.eINSTANCE.getOperationDefinition_IsConstructor(), true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setIsConstructor(boolean newIsConstructor) {
+ eSet(AlfPackage.eINSTANCE.getOperationDefinition_IsConstructor(), newIsConstructor);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isIsDestructor() {
+ return (Boolean) eGet(AlfPackage.eINSTANCE.getOperationDefinition_IsDestructor(), true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setIsDestructor(boolean newIsDestructor) {
+ eSet(AlfPackage.eINSTANCE.getOperationDefinition_IsDestructor(), newIsDestructor);
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #assignmentsBefore(org.eclipse.papyrus.uml.alf.SyntaxElement) <em>Assignments Before</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #assignmentsBefore(org.eclipse.papyrus.uml.alf.SyntaxElement)
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate ASSIGNMENTS_BEFORE_SYNTAX_ELEMENT__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getOperationDefinition__AssignmentsBefore__SyntaxElement()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<AssignedSource> assignmentsBefore(SyntaxElement element) {
+ try {
+ return (EList<AssignedSource>) ASSIGNMENTS_BEFORE_SYNTAX_ELEMENT__EINVOCATION_DELEGATE.dynamicInvoke(this, new BasicEList.UnmodifiableEList<Object>(1, new Object[] { element }));
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #annotationAllowed(org.eclipse.papyrus.uml.alf.StereotypeAnnotation) <em>Annotation Allowed</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #annotationAllowed(org.eclipse.papyrus.uml.alf.StereotypeAnnotation)
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate ANNOTATION_ALLOWED_STEREOTYPE_ANNOTATION__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getOperationDefinition__AnnotationAllowed__StereotypeAnnotation())
+ .getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean annotationAllowed(StereotypeAnnotation annotation) {
+ try {
+ return (Boolean) ANNOTATION_ALLOWED_STEREOTYPE_ANNOTATION__EINVOCATION_DELEGATE.dynamicInvoke(this, new BasicEList.UnmodifiableEList<Object>(1, new Object[] { annotation }));
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #matchForStub(org.eclipse.papyrus.uml.alf.UnitDefinition) <em>Match For Stub</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #matchForStub(org.eclipse.papyrus.uml.alf.UnitDefinition)
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate MATCH_FOR_STUB_UNIT_DEFINITION__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getOperationDefinition__MatchForStub__UnitDefinition()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean matchForStub(UnitDefinition unit) {
+ try {
+ return (Boolean) MATCH_FOR_STUB_UNIT_DEFINITION__EINVOCATION_DELEGATE.dynamicInvoke(this, new BasicEList.UnmodifiableEList<Object>(1, new Object[] { unit }));
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #isSameKindAs(org.eclipse.papyrus.uml.alf.ElementReference) <em>Is Same Kind As</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #isSameKindAs(org.eclipse.papyrus.uml.alf.ElementReference)
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate IS_SAME_KIND_AS_ELEMENT_REFERENCE__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getOperationDefinition__IsSameKindAs__ElementReference()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isSameKindAs(ElementReference member) {
+ try {
+ return (Boolean) IS_SAME_KIND_AS_ELEMENT_REFERENCE__EINVOCATION_DELEGATE.dynamicInvoke(this, new BasicEList.UnmodifiableEList<Object>(1, new Object[] { member }));
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #parametersMatch(org.eclipse.papyrus.uml.alf.ElementReference) <em>Parameters Match</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #parametersMatch(org.eclipse.papyrus.uml.alf.ElementReference)
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate PARAMETERS_MATCH_ELEMENT_REFERENCE__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getOperationDefinition__ParametersMatch__ElementReference()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean parametersMatch(ElementReference other) {
+ try {
+ return (Boolean) PARAMETERS_MATCH_ELEMENT_REFERENCE__EINVOCATION_DELEGATE.dynamicInvoke(this, new BasicEList.UnmodifiableEList<Object>(1, new Object[] { other }));
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #parametersMatchNameType(org.eclipse.papyrus.uml.alf.ElementReference) <em>Parameters Match Name Type</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #parametersMatchNameType(org.eclipse.papyrus.uml.alf.ElementReference)
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate PARAMETERS_MATCH_NAME_TYPE_ELEMENT_REFERENCE__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getOperationDefinition__ParametersMatchNameType__ElementReference())
+ .getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean parametersMatchNameType(ElementReference other) {
+ try {
+ return (Boolean) PARAMETERS_MATCH_NAME_TYPE_ELEMENT_REFERENCE__EINVOCATION_DELEGATE.dynamicInvoke(this, new BasicEList.UnmodifiableEList<Object>(1, new Object[] { other }));
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #returnParameter() <em>Return Parameter</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #returnParameter()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate RETURN_PARAMETER__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getOperationDefinition__ReturnParameter()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public FormalParameter returnParameter() {
+ try {
+ return (FormalParameter) RETURN_PARAMETER__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #specializationReferents() <em>Specialization Referents</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #specializationReferents()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate SPECIALIZATION_REFERENTS__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getOperationDefinition__SpecializationReferents()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<ElementReference> specializationReferents() {
+ try {
+ return (EList<ElementReference>) SPECIALIZATION_REFERENTS__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached validation expression for the '{@link #operationDefinitionNamespace(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Operation Definition Namespace</em>}' invariant operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #operationDefinitionNamespace(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ * @ordered
+ */
+ protected static final String OPERATION_DEFINITION_NAMESPACE_DIAGNOSTIC_CHAIN_MAP__EEXPRESSION = "\n" +
+ " self.containingMember().namespace.oclIsKindOf(ClassDefinition)";
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean operationDefinitionNamespace(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return AlfValidator.validate
+ (AlfPackage.eINSTANCE.getOperationDefinition(),
+ this,
+ diagnostics,
+ context,
+ "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot",
+ AlfPackage.eINSTANCE.getOperationDefinition__OperationDefinitionNamespace__DiagnosticChain_Map(),
+ OPERATION_DEFINITION_NAMESPACE_DIAGNOSTIC_CHAIN_MAP__EEXPRESSION,
+ Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.OPERATION_DEFINITION__OPERATION_DEFINITION_NAMESPACE);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean operationDefinitionRedefinedOperationDerivation(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.OPERATION_DEFINITION__OPERATION_DEFINITION_REDEFINED_OPERATION_DERIVATION,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "operationDefinitionRedefinedOperationDerivation", EObjectValidator.getObjectLabel(this, context) }),
+ new Object[] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * The cached validation expression for the '{@link #operationDefinitionRedefinition(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Operation Definition Redefinition</em>}' invariant operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #operationDefinitionRedefinition(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ * @ordered
+ */
+ protected static final String OPERATION_DEFINITION_REDEFINITION_DIAGNOSTIC_CHAIN_MAP__EEXPRESSION = "\n" +
+ " self.redefinition = null or\n" +
+ " self.redefinition.name->forAll(\n" +
+ " referent->size() = 1 and \n" +
+ " referent->forAll(\n" +
+ " visibility() <> 'private' and \n" +
+ " containedIn(self.specializationReferents().members()) and \n" +
+ " isOperation()\n" +
+ " )\n" +
+ " )";
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean operationDefinitionRedefinition(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return AlfValidator.validate
+ (AlfPackage.eINSTANCE.getOperationDefinition(),
+ this,
+ diagnostics,
+ context,
+ "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot",
+ AlfPackage.eINSTANCE.getOperationDefinition__OperationDefinitionRedefinition__DiagnosticChain_Map(),
+ OPERATION_DEFINITION_REDEFINITION_DIAGNOSTIC_CHAIN_MAP__EEXPRESSION,
+ Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.OPERATION_DEFINITION__OPERATION_DEFINITION_REDEFINITION);
+ }
+
+ /**
+ * The cached validation expression for the '{@link #operationDefinitionRedefinedOperations(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Operation Definition Redefined Operations</em>}' invariant operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #operationDefinitionRedefinedOperations(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ * @ordered
+ */
+ protected static final String OPERATION_DEFINITION_REDEFINED_OPERATIONS_DIAGNOSTIC_CHAIN_MAP__EEXPRESSION = "\n" +
+ " self.redefinedOperation->forAll(op | self.parametersMatch(op))";
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean operationDefinitionRedefinedOperations(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return AlfValidator.validate
+ (AlfPackage.eINSTANCE.getOperationDefinition(),
+ this,
+ diagnostics,
+ context,
+ "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot",
+ AlfPackage.eINSTANCE.getOperationDefinition__OperationDefinitionRedefinedOperations__DiagnosticChain_Map(),
+ OPERATION_DEFINITION_REDEFINED_OPERATIONS_DIAGNOSTIC_CHAIN_MAP__EEXPRESSION,
+ Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.OPERATION_DEFINITION__OPERATION_DEFINITION_REDEFINED_OPERATIONS);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean operationDefinitionIsFeatureDerivation(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.OPERATION_DEFINITION__OPERATION_DEFINITION_IS_FEATURE_DERIVATION,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "operationDefinitionIsFeatureDerivation", EObjectValidator.getObjectLabel(this, context) }),
+ new Object[] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean operationDefinitionIsConstructorDerivation(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.OPERATION_DEFINITION__OPERATION_DEFINITION_IS_CONSTRUCTOR_DERIVATION,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "operationDefinitionIsConstructorDerivation", EObjectValidator.getObjectLabel(this, context) }),
+ new Object[] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean operationDefinitionIsDestructorDerivation(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.OPERATION_DEFINITION__OPERATION_DEFINITION_IS_DESTRUCTOR_DERIVATION,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "operationDefinitionIsDestructorDerivation", EObjectValidator.getObjectLabel(this, context) }),
+ new Object[] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * The cached validation expression for the '{@link #operationDefinitionConstructorDestructor(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Operation Definition Constructor Destructor</em>}' invariant operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #operationDefinitionConstructorDestructor(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ * @ordered
+ */
+ protected static final String OPERATION_DEFINITION_CONSTRUCTOR_DESTRUCTOR_DIAGNOSTIC_CHAIN_MAP__EEXPRESSION = "\n" +
+ " not (self.isConstructor and self.isDestructor)";
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean operationDefinitionConstructorDestructor(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return AlfValidator.validate
+ (AlfPackage.eINSTANCE.getOperationDefinition(),
+ this,
+ diagnostics,
+ context,
+ "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot",
+ AlfPackage.eINSTANCE.getOperationDefinition__OperationDefinitionConstructorDestructor__DiagnosticChain_Map(),
+ OPERATION_DEFINITION_CONSTRUCTOR_DESTRUCTOR_DIAGNOSTIC_CHAIN_MAP__EEXPRESSION,
+ Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.OPERATION_DEFINITION__OPERATION_DEFINITION_CONSTRUCTOR_DESTRUCTOR);
+ }
+
+ /**
+ * The cached validation expression for the '{@link #operationDefinitionConstructor(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Operation Definition Constructor</em>}' invariant operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #operationDefinitionConstructor(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ * @ordered
+ */
+ protected static final String OPERATION_DEFINITION_CONSTRUCTOR_DIAGNOSTIC_CHAIN_MAP__EEXPRESSION = "\n" +
+ " self.isConstructor implies\n" +
+ " ( self.redefinedOperation->forAll(isConstructor)) and\n" +
+ " -- NOTE: The following condition is added.\n" +
+ " -- A constructor may not have an explicit return type.\n" +
+ " not self.ownedMember.definition->exists(\n" +
+ " oclIsKindOf(FormalParameter) and \n" +
+ " oclAsType(FormalParameter).direction = 'return'\n" +
+ " )";
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean operationDefinitionConstructor(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return AlfValidator.validate
+ (AlfPackage.eINSTANCE.getOperationDefinition(),
+ this,
+ diagnostics,
+ context,
+ "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot",
+ AlfPackage.eINSTANCE.getOperationDefinition__OperationDefinitionConstructor__DiagnosticChain_Map(),
+ OPERATION_DEFINITION_CONSTRUCTOR_DIAGNOSTIC_CHAIN_MAP__EEXPRESSION,
+ Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.OPERATION_DEFINITION__OPERATION_DEFINITION_CONSTRUCTOR);
+ }
+
+ /**
+ * The cached validation expression for the '{@link #operationDefinitionDestructor(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Operation Definition Destructor</em>}' invariant operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #operationDefinitionDestructor(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ * @ordered
+ */
+ protected static final String OPERATION_DEFINITION_DESTRUCTOR_DIAGNOSTIC_CHAIN_MAP__EEXPRESSION = "\n" +
+ " self.isDestructor implies\n" +
+ " self.redefinedOperation->forAll(isDestructor)";
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean operationDefinitionDestructor(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return AlfValidator.validate
+ (AlfPackage.eINSTANCE.getOperationDefinition(),
+ this,
+ diagnostics,
+ context,
+ "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot",
+ AlfPackage.eINSTANCE.getOperationDefinition__OperationDefinitionDestructor__DiagnosticChain_Map(),
+ OPERATION_DEFINITION_DESTRUCTOR_DIAGNOSTIC_CHAIN_MAP__EEXPRESSION,
+ Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.OPERATION_DEFINITION__OPERATION_DEFINITION_DESTRUCTOR);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public int eDerivedOperationID(int baseOperationID, Class<?> baseClass) {
+ if (baseClass == SyntaxElement.class) {
+ switch (baseOperationID) {
+ case AlfPackage.SYNTAX_ELEMENT___ASSIGNMENTS_BEFORE__SYNTAXELEMENT:
+ return AlfPackage.OPERATION_DEFINITION___ASSIGNMENTS_BEFORE__SYNTAXELEMENT;
+ default:
+ return super.eDerivedOperationID(baseOperationID, baseClass);
+ }
+ }
+ if (baseClass == MemberDefinition.class) {
+ switch (baseOperationID) {
+ case AlfPackage.MEMBER_DEFINITION___ANNOTATION_ALLOWED__STEREOTYPEANNOTATION:
+ return AlfPackage.OPERATION_DEFINITION___ANNOTATION_ALLOWED__STEREOTYPEANNOTATION;
+ case AlfPackage.MEMBER_DEFINITION___MATCH_FOR_STUB__UNITDEFINITION:
+ return AlfPackage.OPERATION_DEFINITION___MATCH_FOR_STUB__UNITDEFINITION;
+ case AlfPackage.MEMBER_DEFINITION___IS_SAME_KIND_AS__ELEMENTREFERENCE:
+ return AlfPackage.OPERATION_DEFINITION___IS_SAME_KIND_AS__ELEMENTREFERENCE;
+ default:
+ return super.eDerivedOperationID(baseOperationID, baseClass);
+ }
+ }
+ if (baseClass == NamespaceDefinition.class) {
+ switch (baseOperationID) {
+ case AlfPackage.NAMESPACE_DEFINITION___RETURN_PARAMETER:
+ return AlfPackage.OPERATION_DEFINITION___RETURN_PARAMETER;
+ case AlfPackage.NAMESPACE_DEFINITION___ANNOTATION_ALLOWED__STEREOTYPEANNOTATION:
+ return AlfPackage.OPERATION_DEFINITION___ANNOTATION_ALLOWED__STEREOTYPEANNOTATION;
+ default:
+ return super.eDerivedOperationID(baseOperationID, baseClass);
+ }
+ }
+ return super.eDerivedOperationID(baseOperationID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object eInvoke(int operationID, EList<?> arguments) throws InvocationTargetException {
+ switch (operationID) {
+ case AlfPackage.OPERATION_DEFINITION___ASSIGNMENTS_BEFORE__SYNTAXELEMENT:
+ return assignmentsBefore((SyntaxElement) arguments.get(0));
+ case AlfPackage.OPERATION_DEFINITION___ANNOTATION_ALLOWED__STEREOTYPEANNOTATION:
+ return annotationAllowed((StereotypeAnnotation) arguments.get(0));
+ case AlfPackage.OPERATION_DEFINITION___MATCH_FOR_STUB__UNITDEFINITION:
+ return matchForStub((UnitDefinition) arguments.get(0));
+ case AlfPackage.OPERATION_DEFINITION___IS_SAME_KIND_AS__ELEMENTREFERENCE:
+ return isSameKindAs((ElementReference) arguments.get(0));
+ case AlfPackage.OPERATION_DEFINITION___PARAMETERS_MATCH__ELEMENTREFERENCE:
+ return parametersMatch((ElementReference) arguments.get(0));
+ case AlfPackage.OPERATION_DEFINITION___PARAMETERS_MATCH_NAME_TYPE__ELEMENTREFERENCE:
+ return parametersMatchNameType((ElementReference) arguments.get(0));
+ case AlfPackage.OPERATION_DEFINITION___RETURN_PARAMETER:
+ return returnParameter();
+ case AlfPackage.OPERATION_DEFINITION___SPECIALIZATION_REFERENTS:
+ return specializationReferents();
+ case AlfPackage.OPERATION_DEFINITION___OPERATION_DEFINITION_NAMESPACE__DIAGNOSTICCHAIN_MAP:
+ return operationDefinitionNamespace((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ case AlfPackage.OPERATION_DEFINITION___OPERATION_DEFINITION_REDEFINED_OPERATION_DERIVATION__DIAGNOSTICCHAIN_MAP:
+ return operationDefinitionRedefinedOperationDerivation((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ case AlfPackage.OPERATION_DEFINITION___OPERATION_DEFINITION_REDEFINITION__DIAGNOSTICCHAIN_MAP:
+ return operationDefinitionRedefinition((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ case AlfPackage.OPERATION_DEFINITION___OPERATION_DEFINITION_REDEFINED_OPERATIONS__DIAGNOSTICCHAIN_MAP:
+ return operationDefinitionRedefinedOperations((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ case AlfPackage.OPERATION_DEFINITION___OPERATION_DEFINITION_IS_FEATURE_DERIVATION__DIAGNOSTICCHAIN_MAP:
+ return operationDefinitionIsFeatureDerivation((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ case AlfPackage.OPERATION_DEFINITION___OPERATION_DEFINITION_IS_CONSTRUCTOR_DERIVATION__DIAGNOSTICCHAIN_MAP:
+ return operationDefinitionIsConstructorDerivation((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ case AlfPackage.OPERATION_DEFINITION___OPERATION_DEFINITION_IS_DESTRUCTOR_DERIVATION__DIAGNOSTICCHAIN_MAP:
+ return operationDefinitionIsDestructorDerivation((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ case AlfPackage.OPERATION_DEFINITION___OPERATION_DEFINITION_CONSTRUCTOR_DESTRUCTOR__DIAGNOSTICCHAIN_MAP:
+ return operationDefinitionConstructorDestructor((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ case AlfPackage.OPERATION_DEFINITION___OPERATION_DEFINITION_CONSTRUCTOR__DIAGNOSTICCHAIN_MAP:
+ return operationDefinitionConstructor((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ case AlfPackage.OPERATION_DEFINITION___OPERATION_DEFINITION_DESTRUCTOR__DIAGNOSTICCHAIN_MAP:
+ return operationDefinitionDestructor((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ }
+ return super.eInvoke(operationID, arguments);
+ }
+
+} // OperationDefinitionImpl
diff --git a/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/OutputNamedExpressionImpl.java b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/OutputNamedExpressionImpl.java
new file mode 100644
index 00000000000..798e9f6ed66
--- /dev/null
+++ b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/OutputNamedExpressionImpl.java
@@ -0,0 +1,186 @@
+/**
+ */
+package org.eclipse.papyrus.uml.alf.impl;
+
+import java.lang.reflect.InvocationTargetException;
+
+import java.util.Map;
+
+import org.eclipse.emf.common.util.BasicDiagnostic;
+import org.eclipse.emf.common.util.Diagnostic;
+import org.eclipse.emf.common.util.DiagnosticChain;
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.common.util.WrappedException;
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.EOperation;
+import org.eclipse.emf.ecore.plugin.EcorePlugin;
+
+import org.eclipse.emf.ecore.util.EObjectValidator;
+
+import org.eclipse.papyrus.uml.alf.AlfPackage;
+import org.eclipse.papyrus.uml.alf.LeftHandSide;
+import org.eclipse.papyrus.uml.alf.OutputNamedExpression;
+
+import org.eclipse.papyrus.uml.alf.util.AlfValidator;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Output Named Expression</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.uml.alf.impl.OutputNamedExpressionImpl#getLeftHandSide <em>Left Hand Side</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class OutputNamedExpressionImpl extends InputNamedExpressionImpl implements OutputNamedExpression {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected OutputNamedExpressionImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return AlfPackage.eINSTANCE.getOutputNamedExpression();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public LeftHandSide getLeftHandSide() {
+ return (LeftHandSide) eGet(AlfPackage.eINSTANCE.getOutputNamedExpression_LeftHandSide(), true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setLeftHandSide(LeftHandSide newLeftHandSide) {
+ eSet(AlfPackage.eINSTANCE.getOutputNamedExpression_LeftHandSide(), newLeftHandSide);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean outputNamedExpressionLeftHandSideDerivation(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.OUTPUT_NAMED_EXPRESSION__OUTPUT_NAMED_EXPRESSION_LEFT_HAND_SIDE_DERIVATION,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "outputNamedExpressionLeftHandSideDerivation", EObjectValidator.getObjectLabel(this, context) }),
+ new Object[] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * The cached validation expression for the '{@link #outputNamedExpressionForm(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Output Named Expression Form</em>}' invariant operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #outputNamedExpressionForm(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ * @ordered
+ */
+ protected static final String OUTPUT_NAMED_EXPRESSION_FORM_DIAGNOSTIC_CHAIN_MAP__EEXPRESSION = "self.expression = null or self.hasLegalExpression()";
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean outputNamedExpressionForm(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return AlfValidator.validate
+ (AlfPackage.eINSTANCE.getOutputNamedExpression(),
+ this,
+ diagnostics,
+ context,
+ "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot",
+ AlfPackage.eINSTANCE.getOutputNamedExpression__OutputNamedExpressionForm__DiagnosticChain_Map(),
+ OUTPUT_NAMED_EXPRESSION_FORM_DIAGNOSTIC_CHAIN_MAP__EEXPRESSION,
+ Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.OUTPUT_NAMED_EXPRESSION__OUTPUT_NAMED_EXPRESSION_FORM);
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #hasLegalExpression() <em>Has Legal Expression</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #hasLegalExpression()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate HAS_LEGAL_EXPRESSION__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getOutputNamedExpression__HasLegalExpression()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean hasLegalExpression() {
+ try {
+ return (Boolean) HAS_LEGAL_EXPRESSION__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object eInvoke(int operationID, EList<?> arguments) throws InvocationTargetException {
+ switch (operationID) {
+ case AlfPackage.OUTPUT_NAMED_EXPRESSION___OUTPUT_NAMED_EXPRESSION_LEFT_HAND_SIDE_DERIVATION__DIAGNOSTICCHAIN_MAP:
+ return outputNamedExpressionLeftHandSideDerivation((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ case AlfPackage.OUTPUT_NAMED_EXPRESSION___OUTPUT_NAMED_EXPRESSION_FORM__DIAGNOSTICCHAIN_MAP:
+ return outputNamedExpressionForm((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ case AlfPackage.OUTPUT_NAMED_EXPRESSION___HAS_LEGAL_EXPRESSION:
+ return hasLegalExpression();
+ }
+ return super.eInvoke(operationID, arguments);
+ }
+
+} // OutputNamedExpressionImpl
diff --git a/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/PackageDefinitionImpl.java b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/PackageDefinitionImpl.java
new file mode 100644
index 00000000000..fff7add9274
--- /dev/null
+++ b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/PackageDefinitionImpl.java
@@ -0,0 +1,285 @@
+/**
+ */
+package org.eclipse.papyrus.uml.alf.impl;
+
+import java.lang.reflect.InvocationTargetException;
+import java.util.Map;
+import org.eclipse.emf.common.util.BasicDiagnostic;
+import org.eclipse.emf.common.util.BasicEList;
+import org.eclipse.emf.common.util.Diagnostic;
+import org.eclipse.emf.common.util.DiagnosticChain;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.common.util.WrappedException;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EOperation;
+import org.eclipse.emf.ecore.plugin.EcorePlugin;
+import org.eclipse.emf.ecore.util.EObjectValidator;
+import org.eclipse.papyrus.uml.alf.AlfPackage;
+import org.eclipse.papyrus.uml.alf.ElementReference;
+import org.eclipse.papyrus.uml.alf.MemberDefinition;
+import org.eclipse.papyrus.uml.alf.NamespaceDefinition;
+import org.eclipse.papyrus.uml.alf.PackageDefinition;
+import org.eclipse.papyrus.uml.alf.StereotypeAnnotation;
+import org.eclipse.papyrus.uml.alf.UnitDefinition;
+import org.eclipse.papyrus.uml.alf.util.AlfValidator;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Package Definition</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.uml.alf.impl.PackageDefinitionImpl#getAppliedProfile <em>Applied Profile</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class PackageDefinitionImpl extends NamespaceDefinitionImpl implements PackageDefinition {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected PackageDefinitionImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return AlfPackage.eINSTANCE.getPackageDefinition();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<ElementReference> getAppliedProfile() {
+ return (EList<ElementReference>) eGet(AlfPackage.eINSTANCE.getPackageDefinition_AppliedProfile(), true);
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #allowPackageOnly() <em>Allow Package Only</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #allowPackageOnly()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate ALLOW_PACKAGE_ONLY__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getPackageDefinition__AllowPackageOnly()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean allowPackageOnly() {
+ try {
+ return (Boolean) ALLOW_PACKAGE_ONLY__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #annotationAllowed(org.eclipse.papyrus.uml.alf.StereotypeAnnotation) <em>Annotation Allowed</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #annotationAllowed(org.eclipse.papyrus.uml.alf.StereotypeAnnotation)
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate ANNOTATION_ALLOWED_STEREOTYPE_ANNOTATION__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getPackageDefinition__AnnotationAllowed__StereotypeAnnotation())
+ .getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean annotationAllowed(StereotypeAnnotation annotation) {
+ try {
+ return (Boolean) ANNOTATION_ALLOWED_STEREOTYPE_ANNOTATION__EINVOCATION_DELEGATE.dynamicInvoke(this, new BasicEList.UnmodifiableEList<Object>(1, new Object[] { annotation }));
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #matchForStub(org.eclipse.papyrus.uml.alf.UnitDefinition) <em>Match For Stub</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #matchForStub(org.eclipse.papyrus.uml.alf.UnitDefinition)
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate MATCH_FOR_STUB_UNIT_DEFINITION__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getPackageDefinition__MatchForStub__UnitDefinition()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean matchForStub(UnitDefinition unit) {
+ try {
+ return (Boolean) MATCH_FOR_STUB_UNIT_DEFINITION__EINVOCATION_DELEGATE.dynamicInvoke(this, new BasicEList.UnmodifiableEList<Object>(1, new Object[] { unit }));
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #isSameKindAs(org.eclipse.papyrus.uml.alf.ElementReference) <em>Is Same Kind As</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #isSameKindAs(org.eclipse.papyrus.uml.alf.ElementReference)
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate IS_SAME_KIND_AS_ELEMENT_REFERENCE__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getPackageDefinition__IsSameKindAs__ElementReference()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isSameKindAs(ElementReference member) {
+ try {
+ return (Boolean) IS_SAME_KIND_AS_ELEMENT_REFERENCE__EINVOCATION_DELEGATE.dynamicInvoke(this, new BasicEList.UnmodifiableEList<Object>(1, new Object[] { member }));
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean packageDefinitionAppliedProfileDerivation(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.PACKAGE_DEFINITION__PACKAGE_DEFINITION_APPLIED_PROFILE_DERIVATION,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "packageDefinitionAppliedProfileDerivation", EObjectValidator.getObjectLabel(this, context) }),
+ new Object[] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #appliedProfiles() <em>Applied Profiles</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #appliedProfiles()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate APPLIED_PROFILES__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getPackageDefinition__AppliedProfiles()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<ElementReference> appliedProfiles() {
+ try {
+ return (EList<ElementReference>) APPLIED_PROFILES__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public int eDerivedOperationID(int baseOperationID, Class<?> baseClass) {
+ if (baseClass == MemberDefinition.class) {
+ switch (baseOperationID) {
+ case AlfPackage.MEMBER_DEFINITION___ANNOTATION_ALLOWED__STEREOTYPEANNOTATION:
+ return AlfPackage.PACKAGE_DEFINITION___ANNOTATION_ALLOWED__STEREOTYPEANNOTATION;
+ case AlfPackage.MEMBER_DEFINITION___MATCH_FOR_STUB__UNITDEFINITION:
+ return AlfPackage.PACKAGE_DEFINITION___MATCH_FOR_STUB__UNITDEFINITION;
+ case AlfPackage.MEMBER_DEFINITION___IS_SAME_KIND_AS__ELEMENTREFERENCE:
+ return AlfPackage.PACKAGE_DEFINITION___IS_SAME_KIND_AS__ELEMENTREFERENCE;
+ default:
+ return super.eDerivedOperationID(baseOperationID, baseClass);
+ }
+ }
+ if (baseClass == NamespaceDefinition.class) {
+ switch (baseOperationID) {
+ case AlfPackage.NAMESPACE_DEFINITION___APPLIED_PROFILES:
+ return AlfPackage.PACKAGE_DEFINITION___APPLIED_PROFILES;
+ case AlfPackage.NAMESPACE_DEFINITION___ANNOTATION_ALLOWED__STEREOTYPEANNOTATION:
+ return AlfPackage.PACKAGE_DEFINITION___ANNOTATION_ALLOWED__STEREOTYPEANNOTATION;
+ default:
+ return super.eDerivedOperationID(baseOperationID, baseClass);
+ }
+ }
+ return super.eDerivedOperationID(baseOperationID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object eInvoke(int operationID, EList<?> arguments) throws InvocationTargetException {
+ switch (operationID) {
+ case AlfPackage.PACKAGE_DEFINITION___ALLOW_PACKAGE_ONLY:
+ return allowPackageOnly();
+ case AlfPackage.PACKAGE_DEFINITION___ANNOTATION_ALLOWED__STEREOTYPEANNOTATION:
+ return annotationAllowed((StereotypeAnnotation) arguments.get(0));
+ case AlfPackage.PACKAGE_DEFINITION___MATCH_FOR_STUB__UNITDEFINITION:
+ return matchForStub((UnitDefinition) arguments.get(0));
+ case AlfPackage.PACKAGE_DEFINITION___IS_SAME_KIND_AS__ELEMENTREFERENCE:
+ return isSameKindAs((ElementReference) arguments.get(0));
+ case AlfPackage.PACKAGE_DEFINITION___PACKAGE_DEFINITION_APPLIED_PROFILE_DERIVATION__DIAGNOSTICCHAIN_MAP:
+ return packageDefinitionAppliedProfileDerivation((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ case AlfPackage.PACKAGE_DEFINITION___APPLIED_PROFILES:
+ return appliedProfiles();
+ }
+ return super.eInvoke(operationID, arguments);
+ }
+
+} // PackageDefinitionImpl
diff --git a/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/PackageImportReferenceImpl.java b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/PackageImportReferenceImpl.java
new file mode 100644
index 00000000000..60e8320691b
--- /dev/null
+++ b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/PackageImportReferenceImpl.java
@@ -0,0 +1,124 @@
+/**
+ */
+package org.eclipse.papyrus.uml.alf.impl;
+
+import java.lang.reflect.InvocationTargetException;
+import java.util.Map;
+import org.eclipse.emf.common.util.Diagnostic;
+import org.eclipse.emf.common.util.DiagnosticChain;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.common.util.WrappedException;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EOperation;
+import org.eclipse.papyrus.uml.alf.AlfPackage;
+import org.eclipse.papyrus.uml.alf.Member;
+import org.eclipse.papyrus.uml.alf.PackageImportReference;
+import org.eclipse.papyrus.uml.alf.util.AlfValidator;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Package Import Reference</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ *
+ * @generated
+ */
+public class PackageImportReferenceImpl extends ImportReferenceImpl implements PackageImportReference {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected PackageImportReferenceImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return AlfPackage.eINSTANCE.getPackageImportReference();
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #importedMembers() <em>Imported Members</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #importedMembers()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate IMPORTED_MEMBERS__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getPackageImportReference__ImportedMembers()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<Member> importedMembers() {
+ try {
+ return (EList<Member>) IMPORTED_MEMBERS__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached validation expression for the '{@link #packageImportReferenceReferent(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Package Import Reference Referent</em>}' invariant operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #packageImportReferenceReferent(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ * @ordered
+ */
+ protected static final String PACKAGE_IMPORT_REFERENCE_REFERENT_DIAGNOSTIC_CHAIN_MAP__EEXPRESSION = "\n" +
+ " self.referent <> null and self.referent.isPackage()";
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean packageImportReferenceReferent(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return AlfValidator.validate
+ (AlfPackage.eINSTANCE.getPackageImportReference(),
+ this,
+ diagnostics,
+ context,
+ "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot",
+ AlfPackage.eINSTANCE.getPackageImportReference__PackageImportReferenceReferent__DiagnosticChain_Map(),
+ PACKAGE_IMPORT_REFERENCE_REFERENT_DIAGNOSTIC_CHAIN_MAP__EEXPRESSION,
+ Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.PACKAGE_IMPORT_REFERENCE__PACKAGE_IMPORT_REFERENCE_REFERENT);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object eInvoke(int operationID, EList<?> arguments) throws InvocationTargetException {
+ switch (operationID) {
+ case AlfPackage.PACKAGE_IMPORT_REFERENCE___IMPORTED_MEMBERS:
+ return importedMembers();
+ case AlfPackage.PACKAGE_IMPORT_REFERENCE___PACKAGE_IMPORT_REFERENCE_REFERENT__DIAGNOSTICCHAIN_MAP:
+ return packageImportReferenceReferent((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ }
+ return super.eInvoke(operationID, arguments);
+ }
+
+} // PackageImportReferenceImpl
diff --git a/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/PositionalTemplateBindingImpl.java b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/PositionalTemplateBindingImpl.java
new file mode 100644
index 00000000000..63d3afc8469
--- /dev/null
+++ b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/PositionalTemplateBindingImpl.java
@@ -0,0 +1,214 @@
+/**
+ */
+package org.eclipse.papyrus.uml.alf.impl;
+
+import java.lang.reflect.InvocationTargetException;
+import org.eclipse.emf.common.util.BasicEList;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.common.util.WrappedException;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EOperation;
+import org.eclipse.papyrus.uml.alf.AlfPackage;
+import org.eclipse.papyrus.uml.alf.ElementReference;
+import org.eclipse.papyrus.uml.alf.PositionalTemplateBinding;
+import org.eclipse.papyrus.uml.alf.QualifiedName;
+import org.eclipse.papyrus.uml.alf.TemplateBinding;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Positional Template Binding</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.uml.alf.impl.PositionalTemplateBindingImpl#getArgumentName <em>Argument Name</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class PositionalTemplateBindingImpl extends TemplateBindingImpl implements PositionalTemplateBinding {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected PositionalTemplateBindingImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return AlfPackage.eINSTANCE.getPositionalTemplateBinding();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<QualifiedName> getArgumentName() {
+ return (EList<QualifiedName>) eGet(AlfPackage.eINSTANCE.getPositionalTemplateBinding_ArgumentName(), true);
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #toString() <em>To String</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #toString()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate TO_STRING__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getPositionalTemplateBinding__ToString()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public String toString() {
+ try {
+ return (String) TO_STRING__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #matches(org.eclipse.papyrus.uml.alf.ElementReference) <em>Matches</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #matches(org.eclipse.papyrus.uml.alf.ElementReference)
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate MATCHES_ELEMENT_REFERENCE__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getPositionalTemplateBinding__Matches__ElementReference()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean matches(ElementReference template) {
+ try {
+ return (Boolean) MATCHES_ELEMENT_REFERENCE__EINVOCATION_DELEGATE.dynamicInvoke(this, new BasicEList.UnmodifiableEList<Object>(1, new Object[] { template }));
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #matches(org.eclipse.papyrus.uml.alf.ElementReference, org.eclipse.papyrus.uml.alf.QualifiedName) <em>Matches</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #matches(org.eclipse.papyrus.uml.alf.ElementReference, org.eclipse.papyrus.uml.alf.QualifiedName)
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate MATCHES_ELEMENT_REFERENCE_QUALIFIED_NAME__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getPositionalTemplateBinding__Matches__ElementReference_QualifiedName())
+ .getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean matches(ElementReference parameter, QualifiedName argumentName) {
+ try {
+ return (Boolean) MATCHES_ELEMENT_REFERENCE_QUALIFIED_NAME__EINVOCATION_DELEGATE.dynamicInvoke(this, new BasicEList.UnmodifiableEList<Object>(2, new Object[] { parameter, argumentName }));
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #bindTo(org.eclipse.papyrus.uml.alf.ElementReference) <em>Bind To</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #bindTo(org.eclipse.papyrus.uml.alf.ElementReference)
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate BIND_TO_ELEMENT_REFERENCE__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getPositionalTemplateBinding__BindTo__ElementReference()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<ElementReference> bindTo(ElementReference template) {
+ try {
+ return (EList<ElementReference>) BIND_TO_ELEMENT_REFERENCE__EINVOCATION_DELEGATE.dynamicInvoke(this, new BasicEList.UnmodifiableEList<Object>(1, new Object[] { template }));
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #copy() <em>Copy</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #copy()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate COPY__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getPositionalTemplateBinding__Copy()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public TemplateBinding copy() {
+ try {
+ return (TemplateBinding) COPY__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Object eInvoke(int operationID, EList<?> arguments) throws InvocationTargetException {
+ switch (operationID) {
+ case AlfPackage.POSITIONAL_TEMPLATE_BINDING___TO_STRING:
+ return toString();
+ case AlfPackage.POSITIONAL_TEMPLATE_BINDING___MATCHES__ELEMENTREFERENCE:
+ return matches((ElementReference) arguments.get(0));
+ case AlfPackage.POSITIONAL_TEMPLATE_BINDING___MATCHES__ELEMENTREFERENCE_QUALIFIEDNAME:
+ return matches((ElementReference) arguments.get(0), (QualifiedName) arguments.get(1));
+ case AlfPackage.POSITIONAL_TEMPLATE_BINDING___BIND_TO__ELEMENTREFERENCE:
+ return bindTo((ElementReference) arguments.get(0));
+ case AlfPackage.POSITIONAL_TEMPLATE_BINDING___COPY:
+ return copy();
+ }
+ return super.eInvoke(operationID, arguments);
+ }
+
+} // PositionalTemplateBindingImpl
diff --git a/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/PositionalTupleImpl.java b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/PositionalTupleImpl.java
new file mode 100644
index 00000000000..ef4b20bdc4e
--- /dev/null
+++ b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/PositionalTupleImpl.java
@@ -0,0 +1,200 @@
+/**
+ */
+package org.eclipse.papyrus.uml.alf.impl;
+
+import java.lang.reflect.InvocationTargetException;
+import java.math.BigInteger;
+import java.util.Map;
+import org.eclipse.emf.common.util.BasicEList;
+import org.eclipse.emf.common.util.Diagnostic;
+import org.eclipse.emf.common.util.DiagnosticChain;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.common.util.WrappedException;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EOperation;
+import org.eclipse.papyrus.uml.alf.AlfPackage;
+import org.eclipse.papyrus.uml.alf.ElementReference;
+import org.eclipse.papyrus.uml.alf.Expression;
+import org.eclipse.papyrus.uml.alf.InputNamedExpression;
+import org.eclipse.papyrus.uml.alf.OutputNamedExpression;
+import org.eclipse.papyrus.uml.alf.PositionalTuple;
+import org.eclipse.papyrus.uml.alf.util.AlfValidator;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Positional Tuple</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.uml.alf.impl.PositionalTupleImpl#getExpression <em>Expression</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class PositionalTupleImpl extends TupleImpl implements PositionalTuple {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected PositionalTupleImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return AlfPackage.eINSTANCE.getPositionalTuple();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<Expression> getExpression() {
+ return (EList<Expression>) eGet(AlfPackage.eINSTANCE.getPositionalTuple_Expression(), true);
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #size() <em>Size</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #size()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate SIZE__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getPositionalTuple__Size()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public BigInteger size() {
+ try {
+ return (BigInteger) SIZE__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #inputFor(org.eclipse.emf.common.util.EList) <em>Input For</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #inputFor(org.eclipse.emf.common.util.EList)
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate INPUT_FOR_ELIST__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getPositionalTuple__InputFor__EList()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<InputNamedExpression> inputFor(EList<ElementReference> parameters) {
+ try {
+ return (EList<InputNamedExpression>) INPUT_FOR_ELIST__EINVOCATION_DELEGATE.dynamicInvoke(this, new BasicEList.UnmodifiableEList<Object>(1, new Object[] { parameters }));
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #outputFor(org.eclipse.emf.common.util.EList) <em>Output For</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #outputFor(org.eclipse.emf.common.util.EList)
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate OUTPUT_FOR_ELIST__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getPositionalTuple__OutputFor__EList()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<OutputNamedExpression> outputFor(EList<ElementReference> parameters) {
+ try {
+ return (EList<OutputNamedExpression>) OUTPUT_FOR_ELIST__EINVOCATION_DELEGATE.dynamicInvoke(this, new BasicEList.UnmodifiableEList<Object>(1, new Object[] { parameters }));
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached validation expression for the '{@link #positionalTupleArguments(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Positional Tuple Arguments</em>}' invariant operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #positionalTupleArguments(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ * @ordered
+ */
+ protected static final String POSITIONAL_TUPLE_ARGUMENTS_DIAGNOSTIC_CHAIN_MAP__EEXPRESSION = "self.size() <= self.invocation.parameterCount()";
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean positionalTupleArguments(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return AlfValidator.validate
+ (AlfPackage.eINSTANCE.getPositionalTuple(),
+ this,
+ diagnostics,
+ context,
+ "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot",
+ AlfPackage.eINSTANCE.getPositionalTuple__PositionalTupleArguments__DiagnosticChain_Map(),
+ POSITIONAL_TUPLE_ARGUMENTS_DIAGNOSTIC_CHAIN_MAP__EEXPRESSION,
+ Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.POSITIONAL_TUPLE__POSITIONAL_TUPLE_ARGUMENTS);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object eInvoke(int operationID, EList<?> arguments) throws InvocationTargetException {
+ switch (operationID) {
+ case AlfPackage.POSITIONAL_TUPLE___SIZE:
+ return size();
+ case AlfPackage.POSITIONAL_TUPLE___INPUT_FOR__ELIST:
+ return inputFor((EList<ElementReference>) arguments.get(0));
+ case AlfPackage.POSITIONAL_TUPLE___OUTPUT_FOR__ELIST:
+ return outputFor((EList<ElementReference>) arguments.get(0));
+ case AlfPackage.POSITIONAL_TUPLE___POSITIONAL_TUPLE_ARGUMENTS__DIAGNOSTICCHAIN_MAP:
+ return positionalTupleArguments((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ }
+ return super.eInvoke(operationID, arguments);
+ }
+
+} // PositionalTupleImpl
diff --git a/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/PropertyAccessExpressionImpl.java b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/PropertyAccessExpressionImpl.java
new file mode 100644
index 00000000000..637686961a0
--- /dev/null
+++ b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/PropertyAccessExpressionImpl.java
@@ -0,0 +1,437 @@
+/**
+ */
+package org.eclipse.papyrus.uml.alf.impl;
+
+import java.lang.reflect.InvocationTargetException;
+
+import java.math.BigInteger;
+import java.util.Map;
+
+import org.eclipse.emf.common.util.BasicDiagnostic;
+import org.eclipse.emf.common.util.Diagnostic;
+import org.eclipse.emf.common.util.DiagnosticChain;
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.common.util.WrappedException;
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.EOperation;
+import org.eclipse.emf.ecore.plugin.EcorePlugin;
+
+import org.eclipse.emf.ecore.util.EObjectValidator;
+
+import org.eclipse.papyrus.uml.alf.AlfPackage;
+import org.eclipse.papyrus.uml.alf.AssignableElement;
+import org.eclipse.papyrus.uml.alf.AssignedSource;
+import org.eclipse.papyrus.uml.alf.ElementReference;
+import org.eclipse.papyrus.uml.alf.Expression;
+import org.eclipse.papyrus.uml.alf.FeatureReference;
+import org.eclipse.papyrus.uml.alf.PropertyAccessExpression;
+
+import org.eclipse.papyrus.uml.alf.util.AlfValidator;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Property Access Expression</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.uml.alf.impl.PropertyAccessExpressionImpl#getFeatureReference <em>Feature Reference</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.impl.PropertyAccessExpressionImpl#getFeature <em>Feature</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class PropertyAccessExpressionImpl extends ExpressionImpl implements PropertyAccessExpression {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected PropertyAccessExpressionImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return AlfPackage.eINSTANCE.getPropertyAccessExpression();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public FeatureReference getFeatureReference() {
+ return (FeatureReference) eGet(AlfPackage.eINSTANCE.getPropertyAccessExpression_FeatureReference(), true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setFeatureReference(FeatureReference newFeatureReference) {
+ eSet(AlfPackage.eINSTANCE.getPropertyAccessExpression_FeatureReference(), newFeatureReference);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public ElementReference getFeature() {
+ return (ElementReference) eGet(AlfPackage.eINSTANCE.getPropertyAccessExpression_Feature(), true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setFeature(ElementReference newFeature) {
+ eSet(AlfPackage.eINSTANCE.getPropertyAccessExpression_Feature(), newFeature);
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #type() <em>Type</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #type()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate TYPE__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getPropertyAccessExpression__Type()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public ElementReference type() {
+ try {
+ return (ElementReference) TYPE__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #upper() <em>Upper</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #upper()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate UPPER__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getPropertyAccessExpression__Upper()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public BigInteger upper() {
+ try {
+ return (BigInteger) UPPER__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #lower() <em>Lower</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #lower()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate LOWER__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getPropertyAccessExpression__Lower()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public BigInteger lower() {
+ try {
+ return (BigInteger) LOWER__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean propertyAccessExpressionFeatureDerivation(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.PROPERTY_ACCESS_EXPRESSION__PROPERTY_ACCESS_EXPRESSION_FEATURE_DERIVATION,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "propertyAccessExpressionFeatureDerivation", EObjectValidator.getObjectLabel(this, context) }),
+ new Object[] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean propertyAccessExpressionTypeDerivation(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.PROPERTY_ACCESS_EXPRESSION__PROPERTY_ACCESS_EXPRESSION_TYPE_DERIVATION,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "propertyAccessExpressionTypeDerivation", EObjectValidator.getObjectLabel(this, context) }),
+ new Object[] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean propertyAccessExpressionUpperDerivation(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.PROPERTY_ACCESS_EXPRESSION__PROPERTY_ACCESS_EXPRESSION_UPPER_DERIVATION,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "propertyAccessExpressionUpperDerivation", EObjectValidator.getObjectLabel(this, context) }),
+ new Object[] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean propertyAccessExpressionLowerDerivation(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.PROPERTY_ACCESS_EXPRESSION__PROPERTY_ACCESS_EXPRESSION_LOWER_DERIVATION,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "propertyAccessExpressionLowerDerivation", EObjectValidator.getObjectLabel(this, context) }),
+ new Object[] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * The cached validation expression for the '{@link #propertyAccessExpressionFeatureResolution(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Property Access Expression Feature Resolution</em>}' invariant operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #propertyAccessExpressionFeatureResolution(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ * @ordered
+ */
+ protected static final String PROPERTY_ACCESS_EXPRESSION_FEATURE_RESOLUTION_DIAGNOSTIC_CHAIN_MAP__EEXPRESSION = "self.feature <> null";
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean propertyAccessExpressionFeatureResolution(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return AlfValidator.validate
+ (AlfPackage.eINSTANCE.getPropertyAccessExpression(),
+ this,
+ diagnostics,
+ context,
+ "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot",
+ AlfPackage.eINSTANCE.getPropertyAccessExpression__PropertyAccessExpressionFeatureResolution__DiagnosticChain_Map(),
+ PROPERTY_ACCESS_EXPRESSION_FEATURE_RESOLUTION_DIAGNOSTIC_CHAIN_MAP__EEXPRESSION,
+ Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.PROPERTY_ACCESS_EXPRESSION__PROPERTY_ACCESS_EXPRESSION_FEATURE_RESOLUTION);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean propertyAccessExpressionAssignmentsBefore(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.PROPERTY_ACCESS_EXPRESSION__PROPERTY_ACCESS_EXPRESSION_ASSIGNMENTS_BEFORE,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "propertyAccessExpressionAssignmentsBefore", EObjectValidator.getObjectLabel(this, context) }),
+ new Object[] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #updateAssignments() <em>Update Assignments</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #updateAssignments()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate UPDATE_ASSIGNMENTS__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getPropertyAccessExpression__UpdateAssignments()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<AssignedSource> updateAssignments() {
+ try {
+ return (EList<AssignedSource>) UPDATE_ASSIGNMENTS__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public int eDerivedOperationID(int baseOperationID, Class<?> baseClass) {
+ if (baseClass == AssignableElement.class) {
+ switch (baseOperationID) {
+ case AlfPackage.ASSIGNABLE_ELEMENT___TYPE:
+ return AlfPackage.PROPERTY_ACCESS_EXPRESSION___TYPE;
+ case AlfPackage.ASSIGNABLE_ELEMENT___LOWER:
+ return AlfPackage.PROPERTY_ACCESS_EXPRESSION___LOWER;
+ case AlfPackage.ASSIGNABLE_ELEMENT___UPPER:
+ return AlfPackage.PROPERTY_ACCESS_EXPRESSION___UPPER;
+ default:
+ return super.eDerivedOperationID(baseOperationID, baseClass);
+ }
+ }
+ if (baseClass == Expression.class) {
+ switch (baseOperationID) {
+ case AlfPackage.EXPRESSION___UPDATE_ASSIGNMENTS:
+ return AlfPackage.PROPERTY_ACCESS_EXPRESSION___UPDATE_ASSIGNMENTS;
+ default:
+ return super.eDerivedOperationID(baseOperationID, baseClass);
+ }
+ }
+ return super.eDerivedOperationID(baseOperationID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object eInvoke(int operationID, EList<?> arguments) throws InvocationTargetException {
+ switch (operationID) {
+ case AlfPackage.PROPERTY_ACCESS_EXPRESSION___TYPE:
+ return type();
+ case AlfPackage.PROPERTY_ACCESS_EXPRESSION___UPPER:
+ return upper();
+ case AlfPackage.PROPERTY_ACCESS_EXPRESSION___LOWER:
+ return lower();
+ case AlfPackage.PROPERTY_ACCESS_EXPRESSION___PROPERTY_ACCESS_EXPRESSION_FEATURE_DERIVATION__DIAGNOSTICCHAIN_MAP:
+ return propertyAccessExpressionFeatureDerivation((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ case AlfPackage.PROPERTY_ACCESS_EXPRESSION___PROPERTY_ACCESS_EXPRESSION_TYPE_DERIVATION__DIAGNOSTICCHAIN_MAP:
+ return propertyAccessExpressionTypeDerivation((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ case AlfPackage.PROPERTY_ACCESS_EXPRESSION___PROPERTY_ACCESS_EXPRESSION_UPPER_DERIVATION__DIAGNOSTICCHAIN_MAP:
+ return propertyAccessExpressionUpperDerivation((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ case AlfPackage.PROPERTY_ACCESS_EXPRESSION___PROPERTY_ACCESS_EXPRESSION_LOWER_DERIVATION__DIAGNOSTICCHAIN_MAP:
+ return propertyAccessExpressionLowerDerivation((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ case AlfPackage.PROPERTY_ACCESS_EXPRESSION___PROPERTY_ACCESS_EXPRESSION_FEATURE_RESOLUTION__DIAGNOSTICCHAIN_MAP:
+ return propertyAccessExpressionFeatureResolution((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ case AlfPackage.PROPERTY_ACCESS_EXPRESSION___PROPERTY_ACCESS_EXPRESSION_ASSIGNMENTS_BEFORE__DIAGNOSTICCHAIN_MAP:
+ return propertyAccessExpressionAssignmentsBefore((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ case AlfPackage.PROPERTY_ACCESS_EXPRESSION___UPDATE_ASSIGNMENTS:
+ return updateAssignments();
+ }
+ return super.eInvoke(operationID, arguments);
+ }
+
+} // PropertyAccessExpressionImpl
diff --git a/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/PropertyDefinitionImpl.java b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/PropertyDefinitionImpl.java
new file mode 100644
index 00000000000..feb9f2cd647
--- /dev/null
+++ b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/PropertyDefinitionImpl.java
@@ -0,0 +1,449 @@
+/**
+ */
+package org.eclipse.papyrus.uml.alf.impl;
+
+import java.lang.reflect.InvocationTargetException;
+
+import java.util.Map;
+
+import org.eclipse.emf.common.util.BasicDiagnostic;
+import org.eclipse.emf.common.util.BasicEList;
+import org.eclipse.emf.common.util.Diagnostic;
+import org.eclipse.emf.common.util.DiagnosticChain;
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.common.util.WrappedException;
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.EOperation;
+import org.eclipse.emf.ecore.plugin.EcorePlugin;
+
+import org.eclipse.emf.ecore.util.EObjectValidator;
+
+import org.eclipse.papyrus.uml.alf.AlfPackage;
+import org.eclipse.papyrus.uml.alf.AssignedSource;
+import org.eclipse.papyrus.uml.alf.ElementReference;
+import org.eclipse.papyrus.uml.alf.Expression;
+import org.eclipse.papyrus.uml.alf.MemberDefinition;
+import org.eclipse.papyrus.uml.alf.PropertyDefinition;
+import org.eclipse.papyrus.uml.alf.StereotypeAnnotation;
+import org.eclipse.papyrus.uml.alf.SyntaxElement;
+import org.eclipse.papyrus.uml.alf.TypedElementDefinition;
+
+import org.eclipse.papyrus.uml.alf.util.AlfValidator;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Property Definition</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.uml.alf.impl.PropertyDefinitionImpl#isIsComposite <em>Is Composite</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.impl.PropertyDefinitionImpl#getInitializer <em>Initializer</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.impl.PropertyDefinitionImpl#isIsCollectionConversion <em>Is Collection Conversion</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.impl.PropertyDefinitionImpl#isIsBitStringConversion <em>Is Bit String Conversion</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.impl.PropertyDefinitionImpl#getTypePart <em>Type Part</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class PropertyDefinitionImpl extends MemberDefinitionImpl implements PropertyDefinition {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected PropertyDefinitionImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return AlfPackage.eINSTANCE.getPropertyDefinition();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isIsComposite() {
+ return (Boolean) eGet(AlfPackage.eINSTANCE.getPropertyDefinition_IsComposite(), true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setIsComposite(boolean newIsComposite) {
+ eSet(AlfPackage.eINSTANCE.getPropertyDefinition_IsComposite(), newIsComposite);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public Expression getInitializer() {
+ return (Expression) eGet(AlfPackage.eINSTANCE.getPropertyDefinition_Initializer(), true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setInitializer(Expression newInitializer) {
+ eSet(AlfPackage.eINSTANCE.getPropertyDefinition_Initializer(), newInitializer);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isIsCollectionConversion() {
+ return (Boolean) eGet(AlfPackage.eINSTANCE.getPropertyDefinition_IsCollectionConversion(), true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setIsCollectionConversion(boolean newIsCollectionConversion) {
+ eSet(AlfPackage.eINSTANCE.getPropertyDefinition_IsCollectionConversion(), newIsCollectionConversion);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isIsBitStringConversion() {
+ return (Boolean) eGet(AlfPackage.eINSTANCE.getPropertyDefinition_IsBitStringConversion(), true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setIsBitStringConversion(boolean newIsBitStringConversion) {
+ eSet(AlfPackage.eINSTANCE.getPropertyDefinition_IsBitStringConversion(), newIsBitStringConversion);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public TypedElementDefinition getTypePart() {
+ return (TypedElementDefinition) eGet(AlfPackage.eINSTANCE.getPropertyDefinition_TypePart(), true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setTypePart(TypedElementDefinition newTypePart) {
+ eSet(AlfPackage.eINSTANCE.getPropertyDefinition_TypePart(), newTypePart);
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #assignmentsBefore(org.eclipse.papyrus.uml.alf.SyntaxElement) <em>Assignments Before</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #assignmentsBefore(org.eclipse.papyrus.uml.alf.SyntaxElement)
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate ASSIGNMENTS_BEFORE_SYNTAX_ELEMENT__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getPropertyDefinition__AssignmentsBefore__SyntaxElement()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<AssignedSource> assignmentsBefore(SyntaxElement element) {
+ try {
+ return (EList<AssignedSource>) ASSIGNMENTS_BEFORE_SYNTAX_ELEMENT__EINVOCATION_DELEGATE.dynamicInvoke(this, new BasicEList.UnmodifiableEList<Object>(1, new Object[] { element }));
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #annotationAllowed(org.eclipse.papyrus.uml.alf.StereotypeAnnotation) <em>Annotation Allowed</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #annotationAllowed(org.eclipse.papyrus.uml.alf.StereotypeAnnotation)
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate ANNOTATION_ALLOWED_STEREOTYPE_ANNOTATION__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getPropertyDefinition__AnnotationAllowed__StereotypeAnnotation())
+ .getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean annotationAllowed(StereotypeAnnotation annotation) {
+ try {
+ return (Boolean) ANNOTATION_ALLOWED_STEREOTYPE_ANNOTATION__EINVOCATION_DELEGATE.dynamicInvoke(this, new BasicEList.UnmodifiableEList<Object>(1, new Object[] { annotation }));
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #isSameKindAs(org.eclipse.papyrus.uml.alf.ElementReference) <em>Is Same Kind As</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #isSameKindAs(org.eclipse.papyrus.uml.alf.ElementReference)
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate IS_SAME_KIND_AS_ELEMENT_REFERENCE__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getPropertyDefinition__IsSameKindAs__ElementReference()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isSameKindAs(ElementReference member) {
+ try {
+ return (Boolean) IS_SAME_KIND_AS_ELEMENT_REFERENCE__EINVOCATION_DELEGATE.dynamicInvoke(this, new BasicEList.UnmodifiableEList<Object>(1, new Object[] { member }));
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #isFeature() <em>Is Feature</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #isFeature()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate IS_FEATURE__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getPropertyDefinition__IsFeature()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isFeature() {
+ try {
+ return (Boolean) IS_FEATURE__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached validation expression for the '{@link #propertyDefinitionInitializer(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Property Definition Initializer</em>}' invariant operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #propertyDefinitionInitializer(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ * @ordered
+ */
+ protected static final String PROPERTY_DEFINITION_INITIALIZER_DIAGNOSTIC_CHAIN_MAP__EEXPRESSION = "\n" +
+ " self.initializer <> null implies \n" +
+ " self.typePart.isAssignableFrom(self.initializer)";
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean propertyDefinitionInitializer(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return AlfValidator.validate
+ (AlfPackage.eINSTANCE.getPropertyDefinition(),
+ this,
+ diagnostics,
+ context,
+ "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot",
+ AlfPackage.eINSTANCE.getPropertyDefinition__PropertyDefinitionInitializer__DiagnosticChain_Map(),
+ PROPERTY_DEFINITION_INITIALIZER_DIAGNOSTIC_CHAIN_MAP__EEXPRESSION,
+ Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.PROPERTY_DEFINITION__PROPERTY_DEFINITION_INITIALIZER);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean propertyDefinitionIsCollectionConversionDerivation(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.PROPERTY_DEFINITION__PROPERTY_DEFINITION_IS_COLLECTION_CONVERSION_DERIVATION,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "propertyDefinitionIsCollectionConversionDerivation", EObjectValidator.getObjectLabel(this, context) }),
+ new Object[] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean propertyDefinitionIsBitStringConversionDerivation(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.PROPERTY_DEFINITION__PROPERTY_DEFINITION_IS_BIT_STRING_CONVERSION_DERIVATION,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "propertyDefinitionIsBitStringConversionDerivation", EObjectValidator.getObjectLabel(this, context) }),
+ new Object[] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean propertyDefinitionIsFeatureDerivation(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.PROPERTY_DEFINITION__PROPERTY_DEFINITION_IS_FEATURE_DERIVATION,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "propertyDefinitionIsFeatureDerivation", EObjectValidator.getObjectLabel(this, context) }),
+ new Object[] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public int eDerivedOperationID(int baseOperationID, Class<?> baseClass) {
+ if (baseClass == SyntaxElement.class) {
+ switch (baseOperationID) {
+ case AlfPackage.SYNTAX_ELEMENT___ASSIGNMENTS_BEFORE__SYNTAXELEMENT:
+ return AlfPackage.PROPERTY_DEFINITION___ASSIGNMENTS_BEFORE__SYNTAXELEMENT;
+ default:
+ return super.eDerivedOperationID(baseOperationID, baseClass);
+ }
+ }
+ if (baseClass == MemberDefinition.class) {
+ switch (baseOperationID) {
+ case AlfPackage.MEMBER_DEFINITION___ANNOTATION_ALLOWED__STEREOTYPEANNOTATION:
+ return AlfPackage.PROPERTY_DEFINITION___ANNOTATION_ALLOWED__STEREOTYPEANNOTATION;
+ case AlfPackage.MEMBER_DEFINITION___IS_SAME_KIND_AS__ELEMENTREFERENCE:
+ return AlfPackage.PROPERTY_DEFINITION___IS_SAME_KIND_AS__ELEMENTREFERENCE;
+ case AlfPackage.MEMBER_DEFINITION___IS_FEATURE:
+ return AlfPackage.PROPERTY_DEFINITION___IS_FEATURE;
+ default:
+ return super.eDerivedOperationID(baseOperationID, baseClass);
+ }
+ }
+ return super.eDerivedOperationID(baseOperationID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object eInvoke(int operationID, EList<?> arguments) throws InvocationTargetException {
+ switch (operationID) {
+ case AlfPackage.PROPERTY_DEFINITION___ASSIGNMENTS_BEFORE__SYNTAXELEMENT:
+ return assignmentsBefore((SyntaxElement) arguments.get(0));
+ case AlfPackage.PROPERTY_DEFINITION___ANNOTATION_ALLOWED__STEREOTYPEANNOTATION:
+ return annotationAllowed((StereotypeAnnotation) arguments.get(0));
+ case AlfPackage.PROPERTY_DEFINITION___IS_SAME_KIND_AS__ELEMENTREFERENCE:
+ return isSameKindAs((ElementReference) arguments.get(0));
+ case AlfPackage.PROPERTY_DEFINITION___IS_FEATURE:
+ return isFeature();
+ case AlfPackage.PROPERTY_DEFINITION___PROPERTY_DEFINITION_INITIALIZER__DIAGNOSTICCHAIN_MAP:
+ return propertyDefinitionInitializer((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ case AlfPackage.PROPERTY_DEFINITION___PROPERTY_DEFINITION_IS_COLLECTION_CONVERSION_DERIVATION__DIAGNOSTICCHAIN_MAP:
+ return propertyDefinitionIsCollectionConversionDerivation((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ case AlfPackage.PROPERTY_DEFINITION___PROPERTY_DEFINITION_IS_BIT_STRING_CONVERSION_DERIVATION__DIAGNOSTICCHAIN_MAP:
+ return propertyDefinitionIsBitStringConversionDerivation((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ case AlfPackage.PROPERTY_DEFINITION___PROPERTY_DEFINITION_IS_FEATURE_DERIVATION__DIAGNOSTICCHAIN_MAP:
+ return propertyDefinitionIsFeatureDerivation((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ }
+ return super.eInvoke(operationID, arguments);
+ }
+
+} // PropertyDefinitionImpl
diff --git a/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/QualifiedNameImpl.java b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/QualifiedNameImpl.java
new file mode 100644
index 00000000000..100650164e7
--- /dev/null
+++ b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/QualifiedNameImpl.java
@@ -0,0 +1,765 @@
+/**
+ */
+package org.eclipse.papyrus.uml.alf.impl;
+
+import java.lang.reflect.InvocationTargetException;
+import java.util.Map;
+import org.eclipse.emf.common.util.BasicDiagnostic;
+import org.eclipse.emf.common.util.BasicEList;
+import org.eclipse.emf.common.util.Diagnostic;
+import org.eclipse.emf.common.util.DiagnosticChain;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.common.util.WrappedException;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EOperation;
+import org.eclipse.emf.ecore.plugin.EcorePlugin;
+import org.eclipse.emf.ecore.util.EObjectValidator;
+import org.eclipse.papyrus.uml.alf.AlfPackage;
+import org.eclipse.papyrus.uml.alf.ElementReference;
+import org.eclipse.papyrus.uml.alf.FeatureReference;
+import org.eclipse.papyrus.uml.alf.NameBinding;
+import org.eclipse.papyrus.uml.alf.QualifiedName;
+import org.eclipse.papyrus.uml.alf.util.AlfValidator;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Qualified Name</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.uml.alf.impl.QualifiedNameImpl#isIsAmbiguous <em>Is Ambiguous</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.impl.QualifiedNameImpl#getPathName <em>Path Name</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.impl.QualifiedNameImpl#isIsFeatureReference <em>Is Feature Reference</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.impl.QualifiedNameImpl#getQualification <em>Qualification</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.impl.QualifiedNameImpl#getDisambiguation <em>Disambiguation</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.impl.QualifiedNameImpl#getNameBinding <em>Name Binding</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.impl.QualifiedNameImpl#getReferent <em>Referent</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.impl.QualifiedNameImpl#getUnqualifiedName <em>Unqualified Name</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.impl.QualifiedNameImpl#getTemplateName <em>Template Name</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class QualifiedNameImpl extends SyntaxElementImpl implements QualifiedName {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated NOT
+ */
+ protected QualifiedNameImpl() {
+ super();
+ this.registerCaching();
+ }
+
+ public void clear() {
+ super.clear();
+ this.referents = null;
+ this.disambiguation = null;
+ this.notDisambiguated = true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return AlfPackage.eINSTANCE.getQualifiedName();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isIsAmbiguous() {
+ return (Boolean) eGet(AlfPackage.eINSTANCE.getQualifiedName_IsAmbiguous(), true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setIsAmbiguous(boolean newIsAmbiguous) {
+ eSet(AlfPackage.eINSTANCE.getQualifiedName_IsAmbiguous(), newIsAmbiguous);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public String getPathName() {
+ return (String) eGet(AlfPackage.eINSTANCE.getQualifiedName_PathName(), true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setPathName(String newPathName) {
+ eSet(AlfPackage.eINSTANCE.getQualifiedName_PathName(), newPathName);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isIsFeatureReference() {
+ return (Boolean) eGet(AlfPackage.eINSTANCE.getQualifiedName_IsFeatureReference(), true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setIsFeatureReference(boolean newIsFeatureReference) {
+ eSet(AlfPackage.eINSTANCE.getQualifiedName_IsFeatureReference(), newIsFeatureReference);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public QualifiedName getQualificationGen() {
+ return (QualifiedName) eGet(AlfPackage.eINSTANCE.getQualifiedName_Qualification(), true);
+ }
+
+ private QualifiedName qualification = null;
+
+ public QualifiedName getQualification() {
+ if (this.qualification == null) {
+ this.qualification = this.getQualificationGen();
+ }
+ return this.qualification;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setQualification(QualifiedName newQualification) {
+ eSet(AlfPackage.eINSTANCE.getQualifiedName_Qualification(), newQualification);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public FeatureReference getDisambiguation() {
+ return (FeatureReference) eGet(AlfPackage.eINSTANCE.getQualifiedName_Disambiguation(), true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setDisambiguation(FeatureReference newDisambiguation) {
+ eSet(AlfPackage.eINSTANCE.getQualifiedName_Disambiguation(), newDisambiguation);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<NameBinding> getNameBinding() {
+ return (EList<NameBinding>) eGet(AlfPackage.eINSTANCE.getQualifiedName_NameBinding(), true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<ElementReference> getReferent() {
+ return (EList<ElementReference>) eGet(AlfPackage.eINSTANCE.getQualifiedName_Referent(), true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public NameBinding getUnqualifiedName() {
+ return (NameBinding) eGet(AlfPackage.eINSTANCE.getQualifiedName_UnqualifiedName(), true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setUnqualifiedName(NameBinding newUnqualifiedName) {
+ eSet(AlfPackage.eINSTANCE.getQualifiedName_UnqualifiedName(), newUnqualifiedName);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public QualifiedName getTemplateName() {
+ return (QualifiedName) eGet(AlfPackage.eINSTANCE.getQualifiedName_TemplateName(), true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setTemplateName(QualifiedName newTemplateName) {
+ eSet(AlfPackage.eINSTANCE.getQualifiedName_TemplateName(), newTemplateName);
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #copy() <em>Copy</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #copy()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate COPY__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getQualifiedName__Copy()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public QualifiedName copy() {
+ try {
+ return (QualifiedName) COPY__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #addName(java.lang.String) <em>Add Name</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #addName(java.lang.String)
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate ADD_NAME_STRING__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getQualifiedName__AddName__String()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public QualifiedName addName(String name) {
+ try {
+ return (QualifiedName) ADD_NAME_STRING__EINVOCATION_DELEGATE.dynamicInvoke(this, new BasicEList.UnmodifiableEList<Object>(1, new Object[] { name }));
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #addNameBindings(org.eclipse.emf.common.util.EList) <em>Add Name Bindings</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #addNameBindings(org.eclipse.emf.common.util.EList)
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate ADD_NAME_BINDINGS_ELIST__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getQualifiedName__AddNameBindings__EList()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public QualifiedName addNameBindings(EList<NameBinding> nameBindings) {
+ try {
+ return (QualifiedName) ADD_NAME_BINDINGS_ELIST__EINVOCATION_DELEGATE.dynamicInvoke(this, new BasicEList.UnmodifiableEList<Object>(1, new Object[] { nameBindings }));
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated NOT
+ */
+ public EList<ElementReference> modelReferents() {
+ return ModelNamespaceImpl.resolveInModelScope(this);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean qualifiedNameUnqualifiedNameDerivation(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.QUALIFIED_NAME__QUALIFIED_NAME_UNQUALIFIED_NAME_DERIVATION,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "qualifiedNameUnqualifiedNameDerivation", EObjectValidator.getObjectLabel(this, context) }),
+ new Object[] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean qualifiedNamePathNameDerivation(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.QUALIFIED_NAME__QUALIFIED_NAME_PATH_NAME_DERIVATION,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "qualifiedNamePathNameDerivation", EObjectValidator.getObjectLabel(this, context) }),
+ new Object[] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean qualifiedNameIsFeatureReferenceDerivation(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.QUALIFIED_NAME__QUALIFIED_NAME_IS_FEATURE_REFERENCE_DERIVATION,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "qualifiedNameIsFeatureReferenceDerivation", EObjectValidator.getObjectLabel(this, context) }),
+ new Object[] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean qualifiedNameQualificationDerivation(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.QUALIFIED_NAME__QUALIFIED_NAME_QUALIFICATION_DERIVATION,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "qualifiedNameQualificationDerivation", EObjectValidator.getObjectLabel(this, context) }),
+ new Object[] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean qualifiedNameDisambiguationDerivation(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.QUALIFIED_NAME__QUALIFIED_NAME_DISAMBIGUATION_DERIVATION,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "qualifiedNameDisambiguationDerivation", EObjectValidator.getObjectLabel(this, context) }),
+ new Object[] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean qualifiedNameReferentDerivation(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.QUALIFIED_NAME__QUALIFIED_NAME_REFERENT_DERIVATION,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "qualifiedNameReferentDerivation", EObjectValidator.getObjectLabel(this, context) }),
+ new Object[] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean qualifiedNameLocalName(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.QUALIFIED_NAME__QUALIFIED_NAME_LOCAL_NAME,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "qualifiedNameLocalName", EObjectValidator.getObjectLabel(this, context) }),
+ new Object[] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean qualifiedNameNonLocalUnqualifiedName(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.QUALIFIED_NAME__QUALIFIED_NAME_NON_LOCAL_UNQUALIFIED_NAME,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "qualifiedNameNonLocalUnqualifiedName", EObjectValidator.getObjectLabel(this, context) }),
+ new Object[] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean qualifiedNameQualifiedResolution(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.QUALIFIED_NAME__QUALIFIED_NAME_QUALIFIED_RESOLUTION,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "qualifiedNameQualifiedResolution", EObjectValidator.getObjectLabel(this, context) }),
+ new Object[] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * The cached validation expression for the '{@link #qualifiedNameTemplateBinding(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Qualified Name Template Binding</em>}' invariant operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #qualifiedNameTemplateBinding(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ * @ordered
+ */
+ protected static final String QUALIFIED_NAME_TEMPLATE_BINDING_DIAGNOSTIC_CHAIN_MAP__EEXPRESSION = "\n" +
+ " self.templateName <> null implies\n" +
+ " let templates = self.templateName.referent in \n" +
+ " templates->size() = 1 and \n" +
+ " templates->forAll(template | \n" +
+ " template.isTemplate() and \n" +
+ " self.unqualifiedName.binding.matches(template)\n" +
+ " )";
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean qualifiedNameTemplateBinding(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return AlfValidator.validate
+ (AlfPackage.eINSTANCE.getQualifiedName(),
+ this,
+ diagnostics,
+ context,
+ "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot",
+ AlfPackage.eINSTANCE.getQualifiedName__QualifiedNameTemplateBinding__DiagnosticChain_Map(),
+ QUALIFIED_NAME_TEMPLATE_BINDING_DIAGNOSTIC_CHAIN_MAP__EEXPRESSION,
+ Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.QUALIFIED_NAME__QUALIFIED_NAME_TEMPLATE_BINDING);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean qualifiedNameTemplateNameDerivation(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.QUALIFIED_NAME__QUALIFIED_NAME_TEMPLATE_NAME_DERIVATION,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "qualifiedNameTemplateNameDerivation", EObjectValidator.getObjectLabel(this, context) }),
+ new Object[] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ private FeatureReference disambiguation = null;
+ private boolean notDisambiguated = true;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated NOT
+ */
+ public FeatureReference disambiguationCached() {
+ if (this.notDisambiguated) {
+ this.disambiguation = this.disambiguation();
+ this.notDisambiguated = false;
+ }
+ return this.disambiguation;
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #disambiguation() <em>Disambiguation</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #disambiguation()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate DISAMBIGUATION__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getQualifiedName__Disambiguation()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public FeatureReference disambiguation() {
+ try {
+ return (FeatureReference) DISAMBIGUATION__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ private EList<ElementReference> referents = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated NOT
+ */
+ public EList<ElementReference> referentCached() {
+ if (this.referents == null) {
+ this.referents = this.referent();
+ }
+ return this.referents;
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #referent() <em>Referent</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #referent()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate REFERENT__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getQualifiedName__Referent()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<ElementReference> referent() {
+ try {
+ return (EList<ElementReference>) REFERENT__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object eInvoke(int operationID, EList<?> arguments) throws InvocationTargetException {
+ switch (operationID) {
+ case AlfPackage.QUALIFIED_NAME___COPY:
+ return copy();
+ case AlfPackage.QUALIFIED_NAME___ADD_NAME__STRING:
+ return addName((String) arguments.get(0));
+ case AlfPackage.QUALIFIED_NAME___ADD_NAME_BINDINGS__ELIST:
+ return addNameBindings((EList<NameBinding>) arguments.get(0));
+ case AlfPackage.QUALIFIED_NAME___MODEL_REFERENTS:
+ return modelReferents();
+ case AlfPackage.QUALIFIED_NAME___QUALIFIED_NAME_UNQUALIFIED_NAME_DERIVATION__DIAGNOSTICCHAIN_MAP:
+ return qualifiedNameUnqualifiedNameDerivation((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ case AlfPackage.QUALIFIED_NAME___QUALIFIED_NAME_PATH_NAME_DERIVATION__DIAGNOSTICCHAIN_MAP:
+ return qualifiedNamePathNameDerivation((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ case AlfPackage.QUALIFIED_NAME___QUALIFIED_NAME_IS_FEATURE_REFERENCE_DERIVATION__DIAGNOSTICCHAIN_MAP:
+ return qualifiedNameIsFeatureReferenceDerivation((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ case AlfPackage.QUALIFIED_NAME___QUALIFIED_NAME_QUALIFICATION_DERIVATION__DIAGNOSTICCHAIN_MAP:
+ return qualifiedNameQualificationDerivation((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ case AlfPackage.QUALIFIED_NAME___QUALIFIED_NAME_DISAMBIGUATION_DERIVATION__DIAGNOSTICCHAIN_MAP:
+ return qualifiedNameDisambiguationDerivation((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ case AlfPackage.QUALIFIED_NAME___QUALIFIED_NAME_REFERENT_DERIVATION__DIAGNOSTICCHAIN_MAP:
+ return qualifiedNameReferentDerivation((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ case AlfPackage.QUALIFIED_NAME___QUALIFIED_NAME_LOCAL_NAME__DIAGNOSTICCHAIN_MAP:
+ return qualifiedNameLocalName((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ case AlfPackage.QUALIFIED_NAME___QUALIFIED_NAME_NON_LOCAL_UNQUALIFIED_NAME__DIAGNOSTICCHAIN_MAP:
+ return qualifiedNameNonLocalUnqualifiedName((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ case AlfPackage.QUALIFIED_NAME___QUALIFIED_NAME_QUALIFIED_RESOLUTION__DIAGNOSTICCHAIN_MAP:
+ return qualifiedNameQualifiedResolution((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ case AlfPackage.QUALIFIED_NAME___QUALIFIED_NAME_TEMPLATE_BINDING__DIAGNOSTICCHAIN_MAP:
+ return qualifiedNameTemplateBinding((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ case AlfPackage.QUALIFIED_NAME___QUALIFIED_NAME_TEMPLATE_NAME_DERIVATION__DIAGNOSTICCHAIN_MAP:
+ return qualifiedNameTemplateNameDerivation((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ case AlfPackage.QUALIFIED_NAME___DISAMBIGUATION_CACHED:
+ return disambiguationCached();
+ case AlfPackage.QUALIFIED_NAME___DISAMBIGUATION:
+ return disambiguation();
+ case AlfPackage.QUALIFIED_NAME___REFERENT_CACHED:
+ return referentCached();
+ case AlfPackage.QUALIFIED_NAME___REFERENT:
+ return referent();
+ }
+ return super.eInvoke(operationID, arguments);
+ }
+
+} // QualifiedNameImpl
diff --git a/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/QualifiedNameListImpl.java b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/QualifiedNameListImpl.java
new file mode 100644
index 00000000000..e079f8b8b35
--- /dev/null
+++ b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/QualifiedNameListImpl.java
@@ -0,0 +1,122 @@
+/**
+ */
+package org.eclipse.papyrus.uml.alf.impl;
+
+import java.lang.reflect.InvocationTargetException;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.common.util.WrappedException;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EOperation;
+import org.eclipse.papyrus.uml.alf.AlfPackage;
+import org.eclipse.papyrus.uml.alf.ElementReference;
+import org.eclipse.papyrus.uml.alf.QualifiedName;
+import org.eclipse.papyrus.uml.alf.QualifiedNameList;
+import org.eclipse.papyrus.uml.alf.SyntaxElement;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Qualified Name List</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.uml.alf.impl.QualifiedNameListImpl#getName <em>Name</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class QualifiedNameListImpl extends SyntaxElementImpl implements QualifiedNameList {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected QualifiedNameListImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return AlfPackage.eINSTANCE.getQualifiedNameList();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<QualifiedName> getName() {
+ return (EList<QualifiedName>) eGet(AlfPackage.eINSTANCE.getQualifiedNameList_Name(), true);
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #currentScope() <em>Current Scope</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #currentScope()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate CURRENT_SCOPE__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getQualifiedNameList__CurrentScope()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public ElementReference currentScope() {
+ try {
+ return (ElementReference) CURRENT_SCOPE__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public int eDerivedOperationID(int baseOperationID, Class<?> baseClass) {
+ if (baseClass == SyntaxElement.class) {
+ switch (baseOperationID) {
+ case AlfPackage.SYNTAX_ELEMENT___CURRENT_SCOPE:
+ return AlfPackage.QUALIFIED_NAME_LIST___CURRENT_SCOPE;
+ default:
+ return super.eDerivedOperationID(baseOperationID, baseClass);
+ }
+ }
+ return super.eDerivedOperationID(baseOperationID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Object eInvoke(int operationID, EList<?> arguments) throws InvocationTargetException {
+ switch (operationID) {
+ case AlfPackage.QUALIFIED_NAME_LIST___CURRENT_SCOPE:
+ return currentScope();
+ }
+ return super.eInvoke(operationID, arguments);
+ }
+
+} // QualifiedNameListImpl
diff --git a/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/ReceptionDefinitionImpl.java b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/ReceptionDefinitionImpl.java
new file mode 100644
index 00000000000..12f458667e6
--- /dev/null
+++ b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/ReceptionDefinitionImpl.java
@@ -0,0 +1,347 @@
+/**
+ */
+package org.eclipse.papyrus.uml.alf.impl;
+
+import java.lang.reflect.InvocationTargetException;
+
+import java.util.Map;
+
+import org.eclipse.emf.common.util.BasicDiagnostic;
+import org.eclipse.emf.common.util.BasicEList;
+import org.eclipse.emf.common.util.Diagnostic;
+import org.eclipse.emf.common.util.DiagnosticChain;
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.common.util.WrappedException;
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.EOperation;
+import org.eclipse.emf.ecore.plugin.EcorePlugin;
+
+import org.eclipse.emf.ecore.util.EObjectValidator;
+
+import org.eclipse.papyrus.uml.alf.AlfPackage;
+import org.eclipse.papyrus.uml.alf.ElementReference;
+import org.eclipse.papyrus.uml.alf.MemberDefinition;
+import org.eclipse.papyrus.uml.alf.QualifiedName;
+import org.eclipse.papyrus.uml.alf.ReceptionDefinition;
+
+import org.eclipse.papyrus.uml.alf.StereotypeAnnotation;
+import org.eclipse.papyrus.uml.alf.util.AlfValidator;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Reception Definition</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.uml.alf.impl.ReceptionDefinitionImpl#getSignalName <em>Signal Name</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.impl.ReceptionDefinitionImpl#getSignal <em>Signal</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class ReceptionDefinitionImpl extends MemberDefinitionImpl implements ReceptionDefinition {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected ReceptionDefinitionImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return AlfPackage.eINSTANCE.getReceptionDefinition();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public QualifiedName getSignalName() {
+ return (QualifiedName) eGet(AlfPackage.eINSTANCE.getReceptionDefinition_SignalName(), true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setSignalName(QualifiedName newSignalName) {
+ eSet(AlfPackage.eINSTANCE.getReceptionDefinition_SignalName(), newSignalName);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public ElementReference getSignal() {
+ return (ElementReference) eGet(AlfPackage.eINSTANCE.getReceptionDefinition_Signal(), true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setSignal(ElementReference newSignal) {
+ eSet(AlfPackage.eINSTANCE.getReceptionDefinition_Signal(), newSignal);
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #actualName() <em>Actual Name</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #actualName()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate ACTUAL_NAME__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getReceptionDefinition__ActualName()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public String actualName() {
+ try {
+ return (String) ACTUAL_NAME__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #annotationAllowed(org.eclipse.papyrus.uml.alf.StereotypeAnnotation) <em>Annotation Allowed</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #annotationAllowed(org.eclipse.papyrus.uml.alf.StereotypeAnnotation)
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate ANNOTATION_ALLOWED_STEREOTYPE_ANNOTATION__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getReceptionDefinition__AnnotationAllowed__StereotypeAnnotation())
+ .getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean annotationAllowed(StereotypeAnnotation annotation) {
+ try {
+ return (Boolean) ANNOTATION_ALLOWED_STEREOTYPE_ANNOTATION__EINVOCATION_DELEGATE.dynamicInvoke(this, new BasicEList.UnmodifiableEList<Object>(1, new Object[] { annotation }));
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #isSameKindAs(org.eclipse.papyrus.uml.alf.ElementReference) <em>Is Same Kind As</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #isSameKindAs(org.eclipse.papyrus.uml.alf.ElementReference)
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate IS_SAME_KIND_AS_ELEMENT_REFERENCE__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getReceptionDefinition__IsSameKindAs__ElementReference()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isSameKindAs(ElementReference member) {
+ try {
+ return (Boolean) IS_SAME_KIND_AS_ELEMENT_REFERENCE__EINVOCATION_DELEGATE.dynamicInvoke(this, new BasicEList.UnmodifiableEList<Object>(1, new Object[] { member }));
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #isFeature() <em>Is Feature</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #isFeature()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate IS_FEATURE__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getReceptionDefinition__IsFeature()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isFeature() {
+ try {
+ return (Boolean) IS_FEATURE__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached validation expression for the '{@link #receptionDefinitionSignalName(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Reception Definition Signal Name</em>}' invariant operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #receptionDefinitionSignalName(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ * @ordered
+ */
+ protected static final String RECEPTION_DEFINITION_SIGNAL_NAME_DIAGNOSTIC_CHAIN_MAP__EEXPRESSION = "\n" +
+ " self.signal <> null and not self.signal.isTemplate()";
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean receptionDefinitionSignalName(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return AlfValidator.validate
+ (AlfPackage.eINSTANCE.getReceptionDefinition(),
+ this,
+ diagnostics,
+ context,
+ "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot",
+ AlfPackage.eINSTANCE.getReceptionDefinition__ReceptionDefinitionSignalName__DiagnosticChain_Map(),
+ RECEPTION_DEFINITION_SIGNAL_NAME_DIAGNOSTIC_CHAIN_MAP__EEXPRESSION,
+ Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.RECEPTION_DEFINITION__RECEPTION_DEFINITION_SIGNAL_NAME);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean receptionDefinitionSignalDerivation(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.RECEPTION_DEFINITION__RECEPTION_DEFINITION_SIGNAL_DERIVATION,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "receptionDefinitionSignalDerivation", EObjectValidator.getObjectLabel(this, context) }),
+ new Object[] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean receptionDefinitionIsFeatureDerivation(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.RECEPTION_DEFINITION__RECEPTION_DEFINITION_IS_FEATURE_DERIVATION,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "receptionDefinitionIsFeatureDerivation", EObjectValidator.getObjectLabel(this, context) }),
+ new Object[] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public int eDerivedOperationID(int baseOperationID, Class<?> baseClass) {
+ if (baseClass == MemberDefinition.class) {
+ switch (baseOperationID) {
+ case AlfPackage.MEMBER_DEFINITION___ACTUAL_NAME:
+ return AlfPackage.RECEPTION_DEFINITION___ACTUAL_NAME;
+ case AlfPackage.MEMBER_DEFINITION___ANNOTATION_ALLOWED__STEREOTYPEANNOTATION:
+ return AlfPackage.RECEPTION_DEFINITION___ANNOTATION_ALLOWED__STEREOTYPEANNOTATION;
+ case AlfPackage.MEMBER_DEFINITION___IS_SAME_KIND_AS__ELEMENTREFERENCE:
+ return AlfPackage.RECEPTION_DEFINITION___IS_SAME_KIND_AS__ELEMENTREFERENCE;
+ case AlfPackage.MEMBER_DEFINITION___IS_FEATURE:
+ return AlfPackage.RECEPTION_DEFINITION___IS_FEATURE;
+ default:
+ return super.eDerivedOperationID(baseOperationID, baseClass);
+ }
+ }
+ return super.eDerivedOperationID(baseOperationID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object eInvoke(int operationID, EList<?> arguments) throws InvocationTargetException {
+ switch (operationID) {
+ case AlfPackage.RECEPTION_DEFINITION___ACTUAL_NAME:
+ return actualName();
+ case AlfPackage.RECEPTION_DEFINITION___ANNOTATION_ALLOWED__STEREOTYPEANNOTATION:
+ return annotationAllowed((StereotypeAnnotation) arguments.get(0));
+ case AlfPackage.RECEPTION_DEFINITION___IS_SAME_KIND_AS__ELEMENTREFERENCE:
+ return isSameKindAs((ElementReference) arguments.get(0));
+ case AlfPackage.RECEPTION_DEFINITION___IS_FEATURE:
+ return isFeature();
+ case AlfPackage.RECEPTION_DEFINITION___RECEPTION_DEFINITION_SIGNAL_NAME__DIAGNOSTICCHAIN_MAP:
+ return receptionDefinitionSignalName((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ case AlfPackage.RECEPTION_DEFINITION___RECEPTION_DEFINITION_SIGNAL_DERIVATION__DIAGNOSTICCHAIN_MAP:
+ return receptionDefinitionSignalDerivation((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ case AlfPackage.RECEPTION_DEFINITION___RECEPTION_DEFINITION_IS_FEATURE_DERIVATION__DIAGNOSTICCHAIN_MAP:
+ return receptionDefinitionIsFeatureDerivation((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ }
+ return super.eInvoke(operationID, arguments);
+ }
+
+} // ReceptionDefinitionImpl
diff --git a/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/RelationalExpressionImpl.java b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/RelationalExpressionImpl.java
new file mode 100644
index 00000000000..4481ea10553
--- /dev/null
+++ b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/RelationalExpressionImpl.java
@@ -0,0 +1,323 @@
+/**
+ */
+package org.eclipse.papyrus.uml.alf.impl;
+
+import java.lang.reflect.InvocationTargetException;
+import java.math.BigInteger;
+import java.util.Map;
+import org.eclipse.emf.common.util.BasicDiagnostic;
+import org.eclipse.emf.common.util.Diagnostic;
+import org.eclipse.emf.common.util.DiagnosticChain;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.common.util.WrappedException;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EOperation;
+import org.eclipse.emf.ecore.plugin.EcorePlugin;
+import org.eclipse.emf.ecore.util.EObjectValidator;
+import org.eclipse.papyrus.uml.alf.AlfPackage;
+import org.eclipse.papyrus.uml.alf.ElementReference;
+import org.eclipse.papyrus.uml.alf.RelationalExpression;
+import org.eclipse.papyrus.uml.alf.util.AlfValidator;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Relational Expression</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.uml.alf.impl.RelationalExpressionImpl#isIsUnlimitedNatural <em>Is Unlimited Natural</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class RelationalExpressionImpl extends BinaryExpressionImpl implements RelationalExpression {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected RelationalExpressionImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return AlfPackage.eINSTANCE.getRelationalExpression();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isIsUnlimitedNatural() {
+ return (Boolean) eGet(AlfPackage.eINSTANCE.getRelationalExpression_IsUnlimitedNatural(), true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setIsUnlimitedNatural(boolean newIsUnlimitedNatural) {
+ eSet(AlfPackage.eINSTANCE.getRelationalExpression_IsUnlimitedNatural(), newIsUnlimitedNatural);
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #type() <em>Type</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #type()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate TYPE__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getRelationalExpression__Type()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public ElementReference type() {
+ try {
+ return (ElementReference) TYPE__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #lower() <em>Lower</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #lower()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate LOWER__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getRelationalExpression__Lower()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public BigInteger lower() {
+ try {
+ return (BigInteger) LOWER__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #upper() <em>Upper</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #upper()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate UPPER__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getRelationalExpression__Upper()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public BigInteger upper() {
+ try {
+ return (BigInteger) UPPER__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean relationalExpressionIsUnlimitedNaturalDerivation(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.RELATIONAL_EXPRESSION__RELATIONAL_EXPRESSION_IS_UNLIMITED_NATURAL_DERIVATION,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "relationalExpressionIsUnlimitedNaturalDerivation", EObjectValidator.getObjectLabel(this, context) }),
+ new Object[] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean relationalExpressionTypeDerivation(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.RELATIONAL_EXPRESSION__RELATIONAL_EXPRESSION_TYPE_DERIVATION,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "relationalExpressionTypeDerivation", EObjectValidator.getObjectLabel(this, context) }),
+ new Object[] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean relationalExpressionLowerDerivation(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.RELATIONAL_EXPRESSION__RELATIONAL_EXPRESSION_LOWER_DERIVATION,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "relationalExpressionLowerDerivation", EObjectValidator.getObjectLabel(this, context) }),
+ new Object[] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean relationalExpressionUpperDerivation(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.RELATIONAL_EXPRESSION__RELATIONAL_EXPRESSION_UPPER_DERIVATION,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "relationalExpressionUpperDerivation", EObjectValidator.getObjectLabel(this, context) }),
+ new Object[] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * The cached validation expression for the '{@link #relationalExpressionOperandTypes(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Relational Expression Operand Types</em>}' invariant operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #relationalExpressionOperandTypes(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ * @ordered
+ */
+ protected static final String RELATIONAL_EXPRESSION_OPERAND_TYPES_DIAGNOSTIC_CHAIN_MAP__EEXPRESSION = "\n" +
+ " let type1 = self.operand1.type in\n" +
+ " let type2 = self.operand2.type in\n" +
+ " self.isNaturalType(type1) and self.isNumericType(type2) or\n" +
+ " self.isIntegerType(type1) and self.isIntegerType(type2) or\n" +
+ " self.isUnlimitedNaturalType(type1) and self.isUnlimitedNaturalType(type2)";
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean relationalExpressionOperandTypes(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return AlfValidator.validate
+ (AlfPackage.eINSTANCE.getRelationalExpression(),
+ this,
+ diagnostics,
+ context,
+ "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot",
+ AlfPackage.eINSTANCE.getRelationalExpression__RelationalExpressionOperandTypes__DiagnosticChain_Map(),
+ RELATIONAL_EXPRESSION_OPERAND_TYPES_DIAGNOSTIC_CHAIN_MAP__EEXPRESSION,
+ Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.RELATIONAL_EXPRESSION__RELATIONAL_EXPRESSION_OPERAND_TYPES);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object eInvoke(int operationID, EList<?> arguments) throws InvocationTargetException {
+ switch (operationID) {
+ case AlfPackage.RELATIONAL_EXPRESSION___TYPE:
+ return type();
+ case AlfPackage.RELATIONAL_EXPRESSION___LOWER:
+ return lower();
+ case AlfPackage.RELATIONAL_EXPRESSION___UPPER:
+ return upper();
+ case AlfPackage.RELATIONAL_EXPRESSION___RELATIONAL_EXPRESSION_IS_UNLIMITED_NATURAL_DERIVATION__DIAGNOSTICCHAIN_MAP:
+ return relationalExpressionIsUnlimitedNaturalDerivation((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ case AlfPackage.RELATIONAL_EXPRESSION___RELATIONAL_EXPRESSION_TYPE_DERIVATION__DIAGNOSTICCHAIN_MAP:
+ return relationalExpressionTypeDerivation((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ case AlfPackage.RELATIONAL_EXPRESSION___RELATIONAL_EXPRESSION_LOWER_DERIVATION__DIAGNOSTICCHAIN_MAP:
+ return relationalExpressionLowerDerivation((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ case AlfPackage.RELATIONAL_EXPRESSION___RELATIONAL_EXPRESSION_UPPER_DERIVATION__DIAGNOSTICCHAIN_MAP:
+ return relationalExpressionUpperDerivation((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ case AlfPackage.RELATIONAL_EXPRESSION___RELATIONAL_EXPRESSION_OPERAND_TYPES__DIAGNOSTICCHAIN_MAP:
+ return relationalExpressionOperandTypes((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ }
+ return super.eInvoke(operationID, arguments);
+ }
+
+} // RelationalExpressionImpl
diff --git a/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/ReturnParameterImpl.java b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/ReturnParameterImpl.java
new file mode 100644
index 00000000000..212801e64b1
--- /dev/null
+++ b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/ReturnParameterImpl.java
@@ -0,0 +1,46 @@
+/**
+ */
+package org.eclipse.papyrus.uml.alf.impl;
+
+import java.lang.reflect.InvocationTargetException;
+
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.papyrus.uml.alf.AlfPackage;
+import org.eclipse.papyrus.uml.alf.ReturnParameter;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Return Parameter</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ *
+ * @generated
+ */
+public class ReturnParameterImpl extends FormalParameterImpl implements ReturnParameter {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected ReturnParameterImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return AlfPackage.eINSTANCE.getReturnParameter();
+ }
+
+ @Override
+ public Object eInvoke(int operationID, EList<?> arguments) throws InvocationTargetException {
+ return super.eInvoke(operationID, arguments);
+ }
+} // ReturnParameterImpl
diff --git a/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/ReturnStatementImpl.java b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/ReturnStatementImpl.java
new file mode 100644
index 00000000000..adb7bf9a828
--- /dev/null
+++ b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/ReturnStatementImpl.java
@@ -0,0 +1,259 @@
+/**
+ */
+package org.eclipse.papyrus.uml.alf.impl;
+
+import java.lang.reflect.InvocationTargetException;
+import java.util.Map;
+import org.eclipse.emf.common.util.BasicDiagnostic;
+import org.eclipse.emf.common.util.Diagnostic;
+import org.eclipse.emf.common.util.DiagnosticChain;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.common.util.WrappedException;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EOperation;
+import org.eclipse.emf.ecore.plugin.EcorePlugin;
+import org.eclipse.emf.ecore.util.EObjectValidator;
+import org.eclipse.papyrus.uml.alf.AlfPackage;
+import org.eclipse.papyrus.uml.alf.AssignedSource;
+import org.eclipse.papyrus.uml.alf.ElementReference;
+import org.eclipse.papyrus.uml.alf.Expression;
+import org.eclipse.papyrus.uml.alf.ReturnStatement;
+import org.eclipse.papyrus.uml.alf.Statement;
+import org.eclipse.papyrus.uml.alf.util.AlfValidator;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Return Statement</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.uml.alf.impl.ReturnStatementImpl#getExpression <em>Expression</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.impl.ReturnStatementImpl#getBehavior <em>Behavior</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class ReturnStatementImpl extends StatementImpl implements ReturnStatement {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected ReturnStatementImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return AlfPackage.eINSTANCE.getReturnStatement();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public Expression getExpression() {
+ return (Expression) eGet(AlfPackage.eINSTANCE.getReturnStatement_Expression(), true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setExpression(Expression newExpression) {
+ eSet(AlfPackage.eINSTANCE.getReturnStatement_Expression(), newExpression);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public ElementReference getBehavior() {
+ return (ElementReference) eGet(AlfPackage.eINSTANCE.getReturnStatement_Behavior(), true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setBehavior(ElementReference newBehavior) {
+ eSet(AlfPackage.eINSTANCE.getReturnStatement_Behavior(), newBehavior);
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #assignmentsAfter() <em>Assignments After</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #assignmentsAfter()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate ASSIGNMENTS_AFTER__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getReturnStatement__AssignmentsAfter()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<AssignedSource> assignmentsAfter() {
+ try {
+ return (EList<AssignedSource>) ASSIGNMENTS_AFTER__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached validation expression for the '{@link #returnStatementContext(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Return Statement Context</em>}' invariant operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #returnStatementContext(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ * @ordered
+ */
+ protected static final String RETURN_STATEMENT_CONTEXT_DIAGNOSTIC_CHAIN_MAP__EEXPRESSION = "\n" +
+ " let behavior = self.behavior in\n" +
+ " if behavior = null then false\n" +
+ " else\n" +
+ " let returnParameter = behavior.returnParameter() in\n" +
+ " self.expression = null and returnParameter = null or\n" +
+ " self.expression <> null and returnParameter <> null and\n" +
+ " returnParameter.isAssignableFrom(self.expression)\n" +
+ " endif";
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean returnStatementContext(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return AlfValidator.validate
+ (AlfPackage.eINSTANCE.getReturnStatement(),
+ this,
+ diagnostics,
+ context,
+ "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot",
+ AlfPackage.eINSTANCE.getReturnStatement__ReturnStatementContext__DiagnosticChain_Map(),
+ RETURN_STATEMENT_CONTEXT_DIAGNOSTIC_CHAIN_MAP__EEXPRESSION,
+ Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.RETURN_STATEMENT__RETURN_STATEMENT_CONTEXT);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean returnStatementAssignmentsBefore(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.RETURN_STATEMENT__RETURN_STATEMENT_ASSIGNMENTS_BEFORE,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "returnStatementAssignmentsBefore", EObjectValidator.getObjectLabel(this, context) }),
+ new Object[] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean returnStatementAssignmentsAfter(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.RETURN_STATEMENT__RETURN_STATEMENT_ASSIGNMENTS_AFTER,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "returnStatementAssignmentsAfter", EObjectValidator.getObjectLabel(this, context) }),
+ new Object[] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public int eDerivedOperationID(int baseOperationID, Class<?> baseClass) {
+ if (baseClass == Statement.class) {
+ switch (baseOperationID) {
+ case AlfPackage.STATEMENT___ASSIGNMENTS_AFTER:
+ return AlfPackage.RETURN_STATEMENT___ASSIGNMENTS_AFTER;
+ default:
+ return super.eDerivedOperationID(baseOperationID, baseClass);
+ }
+ }
+ return super.eDerivedOperationID(baseOperationID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object eInvoke(int operationID, EList<?> arguments) throws InvocationTargetException {
+ switch (operationID) {
+ case AlfPackage.RETURN_STATEMENT___ASSIGNMENTS_AFTER:
+ return assignmentsAfter();
+ case AlfPackage.RETURN_STATEMENT___RETURN_STATEMENT_CONTEXT__DIAGNOSTICCHAIN_MAP:
+ return returnStatementContext((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ case AlfPackage.RETURN_STATEMENT___RETURN_STATEMENT_ASSIGNMENTS_BEFORE__DIAGNOSTICCHAIN_MAP:
+ return returnStatementAssignmentsBefore((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ case AlfPackage.RETURN_STATEMENT___RETURN_STATEMENT_ASSIGNMENTS_AFTER__DIAGNOSTICCHAIN_MAP:
+ return returnStatementAssignmentsAfter((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ }
+ return super.eInvoke(operationID, arguments);
+ }
+
+} // ReturnStatementImpl
diff --git a/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/SelectOrRejectExpressionImpl.java b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/SelectOrRejectExpressionImpl.java
new file mode 100644
index 00000000000..3e7b7bdd6da
--- /dev/null
+++ b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/SelectOrRejectExpressionImpl.java
@@ -0,0 +1,39 @@
+/**
+ */
+package org.eclipse.papyrus.uml.alf.impl;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.papyrus.uml.alf.AlfPackage;
+import org.eclipse.papyrus.uml.alf.SelectOrRejectExpression;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Select Or Reject Expression</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ *
+ * @generated
+ */
+public class SelectOrRejectExpressionImpl extends SequenceExpansionExpressionImpl implements SelectOrRejectExpression {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected SelectOrRejectExpressionImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return AlfPackage.eINSTANCE.getSelectOrRejectExpression();
+ }
+
+} // SelectOrRejectExpressionImpl
diff --git a/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/SequenceAccessExpressionImpl.java b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/SequenceAccessExpressionImpl.java
new file mode 100644
index 00000000000..e86c4ab3638
--- /dev/null
+++ b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/SequenceAccessExpressionImpl.java
@@ -0,0 +1,415 @@
+/**
+ */
+package org.eclipse.papyrus.uml.alf.impl;
+
+import java.lang.reflect.InvocationTargetException;
+
+import java.math.BigInteger;
+import java.util.Map;
+
+import org.eclipse.emf.common.util.BasicDiagnostic;
+import org.eclipse.emf.common.util.Diagnostic;
+import org.eclipse.emf.common.util.DiagnosticChain;
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.common.util.WrappedException;
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.EOperation;
+import org.eclipse.emf.ecore.plugin.EcorePlugin;
+
+import org.eclipse.emf.ecore.util.EObjectValidator;
+
+import org.eclipse.papyrus.uml.alf.AlfPackage;
+import org.eclipse.papyrus.uml.alf.AssignableElement;
+import org.eclipse.papyrus.uml.alf.AssignedSource;
+import org.eclipse.papyrus.uml.alf.ElementReference;
+import org.eclipse.papyrus.uml.alf.Expression;
+import org.eclipse.papyrus.uml.alf.SequenceAccessExpression;
+
+import org.eclipse.papyrus.uml.alf.util.AlfValidator;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Sequence Access Expression</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.uml.alf.impl.SequenceAccessExpressionImpl#getPrimary <em>Primary</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.impl.SequenceAccessExpressionImpl#getIndex <em>Index</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class SequenceAccessExpressionImpl extends ExpressionImpl implements SequenceAccessExpression {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected SequenceAccessExpressionImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return AlfPackage.eINSTANCE.getSequenceAccessExpression();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public Expression getPrimary() {
+ return (Expression) eGet(AlfPackage.eINSTANCE.getSequenceAccessExpression_Primary(), true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setPrimary(Expression newPrimary) {
+ eSet(AlfPackage.eINSTANCE.getSequenceAccessExpression_Primary(), newPrimary);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public Expression getIndex() {
+ return (Expression) eGet(AlfPackage.eINSTANCE.getSequenceAccessExpression_Index(), true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setIndex(Expression newIndex) {
+ eSet(AlfPackage.eINSTANCE.getSequenceAccessExpression_Index(), newIndex);
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #type() <em>Type</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #type()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate TYPE__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getSequenceAccessExpression__Type()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public ElementReference type() {
+ try {
+ return (ElementReference) TYPE__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #lower() <em>Lower</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #lower()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate LOWER__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getSequenceAccessExpression__Lower()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public BigInteger lower() {
+ try {
+ return (BigInteger) LOWER__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #upper() <em>Upper</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #upper()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate UPPER__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getSequenceAccessExpression__Upper()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public BigInteger upper() {
+ try {
+ return (BigInteger) UPPER__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #updateAssignments() <em>Update Assignments</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #updateAssignments()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate UPDATE_ASSIGNMENTS__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getSequenceAccessExpression__UpdateAssignments()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<AssignedSource> updateAssignments() {
+ try {
+ return (EList<AssignedSource>) UPDATE_ASSIGNMENTS__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean sequenceAccessExpressionTypeDerivation(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.SEQUENCE_ACCESS_EXPRESSION__SEQUENCE_ACCESS_EXPRESSION_TYPE_DERIVATION,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "sequenceAccessExpressionTypeDerivation", EObjectValidator.getObjectLabel(this, context) }),
+ new Object[] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean sequenceAccessExpressionLowerDerivation(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.SEQUENCE_ACCESS_EXPRESSION__SEQUENCE_ACCESS_EXPRESSION_LOWER_DERIVATION,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "sequenceAccessExpressionLowerDerivation", EObjectValidator.getObjectLabel(this, context) }),
+ new Object[] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean sequenceAccessExpressionUpperDerivation(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.SEQUENCE_ACCESS_EXPRESSION__SEQUENCE_ACCESS_EXPRESSION_UPPER_DERIVATION,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "sequenceAccessExpressionUpperDerivation", EObjectValidator.getObjectLabel(this, context) }),
+ new Object[] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * The cached validation expression for the '{@link #sequenceAccessExpressionIndexType(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Sequence Access Expression Index Type</em>}' invariant operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #sequenceAccessExpressionIndexType(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ * @ordered
+ */
+ protected static final String SEQUENCE_ACCESS_EXPRESSION_INDEX_TYPE_DIAGNOSTIC_CHAIN_MAP__EEXPRESSION = "\n" +
+ " let type = self.index.type in\n" +
+ " type <> null and self.isIntegerType(type)";
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean sequenceAccessExpressionIndexType(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return AlfValidator.validate
+ (AlfPackage.eINSTANCE.getSequenceAccessExpression(),
+ this,
+ diagnostics,
+ context,
+ "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot",
+ AlfPackage.eINSTANCE.getSequenceAccessExpression__SequenceAccessExpressionIndexType__DiagnosticChain_Map(),
+ SEQUENCE_ACCESS_EXPRESSION_INDEX_TYPE_DIAGNOSTIC_CHAIN_MAP__EEXPRESSION,
+ Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.SEQUENCE_ACCESS_EXPRESSION__SEQUENCE_ACCESS_EXPRESSION_INDEX_TYPE);
+ }
+
+ /**
+ * The cached validation expression for the '{@link #sequenceAccessExpressionIndexMultiplicity(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Sequence Access Expression Index Multiplicity</em>}' invariant operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #sequenceAccessExpressionIndexMultiplicity(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ * @ordered
+ */
+ protected static final String SEQUENCE_ACCESS_EXPRESSION_INDEX_MULTIPLICITY_DIAGNOSTIC_CHAIN_MAP__EEXPRESSION = "self.index.upper = 1";
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean sequenceAccessExpressionIndexMultiplicity(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return AlfValidator.validate
+ (AlfPackage.eINSTANCE.getSequenceAccessExpression(),
+ this,
+ diagnostics,
+ context,
+ "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot",
+ AlfPackage.eINSTANCE.getSequenceAccessExpression__SequenceAccessExpressionIndexMultiplicity__DiagnosticChain_Map(),
+ SEQUENCE_ACCESS_EXPRESSION_INDEX_MULTIPLICITY_DIAGNOSTIC_CHAIN_MAP__EEXPRESSION,
+ Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.SEQUENCE_ACCESS_EXPRESSION__SEQUENCE_ACCESS_EXPRESSION_INDEX_MULTIPLICITY);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public int eDerivedOperationID(int baseOperationID, Class<?> baseClass) {
+ if (baseClass == AssignableElement.class) {
+ switch (baseOperationID) {
+ case AlfPackage.ASSIGNABLE_ELEMENT___TYPE:
+ return AlfPackage.SEQUENCE_ACCESS_EXPRESSION___TYPE;
+ case AlfPackage.ASSIGNABLE_ELEMENT___LOWER:
+ return AlfPackage.SEQUENCE_ACCESS_EXPRESSION___LOWER;
+ case AlfPackage.ASSIGNABLE_ELEMENT___UPPER:
+ return AlfPackage.SEQUENCE_ACCESS_EXPRESSION___UPPER;
+ default:
+ return super.eDerivedOperationID(baseOperationID, baseClass);
+ }
+ }
+ if (baseClass == Expression.class) {
+ switch (baseOperationID) {
+ case AlfPackage.EXPRESSION___UPDATE_ASSIGNMENTS:
+ return AlfPackage.SEQUENCE_ACCESS_EXPRESSION___UPDATE_ASSIGNMENTS;
+ default:
+ return super.eDerivedOperationID(baseOperationID, baseClass);
+ }
+ }
+ return super.eDerivedOperationID(baseOperationID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object eInvoke(int operationID, EList<?> arguments) throws InvocationTargetException {
+ switch (operationID) {
+ case AlfPackage.SEQUENCE_ACCESS_EXPRESSION___TYPE:
+ return type();
+ case AlfPackage.SEQUENCE_ACCESS_EXPRESSION___LOWER:
+ return lower();
+ case AlfPackage.SEQUENCE_ACCESS_EXPRESSION___UPPER:
+ return upper();
+ case AlfPackage.SEQUENCE_ACCESS_EXPRESSION___UPDATE_ASSIGNMENTS:
+ return updateAssignments();
+ case AlfPackage.SEQUENCE_ACCESS_EXPRESSION___SEQUENCE_ACCESS_EXPRESSION_TYPE_DERIVATION__DIAGNOSTICCHAIN_MAP:
+ return sequenceAccessExpressionTypeDerivation((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ case AlfPackage.SEQUENCE_ACCESS_EXPRESSION___SEQUENCE_ACCESS_EXPRESSION_LOWER_DERIVATION__DIAGNOSTICCHAIN_MAP:
+ return sequenceAccessExpressionLowerDerivation((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ case AlfPackage.SEQUENCE_ACCESS_EXPRESSION___SEQUENCE_ACCESS_EXPRESSION_UPPER_DERIVATION__DIAGNOSTICCHAIN_MAP:
+ return sequenceAccessExpressionUpperDerivation((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ case AlfPackage.SEQUENCE_ACCESS_EXPRESSION___SEQUENCE_ACCESS_EXPRESSION_INDEX_TYPE__DIAGNOSTICCHAIN_MAP:
+ return sequenceAccessExpressionIndexType((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ case AlfPackage.SEQUENCE_ACCESS_EXPRESSION___SEQUENCE_ACCESS_EXPRESSION_INDEX_MULTIPLICITY__DIAGNOSTICCHAIN_MAP:
+ return sequenceAccessExpressionIndexMultiplicity((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ }
+ return super.eInvoke(operationID, arguments);
+ }
+
+} // SequenceAccessExpressionImpl
diff --git a/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/SequenceConstructionExpressionImpl.java b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/SequenceConstructionExpressionImpl.java
new file mode 100644
index 00000000000..07d0f509c0b
--- /dev/null
+++ b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/SequenceConstructionExpressionImpl.java
@@ -0,0 +1,523 @@
+/**
+ */
+package org.eclipse.papyrus.uml.alf.impl;
+
+import java.lang.reflect.InvocationTargetException;
+
+import java.math.BigInteger;
+import java.util.Map;
+
+import org.eclipse.emf.common.util.BasicDiagnostic;
+import org.eclipse.emf.common.util.Diagnostic;
+import org.eclipse.emf.common.util.DiagnosticChain;
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.common.util.WrappedException;
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.EOperation;
+import org.eclipse.emf.ecore.plugin.EcorePlugin;
+
+import org.eclipse.emf.ecore.util.EObjectValidator;
+
+import org.eclipse.papyrus.uml.alf.AlfPackage;
+import org.eclipse.papyrus.uml.alf.AssignableElement;
+import org.eclipse.papyrus.uml.alf.AssignedSource;
+import org.eclipse.papyrus.uml.alf.ElementReference;
+import org.eclipse.papyrus.uml.alf.Expression;
+import org.eclipse.papyrus.uml.alf.QualifiedName;
+import org.eclipse.papyrus.uml.alf.SequenceConstructionExpression;
+import org.eclipse.papyrus.uml.alf.SequenceElements;
+
+import org.eclipse.papyrus.uml.alf.util.AlfValidator;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Sequence Construction Expression</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.uml.alf.impl.SequenceConstructionExpressionImpl#getElements <em>Elements</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.impl.SequenceConstructionExpressionImpl#isHasMultiplicity <em>Has Multiplicity</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.impl.SequenceConstructionExpressionImpl#getTypeName <em>Type Name</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.impl.SequenceConstructionExpressionImpl#isIsAny <em>Is Any</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class SequenceConstructionExpressionImpl extends ExpressionImpl implements SequenceConstructionExpression {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected SequenceConstructionExpressionImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return AlfPackage.eINSTANCE.getSequenceConstructionExpression();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public SequenceElements getElements() {
+ return (SequenceElements) eGet(AlfPackage.eINSTANCE.getSequenceConstructionExpression_Elements(), true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setElements(SequenceElements newElements) {
+ eSet(AlfPackage.eINSTANCE.getSequenceConstructionExpression_Elements(), newElements);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isHasMultiplicity() {
+ return (Boolean) eGet(AlfPackage.eINSTANCE.getSequenceConstructionExpression_HasMultiplicity(), true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setHasMultiplicity(boolean newHasMultiplicity) {
+ eSet(AlfPackage.eINSTANCE.getSequenceConstructionExpression_HasMultiplicity(), newHasMultiplicity);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public QualifiedName getTypeName() {
+ return (QualifiedName) eGet(AlfPackage.eINSTANCE.getSequenceConstructionExpression_TypeName(), true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setTypeName(QualifiedName newTypeName) {
+ eSet(AlfPackage.eINSTANCE.getSequenceConstructionExpression_TypeName(), newTypeName);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isIsAny() {
+ return (Boolean) eGet(AlfPackage.eINSTANCE.getSequenceConstructionExpression_IsAny(), true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setIsAny(boolean newIsAny) {
+ eSet(AlfPackage.eINSTANCE.getSequenceConstructionExpression_IsAny(), newIsAny);
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #collectionType() <em>Collection Type</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #collectionType()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate COLLECTION_TYPE__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getSequenceConstructionExpression__CollectionType()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public ElementReference collectionType() {
+ try {
+ return (ElementReference) COLLECTION_TYPE__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #type() <em>Type</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #type()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate TYPE__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getSequenceConstructionExpression__Type()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public ElementReference type() {
+ try {
+ return (ElementReference) TYPE__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #upper() <em>Upper</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #upper()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate UPPER__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getSequenceConstructionExpression__Upper()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public BigInteger upper() {
+ try {
+ return (BigInteger) UPPER__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #lower() <em>Lower</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #lower()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate LOWER__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getSequenceConstructionExpression__Lower()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public BigInteger lower() {
+ try {
+ return (BigInteger) LOWER__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean sequenceConstructionExpressionTypeDerivation(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.SEQUENCE_CONSTRUCTION_EXPRESSION__SEQUENCE_CONSTRUCTION_EXPRESSION_TYPE_DERIVATION,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "sequenceConstructionExpressionTypeDerivation", EObjectValidator.getObjectLabel(this, context) }),
+ new Object[] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean sequenceConstructionExpressionUpperDerivation(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.SEQUENCE_CONSTRUCTION_EXPRESSION__SEQUENCE_CONSTRUCTION_EXPRESSION_UPPER_DERIVATION,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "sequenceConstructionExpressionUpperDerivation", EObjectValidator.getObjectLabel(this, context) }),
+ new Object[] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean sequenceConstructionExpressionLowerDerivation(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.SEQUENCE_CONSTRUCTION_EXPRESSION__SEQUENCE_CONSTRUCTION_EXPRESSION_LOWER_DERIVATION,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "sequenceConstructionExpressionLowerDerivation", EObjectValidator.getObjectLabel(this, context) }),
+ new Object[] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * The cached validation expression for the '{@link #sequenceConstructionExpressionType(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Sequence Construction Expression Type</em>}' invariant operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #sequenceConstructionExpressionType(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ * @ordered
+ */
+ protected static final String SEQUENCE_CONSTRUCTION_EXPRESSION_TYPE_DIAGNOSTIC_CHAIN_MAP__EEXPRESSION = "\n" +
+ " (self.typeName <> null implies self.type <> null) and\n" +
+ " (not self.hasMultiplicity implies \n" +
+ " self.type <> null and self.isCollectionClass(self.type)\n" +
+ " )";
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean sequenceConstructionExpressionType(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return AlfValidator.validate
+ (AlfPackage.eINSTANCE.getSequenceConstructionExpression(),
+ this,
+ diagnostics,
+ context,
+ "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot",
+ AlfPackage.eINSTANCE.getSequenceConstructionExpression__SequenceConstructionExpressionType__DiagnosticChain_Map(),
+ SEQUENCE_CONSTRUCTION_EXPRESSION_TYPE_DIAGNOSTIC_CHAIN_MAP__EEXPRESSION,
+ Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.SEQUENCE_CONSTRUCTION_EXPRESSION__SEQUENCE_CONSTRUCTION_EXPRESSION_TYPE);
+ }
+
+ /**
+ * The cached validation expression for the '{@link #sequenceConstructionExpressionElementType(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Sequence Construction Expression Element Type</em>}' invariant operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #sequenceConstructionExpressionElementType(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ * @ordered
+ */
+ protected static final String SEQUENCE_CONSTRUCTION_EXPRESSION_ELEMENT_TYPE_DIAGNOSTIC_CHAIN_MAP__EEXPRESSION = "\n" +
+ " self.elements <> null implies \n" +
+ " let type =\n" +
+ " if self.hasMultiplicity or self.type = null then self.type\n" +
+ " else self.type.collectionArgument() \n" +
+ " endif\n" +
+ " in\n" +
+ " self.elements.conformsTo(type)";
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean sequenceConstructionExpressionElementType(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return AlfValidator.validate
+ (AlfPackage.eINSTANCE.getSequenceConstructionExpression(),
+ this,
+ diagnostics,
+ context,
+ "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot",
+ AlfPackage.eINSTANCE.getSequenceConstructionExpression__SequenceConstructionExpressionElementType__DiagnosticChain_Map(),
+ SEQUENCE_CONSTRUCTION_EXPRESSION_ELEMENT_TYPE_DIAGNOSTIC_CHAIN_MAP__EEXPRESSION,
+ Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.SEQUENCE_CONSTRUCTION_EXPRESSION__SEQUENCE_CONSTRUCTION_EXPRESSION_ELEMENT_TYPE);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean sequenceConstructionExpressionAssignmentsBefore(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.SEQUENCE_CONSTRUCTION_EXPRESSION__SEQUENCE_CONSTRUCTION_EXPRESSION_ASSIGNMENTS_BEFORE,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "sequenceConstructionExpressionAssignmentsBefore", EObjectValidator.getObjectLabel(this, context) }),
+ new Object[] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #updateAssignments() <em>Update Assignments</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #updateAssignments()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate UPDATE_ASSIGNMENTS__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getSequenceConstructionExpression__UpdateAssignments()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<AssignedSource> updateAssignments() {
+ try {
+ return (EList<AssignedSource>) UPDATE_ASSIGNMENTS__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public int eDerivedOperationID(int baseOperationID, Class<?> baseClass) {
+ if (baseClass == AssignableElement.class) {
+ switch (baseOperationID) {
+ case AlfPackage.ASSIGNABLE_ELEMENT___TYPE:
+ return AlfPackage.SEQUENCE_CONSTRUCTION_EXPRESSION___TYPE;
+ case AlfPackage.ASSIGNABLE_ELEMENT___LOWER:
+ return AlfPackage.SEQUENCE_CONSTRUCTION_EXPRESSION___LOWER;
+ case AlfPackage.ASSIGNABLE_ELEMENT___UPPER:
+ return AlfPackage.SEQUENCE_CONSTRUCTION_EXPRESSION___UPPER;
+ default:
+ return super.eDerivedOperationID(baseOperationID, baseClass);
+ }
+ }
+ if (baseClass == Expression.class) {
+ switch (baseOperationID) {
+ case AlfPackage.EXPRESSION___UPDATE_ASSIGNMENTS:
+ return AlfPackage.SEQUENCE_CONSTRUCTION_EXPRESSION___UPDATE_ASSIGNMENTS;
+ default:
+ return super.eDerivedOperationID(baseOperationID, baseClass);
+ }
+ }
+ return super.eDerivedOperationID(baseOperationID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object eInvoke(int operationID, EList<?> arguments) throws InvocationTargetException {
+ switch (operationID) {
+ case AlfPackage.SEQUENCE_CONSTRUCTION_EXPRESSION___COLLECTION_TYPE:
+ return collectionType();
+ case AlfPackage.SEQUENCE_CONSTRUCTION_EXPRESSION___TYPE:
+ return type();
+ case AlfPackage.SEQUENCE_CONSTRUCTION_EXPRESSION___UPPER:
+ return upper();
+ case AlfPackage.SEQUENCE_CONSTRUCTION_EXPRESSION___LOWER:
+ return lower();
+ case AlfPackage.SEQUENCE_CONSTRUCTION_EXPRESSION___SEQUENCE_CONSTRUCTION_EXPRESSION_TYPE_DERIVATION__DIAGNOSTICCHAIN_MAP:
+ return sequenceConstructionExpressionTypeDerivation((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ case AlfPackage.SEQUENCE_CONSTRUCTION_EXPRESSION___SEQUENCE_CONSTRUCTION_EXPRESSION_UPPER_DERIVATION__DIAGNOSTICCHAIN_MAP:
+ return sequenceConstructionExpressionUpperDerivation((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ case AlfPackage.SEQUENCE_CONSTRUCTION_EXPRESSION___SEQUENCE_CONSTRUCTION_EXPRESSION_LOWER_DERIVATION__DIAGNOSTICCHAIN_MAP:
+ return sequenceConstructionExpressionLowerDerivation((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ case AlfPackage.SEQUENCE_CONSTRUCTION_EXPRESSION___SEQUENCE_CONSTRUCTION_EXPRESSION_TYPE__DIAGNOSTICCHAIN_MAP:
+ return sequenceConstructionExpressionType((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ case AlfPackage.SEQUENCE_CONSTRUCTION_EXPRESSION___SEQUENCE_CONSTRUCTION_EXPRESSION_ELEMENT_TYPE__DIAGNOSTICCHAIN_MAP:
+ return sequenceConstructionExpressionElementType((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ case AlfPackage.SEQUENCE_CONSTRUCTION_EXPRESSION___SEQUENCE_CONSTRUCTION_EXPRESSION_ASSIGNMENTS_BEFORE__DIAGNOSTICCHAIN_MAP:
+ return sequenceConstructionExpressionAssignmentsBefore((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ case AlfPackage.SEQUENCE_CONSTRUCTION_EXPRESSION___UPDATE_ASSIGNMENTS:
+ return updateAssignments();
+ }
+ return super.eInvoke(operationID, arguments);
+ }
+
+} // SequenceConstructionExpressionImpl
diff --git a/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/SequenceElementsImpl.java b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/SequenceElementsImpl.java
new file mode 100644
index 00000000000..0ede1eff0cb
--- /dev/null
+++ b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/SequenceElementsImpl.java
@@ -0,0 +1,161 @@
+/**
+ */
+package org.eclipse.papyrus.uml.alf.impl;
+
+import java.lang.reflect.InvocationTargetException;
+import java.math.BigInteger;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.papyrus.uml.alf.AlfPackage;
+import org.eclipse.papyrus.uml.alf.AssignedSource;
+import org.eclipse.papyrus.uml.alf.ElementReference;
+import org.eclipse.papyrus.uml.alf.SequenceElements;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Sequence Elements</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.uml.alf.impl.SequenceElementsImpl#getUpper <em>Upper</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.impl.SequenceElementsImpl#getLower <em>Lower</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public abstract class SequenceElementsImpl extends SyntaxElementImpl implements SequenceElements {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected SequenceElementsImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return AlfPackage.eINSTANCE.getSequenceElements();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public BigInteger getUpper() {
+ return (BigInteger) eGet(AlfPackage.eINSTANCE.getSequenceElements_Upper(), true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setUpper(BigInteger newUpper) {
+ eSet(AlfPackage.eINSTANCE.getSequenceElements_Upper(), newUpper);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public BigInteger getLower() {
+ return (BigInteger) eGet(AlfPackage.eINSTANCE.getSequenceElements_Lower(), true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setLower(BigInteger newLower) {
+ eSet(AlfPackage.eINSTANCE.getSequenceElements_Lower(), newLower);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean conformsTo(ElementReference type) {
+ // TODO: implement this method
+ // Ensure that you remove @generated or mark it @generated NOT
+ throw new UnsupportedOperationException();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EList<AssignedSource> assignmentsAfter() {
+ // TODO: implement this method
+ // Ensure that you remove @generated or mark it @generated NOT
+ throw new UnsupportedOperationException();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public BigInteger upper() {
+ // TODO: implement this method
+ // Ensure that you remove @generated or mark it @generated NOT
+ throw new UnsupportedOperationException();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public BigInteger lower() {
+ // TODO: implement this method
+ // Ensure that you remove @generated or mark it @generated NOT
+ throw new UnsupportedOperationException();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Object eInvoke(int operationID, EList<?> arguments) throws InvocationTargetException {
+ switch (operationID) {
+ case AlfPackage.SEQUENCE_ELEMENTS___CONFORMS_TO__ELEMENTREFERENCE:
+ return conformsTo((ElementReference) arguments.get(0));
+ case AlfPackage.SEQUENCE_ELEMENTS___ASSIGNMENTS_AFTER:
+ return assignmentsAfter();
+ case AlfPackage.SEQUENCE_ELEMENTS___UPPER:
+ return upper();
+ case AlfPackage.SEQUENCE_ELEMENTS___LOWER:
+ return lower();
+ }
+ return super.eInvoke(operationID, arguments);
+ }
+
+} // SequenceElementsImpl
diff --git a/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/SequenceExpansionExpressionImpl.java b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/SequenceExpansionExpressionImpl.java
new file mode 100644
index 00000000000..efa8f6e416c
--- /dev/null
+++ b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/SequenceExpansionExpressionImpl.java
@@ -0,0 +1,1107 @@
+/**
+ */
+package org.eclipse.papyrus.uml.alf.impl;
+
+import java.lang.reflect.InvocationTargetException;
+
+import java.math.BigInteger;
+import java.util.Map;
+
+import org.eclipse.emf.common.util.BasicDiagnostic;
+import org.eclipse.emf.common.util.BasicEList;
+import org.eclipse.emf.common.util.Diagnostic;
+import org.eclipse.emf.common.util.DiagnosticChain;
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.common.util.WrappedException;
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.EOperation;
+import org.eclipse.emf.ecore.plugin.EcorePlugin;
+
+import org.eclipse.emf.ecore.util.EObjectValidator;
+
+import org.eclipse.papyrus.uml.alf.AlfPackage;
+import org.eclipse.papyrus.uml.alf.AssignableElement;
+import org.eclipse.papyrus.uml.alf.AssignedSource;
+import org.eclipse.papyrus.uml.alf.ElementReference;
+import org.eclipse.papyrus.uml.alf.Expression;
+import org.eclipse.papyrus.uml.alf.ExtentOrExpression;
+import org.eclipse.papyrus.uml.alf.SequenceExpansionExpression;
+
+import org.eclipse.papyrus.uml.alf.SyntaxElement;
+import org.eclipse.papyrus.uml.alf.util.AlfValidator;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Sequence Expansion Expression</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.uml.alf.impl.SequenceExpansionExpressionImpl#getOperation <em>Operation</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.impl.SequenceExpansionExpressionImpl#getVariable <em>Variable</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.impl.SequenceExpansionExpressionImpl#getVariableSource <em>Variable Source</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.impl.SequenceExpansionExpressionImpl#getArgument <em>Argument</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.impl.SequenceExpansionExpressionImpl#getPrimary <em>Primary</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.impl.SequenceExpansionExpressionImpl#isIsSelectOrReject <em>Is Select Or Reject</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.impl.SequenceExpansionExpressionImpl#isIsCollectOrIterate <em>Is Collect Or Iterate</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.impl.SequenceExpansionExpressionImpl#isIsForAllOrExistsOrOne <em>Is For All Or Exists Or One</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.impl.SequenceExpansionExpressionImpl#isIsIsUnique <em>Is Is Unique</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class SequenceExpansionExpressionImpl extends ExpressionImpl implements SequenceExpansionExpression {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected SequenceExpansionExpressionImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return AlfPackage.eINSTANCE.getSequenceExpansionExpression();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public String getOperation() {
+ return (String) eGet(AlfPackage.eINSTANCE.getSequenceExpansionExpression_Operation(), true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setOperation(String newOperation) {
+ eSet(AlfPackage.eINSTANCE.getSequenceExpansionExpression_Operation(), newOperation);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public String getVariable() {
+ return (String) eGet(AlfPackage.eINSTANCE.getSequenceExpansionExpression_Variable(), true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setVariable(String newVariable) {
+ eSet(AlfPackage.eINSTANCE.getSequenceExpansionExpression_Variable(), newVariable);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public AssignedSource getVariableSource() {
+ return (AssignedSource) eGet(AlfPackage.eINSTANCE.getSequenceExpansionExpression_VariableSource(), true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setVariableSource(AssignedSource newVariableSource) {
+ eSet(AlfPackage.eINSTANCE.getSequenceExpansionExpression_VariableSource(), newVariableSource);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public Expression getArgument() {
+ return (Expression) eGet(AlfPackage.eINSTANCE.getSequenceExpansionExpression_Argument(), true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setArgument(Expression newArgument) {
+ eSet(AlfPackage.eINSTANCE.getSequenceExpansionExpression_Argument(), newArgument);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public ExtentOrExpression getPrimary() {
+ return (ExtentOrExpression) eGet(AlfPackage.eINSTANCE.getSequenceExpansionExpression_Primary(), true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setPrimary(ExtentOrExpression newPrimary) {
+ eSet(AlfPackage.eINSTANCE.getSequenceExpansionExpression_Primary(), newPrimary);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isIsSelectOrReject() {
+ return (Boolean) eGet(AlfPackage.eINSTANCE.getSequenceExpansionExpression_IsSelectOrReject(), true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setIsSelectOrReject(boolean newIsSelectOrReject) {
+ eSet(AlfPackage.eINSTANCE.getSequenceExpansionExpression_IsSelectOrReject(), newIsSelectOrReject);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isIsCollectOrIterate() {
+ return (Boolean) eGet(AlfPackage.eINSTANCE.getSequenceExpansionExpression_IsCollectOrIterate(), true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setIsCollectOrIterate(boolean newIsCollectOrIterate) {
+ eSet(AlfPackage.eINSTANCE.getSequenceExpansionExpression_IsCollectOrIterate(), newIsCollectOrIterate);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isIsForAllOrExistsOrOne() {
+ return (Boolean) eGet(AlfPackage.eINSTANCE.getSequenceExpansionExpression_IsForAllOrExistsOrOne(), true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setIsForAllOrExistsOrOne(boolean newIsForAllOrExistsOrOne) {
+ eSet(AlfPackage.eINSTANCE.getSequenceExpansionExpression_IsForAllOrExistsOrOne(), newIsForAllOrExistsOrOne);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isIsIsUnique() {
+ return (Boolean) eGet(AlfPackage.eINSTANCE.getSequenceExpansionExpression_IsIsUnique(), true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setIsIsUnique(boolean newIsIsUnique) {
+ eSet(AlfPackage.eINSTANCE.getSequenceExpansionExpression_IsIsUnique(), newIsIsUnique);
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #assignmentsBefore(org.eclipse.papyrus.uml.alf.SyntaxElement) <em>Assignments Before</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #assignmentsBefore(org.eclipse.papyrus.uml.alf.SyntaxElement)
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate ASSIGNMENTS_BEFORE_SYNTAX_ELEMENT__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getSequenceExpansionExpression__AssignmentsBefore__SyntaxElement()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<AssignedSource> assignmentsBefore(SyntaxElement element) {
+ try {
+ return (EList<AssignedSource>) ASSIGNMENTS_BEFORE_SYNTAX_ELEMENT__EINVOCATION_DELEGATE.dynamicInvoke(this, new BasicEList.UnmodifiableEList<Object>(1, new Object[] { element }));
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #assignmentsAfterPrimary() <em>Assignments After Primary</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #assignmentsAfterPrimary()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate ASSIGNMENTS_AFTER_PRIMARY__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getSequenceExpansionExpression__AssignmentsAfterPrimary()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<AssignedSource> assignmentsAfterPrimary() {
+ try {
+ return (EList<AssignedSource>) ASSIGNMENTS_AFTER_PRIMARY__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #type() <em>Type</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #type()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate TYPE__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getSequenceExpansionExpression__Type()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public ElementReference type() {
+ try {
+ return (ElementReference) TYPE__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #lower() <em>Lower</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #lower()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate LOWER__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getSequenceExpansionExpression__Lower()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public BigInteger lower() {
+ try {
+ return (BigInteger) LOWER__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #upper() <em>Upper</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #upper()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate UPPER__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getSequenceExpansionExpression__Upper()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public BigInteger upper() {
+ try {
+ return (BigInteger) UPPER__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean sequenceExpansionExpressionVariableSourceDerivation(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.SEQUENCE_EXPANSION_EXPRESSION__SEQUENCE_EXPANSION_EXPRESSION_VARIABLE_SOURCE_DERIVATION,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "sequenceExpansionExpressionVariableSourceDerivation", EObjectValidator.getObjectLabel(this, context) }),
+ new Object[] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean sequenceExpansionExpressionAssignmentsBeforePrimary(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.SEQUENCE_EXPANSION_EXPRESSION__SEQUENCE_EXPANSION_EXPRESSION_ASSIGNMENTS_BEFORE_PRIMARY,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "sequenceExpansionExpressionAssignmentsBeforePrimary", EObjectValidator.getObjectLabel(this, context) }),
+ new Object[] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean sequenceExpansionExpressionAssignmentsBeforeArgument(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.SEQUENCE_EXPANSION_EXPRESSION__SEQUENCE_EXPANSION_EXPRESSION_ASSIGNMENTS_BEFORE_ARGUMENT,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "sequenceExpansionExpressionAssignmentsBeforeArgument", EObjectValidator.getObjectLabel(this, context) }),
+ new Object[] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * The cached validation expression for the '{@link #sequenceExpansionExpressionVariableName(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Sequence Expansion Expression Variable Name</em>}' invariant operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #sequenceExpansionExpressionVariableName(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ * @ordered
+ */
+ protected static final String SEQUENCE_EXPANSION_EXPRESSION_VARIABLE_NAME_DIAGNOSTIC_CHAIN_MAP__EEXPRESSION = "\n" +
+ " not self.assignmentsAfterPrimary()->exists(name = self.variable)";
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean sequenceExpansionExpressionVariableName(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return AlfValidator.validate
+ (AlfPackage.eINSTANCE.getSequenceExpansionExpression(),
+ this,
+ diagnostics,
+ context,
+ "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot",
+ AlfPackage.eINSTANCE.getSequenceExpansionExpression__SequenceExpansionExpressionVariableName__DiagnosticChain_Map(),
+ SEQUENCE_EXPANSION_EXPRESSION_VARIABLE_NAME_DIAGNOSTIC_CHAIN_MAP__EEXPRESSION,
+ Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.SEQUENCE_EXPANSION_EXPRESSION__SEQUENCE_EXPANSION_EXPRESSION_VARIABLE_NAME);
+ }
+
+ /**
+ * The cached validation expression for the '{@link #sequenceExpansionExpressionAssignmentsAfterArgument(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Sequence Expansion Expression Assignments After Argument</em>}' invariant operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #sequenceExpansionExpressionAssignmentsAfterArgument(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ * @ordered
+ */
+ protected static final String SEQUENCE_EXPANSION_EXPRESSION_ASSIGNMENTS_AFTER_ARGUMENT_DIAGNOSTIC_CHAIN_MAP__EEXPRESSION = "\n" +
+ " self.argument <> null implies self.argument.newAssignments()->isEmpty()";
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean sequenceExpansionExpressionAssignmentsAfterArgument(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return AlfValidator.validate
+ (AlfPackage.eINSTANCE.getSequenceExpansionExpression(),
+ this,
+ diagnostics,
+ context,
+ "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot",
+ AlfPackage.eINSTANCE.getSequenceExpansionExpression__SequenceExpansionExpressionAssignmentsAfterArgument__DiagnosticChain_Map(),
+ SEQUENCE_EXPANSION_EXPRESSION_ASSIGNMENTS_AFTER_ARGUMENT_DIAGNOSTIC_CHAIN_MAP__EEXPRESSION,
+ Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.SEQUENCE_EXPANSION_EXPRESSION__SEQUENCE_EXPANSION_EXPRESSION_ASSIGNMENTS_AFTER_ARGUMENT);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean selectOrRejectExpressionTypeDerivation(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.SEQUENCE_EXPANSION_EXPRESSION__SELECT_OR_REJECT_EXPRESSION_TYPE_DERIVATION,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "selectOrRejectExpressionTypeDerivation", EObjectValidator.getObjectLabel(this, context) }),
+ new Object[] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean selectOrRejectExpressionLowerDerivation(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.SEQUENCE_EXPANSION_EXPRESSION__SELECT_OR_REJECT_EXPRESSION_LOWER_DERIVATION,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "selectOrRejectExpressionLowerDerivation", EObjectValidator.getObjectLabel(this, context) }),
+ new Object[] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean selectOrRejectExpressionUpperDerivation(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.SEQUENCE_EXPANSION_EXPRESSION__SELECT_OR_REJECT_EXPRESSION_UPPER_DERIVATION,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "selectOrRejectExpressionUpperDerivation", EObjectValidator.getObjectLabel(this, context) }),
+ new Object[] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * The cached validation expression for the '{@link #selectOrRejectExpressionArgument(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Select Or Reject Expression Argument</em>}' invariant operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #selectOrRejectExpressionArgument(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ * @ordered
+ */
+ protected static final String SELECT_OR_REJECT_EXPRESSION_ARGUMENT_DIAGNOSTIC_CHAIN_MAP__EEXPRESSION = "\n" +
+ " (self.isSelectOrReject and self.argument <> null) implies\n" +
+ " self.isBooleanType(self.argument.type) and\n" +
+ " self.argument.upper = 1";
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean selectOrRejectExpressionArgument(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return AlfValidator.validate
+ (AlfPackage.eINSTANCE.getSequenceExpansionExpression(),
+ this,
+ diagnostics,
+ context,
+ "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot",
+ AlfPackage.eINSTANCE.getSequenceExpansionExpression__SelectOrRejectExpressionArgument__DiagnosticChain_Map(),
+ SELECT_OR_REJECT_EXPRESSION_ARGUMENT_DIAGNOSTIC_CHAIN_MAP__EEXPRESSION,
+ Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.SEQUENCE_EXPANSION_EXPRESSION__SELECT_OR_REJECT_EXPRESSION_ARGUMENT);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean collectOrIterateExpressionTypeDerivation(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.SEQUENCE_EXPANSION_EXPRESSION__COLLECT_OR_ITERATE_EXPRESSION_TYPE_DERIVATION,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "collectOrIterateExpressionTypeDerivation", EObjectValidator.getObjectLabel(this, context) }),
+ new Object[] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean collectOrIterateExpressionLowerDerivation(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.SEQUENCE_EXPANSION_EXPRESSION__COLLECT_OR_ITERATE_EXPRESSION_LOWER_DERIVATION,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "collectOrIterateExpressionLowerDerivation", EObjectValidator.getObjectLabel(this, context) }),
+ new Object[] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean collectOrIterateExpressionUpperDerivation(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.SEQUENCE_EXPANSION_EXPRESSION__COLLECT_OR_ITERATE_EXPRESSION_UPPER_DERIVATION,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "collectOrIterateExpressionUpperDerivation", EObjectValidator.getObjectLabel(this, context) }),
+ new Object[] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean forAllOrExistsOrOneExpressionTypeDerivation(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.SEQUENCE_EXPANSION_EXPRESSION__FOR_ALL_OR_EXISTS_OR_ONE_EXPRESSION_TYPE_DERIVATION,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "forAllOrExistsOrOneExpressionTypeDerivation", EObjectValidator.getObjectLabel(this, context) }),
+ new Object[] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean forAllOrExistsOrOneExpressionLowerDerivation(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.SEQUENCE_EXPANSION_EXPRESSION__FOR_ALL_OR_EXISTS_OR_ONE_EXPRESSION_LOWER_DERIVATION,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "forAllOrExistsOrOneExpressionLowerDerivation", EObjectValidator.getObjectLabel(this, context) }),
+ new Object[] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean forAllOrExistsOrOneExpressionUpperDerivation(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.SEQUENCE_EXPANSION_EXPRESSION__FOR_ALL_OR_EXISTS_OR_ONE_EXPRESSION_UPPER_DERIVATION,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "forAllOrExistsOrOneExpressionUpperDerivation", EObjectValidator.getObjectLabel(this, context) }),
+ new Object[] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * The cached validation expression for the '{@link #forAllOrExistsOrOneExpressionArgument(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>For All Or Exists Or One Expression Argument</em>}' invariant operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #forAllOrExistsOrOneExpressionArgument(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ * @ordered
+ */
+ protected static final String FOR_ALL_OR_EXISTS_OR_ONE_EXPRESSION_ARGUMENT_DIAGNOSTIC_CHAIN_MAP__EEXPRESSION = "\n" +
+ " (self.isForAllOrExistsOrOne and self.argument <> null) implies\n" +
+ " self.isBooleanType(self.argument.type) and\n" +
+ " self.argument.upper = 1";
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean forAllOrExistsOrOneExpressionArgument(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return AlfValidator.validate
+ (AlfPackage.eINSTANCE.getSequenceExpansionExpression(),
+ this,
+ diagnostics,
+ context,
+ "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot",
+ AlfPackage.eINSTANCE.getSequenceExpansionExpression__ForAllOrExistsOrOneExpressionArgument__DiagnosticChain_Map(),
+ FOR_ALL_OR_EXISTS_OR_ONE_EXPRESSION_ARGUMENT_DIAGNOSTIC_CHAIN_MAP__EEXPRESSION,
+ Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.SEQUENCE_EXPANSION_EXPRESSION__FOR_ALL_OR_EXISTS_OR_ONE_EXPRESSION_ARGUMENT);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isUniqueExpressionTypeDerivation(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.SEQUENCE_EXPANSION_EXPRESSION__IS_UNIQUE_EXPRESSION_TYPE_DERIVATION,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "isUniqueExpressionTypeDerivation", EObjectValidator.getObjectLabel(this, context) }),
+ new Object[] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isUniqueExpressionLowerDerivation(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.SEQUENCE_EXPANSION_EXPRESSION__IS_UNIQUE_EXPRESSION_LOWER_DERIVATION,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "isUniqueExpressionLowerDerivation", EObjectValidator.getObjectLabel(this, context) }),
+ new Object[] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isUniqueExpressionUpperDerivation(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.SEQUENCE_EXPANSION_EXPRESSION__IS_UNIQUE_EXPRESSION_UPPER_DERIVATION,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "isUniqueExpressionUpperDerivation", EObjectValidator.getObjectLabel(this, context) }),
+ new Object[] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * The cached validation expression for the '{@link #isUniqueExpressionExpressionArgument(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Is Unique Expression Expression Argument</em>}' invariant operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #isUniqueExpressionExpressionArgument(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ * @ordered
+ */
+ protected static final String IS_UNIQUE_EXPRESSION_EXPRESSION_ARGUMENT_DIAGNOSTIC_CHAIN_MAP__EEXPRESSION = "\n" +
+ " (self.isIsUnique and self.argument <> null) implies \n" +
+ " self.argument.upper = 1";
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isUniqueExpressionExpressionArgument(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return AlfValidator.validate
+ (AlfPackage.eINSTANCE.getSequenceExpansionExpression(),
+ this,
+ diagnostics,
+ context,
+ "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot",
+ AlfPackage.eINSTANCE.getSequenceExpansionExpression__IsUniqueExpressionExpressionArgument__DiagnosticChain_Map(),
+ IS_UNIQUE_EXPRESSION_EXPRESSION_ARGUMENT_DIAGNOSTIC_CHAIN_MAP__EEXPRESSION,
+ Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.SEQUENCE_EXPANSION_EXPRESSION__IS_UNIQUE_EXPRESSION_EXPRESSION_ARGUMENT);
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #updateAssignments() <em>Update Assignments</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #updateAssignments()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate UPDATE_ASSIGNMENTS__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getSequenceExpansionExpression__UpdateAssignments()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<AssignedSource> updateAssignments() {
+ try {
+ return (EList<AssignedSource>) UPDATE_ASSIGNMENTS__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached validation expression for the '{@link #sequenceExpansionExpressionOperation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Sequence Expansion Expression Operation</em>}' invariant operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #sequenceExpansionExpressionOperation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ * @ordered
+ */
+ protected static final String SEQUENCE_EXPANSION_EXPRESSION_OPERATION_DIAGNOSTIC_CHAIN_MAP__EEXPRESSION = "\n" +
+ " self.isSelectOrReject or self.isCollectOrIterate or \n" +
+ " self.isForAllOrExistsOrOne or self.isIsUnique";
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean sequenceExpansionExpressionOperation(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return AlfValidator.validate
+ (AlfPackage.eINSTANCE.getSequenceExpansionExpression(),
+ this,
+ diagnostics,
+ context,
+ "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot",
+ AlfPackage.eINSTANCE.getSequenceExpansionExpression__SequenceExpansionExpressionOperation__DiagnosticChain_Map(),
+ SEQUENCE_EXPANSION_EXPRESSION_OPERATION_DIAGNOSTIC_CHAIN_MAP__EEXPRESSION,
+ Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.SEQUENCE_EXPANSION_EXPRESSION__SEQUENCE_EXPANSION_EXPRESSION_OPERATION);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public int eDerivedOperationID(int baseOperationID, Class<?> baseClass) {
+ if (baseClass == SyntaxElement.class) {
+ switch (baseOperationID) {
+ case AlfPackage.SYNTAX_ELEMENT___ASSIGNMENTS_BEFORE__SYNTAXELEMENT:
+ return AlfPackage.SEQUENCE_EXPANSION_EXPRESSION___ASSIGNMENTS_BEFORE__SYNTAXELEMENT;
+ default:
+ return super.eDerivedOperationID(baseOperationID, baseClass);
+ }
+ }
+ if (baseClass == AssignableElement.class) {
+ switch (baseOperationID) {
+ case AlfPackage.ASSIGNABLE_ELEMENT___TYPE:
+ return AlfPackage.SEQUENCE_EXPANSION_EXPRESSION___TYPE;
+ case AlfPackage.ASSIGNABLE_ELEMENT___LOWER:
+ return AlfPackage.SEQUENCE_EXPANSION_EXPRESSION___LOWER;
+ case AlfPackage.ASSIGNABLE_ELEMENT___UPPER:
+ return AlfPackage.SEQUENCE_EXPANSION_EXPRESSION___UPPER;
+ default:
+ return super.eDerivedOperationID(baseOperationID, baseClass);
+ }
+ }
+ if (baseClass == Expression.class) {
+ switch (baseOperationID) {
+ case AlfPackage.EXPRESSION___UPDATE_ASSIGNMENTS:
+ return AlfPackage.SEQUENCE_EXPANSION_EXPRESSION___UPDATE_ASSIGNMENTS;
+ default:
+ return super.eDerivedOperationID(baseOperationID, baseClass);
+ }
+ }
+ return super.eDerivedOperationID(baseOperationID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object eInvoke(int operationID, EList<?> arguments) throws InvocationTargetException {
+ switch (operationID) {
+ case AlfPackage.SEQUENCE_EXPANSION_EXPRESSION___ASSIGNMENTS_BEFORE__SYNTAXELEMENT:
+ return assignmentsBefore((SyntaxElement) arguments.get(0));
+ case AlfPackage.SEQUENCE_EXPANSION_EXPRESSION___ASSIGNMENTS_AFTER_PRIMARY:
+ return assignmentsAfterPrimary();
+ case AlfPackage.SEQUENCE_EXPANSION_EXPRESSION___TYPE:
+ return type();
+ case AlfPackage.SEQUENCE_EXPANSION_EXPRESSION___LOWER:
+ return lower();
+ case AlfPackage.SEQUENCE_EXPANSION_EXPRESSION___UPPER:
+ return upper();
+ case AlfPackage.SEQUENCE_EXPANSION_EXPRESSION___SEQUENCE_EXPANSION_EXPRESSION_VARIABLE_SOURCE_DERIVATION__DIAGNOSTICCHAIN_MAP:
+ return sequenceExpansionExpressionVariableSourceDerivation((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ case AlfPackage.SEQUENCE_EXPANSION_EXPRESSION___SEQUENCE_EXPANSION_EXPRESSION_ASSIGNMENTS_BEFORE_PRIMARY__DIAGNOSTICCHAIN_MAP:
+ return sequenceExpansionExpressionAssignmentsBeforePrimary((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ case AlfPackage.SEQUENCE_EXPANSION_EXPRESSION___SEQUENCE_EXPANSION_EXPRESSION_ASSIGNMENTS_BEFORE_ARGUMENT__DIAGNOSTICCHAIN_MAP:
+ return sequenceExpansionExpressionAssignmentsBeforeArgument((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ case AlfPackage.SEQUENCE_EXPANSION_EXPRESSION___SEQUENCE_EXPANSION_EXPRESSION_VARIABLE_NAME__DIAGNOSTICCHAIN_MAP:
+ return sequenceExpansionExpressionVariableName((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ case AlfPackage.SEQUENCE_EXPANSION_EXPRESSION___SEQUENCE_EXPANSION_EXPRESSION_ASSIGNMENTS_AFTER_ARGUMENT__DIAGNOSTICCHAIN_MAP:
+ return sequenceExpansionExpressionAssignmentsAfterArgument((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ case AlfPackage.SEQUENCE_EXPANSION_EXPRESSION___SELECT_OR_REJECT_EXPRESSION_TYPE_DERIVATION__DIAGNOSTICCHAIN_MAP:
+ return selectOrRejectExpressionTypeDerivation((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ case AlfPackage.SEQUENCE_EXPANSION_EXPRESSION___SELECT_OR_REJECT_EXPRESSION_LOWER_DERIVATION__DIAGNOSTICCHAIN_MAP:
+ return selectOrRejectExpressionLowerDerivation((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ case AlfPackage.SEQUENCE_EXPANSION_EXPRESSION___SELECT_OR_REJECT_EXPRESSION_UPPER_DERIVATION__DIAGNOSTICCHAIN_MAP:
+ return selectOrRejectExpressionUpperDerivation((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ case AlfPackage.SEQUENCE_EXPANSION_EXPRESSION___SELECT_OR_REJECT_EXPRESSION_ARGUMENT__DIAGNOSTICCHAIN_MAP:
+ return selectOrRejectExpressionArgument((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ case AlfPackage.SEQUENCE_EXPANSION_EXPRESSION___COLLECT_OR_ITERATE_EXPRESSION_TYPE_DERIVATION__DIAGNOSTICCHAIN_MAP:
+ return collectOrIterateExpressionTypeDerivation((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ case AlfPackage.SEQUENCE_EXPANSION_EXPRESSION___COLLECT_OR_ITERATE_EXPRESSION_LOWER_DERIVATION__DIAGNOSTICCHAIN_MAP:
+ return collectOrIterateExpressionLowerDerivation((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ case AlfPackage.SEQUENCE_EXPANSION_EXPRESSION___COLLECT_OR_ITERATE_EXPRESSION_UPPER_DERIVATION__DIAGNOSTICCHAIN_MAP:
+ return collectOrIterateExpressionUpperDerivation((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ case AlfPackage.SEQUENCE_EXPANSION_EXPRESSION___FOR_ALL_OR_EXISTS_OR_ONE_EXPRESSION_TYPE_DERIVATION__DIAGNOSTICCHAIN_MAP:
+ return forAllOrExistsOrOneExpressionTypeDerivation((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ case AlfPackage.SEQUENCE_EXPANSION_EXPRESSION___FOR_ALL_OR_EXISTS_OR_ONE_EXPRESSION_LOWER_DERIVATION__DIAGNOSTICCHAIN_MAP:
+ return forAllOrExistsOrOneExpressionLowerDerivation((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ case AlfPackage.SEQUENCE_EXPANSION_EXPRESSION___FOR_ALL_OR_EXISTS_OR_ONE_EXPRESSION_UPPER_DERIVATION__DIAGNOSTICCHAIN_MAP:
+ return forAllOrExistsOrOneExpressionUpperDerivation((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ case AlfPackage.SEQUENCE_EXPANSION_EXPRESSION___FOR_ALL_OR_EXISTS_OR_ONE_EXPRESSION_ARGUMENT__DIAGNOSTICCHAIN_MAP:
+ return forAllOrExistsOrOneExpressionArgument((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ case AlfPackage.SEQUENCE_EXPANSION_EXPRESSION___IS_UNIQUE_EXPRESSION_TYPE_DERIVATION__DIAGNOSTICCHAIN_MAP:
+ return isUniqueExpressionTypeDerivation((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ case AlfPackage.SEQUENCE_EXPANSION_EXPRESSION___IS_UNIQUE_EXPRESSION_LOWER_DERIVATION__DIAGNOSTICCHAIN_MAP:
+ return isUniqueExpressionLowerDerivation((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ case AlfPackage.SEQUENCE_EXPANSION_EXPRESSION___IS_UNIQUE_EXPRESSION_UPPER_DERIVATION__DIAGNOSTICCHAIN_MAP:
+ return isUniqueExpressionUpperDerivation((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ case AlfPackage.SEQUENCE_EXPANSION_EXPRESSION___IS_UNIQUE_EXPRESSION_EXPRESSION_ARGUMENT__DIAGNOSTICCHAIN_MAP:
+ return isUniqueExpressionExpressionArgument((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ case AlfPackage.SEQUENCE_EXPANSION_EXPRESSION___UPDATE_ASSIGNMENTS:
+ return updateAssignments();
+ case AlfPackage.SEQUENCE_EXPANSION_EXPRESSION___SEQUENCE_EXPANSION_EXPRESSION_OPERATION__DIAGNOSTICCHAIN_MAP:
+ return sequenceExpansionExpressionOperation((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ }
+ return super.eInvoke(operationID, arguments);
+ }
+
+} // SequenceExpansionExpressionImpl
diff --git a/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/SequenceExpressionListImpl.java b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/SequenceExpressionListImpl.java
new file mode 100644
index 00000000000..46996b29c7b
--- /dev/null
+++ b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/SequenceExpressionListImpl.java
@@ -0,0 +1,321 @@
+/**
+ */
+package org.eclipse.papyrus.uml.alf.impl;
+
+import java.lang.reflect.InvocationTargetException;
+
+import java.math.BigInteger;
+import java.util.Map;
+
+import org.eclipse.emf.common.util.BasicDiagnostic;
+import org.eclipse.emf.common.util.BasicEList;
+import org.eclipse.emf.common.util.Diagnostic;
+import org.eclipse.emf.common.util.DiagnosticChain;
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.common.util.WrappedException;
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.EOperation;
+import org.eclipse.emf.ecore.plugin.EcorePlugin;
+
+import org.eclipse.emf.ecore.util.EObjectValidator;
+
+import org.eclipse.papyrus.uml.alf.AlfPackage;
+import org.eclipse.papyrus.uml.alf.AssignedSource;
+import org.eclipse.papyrus.uml.alf.ElementReference;
+import org.eclipse.papyrus.uml.alf.Expression;
+import org.eclipse.papyrus.uml.alf.SequenceElements;
+import org.eclipse.papyrus.uml.alf.SequenceExpressionList;
+
+import org.eclipse.papyrus.uml.alf.SyntaxElement;
+import org.eclipse.papyrus.uml.alf.util.AlfValidator;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Sequence Expression List</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.uml.alf.impl.SequenceExpressionListImpl#getElement <em>Element</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class SequenceExpressionListImpl extends SequenceElementsImpl implements SequenceExpressionList {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected SequenceExpressionListImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return AlfPackage.eINSTANCE.getSequenceExpressionList();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<Expression> getElement() {
+ return (EList<Expression>) eGet(AlfPackage.eINSTANCE.getSequenceExpressionList_Element(), true);
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #conformsTo(org.eclipse.papyrus.uml.alf.ElementReference) <em>Conforms To</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #conformsTo(org.eclipse.papyrus.uml.alf.ElementReference)
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate CONFORMS_TO_ELEMENT_REFERENCE__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getSequenceExpressionList__ConformsTo__ElementReference()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean conformsTo(ElementReference type) {
+ try {
+ return (Boolean) CONFORMS_TO_ELEMENT_REFERENCE__EINVOCATION_DELEGATE.dynamicInvoke(this, new BasicEList.UnmodifiableEList<Object>(1, new Object[] { type }));
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #assignmentsBefore(org.eclipse.papyrus.uml.alf.SyntaxElement) <em>Assignments Before</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #assignmentsBefore(org.eclipse.papyrus.uml.alf.SyntaxElement)
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate ASSIGNMENTS_BEFORE_SYNTAX_ELEMENT__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getSequenceExpressionList__AssignmentsBefore__SyntaxElement()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<AssignedSource> assignmentsBefore(SyntaxElement element) {
+ try {
+ return (EList<AssignedSource>) ASSIGNMENTS_BEFORE_SYNTAX_ELEMENT__EINVOCATION_DELEGATE.dynamicInvoke(this, new BasicEList.UnmodifiableEList<Object>(1, new Object[] { element }));
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #assignmentsAfter() <em>Assignments After</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #assignmentsAfter()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate ASSIGNMENTS_AFTER__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getSequenceExpressionList__AssignmentsAfter()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<AssignedSource> assignmentsAfter() {
+ try {
+ return (EList<AssignedSource>) ASSIGNMENTS_AFTER__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #lower() <em>Lower</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #lower()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate LOWER__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getSequenceExpressionList__Lower()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public BigInteger lower() {
+ try {
+ return (BigInteger) LOWER__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #upper() <em>Upper</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #upper()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate UPPER__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getSequenceExpressionList__Upper()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public BigInteger upper() {
+ try {
+ return (BigInteger) UPPER__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean sequenceExpressionListLowerDerivation(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.SEQUENCE_EXPRESSION_LIST__SEQUENCE_EXPRESSION_LIST_LOWER_DERIVATION,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "sequenceExpressionListLowerDerivation", EObjectValidator.getObjectLabel(this, context) }),
+ new Object[] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean sequenceExpressionListUpperDerivation(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.SEQUENCE_EXPRESSION_LIST__SEQUENCE_EXPRESSION_LIST_UPPER_DERIVATION,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "sequenceExpressionListUpperDerivation", EObjectValidator.getObjectLabel(this, context) }),
+ new Object[] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public int eDerivedOperationID(int baseOperationID, Class<?> baseClass) {
+ if (baseClass == SyntaxElement.class) {
+ switch (baseOperationID) {
+ case AlfPackage.SYNTAX_ELEMENT___ASSIGNMENTS_BEFORE__SYNTAXELEMENT:
+ return AlfPackage.SEQUENCE_EXPRESSION_LIST___ASSIGNMENTS_BEFORE__SYNTAXELEMENT;
+ default:
+ return super.eDerivedOperationID(baseOperationID, baseClass);
+ }
+ }
+ if (baseClass == SequenceElements.class) {
+ switch (baseOperationID) {
+ case AlfPackage.SEQUENCE_ELEMENTS___CONFORMS_TO__ELEMENTREFERENCE:
+ return AlfPackage.SEQUENCE_EXPRESSION_LIST___CONFORMS_TO__ELEMENTREFERENCE;
+ case AlfPackage.SEQUENCE_ELEMENTS___ASSIGNMENTS_AFTER:
+ return AlfPackage.SEQUENCE_EXPRESSION_LIST___ASSIGNMENTS_AFTER;
+ case AlfPackage.SEQUENCE_ELEMENTS___UPPER:
+ return AlfPackage.SEQUENCE_EXPRESSION_LIST___UPPER;
+ case AlfPackage.SEQUENCE_ELEMENTS___LOWER:
+ return AlfPackage.SEQUENCE_EXPRESSION_LIST___LOWER;
+ default:
+ return super.eDerivedOperationID(baseOperationID, baseClass);
+ }
+ }
+ return super.eDerivedOperationID(baseOperationID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object eInvoke(int operationID, EList<?> arguments) throws InvocationTargetException {
+ switch (operationID) {
+ case AlfPackage.SEQUENCE_EXPRESSION_LIST___CONFORMS_TO__ELEMENTREFERENCE:
+ return conformsTo((ElementReference) arguments.get(0));
+ case AlfPackage.SEQUENCE_EXPRESSION_LIST___ASSIGNMENTS_BEFORE__SYNTAXELEMENT:
+ return assignmentsBefore((SyntaxElement) arguments.get(0));
+ case AlfPackage.SEQUENCE_EXPRESSION_LIST___ASSIGNMENTS_AFTER:
+ return assignmentsAfter();
+ case AlfPackage.SEQUENCE_EXPRESSION_LIST___LOWER:
+ return lower();
+ case AlfPackage.SEQUENCE_EXPRESSION_LIST___UPPER:
+ return upper();
+ case AlfPackage.SEQUENCE_EXPRESSION_LIST___SEQUENCE_EXPRESSION_LIST_LOWER_DERIVATION__DIAGNOSTICCHAIN_MAP:
+ return sequenceExpressionListLowerDerivation((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ case AlfPackage.SEQUENCE_EXPRESSION_LIST___SEQUENCE_EXPRESSION_LIST_UPPER_DERIVATION__DIAGNOSTICCHAIN_MAP:
+ return sequenceExpressionListUpperDerivation((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ }
+ return super.eInvoke(operationID, arguments);
+ }
+
+} // SequenceExpressionListImpl
diff --git a/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/SequenceOperationExpressionImpl.java b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/SequenceOperationExpressionImpl.java
new file mode 100644
index 00000000000..ceddba26570
--- /dev/null
+++ b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/SequenceOperationExpressionImpl.java
@@ -0,0 +1,718 @@
+/**
+ */
+package org.eclipse.papyrus.uml.alf.impl;
+
+import java.lang.reflect.InvocationTargetException;
+
+import java.util.Map;
+
+import org.eclipse.emf.common.util.BasicDiagnostic;
+import org.eclipse.emf.common.util.BasicEList;
+import org.eclipse.emf.common.util.Diagnostic;
+import org.eclipse.emf.common.util.DiagnosticChain;
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.common.util.WrappedException;
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.EOperation;
+import org.eclipse.emf.ecore.plugin.EcorePlugin;
+
+import org.eclipse.emf.ecore.util.EObjectValidator;
+
+import org.eclipse.papyrus.uml.alf.AlfPackage;
+import org.eclipse.papyrus.uml.alf.AssignedSource;
+import org.eclipse.papyrus.uml.alf.ElementReference;
+import org.eclipse.papyrus.uml.alf.Expression;
+import org.eclipse.papyrus.uml.alf.ExtentOrExpression;
+import org.eclipse.papyrus.uml.alf.FeatureReference;
+import org.eclipse.papyrus.uml.alf.InvocationExpression;
+import org.eclipse.papyrus.uml.alf.LeftHandSide;
+import org.eclipse.papyrus.uml.alf.QualifiedName;
+import org.eclipse.papyrus.uml.alf.SequenceOperationExpression;
+
+import org.eclipse.papyrus.uml.alf.util.AlfValidator;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Sequence Operation Expression</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.uml.alf.impl.SequenceOperationExpressionImpl#getPrimary <em>Primary</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.impl.SequenceOperationExpressionImpl#getOperation <em>Operation</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.impl.SequenceOperationExpressionImpl#isIsCollectionConversion <em>Is Collection Conversion</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.impl.SequenceOperationExpressionImpl#isIsBitStringConversion <em>Is Bit String Conversion</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.impl.SequenceOperationExpressionImpl#getLeftHandSide <em>Left Hand Side</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class SequenceOperationExpressionImpl extends InvocationExpressionImpl implements SequenceOperationExpression {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected SequenceOperationExpressionImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return AlfPackage.eINSTANCE.getSequenceOperationExpression();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public ExtentOrExpression getPrimary() {
+ return (ExtentOrExpression) eGet(AlfPackage.eINSTANCE.getSequenceOperationExpression_Primary(), true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setPrimary(ExtentOrExpression newPrimary) {
+ eSet(AlfPackage.eINSTANCE.getSequenceOperationExpression_Primary(), newPrimary);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public QualifiedName getOperation() {
+ return (QualifiedName) eGet(AlfPackage.eINSTANCE.getSequenceOperationExpression_Operation(), true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setOperation(QualifiedName newOperation) {
+ eSet(AlfPackage.eINSTANCE.getSequenceOperationExpression_Operation(), newOperation);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isIsCollectionConversion() {
+ return (Boolean) eGet(AlfPackage.eINSTANCE.getSequenceOperationExpression_IsCollectionConversion(), true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setIsCollectionConversion(boolean newIsCollectionConversion) {
+ eSet(AlfPackage.eINSTANCE.getSequenceOperationExpression_IsCollectionConversion(), newIsCollectionConversion);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isIsBitStringConversion() {
+ return (Boolean) eGet(AlfPackage.eINSTANCE.getSequenceOperationExpression_IsBitStringConversion(), true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setIsBitStringConversion(boolean newIsBitStringConversion) {
+ eSet(AlfPackage.eINSTANCE.getSequenceOperationExpression_IsBitStringConversion(), newIsBitStringConversion);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public LeftHandSide getLeftHandSide() {
+ return (LeftHandSide) eGet(AlfPackage.eINSTANCE.getSequenceOperationExpression_LeftHandSide(), true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setLeftHandSide(LeftHandSide newLeftHandSide) {
+ eSet(AlfPackage.eINSTANCE.getSequenceOperationExpression_LeftHandSide(), newLeftHandSide);
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #feature() <em>Feature</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #feature()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate FEATURE__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getSequenceOperationExpression__Feature()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public FeatureReference feature() {
+ try {
+ return (FeatureReference) FEATURE__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #referent() <em>Referent</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #referent()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate REFERENT__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getSequenceOperationExpression__Referent()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public ElementReference referent() {
+ try {
+ return (ElementReference) REFERENT__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #isAddTarget(org.eclipse.papyrus.uml.alf.Expression) <em>Is Add Target</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #isAddTarget(org.eclipse.papyrus.uml.alf.Expression)
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate IS_ADD_TARGET_EXPRESSION__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getSequenceOperationExpression__IsAddTarget__Expression()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isAddTarget(Expression targetExpression) {
+ try {
+ return (Boolean) IS_ADD_TARGET_EXPRESSION__EINVOCATION_DELEGATE.dynamicInvoke(this, new BasicEList.UnmodifiableEList<Object>(1, new Object[] { targetExpression }));
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #firstParameter() <em>First Parameter</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #firstParameter()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate FIRST_PARAMETER__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getSequenceOperationExpression__FirstParameter()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public ElementReference firstParameter() {
+ try {
+ return (ElementReference) FIRST_PARAMETER__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean sequenceOperationExpressionReferentDerivation(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.SEQUENCE_OPERATION_EXPRESSION__SEQUENCE_OPERATION_EXPRESSION_REFERENT_DERIVATION,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "sequenceOperationExpressionReferentDerivation", EObjectValidator.getObjectLabel(this, context) }),
+ new Object[] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean sequenceOperationExpressionFeatureDerivation(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.SEQUENCE_OPERATION_EXPRESSION__SEQUENCE_OPERATION_EXPRESSION_FEATURE_DERIVATION,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "sequenceOperationExpressionFeatureDerivation", EObjectValidator.getObjectLabel(this, context) }),
+ new Object[] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * The cached validation expression for the '{@link #sequenceOperationExpressionOperationReferent(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Sequence Operation Expression Operation Referent</em>}' invariant operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #sequenceOperationExpressionOperationReferent(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ * @ordered
+ */
+ protected static final String SEQUENCE_OPERATION_EXPRESSION_OPERATION_REFERENT_DIAGNOSTIC_CHAIN_MAP__EEXPRESSION = "\n" +
+ " let parameter = self.firstParameter() in\n" +
+ " parameter <> null and\n" +
+ " let direction = parameter.direction() in\n" +
+ " let expression = self.primary.expression in\n" +
+ " (direction = 'in' or direction = 'inout') and\n" +
+ " parameter.lower() = 0 and parameter.upper() = -1 and\n" +
+ " expression <> null implies parameter.isAssignableFrom(expression)";
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean sequenceOperationExpressionOperationReferent(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return AlfValidator.validate
+ (AlfPackage.eINSTANCE.getSequenceOperationExpression(),
+ this,
+ diagnostics,
+ context,
+ "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot",
+ AlfPackage.eINSTANCE.getSequenceOperationExpression__SequenceOperationExpressionOperationReferent__DiagnosticChain_Map(),
+ SEQUENCE_OPERATION_EXPRESSION_OPERATION_REFERENT_DIAGNOSTIC_CHAIN_MAP__EEXPRESSION,
+ Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.SEQUENCE_OPERATION_EXPRESSION__SEQUENCE_OPERATION_EXPRESSION_OPERATION_REFERENT);
+ }
+
+ /**
+ * The cached validation expression for the '{@link #sequenceOperationExpressionTargetCompatibility(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Sequence Operation Expression Target Compatibility</em>}' invariant operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #sequenceOperationExpressionTargetCompatibility(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ * @ordered
+ */
+ protected static final String SEQUENCE_OPERATION_EXPRESSION_TARGET_COMPATIBILITY_DIAGNOSTIC_CHAIN_MAP__EEXPRESSION = "\n" +
+ " let expression = self.primary.expression in\n" +
+ " let parameter = self.firstParameter() in\n" +
+ " expression <> null and parameter <> null and \n" +
+ " parameter.direction() = 'inout' implies\n" +
+ " let lhs = self.leftHandSide in\n" +
+ " lhs <> null and \n" +
+ " let assignedName = lhs.assignedName() in\n" +
+ " (assignedName <> null implies \n" +
+ " self.assignmentBefore->exists(name = assignedName)\n" +
+ " ) and\n" +
+ " let expressionType = self.type in\n" +
+ " let type = parameter.type() in\n" +
+ " type <> null and type.equals(expressionType) or\n" +
+ " type = null and expressionType = null";
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean sequenceOperationExpressionTargetCompatibility(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return AlfValidator.validate
+ (AlfPackage.eINSTANCE.getSequenceOperationExpression(),
+ this,
+ diagnostics,
+ context,
+ "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot",
+ AlfPackage.eINSTANCE.getSequenceOperationExpression__SequenceOperationExpressionTargetCompatibility__DiagnosticChain_Map(),
+ SEQUENCE_OPERATION_EXPRESSION_TARGET_COMPATIBILITY_DIAGNOSTIC_CHAIN_MAP__EEXPRESSION,
+ Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.SEQUENCE_OPERATION_EXPRESSION__SEQUENCE_OPERATION_EXPRESSION_TARGET_COMPATIBILITY);
+ }
+
+ /**
+ * The cached validation expression for the '{@link #sequenceOperationExpressionArgumentCompatibility(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Sequence Operation Expression Argument Compatibility</em>}' invariant operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #sequenceOperationExpressionArgumentCompatibility(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ * @ordered
+ */
+ protected static final String SEQUENCE_OPERATION_EXPRESSION_ARGUMENT_COMPATIBILITY_DIAGNOSTIC_CHAIN_MAP__EEXPRESSION = "\n" +
+ " self.referent <> null implies\n" +
+ " (self.tuple.input->forAll(input | self.parameterIsAssignableFrom(input)) and\n" +
+ " self.tuple.output->forAll(output | self.parameterIsAssignableTo(output))\n" +
+ " )";
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean sequenceOperationExpressionArgumentCompatibility(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return AlfValidator.validate
+ (AlfPackage.eINSTANCE.getSequenceOperationExpression(),
+ this,
+ diagnostics,
+ context,
+ "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot",
+ AlfPackage.eINSTANCE.getSequenceOperationExpression__SequenceOperationExpressionArgumentCompatibility__DiagnosticChain_Map(),
+ SEQUENCE_OPERATION_EXPRESSION_ARGUMENT_COMPATIBILITY_DIAGNOSTIC_CHAIN_MAP__EEXPRESSION,
+ Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.SEQUENCE_OPERATION_EXPRESSION__SEQUENCE_OPERATION_EXPRESSION_ARGUMENT_COMPATIBILITY);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean sequenceOperationExpressionAssignmentsBefore(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.SEQUENCE_OPERATION_EXPRESSION__SEQUENCE_OPERATION_EXPRESSION_ASSIGNMENTS_BEFORE,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "sequenceOperationExpressionAssignmentsBefore", EObjectValidator.getObjectLabel(this, context) }),
+ new Object[] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean sequenceOperationExpressionIsCollectionConversionDerivation(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.SEQUENCE_OPERATION_EXPRESSION__SEQUENCE_OPERATION_EXPRESSION_IS_COLLECTION_CONVERSION_DERIVATION,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "sequenceOperationExpressionIsCollectionConversionDerivation", EObjectValidator.getObjectLabel(this, context) }),
+ new Object[] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean sequenceOperationExpressionIsBitStringConversionDerivation(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.SEQUENCE_OPERATION_EXPRESSION__SEQUENCE_OPERATION_EXPRESSION_IS_BIT_STRING_CONVERSION_DERIVATION,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "sequenceOperationExpressionIsBitStringConversionDerivation", EObjectValidator.getObjectLabel(this, context) }),
+ new Object[] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * The cached validation expression for the '{@link #sequenceOperationExpressionAssignmentsAfter(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Sequence Operation Expression Assignments After</em>}' invariant operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #sequenceOperationExpressionAssignmentsAfter(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ * @ordered
+ */
+ protected static final String SEQUENCE_OPERATION_EXPRESSION_ASSIGNMENTS_AFTER_DIAGNOSTIC_CHAIN_MAP__EEXPRESSION = "\n" +
+ " let expression = self.primary.expression in\n" +
+ " expression <> null implies\n" +
+ " expression.newAssignments().name->\n" +
+ " excludesAll(self.tuple.newAssignments().name)";
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean sequenceOperationExpressionAssignmentsAfter(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return AlfValidator.validate
+ (AlfPackage.eINSTANCE.getSequenceOperationExpression(),
+ this,
+ diagnostics,
+ context,
+ "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot",
+ AlfPackage.eINSTANCE.getSequenceOperationExpression__SequenceOperationExpressionAssignmentsAfter__DiagnosticChain_Map(),
+ SEQUENCE_OPERATION_EXPRESSION_ASSIGNMENTS_AFTER_DIAGNOSTIC_CHAIN_MAP__EEXPRESSION,
+ Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.SEQUENCE_OPERATION_EXPRESSION__SEQUENCE_OPERATION_EXPRESSION_ASSIGNMENTS_AFTER);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean sequenceOperationExpressionLeftHandSideDerivation(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.SEQUENCE_OPERATION_EXPRESSION__SEQUENCE_OPERATION_EXPRESSION_LEFT_HAND_SIDE_DERIVATION,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "sequenceOperationExpressionLeftHandSideDerivation", EObjectValidator.getObjectLabel(this, context) }),
+ new Object[] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #updateAssignments() <em>Update Assignments</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #updateAssignments()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate UPDATE_ASSIGNMENTS__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getSequenceOperationExpression__UpdateAssignments()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<AssignedSource> updateAssignments() {
+ try {
+ return (EList<AssignedSource>) UPDATE_ASSIGNMENTS__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #parameterElements() <em>Parameter Elements</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #parameterElements()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate PARAMETER_ELEMENTS__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getSequenceOperationExpression__ParameterElements()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<ElementReference> parameterElements() {
+ try {
+ return (EList<ElementReference>) PARAMETER_ELEMENTS__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public int eDerivedOperationID(int baseOperationID, Class<?> baseClass) {
+ if (baseClass == Expression.class) {
+ switch (baseOperationID) {
+ case AlfPackage.EXPRESSION___UPDATE_ASSIGNMENTS:
+ return AlfPackage.SEQUENCE_OPERATION_EXPRESSION___UPDATE_ASSIGNMENTS;
+ case AlfPackage.EXPRESSION___IS_ADD_TARGET__EXPRESSION:
+ return AlfPackage.SEQUENCE_OPERATION_EXPRESSION___IS_ADD_TARGET__EXPRESSION;
+ default:
+ return super.eDerivedOperationID(baseOperationID, baseClass);
+ }
+ }
+ if (baseClass == InvocationExpression.class) {
+ switch (baseOperationID) {
+ case AlfPackage.INVOCATION_EXPRESSION___FEATURE:
+ return AlfPackage.SEQUENCE_OPERATION_EXPRESSION___FEATURE;
+ case AlfPackage.INVOCATION_EXPRESSION___REFERENT:
+ return AlfPackage.SEQUENCE_OPERATION_EXPRESSION___REFERENT;
+ case AlfPackage.INVOCATION_EXPRESSION___PARAMETER_ELEMENTS:
+ return AlfPackage.SEQUENCE_OPERATION_EXPRESSION___PARAMETER_ELEMENTS;
+ case AlfPackage.INVOCATION_EXPRESSION___UPDATE_ASSIGNMENTS:
+ return AlfPackage.SEQUENCE_OPERATION_EXPRESSION___UPDATE_ASSIGNMENTS;
+ default:
+ return super.eDerivedOperationID(baseOperationID, baseClass);
+ }
+ }
+ return super.eDerivedOperationID(baseOperationID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object eInvoke(int operationID, EList<?> arguments) throws InvocationTargetException {
+ switch (operationID) {
+ case AlfPackage.SEQUENCE_OPERATION_EXPRESSION___FEATURE:
+ return feature();
+ case AlfPackage.SEQUENCE_OPERATION_EXPRESSION___REFERENT:
+ return referent();
+ case AlfPackage.SEQUENCE_OPERATION_EXPRESSION___IS_ADD_TARGET__EXPRESSION:
+ return isAddTarget((Expression) arguments.get(0));
+ case AlfPackage.SEQUENCE_OPERATION_EXPRESSION___FIRST_PARAMETER:
+ return firstParameter();
+ case AlfPackage.SEQUENCE_OPERATION_EXPRESSION___SEQUENCE_OPERATION_EXPRESSION_REFERENT_DERIVATION__DIAGNOSTICCHAIN_MAP:
+ return sequenceOperationExpressionReferentDerivation((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ case AlfPackage.SEQUENCE_OPERATION_EXPRESSION___SEQUENCE_OPERATION_EXPRESSION_FEATURE_DERIVATION__DIAGNOSTICCHAIN_MAP:
+ return sequenceOperationExpressionFeatureDerivation((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ case AlfPackage.SEQUENCE_OPERATION_EXPRESSION___SEQUENCE_OPERATION_EXPRESSION_OPERATION_REFERENT__DIAGNOSTICCHAIN_MAP:
+ return sequenceOperationExpressionOperationReferent((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ case AlfPackage.SEQUENCE_OPERATION_EXPRESSION___SEQUENCE_OPERATION_EXPRESSION_TARGET_COMPATIBILITY__DIAGNOSTICCHAIN_MAP:
+ return sequenceOperationExpressionTargetCompatibility((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ case AlfPackage.SEQUENCE_OPERATION_EXPRESSION___SEQUENCE_OPERATION_EXPRESSION_ARGUMENT_COMPATIBILITY__DIAGNOSTICCHAIN_MAP:
+ return sequenceOperationExpressionArgumentCompatibility((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ case AlfPackage.SEQUENCE_OPERATION_EXPRESSION___SEQUENCE_OPERATION_EXPRESSION_ASSIGNMENTS_BEFORE__DIAGNOSTICCHAIN_MAP:
+ return sequenceOperationExpressionAssignmentsBefore((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ case AlfPackage.SEQUENCE_OPERATION_EXPRESSION___SEQUENCE_OPERATION_EXPRESSION_IS_COLLECTION_CONVERSION_DERIVATION__DIAGNOSTICCHAIN_MAP:
+ return sequenceOperationExpressionIsCollectionConversionDerivation((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ case AlfPackage.SEQUENCE_OPERATION_EXPRESSION___SEQUENCE_OPERATION_EXPRESSION_IS_BIT_STRING_CONVERSION_DERIVATION__DIAGNOSTICCHAIN_MAP:
+ return sequenceOperationExpressionIsBitStringConversionDerivation((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ case AlfPackage.SEQUENCE_OPERATION_EXPRESSION___SEQUENCE_OPERATION_EXPRESSION_ASSIGNMENTS_AFTER__DIAGNOSTICCHAIN_MAP:
+ return sequenceOperationExpressionAssignmentsAfter((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ case AlfPackage.SEQUENCE_OPERATION_EXPRESSION___SEQUENCE_OPERATION_EXPRESSION_LEFT_HAND_SIDE_DERIVATION__DIAGNOSTICCHAIN_MAP:
+ return sequenceOperationExpressionLeftHandSideDerivation((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ case AlfPackage.SEQUENCE_OPERATION_EXPRESSION___UPDATE_ASSIGNMENTS:
+ return updateAssignments();
+ case AlfPackage.SEQUENCE_OPERATION_EXPRESSION___PARAMETER_ELEMENTS:
+ return parameterElements();
+ }
+ return super.eInvoke(operationID, arguments);
+ }
+
+} // SequenceOperationExpressionImpl
diff --git a/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/SequenceRangeImpl.java b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/SequenceRangeImpl.java
new file mode 100644
index 00000000000..ab6e1692d24
--- /dev/null
+++ b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/SequenceRangeImpl.java
@@ -0,0 +1,356 @@
+/**
+ */
+package org.eclipse.papyrus.uml.alf.impl;
+
+import java.lang.reflect.InvocationTargetException;
+
+import java.math.BigInteger;
+import java.util.Map;
+
+import org.eclipse.emf.common.util.BasicDiagnostic;
+import org.eclipse.emf.common.util.BasicEList;
+import org.eclipse.emf.common.util.Diagnostic;
+import org.eclipse.emf.common.util.DiagnosticChain;
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.common.util.WrappedException;
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.EOperation;
+import org.eclipse.emf.ecore.plugin.EcorePlugin;
+
+import org.eclipse.emf.ecore.util.EObjectValidator;
+
+import org.eclipse.papyrus.uml.alf.AlfPackage;
+import org.eclipse.papyrus.uml.alf.AssignedSource;
+import org.eclipse.papyrus.uml.alf.ElementReference;
+import org.eclipse.papyrus.uml.alf.Expression;
+import org.eclipse.papyrus.uml.alf.SequenceRange;
+
+import org.eclipse.papyrus.uml.alf.util.AlfValidator;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Sequence Range</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.uml.alf.impl.SequenceRangeImpl#getRangeLower <em>Range Lower</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.impl.SequenceRangeImpl#getRangeUpper <em>Range Upper</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class SequenceRangeImpl extends SequenceElementsImpl implements SequenceRange {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected SequenceRangeImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return AlfPackage.eINSTANCE.getSequenceRange();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public Expression getRangeLower() {
+ return (Expression) eGet(AlfPackage.eINSTANCE.getSequenceRange_RangeLower(), true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setRangeLower(Expression newRangeLower) {
+ eSet(AlfPackage.eINSTANCE.getSequenceRange_RangeLower(), newRangeLower);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public Expression getRangeUpper() {
+ return (Expression) eGet(AlfPackage.eINSTANCE.getSequenceRange_RangeUpper(), true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setRangeUpper(Expression newRangeUpper) {
+ eSet(AlfPackage.eINSTANCE.getSequenceRange_RangeUpper(), newRangeUpper);
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #conformsTo(org.eclipse.papyrus.uml.alf.ElementReference) <em>Conforms To</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #conformsTo(org.eclipse.papyrus.uml.alf.ElementReference)
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate CONFORMS_TO_ELEMENT_REFERENCE__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getSequenceRange__ConformsTo__ElementReference()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean conformsTo(ElementReference type) {
+ try {
+ return (Boolean) CONFORMS_TO_ELEMENT_REFERENCE__EINVOCATION_DELEGATE.dynamicInvoke(this, new BasicEList.UnmodifiableEList<Object>(1, new Object[] { type }));
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #assignmentsAfter() <em>Assignments After</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #assignmentsAfter()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate ASSIGNMENTS_AFTER__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getSequenceRange__AssignmentsAfter()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<AssignedSource> assignmentsAfter() {
+ try {
+ return (EList<AssignedSource>) ASSIGNMENTS_AFTER__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #upper() <em>Upper</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #upper()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate UPPER__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getSequenceRange__Upper()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public BigInteger upper() {
+ try {
+ return (BigInteger) UPPER__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #lower() <em>Lower</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #lower()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate LOWER__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getSequenceRange__Lower()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public BigInteger lower() {
+ try {
+ return (BigInteger) LOWER__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean sequenceRangeLowerDerivation(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.SEQUENCE_RANGE__SEQUENCE_RANGE_LOWER_DERIVATION,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "sequenceRangeLowerDerivation", EObjectValidator.getObjectLabel(this, context) }),
+ new Object[] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean sequenceRangeUpperDerivation(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.SEQUENCE_RANGE__SEQUENCE_RANGE_UPPER_DERIVATION,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "sequenceRangeUpperDerivation", EObjectValidator.getObjectLabel(this, context) }),
+ new Object[] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * The cached validation expression for the '{@link #sequenceRangeExpressionMultiplicity(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Sequence Range Expression Multiplicity</em>}' invariant operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #sequenceRangeExpressionMultiplicity(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ * @ordered
+ */
+ protected static final String SEQUENCE_RANGE_EXPRESSION_MULTIPLICITY_DIAGNOSTIC_CHAIN_MAP__EEXPRESSION = "self.rangeLower.upper = 1 and self.rangeUpper.upper = 1";
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean sequenceRangeExpressionMultiplicity(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return AlfValidator.validate
+ (AlfPackage.eINSTANCE.getSequenceRange(),
+ this,
+ diagnostics,
+ context,
+ "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot",
+ AlfPackage.eINSTANCE.getSequenceRange__SequenceRangeExpressionMultiplicity__DiagnosticChain_Map(),
+ SEQUENCE_RANGE_EXPRESSION_MULTIPLICITY_DIAGNOSTIC_CHAIN_MAP__EEXPRESSION,
+ Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.SEQUENCE_RANGE__SEQUENCE_RANGE_EXPRESSION_MULTIPLICITY);
+ }
+
+ /**
+ * The cached validation expression for the '{@link #sequenceRangeAssignments(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Sequence Range Assignments</em>}' invariant operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #sequenceRangeAssignments(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ * @ordered
+ */
+ protected static final String SEQUENCE_RANGE_ASSIGNMENTS_DIAGNOSTIC_CHAIN_MAP__EEXPRESSION = "\n" +
+ " self.rangeLower.newAssignments().name->\n" +
+ " excludesAll(self.rangeUpper.newAssignments().name)";
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean sequenceRangeAssignments(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return AlfValidator.validate
+ (AlfPackage.eINSTANCE.getSequenceRange(),
+ this,
+ diagnostics,
+ context,
+ "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot",
+ AlfPackage.eINSTANCE.getSequenceRange__SequenceRangeAssignments__DiagnosticChain_Map(),
+ SEQUENCE_RANGE_ASSIGNMENTS_DIAGNOSTIC_CHAIN_MAP__EEXPRESSION,
+ Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.SEQUENCE_RANGE__SEQUENCE_RANGE_ASSIGNMENTS);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object eInvoke(int operationID, EList<?> arguments) throws InvocationTargetException {
+ switch (operationID) {
+ case AlfPackage.SEQUENCE_RANGE___CONFORMS_TO__ELEMENTREFERENCE:
+ return conformsTo((ElementReference) arguments.get(0));
+ case AlfPackage.SEQUENCE_RANGE___ASSIGNMENTS_AFTER:
+ return assignmentsAfter();
+ case AlfPackage.SEQUENCE_RANGE___UPPER:
+ return upper();
+ case AlfPackage.SEQUENCE_RANGE___LOWER:
+ return lower();
+ case AlfPackage.SEQUENCE_RANGE___SEQUENCE_RANGE_LOWER_DERIVATION__DIAGNOSTICCHAIN_MAP:
+ return sequenceRangeLowerDerivation((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ case AlfPackage.SEQUENCE_RANGE___SEQUENCE_RANGE_UPPER_DERIVATION__DIAGNOSTICCHAIN_MAP:
+ return sequenceRangeUpperDerivation((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ case AlfPackage.SEQUENCE_RANGE___SEQUENCE_RANGE_EXPRESSION_MULTIPLICITY__DIAGNOSTICCHAIN_MAP:
+ return sequenceRangeExpressionMultiplicity((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ case AlfPackage.SEQUENCE_RANGE___SEQUENCE_RANGE_ASSIGNMENTS__DIAGNOSTICCHAIN_MAP:
+ return sequenceRangeAssignments((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ }
+ return super.eInvoke(operationID, arguments);
+ }
+
+} // SequenceRangeImpl
diff --git a/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/SequenceReductionExpressionImpl.java b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/SequenceReductionExpressionImpl.java
new file mode 100644
index 00000000000..b945b5dfd58
--- /dev/null
+++ b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/SequenceReductionExpressionImpl.java
@@ -0,0 +1,527 @@
+/**
+ */
+package org.eclipse.papyrus.uml.alf.impl;
+
+import java.lang.reflect.InvocationTargetException;
+
+import java.math.BigInteger;
+import java.util.Map;
+
+import org.eclipse.emf.common.util.BasicDiagnostic;
+import org.eclipse.emf.common.util.Diagnostic;
+import org.eclipse.emf.common.util.DiagnosticChain;
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.common.util.WrappedException;
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.EOperation;
+import org.eclipse.emf.ecore.plugin.EcorePlugin;
+
+import org.eclipse.emf.ecore.util.EObjectValidator;
+
+import org.eclipse.papyrus.uml.alf.AlfPackage;
+import org.eclipse.papyrus.uml.alf.AssignableElement;
+import org.eclipse.papyrus.uml.alf.AssignedSource;
+import org.eclipse.papyrus.uml.alf.ElementReference;
+import org.eclipse.papyrus.uml.alf.Expression;
+import org.eclipse.papyrus.uml.alf.ExtentOrExpression;
+import org.eclipse.papyrus.uml.alf.QualifiedName;
+import org.eclipse.papyrus.uml.alf.SequenceReductionExpression;
+
+import org.eclipse.papyrus.uml.alf.util.AlfValidator;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Sequence Reduction Expression</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.uml.alf.impl.SequenceReductionExpressionImpl#getReferent <em>Referent</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.impl.SequenceReductionExpressionImpl#isIsOrdered <em>Is Ordered</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.impl.SequenceReductionExpressionImpl#getPrimary <em>Primary</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.impl.SequenceReductionExpressionImpl#getBehaviorName <em>Behavior Name</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class SequenceReductionExpressionImpl extends ExpressionImpl implements SequenceReductionExpression {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected SequenceReductionExpressionImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return AlfPackage.eINSTANCE.getSequenceReductionExpression();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public ElementReference getReferent() {
+ return (ElementReference) eGet(AlfPackage.eINSTANCE.getSequenceReductionExpression_Referent(), true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setReferent(ElementReference newReferent) {
+ eSet(AlfPackage.eINSTANCE.getSequenceReductionExpression_Referent(), newReferent);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isIsOrdered() {
+ return (Boolean) eGet(AlfPackage.eINSTANCE.getSequenceReductionExpression_IsOrdered(), true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setIsOrdered(boolean newIsOrdered) {
+ eSet(AlfPackage.eINSTANCE.getSequenceReductionExpression_IsOrdered(), newIsOrdered);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public ExtentOrExpression getPrimary() {
+ return (ExtentOrExpression) eGet(AlfPackage.eINSTANCE.getSequenceReductionExpression_Primary(), true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setPrimary(ExtentOrExpression newPrimary) {
+ eSet(AlfPackage.eINSTANCE.getSequenceReductionExpression_Primary(), newPrimary);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public QualifiedName getBehaviorName() {
+ return (QualifiedName) eGet(AlfPackage.eINSTANCE.getSequenceReductionExpression_BehaviorName(), true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setBehaviorName(QualifiedName newBehaviorName) {
+ eSet(AlfPackage.eINSTANCE.getSequenceReductionExpression_BehaviorName(), newBehaviorName);
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #type() <em>Type</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #type()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate TYPE__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getSequenceReductionExpression__Type()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public ElementReference type() {
+ try {
+ return (ElementReference) TYPE__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #upper() <em>Upper</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #upper()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate UPPER__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getSequenceReductionExpression__Upper()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public BigInteger upper() {
+ try {
+ return (BigInteger) UPPER__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #lower() <em>Lower</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #lower()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate LOWER__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getSequenceReductionExpression__Lower()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public BigInteger lower() {
+ try {
+ return (BigInteger) LOWER__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean sequenceReductionExpressionReferentDerivation(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.SEQUENCE_REDUCTION_EXPRESSION__SEQUENCE_REDUCTION_EXPRESSION_REFERENT_DERIVATION,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "sequenceReductionExpressionReferentDerivation", EObjectValidator.getObjectLabel(this, context) }),
+ new Object[] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean sequenceReductionExpressionTypeDerivation(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.SEQUENCE_REDUCTION_EXPRESSION__SEQUENCE_REDUCTION_EXPRESSION_TYPE_DERIVATION,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "sequenceReductionExpressionTypeDerivation", EObjectValidator.getObjectLabel(this, context) }),
+ new Object[] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean sequenceReductionExpressionUpperDerivation(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.SEQUENCE_REDUCTION_EXPRESSION__SEQUENCE_REDUCTION_EXPRESSION_UPPER_DERIVATION,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "sequenceReductionExpressionUpperDerivation", EObjectValidator.getObjectLabel(this, context) }),
+ new Object[] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean sequenceReductionExpressionLowerDerivation(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.SEQUENCE_REDUCTION_EXPRESSION__SEQUENCE_REDUCTION_EXPRESSION_LOWER_DERIVATION,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "sequenceReductionExpressionLowerDerivation", EObjectValidator.getObjectLabel(this, context) }),
+ new Object[] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * The cached validation expression for the '{@link #sequenceReductionExpressionBehavior(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Sequence Reduction Expression Behavior</em>}' invariant operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #sequenceReductionExpressionBehavior(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ * @ordered
+ */
+ protected static final String SEQUENCE_REDUCTION_EXPRESSION_BEHAVIOR_DIAGNOSTIC_CHAIN_MAP__EEXPRESSION = "\n" +
+ " let referent = self.referent in\n" +
+ " referent <> null and not referent.isTemplate()";
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean sequenceReductionExpressionBehavior(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return AlfValidator.validate
+ (AlfPackage.eINSTANCE.getSequenceReductionExpression(),
+ this,
+ diagnostics,
+ context,
+ "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot",
+ AlfPackage.eINSTANCE.getSequenceReductionExpression__SequenceReductionExpressionBehavior__DiagnosticChain_Map(),
+ SEQUENCE_REDUCTION_EXPRESSION_BEHAVIOR_DIAGNOSTIC_CHAIN_MAP__EEXPRESSION,
+ Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.SEQUENCE_REDUCTION_EXPRESSION__SEQUENCE_REDUCTION_EXPRESSION_BEHAVIOR);
+ }
+
+ /**
+ * The cached validation expression for the '{@link #sequenceReductionExpressionBehaviorParameters(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Sequence Reduction Expression Behavior Parameters</em>}' invariant operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #sequenceReductionExpressionBehaviorParameters(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ * @ordered
+ */
+ protected static final String SEQUENCE_REDUCTION_EXPRESSION_BEHAVIOR_PARAMETERS_DIAGNOSTIC_CHAIN_MAP__EEXPRESSION = "\n" +
+ " referent <> null implies\n" +
+ " let parameters = referent.parameters() in\n" +
+ " let returnParameter = referent.returnParameter() in\n" +
+ " let type = self.type in\n" +
+ " parameters->size() = 2 and returnParameter <> null and\n" +
+ " parameters->forAll(direction() = 'in') and\n" +
+ " parameters->including(returnParameter)->forAll(\n" +
+ " lower() = 1 and upper() = 1 and\n" +
+ " let parameterType = type() in\n" +
+ " parameterType = null and type = null or\n" +
+ " parameterType <> null and parameterType.equals(type) \n" +
+ " )";
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean sequenceReductionExpressionBehaviorParameters(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return AlfValidator.validate
+ (AlfPackage.eINSTANCE.getSequenceReductionExpression(),
+ this,
+ diagnostics,
+ context,
+ "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot",
+ AlfPackage.eINSTANCE.getSequenceReductionExpression__SequenceReductionExpressionBehaviorParameters__DiagnosticChain_Map(),
+ SEQUENCE_REDUCTION_EXPRESSION_BEHAVIOR_PARAMETERS_DIAGNOSTIC_CHAIN_MAP__EEXPRESSION,
+ Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.SEQUENCE_REDUCTION_EXPRESSION__SEQUENCE_REDUCTION_EXPRESSION_BEHAVIOR_PARAMETERS);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean sequenceReductionExpressionAssignmentsBefore(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.SEQUENCE_REDUCTION_EXPRESSION__SEQUENCE_REDUCTION_EXPRESSION_ASSIGNMENTS_BEFORE,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "sequenceReductionExpressionAssignmentsBefore", EObjectValidator.getObjectLabel(this, context) }),
+ new Object[] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #updateAssignments() <em>Update Assignments</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #updateAssignments()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate UPDATE_ASSIGNMENTS__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getSequenceReductionExpression__UpdateAssignments()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<AssignedSource> updateAssignments() {
+ try {
+ return (EList<AssignedSource>) UPDATE_ASSIGNMENTS__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public int eDerivedOperationID(int baseOperationID, Class<?> baseClass) {
+ if (baseClass == AssignableElement.class) {
+ switch (baseOperationID) {
+ case AlfPackage.ASSIGNABLE_ELEMENT___TYPE:
+ return AlfPackage.SEQUENCE_REDUCTION_EXPRESSION___TYPE;
+ case AlfPackage.ASSIGNABLE_ELEMENT___LOWER:
+ return AlfPackage.SEQUENCE_REDUCTION_EXPRESSION___LOWER;
+ case AlfPackage.ASSIGNABLE_ELEMENT___UPPER:
+ return AlfPackage.SEQUENCE_REDUCTION_EXPRESSION___UPPER;
+ default:
+ return super.eDerivedOperationID(baseOperationID, baseClass);
+ }
+ }
+ if (baseClass == Expression.class) {
+ switch (baseOperationID) {
+ case AlfPackage.EXPRESSION___UPDATE_ASSIGNMENTS:
+ return AlfPackage.SEQUENCE_REDUCTION_EXPRESSION___UPDATE_ASSIGNMENTS;
+ default:
+ return super.eDerivedOperationID(baseOperationID, baseClass);
+ }
+ }
+ return super.eDerivedOperationID(baseOperationID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object eInvoke(int operationID, EList<?> arguments) throws InvocationTargetException {
+ switch (operationID) {
+ case AlfPackage.SEQUENCE_REDUCTION_EXPRESSION___TYPE:
+ return type();
+ case AlfPackage.SEQUENCE_REDUCTION_EXPRESSION___UPPER:
+ return upper();
+ case AlfPackage.SEQUENCE_REDUCTION_EXPRESSION___LOWER:
+ return lower();
+ case AlfPackage.SEQUENCE_REDUCTION_EXPRESSION___SEQUENCE_REDUCTION_EXPRESSION_REFERENT_DERIVATION__DIAGNOSTICCHAIN_MAP:
+ return sequenceReductionExpressionReferentDerivation((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ case AlfPackage.SEQUENCE_REDUCTION_EXPRESSION___SEQUENCE_REDUCTION_EXPRESSION_TYPE_DERIVATION__DIAGNOSTICCHAIN_MAP:
+ return sequenceReductionExpressionTypeDerivation((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ case AlfPackage.SEQUENCE_REDUCTION_EXPRESSION___SEQUENCE_REDUCTION_EXPRESSION_UPPER_DERIVATION__DIAGNOSTICCHAIN_MAP:
+ return sequenceReductionExpressionUpperDerivation((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ case AlfPackage.SEQUENCE_REDUCTION_EXPRESSION___SEQUENCE_REDUCTION_EXPRESSION_LOWER_DERIVATION__DIAGNOSTICCHAIN_MAP:
+ return sequenceReductionExpressionLowerDerivation((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ case AlfPackage.SEQUENCE_REDUCTION_EXPRESSION___SEQUENCE_REDUCTION_EXPRESSION_BEHAVIOR__DIAGNOSTICCHAIN_MAP:
+ return sequenceReductionExpressionBehavior((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ case AlfPackage.SEQUENCE_REDUCTION_EXPRESSION___SEQUENCE_REDUCTION_EXPRESSION_BEHAVIOR_PARAMETERS__DIAGNOSTICCHAIN_MAP:
+ return sequenceReductionExpressionBehaviorParameters((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ case AlfPackage.SEQUENCE_REDUCTION_EXPRESSION___SEQUENCE_REDUCTION_EXPRESSION_ASSIGNMENTS_BEFORE__DIAGNOSTICCHAIN_MAP:
+ return sequenceReductionExpressionAssignmentsBefore((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ case AlfPackage.SEQUENCE_REDUCTION_EXPRESSION___UPDATE_ASSIGNMENTS:
+ return updateAssignments();
+ }
+ return super.eInvoke(operationID, arguments);
+ }
+
+} // SequenceReductionExpressionImpl
diff --git a/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/ShiftExpressionImpl.java b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/ShiftExpressionImpl.java
new file mode 100644
index 00000000000..5afa5d2043a
--- /dev/null
+++ b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/ShiftExpressionImpl.java
@@ -0,0 +1,321 @@
+/**
+ */
+package org.eclipse.papyrus.uml.alf.impl;
+
+import java.lang.reflect.InvocationTargetException;
+import java.math.BigInteger;
+import java.util.Map;
+import org.eclipse.emf.common.util.BasicDiagnostic;
+import org.eclipse.emf.common.util.Diagnostic;
+import org.eclipse.emf.common.util.DiagnosticChain;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.common.util.WrappedException;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EOperation;
+import org.eclipse.emf.ecore.plugin.EcorePlugin;
+import org.eclipse.emf.ecore.util.EObjectValidator;
+import org.eclipse.papyrus.uml.alf.AlfPackage;
+import org.eclipse.papyrus.uml.alf.ElementReference;
+import org.eclipse.papyrus.uml.alf.ShiftExpression;
+import org.eclipse.papyrus.uml.alf.util.AlfValidator;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Shift Expression</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.uml.alf.impl.ShiftExpressionImpl#isIsBitStringConversion <em>Is Bit String Conversion</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class ShiftExpressionImpl extends BinaryExpressionImpl implements ShiftExpression {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected ShiftExpressionImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return AlfPackage.eINSTANCE.getShiftExpression();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isIsBitStringConversion() {
+ return (Boolean) eGet(AlfPackage.eINSTANCE.getShiftExpression_IsBitStringConversion(), true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setIsBitStringConversion(boolean newIsBitStringConversion) {
+ eSet(AlfPackage.eINSTANCE.getShiftExpression_IsBitStringConversion(), newIsBitStringConversion);
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #type() <em>Type</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #type()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate TYPE__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getShiftExpression__Type()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public ElementReference type() {
+ try {
+ return (ElementReference) TYPE__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #lower() <em>Lower</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #lower()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate LOWER__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getShiftExpression__Lower()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public BigInteger lower() {
+ try {
+ return (BigInteger) LOWER__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #upper() <em>Upper</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #upper()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate UPPER__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getShiftExpression__Upper()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public BigInteger upper() {
+ try {
+ return (BigInteger) UPPER__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean shiftExpressionTypeDerivation(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.SHIFT_EXPRESSION__SHIFT_EXPRESSION_TYPE_DERIVATION,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "shiftExpressionTypeDerivation", EObjectValidator.getObjectLabel(this, context) }),
+ new Object[] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean shiftExpressionLowerDerivation(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.SHIFT_EXPRESSION__SHIFT_EXPRESSION_LOWER_DERIVATION,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "shiftExpressionLowerDerivation", EObjectValidator.getObjectLabel(this, context) }),
+ new Object[] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean shiftExpressionUpperDerivation(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.SHIFT_EXPRESSION__SHIFT_EXPRESSION_UPPER_DERIVATION,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "shiftExpressionUpperDerivation", EObjectValidator.getObjectLabel(this, context) }),
+ new Object[] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * The cached validation expression for the '{@link #shiftExpressionOperands(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Shift Expression Operands</em>}' invariant operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #shiftExpressionOperands(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ * @ordered
+ */
+ protected static final String SHIFT_EXPRESSION_OPERANDS_DIAGNOSTIC_CHAIN_MAP__EEXPRESSION = "\n" +
+ " let type1 = self.operand1.type in\n" +
+ " let type2 = self.operand2.type in\n" +
+ " (self.isBitStringType(type1) or self.isIntegerType(type1)) and self.isIntegerType(type2)";
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean shiftExpressionOperands(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return AlfValidator.validate
+ (AlfPackage.eINSTANCE.getShiftExpression(),
+ this,
+ diagnostics,
+ context,
+ "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot",
+ AlfPackage.eINSTANCE.getShiftExpression__ShiftExpressionOperands__DiagnosticChain_Map(),
+ SHIFT_EXPRESSION_OPERANDS_DIAGNOSTIC_CHAIN_MAP__EEXPRESSION,
+ Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.SHIFT_EXPRESSION__SHIFT_EXPRESSION_OPERANDS);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean shiftExpressionIsBitStringConversionDerivation(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.SHIFT_EXPRESSION__SHIFT_EXPRESSION_IS_BIT_STRING_CONVERSION_DERIVATION,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "shiftExpressionIsBitStringConversionDerivation", EObjectValidator.getObjectLabel(this, context) }),
+ new Object[] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object eInvoke(int operationID, EList<?> arguments) throws InvocationTargetException {
+ switch (operationID) {
+ case AlfPackage.SHIFT_EXPRESSION___TYPE:
+ return type();
+ case AlfPackage.SHIFT_EXPRESSION___LOWER:
+ return lower();
+ case AlfPackage.SHIFT_EXPRESSION___UPPER:
+ return upper();
+ case AlfPackage.SHIFT_EXPRESSION___SHIFT_EXPRESSION_TYPE_DERIVATION__DIAGNOSTICCHAIN_MAP:
+ return shiftExpressionTypeDerivation((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ case AlfPackage.SHIFT_EXPRESSION___SHIFT_EXPRESSION_LOWER_DERIVATION__DIAGNOSTICCHAIN_MAP:
+ return shiftExpressionLowerDerivation((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ case AlfPackage.SHIFT_EXPRESSION___SHIFT_EXPRESSION_UPPER_DERIVATION__DIAGNOSTICCHAIN_MAP:
+ return shiftExpressionUpperDerivation((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ case AlfPackage.SHIFT_EXPRESSION___SHIFT_EXPRESSION_OPERANDS__DIAGNOSTICCHAIN_MAP:
+ return shiftExpressionOperands((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ case AlfPackage.SHIFT_EXPRESSION___SHIFT_EXPRESSION_IS_BIT_STRING_CONVERSION_DERIVATION__DIAGNOSTICCHAIN_MAP:
+ return shiftExpressionIsBitStringConversionDerivation((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ }
+ return super.eInvoke(operationID, arguments);
+ }
+
+} // ShiftExpressionImpl
diff --git a/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/SignalDefinitionImpl.java b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/SignalDefinitionImpl.java
new file mode 100644
index 00000000000..d7c0bd2fb70
--- /dev/null
+++ b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/SignalDefinitionImpl.java
@@ -0,0 +1,223 @@
+/**
+ */
+package org.eclipse.papyrus.uml.alf.impl;
+
+import java.lang.reflect.InvocationTargetException;
+import java.util.Map;
+import org.eclipse.emf.common.util.BasicEList;
+import org.eclipse.emf.common.util.Diagnostic;
+import org.eclipse.emf.common.util.DiagnosticChain;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.common.util.WrappedException;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EOperation;
+import org.eclipse.papyrus.uml.alf.AlfPackage;
+import org.eclipse.papyrus.uml.alf.ClassifierDefinition;
+import org.eclipse.papyrus.uml.alf.ElementReference;
+import org.eclipse.papyrus.uml.alf.MemberDefinition;
+import org.eclipse.papyrus.uml.alf.NamespaceDefinition;
+import org.eclipse.papyrus.uml.alf.SignalDefinition;
+import org.eclipse.papyrus.uml.alf.StereotypeAnnotation;
+import org.eclipse.papyrus.uml.alf.UnitDefinition;
+import org.eclipse.papyrus.uml.alf.util.AlfValidator;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Signal Definition</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ *
+ * @generated
+ */
+public class SignalDefinitionImpl extends ClassifierDefinitionImpl implements SignalDefinition {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected SignalDefinitionImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return AlfPackage.eINSTANCE.getSignalDefinition();
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #matchForStub(org.eclipse.papyrus.uml.alf.UnitDefinition) <em>Match For Stub</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #matchForStub(org.eclipse.papyrus.uml.alf.UnitDefinition)
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate MATCH_FOR_STUB_UNIT_DEFINITION__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getSignalDefinition__MatchForStub__UnitDefinition()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean matchForStub(UnitDefinition unit) {
+ try {
+ return (Boolean) MATCH_FOR_STUB_UNIT_DEFINITION__EINVOCATION_DELEGATE.dynamicInvoke(this, new BasicEList.UnmodifiableEList<Object>(1, new Object[] { unit }));
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #annotationAllowed(org.eclipse.papyrus.uml.alf.StereotypeAnnotation) <em>Annotation Allowed</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #annotationAllowed(org.eclipse.papyrus.uml.alf.StereotypeAnnotation)
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate ANNOTATION_ALLOWED_STEREOTYPE_ANNOTATION__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getSignalDefinition__AnnotationAllowed__StereotypeAnnotation())
+ .getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean annotationAllowed(StereotypeAnnotation annotation) {
+ try {
+ return (Boolean) ANNOTATION_ALLOWED_STEREOTYPE_ANNOTATION__EINVOCATION_DELEGATE.dynamicInvoke(this, new BasicEList.UnmodifiableEList<Object>(1, new Object[] { annotation }));
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #isSameKindAs(org.eclipse.papyrus.uml.alf.ElementReference) <em>Is Same Kind As</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #isSameKindAs(org.eclipse.papyrus.uml.alf.ElementReference)
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate IS_SAME_KIND_AS_ELEMENT_REFERENCE__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getSignalDefinition__IsSameKindAs__ElementReference()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isSameKindAs(ElementReference member) {
+ try {
+ return (Boolean) IS_SAME_KIND_AS_ELEMENT_REFERENCE__EINVOCATION_DELEGATE.dynamicInvoke(this, new BasicEList.UnmodifiableEList<Object>(1, new Object[] { member }));
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached validation expression for the '{@link #signalDefinitionSpecializationReferent(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Signal Definition Specialization Referent</em>}' invariant operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #signalDefinitionSpecializationReferent(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ * @ordered
+ */
+ protected static final String SIGNAL_DEFINITION_SPECIALIZATION_REFERENT_DIAGNOSTIC_CHAIN_MAP__EEXPRESSION = "\n" +
+ " self.specializationReferent->forAll(isSignal())";
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean signalDefinitionSpecializationReferent(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return AlfValidator.validate
+ (AlfPackage.eINSTANCE.getSignalDefinition(),
+ this,
+ diagnostics,
+ context,
+ "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot",
+ AlfPackage.eINSTANCE.getSignalDefinition__SignalDefinitionSpecializationReferent__DiagnosticChain_Map(),
+ SIGNAL_DEFINITION_SPECIALIZATION_REFERENT_DIAGNOSTIC_CHAIN_MAP__EEXPRESSION,
+ Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.SIGNAL_DEFINITION__SIGNAL_DEFINITION_SPECIALIZATION_REFERENT);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public int eDerivedOperationID(int baseOperationID, Class<?> baseClass) {
+ if (baseClass == MemberDefinition.class) {
+ switch (baseOperationID) {
+ case AlfPackage.MEMBER_DEFINITION___ANNOTATION_ALLOWED__STEREOTYPEANNOTATION:
+ return AlfPackage.SIGNAL_DEFINITION___ANNOTATION_ALLOWED__STEREOTYPEANNOTATION;
+ case AlfPackage.MEMBER_DEFINITION___MATCH_FOR_STUB__UNITDEFINITION:
+ return AlfPackage.SIGNAL_DEFINITION___MATCH_FOR_STUB__UNITDEFINITION;
+ case AlfPackage.MEMBER_DEFINITION___IS_SAME_KIND_AS__ELEMENTREFERENCE:
+ return AlfPackage.SIGNAL_DEFINITION___IS_SAME_KIND_AS__ELEMENTREFERENCE;
+ default:
+ return super.eDerivedOperationID(baseOperationID, baseClass);
+ }
+ }
+ if (baseClass == NamespaceDefinition.class) {
+ switch (baseOperationID) {
+ case AlfPackage.NAMESPACE_DEFINITION___ANNOTATION_ALLOWED__STEREOTYPEANNOTATION:
+ return AlfPackage.SIGNAL_DEFINITION___ANNOTATION_ALLOWED__STEREOTYPEANNOTATION;
+ default:
+ return super.eDerivedOperationID(baseOperationID, baseClass);
+ }
+ }
+ if (baseClass == ClassifierDefinition.class) {
+ switch (baseOperationID) {
+ case AlfPackage.CLASSIFIER_DEFINITION___MATCH_FOR_STUB__UNITDEFINITION:
+ return AlfPackage.SIGNAL_DEFINITION___MATCH_FOR_STUB__UNITDEFINITION;
+ default:
+ return super.eDerivedOperationID(baseOperationID, baseClass);
+ }
+ }
+ return super.eDerivedOperationID(baseOperationID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object eInvoke(int operationID, EList<?> arguments) throws InvocationTargetException {
+ switch (operationID) {
+ case AlfPackage.SIGNAL_DEFINITION___MATCH_FOR_STUB__UNITDEFINITION:
+ return matchForStub((UnitDefinition) arguments.get(0));
+ case AlfPackage.SIGNAL_DEFINITION___ANNOTATION_ALLOWED__STEREOTYPEANNOTATION:
+ return annotationAllowed((StereotypeAnnotation) arguments.get(0));
+ case AlfPackage.SIGNAL_DEFINITION___IS_SAME_KIND_AS__ELEMENTREFERENCE:
+ return isSameKindAs((ElementReference) arguments.get(0));
+ case AlfPackage.SIGNAL_DEFINITION___SIGNAL_DEFINITION_SPECIALIZATION_REFERENT__DIAGNOSTICCHAIN_MAP:
+ return signalDefinitionSpecializationReferent((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ }
+ return super.eInvoke(operationID, arguments);
+ }
+
+} // SignalDefinitionImpl
diff --git a/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/SignalReceptionDefinitionImpl.java b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/SignalReceptionDefinitionImpl.java
new file mode 100644
index 00000000000..e229fa88936
--- /dev/null
+++ b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/SignalReceptionDefinitionImpl.java
@@ -0,0 +1,146 @@
+/**
+ */
+package org.eclipse.papyrus.uml.alf.impl;
+
+import java.lang.reflect.InvocationTargetException;
+
+import java.util.Map;
+
+import org.eclipse.emf.common.util.BasicDiagnostic;
+import org.eclipse.emf.common.util.Diagnostic;
+import org.eclipse.emf.common.util.DiagnosticChain;
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.common.util.WrappedException;
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.EOperation;
+import org.eclipse.emf.ecore.plugin.EcorePlugin;
+
+import org.eclipse.emf.ecore.util.EObjectValidator;
+
+import org.eclipse.papyrus.uml.alf.AlfPackage;
+import org.eclipse.papyrus.uml.alf.MemberDefinition;
+import org.eclipse.papyrus.uml.alf.SignalReceptionDefinition;
+
+import org.eclipse.papyrus.uml.alf.util.AlfValidator;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Signal Reception Definition</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ *
+ * @generated
+ */
+public class SignalReceptionDefinitionImpl extends SignalDefinitionImpl implements SignalReceptionDefinition {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected SignalReceptionDefinitionImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return AlfPackage.eINSTANCE.getSignalReceptionDefinition();
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #isFeature() <em>Is Feature</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #isFeature()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate IS_FEATURE__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getSignalReceptionDefinition__IsFeature()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isFeature() {
+ try {
+ return (Boolean) IS_FEATURE__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean signalReceptionDefinitionIsFeatureDerivation(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.SIGNAL_RECEPTION_DEFINITION__SIGNAL_RECEPTION_DEFINITION_IS_FEATURE_DERIVATION,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "signalReceptionDefinitionIsFeatureDerivation", EObjectValidator.getObjectLabel(this, context) }),
+ new Object[] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public int eDerivedOperationID(int baseOperationID, Class<?> baseClass) {
+ if (baseClass == MemberDefinition.class) {
+ switch (baseOperationID) {
+ case AlfPackage.MEMBER_DEFINITION___IS_FEATURE:
+ return AlfPackage.SIGNAL_RECEPTION_DEFINITION___IS_FEATURE;
+ default:
+ return super.eDerivedOperationID(baseOperationID, baseClass);
+ }
+ }
+ return super.eDerivedOperationID(baseOperationID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object eInvoke(int operationID, EList<?> arguments) throws InvocationTargetException {
+ switch (operationID) {
+ case AlfPackage.SIGNAL_RECEPTION_DEFINITION___IS_FEATURE:
+ return isFeature();
+ case AlfPackage.SIGNAL_RECEPTION_DEFINITION___SIGNAL_RECEPTION_DEFINITION_IS_FEATURE_DERIVATION__DIAGNOSTICCHAIN_MAP:
+ return signalReceptionDefinitionIsFeatureDerivation((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ }
+ return super.eInvoke(operationID, arguments);
+ }
+
+} // SignalReceptionDefinitionImpl
diff --git a/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/StatementImpl.java b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/StatementImpl.java
new file mode 100644
index 00000000000..9d95ef03c5f
--- /dev/null
+++ b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/StatementImpl.java
@@ -0,0 +1,559 @@
+/**
+ */
+package org.eclipse.papyrus.uml.alf.impl;
+
+import java.lang.reflect.InvocationTargetException;
+import java.util.Map;
+import org.eclipse.emf.common.util.BasicDiagnostic;
+import org.eclipse.emf.common.util.BasicEList;
+import org.eclipse.emf.common.util.Diagnostic;
+import org.eclipse.emf.common.util.DiagnosticChain;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.common.util.WrappedException;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EOperation;
+import org.eclipse.emf.ecore.plugin.EcorePlugin;
+import org.eclipse.emf.ecore.util.EObjectValidator;
+import org.eclipse.papyrus.uml.alf.AlfPackage;
+import org.eclipse.papyrus.uml.alf.Annotation;
+import org.eclipse.papyrus.uml.alf.AssignedSource;
+import org.eclipse.papyrus.uml.alf.Block;
+import org.eclipse.papyrus.uml.alf.Statement;
+import org.eclipse.papyrus.uml.alf.SyntaxElement;
+import org.eclipse.papyrus.uml.alf.util.AlfValidator;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Statement</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.uml.alf.impl.StatementImpl#getAssignmentBefore <em>Assignment Before</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.impl.StatementImpl#getAssignmentAfter <em>Assignment After</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.impl.StatementImpl#getEnclosingStatement <em>Enclosing Statement</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.impl.StatementImpl#isIsIsolated <em>Is Isolated</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public abstract class StatementImpl extends SyntaxElementImpl implements Statement {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated NOT
+ */
+ protected StatementImpl() {
+ super();
+ this.registerCaching();
+ }
+
+ @Override
+ public void clear() {
+ super.clear();
+ this.assignmentsAfter = null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return AlfPackage.eINSTANCE.getStatement();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<AssignedSource> getAssignmentBefore() {
+ return (EList<AssignedSource>) eGet(AlfPackage.eINSTANCE.getStatement_AssignmentBefore(), true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<AssignedSource> getAssignmentAfter() {
+ return (EList<AssignedSource>) eGet(AlfPackage.eINSTANCE.getStatement_AssignmentAfter(), true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public Statement getEnclosingStatement() {
+ return (Statement) eGet(AlfPackage.eINSTANCE.getStatement_EnclosingStatement(), true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setEnclosingStatement(Statement newEnclosingStatement) {
+ eSet(AlfPackage.eINSTANCE.getStatement_EnclosingStatement(), newEnclosingStatement);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isIsIsolated() {
+ return (Boolean) eGet(AlfPackage.eINSTANCE.getStatement_IsIsolated(), true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setIsIsolated(boolean newIsIsolated) {
+ eSet(AlfPackage.eINSTANCE.getStatement_IsIsolated(), newIsIsolated);
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #enclosingLoopStatement() <em>Enclosing Loop Statement</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #enclosingLoopStatement()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate ENCLOSING_LOOP_STATEMENT__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getStatement__EnclosingLoopStatement()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public Statement enclosingLoopStatement() {
+ try {
+ return (Statement) ENCLOSING_LOOP_STATEMENT__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #annotationAllowed(org.eclipse.papyrus.uml.alf.Annotation) <em>Annotation Allowed</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #annotationAllowed(org.eclipse.papyrus.uml.alf.Annotation)
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate ANNOTATION_ALLOWED_ANNOTATION__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getStatement__AnnotationAllowed__Annotation()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean statementAnnotationsAllowed(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return AlfValidator.validate
+ (AlfPackage.eINSTANCE.getStatement(),
+ this,
+ diagnostics,
+ context,
+ "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot",
+ AlfPackage.eINSTANCE.getStatement__StatementAnnotationsAllowed__DiagnosticChain_Map(),
+ STATEMENT_ANNOTATIONS_ALLOWED_DIAGNOSTIC_CHAIN_MAP__EEXPRESSION,
+ Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.STATEMENT__STATEMENT_ANNOTATIONS_ALLOWED);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean statementUniqueAssignments(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return AlfValidator.validate
+ (AlfPackage.eINSTANCE.getStatement(),
+ this,
+ diagnostics,
+ context,
+ "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot",
+ AlfPackage.eINSTANCE.getStatement__StatementUniqueAssignments__DiagnosticChain_Map(),
+ STATEMENT_UNIQUE_ASSIGNMENTS_DIAGNOSTIC_CHAIN_MAP__EEXPRESSION,
+ Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.STATEMENT__STATEMENT_UNIQUE_ASSIGNMENTS);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean statementIsIsolatedDerivation(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.STATEMENT__STATEMENT_IS_ISOLATED_DERIVATION,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "statementIsIsolatedDerivation", EObjectValidator.getObjectLabel(this, context) }),
+ new Object[] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean annotationAllowed(Annotation annotation) {
+ try {
+ return (Boolean) ANNOTATION_ALLOWED_ANNOTATION__EINVOCATION_DELEGATE.dynamicInvoke(this, new BasicEList.UnmodifiableEList<Object>(1, new Object[] { annotation }));
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #Statement_annotationAllowed(org.eclipse.papyrus.uml.alf.Annotation) <em>Statement annotation Allowed</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #Statement_annotationAllowed(org.eclipse.papyrus.uml.alf.Annotation)
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate STATEMENT_ANNOTATION_ALLOWED_ANNOTATION__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getStatement__Statement_annotationAllowed__Annotation()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean Statement_annotationAllowed(Annotation annotation) {
+ try {
+ return (Boolean) STATEMENT_ANNOTATION_ALLOWED_ANNOTATION__EINVOCATION_DELEGATE.dynamicInvoke(this, new BasicEList.UnmodifiableEList<Object>(1, new Object[] { annotation }));
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #annotation() <em>Annotation</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #annotation()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate ANNOTATION__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getStatement__Annotation()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<Annotation> annotation() {
+ try {
+ return (EList<Annotation>) ANNOTATION__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #hasAnnotation(java.lang.String) <em>Has Annotation</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #hasAnnotation(java.lang.String)
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate HAS_ANNOTATION_STRING__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getStatement__HasAnnotation__String()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean hasAnnotation(String name) {
+ try {
+ return (Boolean) HAS_ANNOTATION_STRING__EINVOCATION_DELEGATE.dynamicInvoke(this, new BasicEList.UnmodifiableEList<Object>(1, new Object[] { name }));
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #newAssignments() <em>New Assignments</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #newAssignments()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate NEW_ASSIGNMENTS__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getStatement__NewAssignments()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<AssignedSource> newAssignments() {
+ try {
+ return (EList<AssignedSource>) NEW_ASSIGNMENTS__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #resolve(java.lang.String) <em>Resolve</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #resolve(java.lang.String)
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate RESOLVE_STRING__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getStatement__Resolve__String()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public SyntaxElement resolve(String name) {
+ try {
+ return (SyntaxElement) RESOLVE_STRING__EINVOCATION_DELEGATE.dynamicInvoke(this, new BasicEList.UnmodifiableEList<Object>(1, new Object[] { name }));
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #assignmentsAfter() <em>Assignments After</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #assignmentsAfter()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate ASSIGNMENTS_AFTER__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getStatement__AssignmentsAfter()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<AssignedSource> assignmentsAfter() {
+ try {
+ return (EList<AssignedSource>) ASSIGNMENTS_AFTER__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #Statement_assignmentsAfter() <em>Statement assignments After</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #Statement_assignmentsAfter()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate STATEMENT_ASSIGNMENTS_AFTER__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getStatement__Statement_assignmentsAfter()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<AssignedSource> Statement_assignmentsAfter() {
+ try {
+ return (EList<AssignedSource>) STATEMENT_ASSIGNMENTS_AFTER__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ private EList<AssignedSource> assignmentsAfter = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated NOT
+ */
+ public EList<AssignedSource> assignmentsAfterCached() {
+ if (this.assignmentsAfter == null) {
+ this.assignmentsAfter = this.assignmentsAfter();
+ }
+ return this.assignmentsAfter;
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #mergeAssignments(org.eclipse.emf.common.util.EList) <em>Merge Assignments</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #mergeAssignments(org.eclipse.emf.common.util.EList)
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate MERGE_ASSIGNMENTS_ELIST__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getStatement__MergeAssignments__EList()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<AssignedSource> mergeAssignments(EList<Block> blocks) {
+ try {
+ return (EList<AssignedSource>) MERGE_ASSIGNMENTS_ELIST__EINVOCATION_DELEGATE.dynamicInvoke(this, new BasicEList.UnmodifiableEList<Object>(1, new Object[] { blocks }));
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #merge(java.lang.String, org.eclipse.emf.common.util.EList) <em>Merge</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #merge(java.lang.String, org.eclipse.emf.common.util.EList)
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate MERGE_STRING_ELIST__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getStatement__Merge__String_EList()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public AssignedSource merge(String name, EList<AssignedSource> assignments) {
+ try {
+ return (AssignedSource) MERGE_STRING_ELIST__EINVOCATION_DELEGATE.dynamicInvoke(this, new BasicEList.UnmodifiableEList<Object>(2, new Object[] { name, assignments }));
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached validation expression for the '{@link #statementAnnotationsAllowed(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Statement Annotations Allowed</em>}' invariant operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #statementAnnotationsAllowed(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ * @ordered
+ */
+ protected static final String STATEMENT_ANNOTATIONS_ALLOWED_DIAGNOSTIC_CHAIN_MAP__EEXPRESSION = "self.annotation()->forAll(a | self.annotationAllowed(a))";
+ /**
+ * The cached validation expression for the '{@link #statementUniqueAssignments(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Statement Unique Assignments</em>}' invariant operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #statementUniqueAssignments(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ * @ordered
+ */
+ protected static final String STATEMENT_UNIQUE_ASSIGNMENTS_DIAGNOSTIC_CHAIN_MAP__EEXPRESSION = "self.assignmentBefore->isUnique(name) and self.assignmentAfter->isUnique(name)";
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object eInvoke(int operationID, EList<?> arguments) throws InvocationTargetException {
+ switch (operationID) {
+ case AlfPackage.STATEMENT___ENCLOSING_LOOP_STATEMENT:
+ return enclosingLoopStatement();
+ case AlfPackage.STATEMENT___ANNOTATION_ALLOWED__ANNOTATION:
+ return annotationAllowed((Annotation) arguments.get(0));
+ case AlfPackage.STATEMENT___STATEMENT_ANNOTATION_ALLOWED__ANNOTATION:
+ return Statement_annotationAllowed((Annotation) arguments.get(0));
+ case AlfPackage.STATEMENT___ANNOTATION:
+ return annotation();
+ case AlfPackage.STATEMENT___HAS_ANNOTATION__STRING:
+ return hasAnnotation((String) arguments.get(0));
+ case AlfPackage.STATEMENT___NEW_ASSIGNMENTS:
+ return newAssignments();
+ case AlfPackage.STATEMENT___RESOLVE__STRING:
+ return resolve((String) arguments.get(0));
+ case AlfPackage.STATEMENT___ASSIGNMENTS_AFTER:
+ return assignmentsAfter();
+ case AlfPackage.STATEMENT___STATEMENT_ASSIGNMENTS_AFTER:
+ return Statement_assignmentsAfter();
+ case AlfPackage.STATEMENT___ASSIGNMENTS_AFTER_CACHED:
+ return assignmentsAfterCached();
+ case AlfPackage.STATEMENT___MERGE_ASSIGNMENTS__ELIST:
+ return mergeAssignments((EList<Block>) arguments.get(0));
+ case AlfPackage.STATEMENT___MERGE__STRING_ELIST:
+ return merge((String) arguments.get(0), (EList<AssignedSource>) arguments.get(1));
+ case AlfPackage.STATEMENT___STATEMENT_ANNOTATIONS_ALLOWED__DIAGNOSTICCHAIN_MAP:
+ return statementAnnotationsAllowed((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ case AlfPackage.STATEMENT___STATEMENT_UNIQUE_ASSIGNMENTS__DIAGNOSTICCHAIN_MAP:
+ return statementUniqueAssignments((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ case AlfPackage.STATEMENT___STATEMENT_IS_ISOLATED_DERIVATION__DIAGNOSTICCHAIN_MAP:
+ return statementIsIsolatedDerivation((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ }
+ return super.eInvoke(operationID, arguments);
+ }
+
+} // StatementImpl
diff --git a/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/StereotypeAnnotationImpl.java b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/StereotypeAnnotationImpl.java
new file mode 100644
index 00000000000..73283fbc231
--- /dev/null
+++ b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/StereotypeAnnotationImpl.java
@@ -0,0 +1,416 @@
+/**
+ */
+package org.eclipse.papyrus.uml.alf.impl;
+
+import java.lang.reflect.InvocationTargetException;
+import java.util.Map;
+import org.eclipse.emf.common.util.BasicDiagnostic;
+import org.eclipse.emf.common.util.Diagnostic;
+import org.eclipse.emf.common.util.DiagnosticChain;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.common.util.WrappedException;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EOperation;
+import org.eclipse.emf.ecore.plugin.EcorePlugin;
+import org.eclipse.emf.ecore.util.EObjectValidator;
+import org.eclipse.papyrus.uml.alf.AlfPackage;
+import org.eclipse.papyrus.uml.alf.ElementReference;
+import org.eclipse.papyrus.uml.alf.QualifiedName;
+import org.eclipse.papyrus.uml.alf.QualifiedNameList;
+import org.eclipse.papyrus.uml.alf.StereotypeAnnotation;
+import org.eclipse.papyrus.uml.alf.TaggedValueList;
+import org.eclipse.papyrus.uml.alf.util.AlfValidator;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Stereotype Annotation</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.uml.alf.impl.StereotypeAnnotationImpl#getTaggedValues <em>Tagged Values</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.impl.StereotypeAnnotationImpl#getNames <em>Names</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.impl.StereotypeAnnotationImpl#getStereotypeName <em>Stereotype Name</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.impl.StereotypeAnnotationImpl#getStereotype <em>Stereotype</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class StereotypeAnnotationImpl extends SyntaxElementImpl implements StereotypeAnnotation {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected StereotypeAnnotationImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return AlfPackage.eINSTANCE.getStereotypeAnnotation();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public TaggedValueList getTaggedValues() {
+ return (TaggedValueList) eGet(AlfPackage.eINSTANCE.getStereotypeAnnotation_TaggedValues(), true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setTaggedValues(TaggedValueList newTaggedValues) {
+ eSet(AlfPackage.eINSTANCE.getStereotypeAnnotation_TaggedValues(), newTaggedValues);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public QualifiedNameList getNames() {
+ return (QualifiedNameList) eGet(AlfPackage.eINSTANCE.getStereotypeAnnotation_Names(), true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setNames(QualifiedNameList newNames) {
+ eSet(AlfPackage.eINSTANCE.getStereotypeAnnotation_Names(), newNames);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public QualifiedName getStereotypeName() {
+ return (QualifiedName) eGet(AlfPackage.eINSTANCE.getStereotypeAnnotation_StereotypeName(), true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setStereotypeName(QualifiedName newStereotypeName) {
+ eSet(AlfPackage.eINSTANCE.getStereotypeAnnotation_StereotypeName(), newStereotypeName);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public ElementReference getStereotype() {
+ return (ElementReference) eGet(AlfPackage.eINSTANCE.getStereotypeAnnotation_Stereotype(), true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setStereotype(ElementReference newStereotype) {
+ eSet(AlfPackage.eINSTANCE.getStereotypeAnnotation_Stereotype(), newStereotype);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean stereotypeAnnotationStereotypeDerivation(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.STEREOTYPE_ANNOTATION__STEREOTYPE_ANNOTATION_STEREOTYPE_DERIVATION,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "stereotypeAnnotationStereotypeDerivation", EObjectValidator.getObjectLabel(this, context) }),
+ new Object[] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * The cached validation expression for the '{@link #stereotypeAnnotationStereotypeName(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Stereotype Annotation Stereotype Name</em>}' invariant operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #stereotypeAnnotationStereotypeName(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ * @ordered
+ */
+ protected static final String STEREOTYPE_ANNOTATION_STEREOTYPE_NAME_DIAGNOSTIC_CHAIN_MAP__EEXPRESSION = "\n" +
+ " let name = self.stereotypeName.pathName in \n" +
+ " name = 'apply' or name = 'primitive' or name = 'external' or\n" +
+ " self.stereotype <> null";
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean stereotypeAnnotationStereotypeName(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return AlfValidator.validate
+ (AlfPackage.eINSTANCE.getStereotypeAnnotation(),
+ this,
+ diagnostics,
+ context,
+ "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot",
+ AlfPackage.eINSTANCE.getStereotypeAnnotation__StereotypeAnnotationStereotypeName__DiagnosticChain_Map(),
+ STEREOTYPE_ANNOTATION_STEREOTYPE_NAME_DIAGNOSTIC_CHAIN_MAP__EEXPRESSION,
+ Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.STEREOTYPE_ANNOTATION__STEREOTYPE_ANNOTATION_STEREOTYPE_NAME);
+ }
+
+ /**
+ * The cached validation expression for the '{@link #stereotypeAnnotationApply(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Stereotype Annotation Apply</em>}' invariant operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #stereotypeAnnotationApply(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ * @ordered
+ */
+ protected static final String STEREOTYPE_ANNOTATION_APPLY_DIAGNOSTIC_CHAIN_MAP__EEXPRESSION = "\n" +
+ " self.stereotypeName.pathName = 'apply' implies names->notEmpty()";
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean stereotypeAnnotationApply(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return AlfValidator.validate
+ (AlfPackage.eINSTANCE.getStereotypeAnnotation(),
+ this,
+ diagnostics,
+ context,
+ "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot",
+ AlfPackage.eINSTANCE.getStereotypeAnnotation__StereotypeAnnotationApply__DiagnosticChain_Map(),
+ STEREOTYPE_ANNOTATION_APPLY_DIAGNOSTIC_CHAIN_MAP__EEXPRESSION,
+ Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.STEREOTYPE_ANNOTATION__STEREOTYPE_ANNOTATION_APPLY);
+ }
+
+ /**
+ * The cached validation expression for the '{@link #stereotypeAnnotationPrimitive(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Stereotype Annotation Primitive</em>}' invariant operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #stereotypeAnnotationPrimitive(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ * @ordered
+ */
+ protected static final String STEREOTYPE_ANNOTATION_PRIMITIVE_DIAGNOSTIC_CHAIN_MAP__EEXPRESSION = "\n" +
+ " self.stereotypeName.pathName = 'primitive' implies\n" +
+ " (self.taggedValues = null and self.names = null)";
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean stereotypeAnnotationPrimitive(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return AlfValidator.validate
+ (AlfPackage.eINSTANCE.getStereotypeAnnotation(),
+ this,
+ diagnostics,
+ context,
+ "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot",
+ AlfPackage.eINSTANCE.getStereotypeAnnotation__StereotypeAnnotationPrimitive__DiagnosticChain_Map(),
+ STEREOTYPE_ANNOTATION_PRIMITIVE_DIAGNOSTIC_CHAIN_MAP__EEXPRESSION,
+ Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.STEREOTYPE_ANNOTATION__STEREOTYPE_ANNOTATION_PRIMITIVE);
+ }
+
+ /**
+ * The cached validation expression for the '{@link #stereotypeAnnotationExternal(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Stereotype Annotation External</em>}' invariant operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #stereotypeAnnotationExternal(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ * @ordered
+ */
+ protected static final String STEREOTYPE_ANNOTATION_EXTERNAL_DIAGNOSTIC_CHAIN_MAP__EEXPRESSION = "\n" +
+ " self.stereotypeName.pathName = 'external' implies\n" +
+ " (self.names = null and \n" +
+ " (self.taggedValues = null or \n" +
+ " self.taggedValues.taggedValue->size() = 1 and \n" +
+ " self.taggedValues.taggedValue->exists(\n" +
+ " name = 'file' and operator = null\n" +
+ " )\n" +
+ " )\n" +
+ " )";
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean stereotypeAnnotationExternal(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return AlfValidator.validate
+ (AlfPackage.eINSTANCE.getStereotypeAnnotation(),
+ this,
+ diagnostics,
+ context,
+ "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot",
+ AlfPackage.eINSTANCE.getStereotypeAnnotation__StereotypeAnnotationExternal__DiagnosticChain_Map(),
+ STEREOTYPE_ANNOTATION_EXTERNAL_DIAGNOSTIC_CHAIN_MAP__EEXPRESSION,
+ Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.STEREOTYPE_ANNOTATION__STEREOTYPE_ANNOTATION_EXTERNAL);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean stereotypeAnnotationTaggedValues(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.STEREOTYPE_ANNOTATION__STEREOTYPE_ANNOTATION_TAGGED_VALUES,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "stereotypeAnnotationTaggedValues", EObjectValidator.getObjectLabel(this, context) }),
+ new Object[] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean stereotypeAnnotationNames(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.STEREOTYPE_ANNOTATION__STEREOTYPE_ANNOTATION_NAMES,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "stereotypeAnnotationNames", EObjectValidator.getObjectLabel(this, context) }),
+ new Object[] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #appliedProfiles() <em>Applied Profiles</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #appliedProfiles()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate APPLIED_PROFILES__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getStereotypeAnnotation__AppliedProfiles()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<ElementReference> appliedProfiles() {
+ try {
+ return (EList<ElementReference>) APPLIED_PROFILES__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object eInvoke(int operationID, EList<?> arguments) throws InvocationTargetException {
+ switch (operationID) {
+ case AlfPackage.STEREOTYPE_ANNOTATION___STEREOTYPE_ANNOTATION_STEREOTYPE_DERIVATION__DIAGNOSTICCHAIN_MAP:
+ return stereotypeAnnotationStereotypeDerivation((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ case AlfPackage.STEREOTYPE_ANNOTATION___STEREOTYPE_ANNOTATION_STEREOTYPE_NAME__DIAGNOSTICCHAIN_MAP:
+ return stereotypeAnnotationStereotypeName((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ case AlfPackage.STEREOTYPE_ANNOTATION___STEREOTYPE_ANNOTATION_APPLY__DIAGNOSTICCHAIN_MAP:
+ return stereotypeAnnotationApply((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ case AlfPackage.STEREOTYPE_ANNOTATION___STEREOTYPE_ANNOTATION_PRIMITIVE__DIAGNOSTICCHAIN_MAP:
+ return stereotypeAnnotationPrimitive((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ case AlfPackage.STEREOTYPE_ANNOTATION___STEREOTYPE_ANNOTATION_EXTERNAL__DIAGNOSTICCHAIN_MAP:
+ return stereotypeAnnotationExternal((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ case AlfPackage.STEREOTYPE_ANNOTATION___STEREOTYPE_ANNOTATION_TAGGED_VALUES__DIAGNOSTICCHAIN_MAP:
+ return stereotypeAnnotationTaggedValues((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ case AlfPackage.STEREOTYPE_ANNOTATION___STEREOTYPE_ANNOTATION_NAMES__DIAGNOSTICCHAIN_MAP:
+ return stereotypeAnnotationNames((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ case AlfPackage.STEREOTYPE_ANNOTATION___APPLIED_PROFILES:
+ return appliedProfiles();
+ }
+ return super.eInvoke(operationID, arguments);
+ }
+
+} // StereotypeAnnotationImpl
diff --git a/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/StringLiteralExpressionImpl.java b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/StringLiteralExpressionImpl.java
new file mode 100644
index 00000000000..7c8e6a3e14f
--- /dev/null
+++ b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/StringLiteralExpressionImpl.java
@@ -0,0 +1,146 @@
+/**
+ */
+package org.eclipse.papyrus.uml.alf.impl;
+
+import java.lang.reflect.InvocationTargetException;
+import java.util.Map;
+import org.eclipse.emf.common.util.BasicDiagnostic;
+import org.eclipse.emf.common.util.Diagnostic;
+import org.eclipse.emf.common.util.DiagnosticChain;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.common.util.WrappedException;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EOperation;
+import org.eclipse.emf.ecore.plugin.EcorePlugin;
+import org.eclipse.emf.ecore.util.EObjectValidator;
+import org.eclipse.papyrus.uml.alf.AlfPackage;
+import org.eclipse.papyrus.uml.alf.ElementReference;
+import org.eclipse.papyrus.uml.alf.StringLiteralExpression;
+import org.eclipse.papyrus.uml.alf.util.AlfValidator;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>String Literal Expression</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.uml.alf.impl.StringLiteralExpressionImpl#getImage <em>Image</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class StringLiteralExpressionImpl extends LiteralExpressionImpl implements StringLiteralExpression {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected StringLiteralExpressionImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return AlfPackage.eINSTANCE.getStringLiteralExpression();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public String getImage() {
+ return (String) eGet(AlfPackage.eINSTANCE.getStringLiteralExpression_Image(), true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setImage(String newImage) {
+ eSet(AlfPackage.eINSTANCE.getStringLiteralExpression_Image(), newImage);
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #type() <em>Type</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #type()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate TYPE__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getStringLiteralExpression__Type()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public ElementReference type() {
+ try {
+ return (ElementReference) TYPE__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean stringLiteralExpressionTypeDerivation(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.STRING_LITERAL_EXPRESSION__STRING_LITERAL_EXPRESSION_TYPE_DERIVATION,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "stringLiteralExpressionTypeDerivation", EObjectValidator.getObjectLabel(this, context) }),
+ new Object[] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object eInvoke(int operationID, EList<?> arguments) throws InvocationTargetException {
+ switch (operationID) {
+ case AlfPackage.STRING_LITERAL_EXPRESSION___TYPE:
+ return type();
+ case AlfPackage.STRING_LITERAL_EXPRESSION___STRING_LITERAL_EXPRESSION_TYPE_DERIVATION__DIAGNOSTICCHAIN_MAP:
+ return stringLiteralExpressionTypeDerivation((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ }
+ return super.eInvoke(operationID, arguments);
+ }
+
+} // StringLiteralExpressionImpl
diff --git a/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/SuperInvocationExpressionImpl.java b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/SuperInvocationExpressionImpl.java
new file mode 100644
index 00000000000..34f96db5794
--- /dev/null
+++ b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/SuperInvocationExpressionImpl.java
@@ -0,0 +1,441 @@
+/**
+ */
+package org.eclipse.papyrus.uml.alf.impl;
+
+import java.lang.reflect.InvocationTargetException;
+import java.util.Map;
+import org.eclipse.emf.common.util.BasicDiagnostic;
+import org.eclipse.emf.common.util.Diagnostic;
+import org.eclipse.emf.common.util.DiagnosticChain;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.common.util.WrappedException;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EOperation;
+import org.eclipse.emf.ecore.plugin.EcorePlugin;
+import org.eclipse.emf.ecore.util.EObjectValidator;
+import org.eclipse.papyrus.uml.alf.AlfPackage;
+import org.eclipse.papyrus.uml.alf.ElementReference;
+import org.eclipse.papyrus.uml.alf.FeatureReference;
+import org.eclipse.papyrus.uml.alf.QualifiedName;
+import org.eclipse.papyrus.uml.alf.SuperInvocationExpression;
+import org.eclipse.papyrus.uml.alf.util.AlfValidator;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Super Invocation Expression</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.uml.alf.impl.SuperInvocationExpressionImpl#getTarget <em>Target</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class SuperInvocationExpressionImpl extends InvocationExpressionImpl implements SuperInvocationExpression {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected SuperInvocationExpressionImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return AlfPackage.eINSTANCE.getSuperInvocationExpression();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public QualifiedName getTarget() {
+ return (QualifiedName) eGet(AlfPackage.eINSTANCE.getSuperInvocationExpression_Target(), true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setTarget(QualifiedName newTarget) {
+ eSet(AlfPackage.eINSTANCE.getSuperInvocationExpression_Target(), newTarget);
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #referent() <em>Referent</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #referent()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate REFERENT__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getSuperInvocationExpression__Referent()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public ElementReference referent() {
+ try {
+ return (ElementReference) REFERENT__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #feature() <em>Feature</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #feature()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate FEATURE__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getSuperInvocationExpression__Feature()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public FeatureReference feature() {
+ try {
+ return (FeatureReference) FEATURE__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #context() <em>Context</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #context()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate CONTEXT__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getSuperInvocationExpression__Context()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public ElementReference context() {
+ try {
+ return (ElementReference) CONTEXT__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean superInvocationExpressionReferentDerivation(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.SUPER_INVOCATION_EXPRESSION__SUPER_INVOCATION_EXPRESSION_REFERENT_DERIVATION,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "superInvocationExpressionReferentDerivation", EObjectValidator.getObjectLabel(this, context) }),
+ new Object[] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean superInvocationExpressionFeatureDerivation(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.SUPER_INVOCATION_EXPRESSION__SUPER_INVOCATION_EXPRESSION_FEATURE_DERIVATION,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "superInvocationExpressionFeatureDerivation", EObjectValidator.getObjectLabel(this, context) }),
+ new Object[] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * The cached validation expression for the '{@link #superInvocationExpressionQualification(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Super Invocation Expression Qualification</em>}' invariant operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #superInvocationExpressionQualification(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ * @ordered
+ */
+ protected static final String SUPER_INVOCATION_EXPRESSION_QUALIFICATION_DIAGNOSTIC_CHAIN_MAP__EEXPRESSION = "\n" +
+ " self.target = null or\n" +
+ " let qualification = self.target.qualification in\n" +
+ " qualification <> null implies\n" +
+ " let superclass = qualification.referent->select(isClass()) in\n" +
+ " let context = self.context() in\n" +
+ " superclass->size() = 1 and context <> null and\n" +
+ " superclass->forAll(containedIn(context.parents()->asBag()))";
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean superInvocationExpressionQualification(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return AlfValidator.validate
+ (AlfPackage.eINSTANCE.getSuperInvocationExpression(),
+ this,
+ diagnostics,
+ context,
+ "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot",
+ AlfPackage.eINSTANCE.getSuperInvocationExpression__SuperInvocationExpressionQualification__DiagnosticChain_Map(),
+ SUPER_INVOCATION_EXPRESSION_QUALIFICATION_DIAGNOSTIC_CHAIN_MAP__EEXPRESSION,
+ Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.SUPER_INVOCATION_EXPRESSION__SUPER_INVOCATION_EXPRESSION_QUALIFICATION);
+ }
+
+ /**
+ * The cached validation expression for the '{@link #superInvocationExpressionImplicitTarget(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Super Invocation Expression Implicit Target</em>}' invariant operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #superInvocationExpressionImplicitTarget(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ * @ordered
+ */
+ protected static final String SUPER_INVOCATION_EXPRESSION_IMPLICIT_TARGET_DIAGNOSTIC_CHAIN_MAP__EEXPRESSION = "\n" +
+ " self.target = null implies\n" +
+ " let referent = self.referent in\n" +
+ " let context = self.context() in\n" +
+ " referent <> null and referent.isConstructor() and\n" +
+ " context <> null and context.parents()->size() = 1";
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean superInvocationExpressionImplicitTarget(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return AlfValidator.validate
+ (AlfPackage.eINSTANCE.getSuperInvocationExpression(),
+ this,
+ diagnostics,
+ context,
+ "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot",
+ AlfPackage.eINSTANCE.getSuperInvocationExpression__SuperInvocationExpressionImplicitTarget__DiagnosticChain_Map(),
+ SUPER_INVOCATION_EXPRESSION_IMPLICIT_TARGET_DIAGNOSTIC_CHAIN_MAP__EEXPRESSION,
+ Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.SUPER_INVOCATION_EXPRESSION__SUPER_INVOCATION_EXPRESSION_IMPLICIT_TARGET);
+ }
+
+ /**
+ * The cached validation expression for the '{@link #superInvocationExpressionConstructorCall(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Super Invocation Expression Constructor Call</em>}' invariant operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #superInvocationExpressionConstructorCall(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ * @ordered
+ */
+ protected static final String SUPER_INVOCATION_EXPRESSION_CONSTRUCTOR_CALL_DIAGNOSTIC_CHAIN_MAP__EEXPRESSION = "\n" +
+ " let referent = self.referent in\n" +
+ " let context = self.context() in\n" +
+ " referent <> null and referent.isConstructor() and context <> null implies\n" +
+ " let operation = self.currentScope().specification() in\n" +
+ " operation.isConstructor() and\n" +
+ " let statement = self.enclosingStatement() in\n" +
+ " statement <> null and statement.oclIsKindOf(ExpressionStatement) and\n" +
+ " let annotatedStatement = statement.owner() in\n" +
+ " let owner = annotatedStatement.owner() in\n" +
+ " owner <> null implies owner.oclIsKindOf(Block) and\n" +
+ " let block = owner.oclAsType(Block) in\n" +
+ " block.enclosingStatement() = null and\n" +
+ " let classReference = referent.namespace() in\n" +
+ " let i = block.statement->indexOf(annotatedStatement) in\n" +
+ " i = 1 or\n" +
+ " block.statement->subOrderedSet(1, i-1).statement->forAll(\n" +
+ " oclIsKindOf(ExpressionStatement) and\n" +
+ " let expression = oclAsType(ExpressionStatement).expression in\n" +
+ " expression.oclIsKindOf(SuperInvocationExpression) and\n" +
+ " -- NOTE: This checks to ensure that no previous\n" +
+ " -- super-constructor invocation is for the same\n" +
+ " -- superclass\n" +
+ " not expression.oclAsType(SuperInvocationExpression).\n" +
+ " referent.namespace().equals(classReference)\n" +
+ " )";
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean superInvocationExpressionConstructorCall(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return AlfValidator.validate
+ (AlfPackage.eINSTANCE.getSuperInvocationExpression(),
+ this,
+ diagnostics,
+ context,
+ "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot",
+ AlfPackage.eINSTANCE.getSuperInvocationExpression__SuperInvocationExpressionConstructorCall__DiagnosticChain_Map(),
+ SUPER_INVOCATION_EXPRESSION_CONSTRUCTOR_CALL_DIAGNOSTIC_CHAIN_MAP__EEXPRESSION,
+ Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.SUPER_INVOCATION_EXPRESSION__SUPER_INVOCATION_EXPRESSION_CONSTRUCTOR_CALL);
+ }
+
+ /**
+ * The cached validation expression for the '{@link #superInvocationExpressionDestructorCall(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Super Invocation Expression Destructor Call</em>}' invariant operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #superInvocationExpressionDestructorCall(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ * @ordered
+ */
+ protected static final String SUPER_INVOCATION_EXPRESSION_DESTRUCTOR_CALL_DIAGNOSTIC_CHAIN_MAP__EEXPRESSION = "\n" +
+ " let referent = self.referent in\n" +
+ " referent <> null and referent.isDestructor() implies\n" +
+ " let operation = self.currentScope() in\n" +
+ " operation <> null and operation.isDestructor()";
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean superInvocationExpressionDestructorCall(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return AlfValidator.validate
+ (AlfPackage.eINSTANCE.getSuperInvocationExpression(),
+ this,
+ diagnostics,
+ context,
+ "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot",
+ AlfPackage.eINSTANCE.getSuperInvocationExpression__SuperInvocationExpressionDestructorCall__DiagnosticChain_Map(),
+ SUPER_INVOCATION_EXPRESSION_DESTRUCTOR_CALL_DIAGNOSTIC_CHAIN_MAP__EEXPRESSION,
+ Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.SUPER_INVOCATION_EXPRESSION__SUPER_INVOCATION_EXPRESSION_DESTRUCTOR_CALL);
+ }
+
+ /**
+ * The cached validation expression for the '{@link #superInvocationExpressionOperation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Super Invocation Expression Operation</em>}' invariant operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #superInvocationExpressionOperation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ * @ordered
+ */
+ protected static final String SUPER_INVOCATION_EXPRESSION_OPERATION_DIAGNOSTIC_CHAIN_MAP__EEXPRESSION = "\n" +
+ " self.referent <> null and\n" +
+ " -- TODO: Remove this check once overloading resolution is implemented.\n" +
+ " self.tuple.size() <= self.parameterCount() and\n" +
+ " self.tuple.input->forAll(input | self.parameterIsAssignableFrom(input)) and\n" +
+ " self.tuple.output->forAll(output | self.parameterIsAssignableTo(output))";
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean superInvocationExpressionOperation(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return AlfValidator.validate
+ (AlfPackage.eINSTANCE.getSuperInvocationExpression(),
+ this,
+ diagnostics,
+ context,
+ "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot",
+ AlfPackage.eINSTANCE.getSuperInvocationExpression__SuperInvocationExpressionOperation__DiagnosticChain_Map(),
+ SUPER_INVOCATION_EXPRESSION_OPERATION_DIAGNOSTIC_CHAIN_MAP__EEXPRESSION,
+ Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.SUPER_INVOCATION_EXPRESSION__SUPER_INVOCATION_EXPRESSION_OPERATION);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object eInvoke(int operationID, EList<?> arguments) throws InvocationTargetException {
+ switch (operationID) {
+ case AlfPackage.SUPER_INVOCATION_EXPRESSION___REFERENT:
+ return referent();
+ case AlfPackage.SUPER_INVOCATION_EXPRESSION___FEATURE:
+ return feature();
+ case AlfPackage.SUPER_INVOCATION_EXPRESSION___CONTEXT:
+ return context();
+ case AlfPackage.SUPER_INVOCATION_EXPRESSION___SUPER_INVOCATION_EXPRESSION_REFERENT_DERIVATION__DIAGNOSTICCHAIN_MAP:
+ return superInvocationExpressionReferentDerivation((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ case AlfPackage.SUPER_INVOCATION_EXPRESSION___SUPER_INVOCATION_EXPRESSION_FEATURE_DERIVATION__DIAGNOSTICCHAIN_MAP:
+ return superInvocationExpressionFeatureDerivation((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ case AlfPackage.SUPER_INVOCATION_EXPRESSION___SUPER_INVOCATION_EXPRESSION_QUALIFICATION__DIAGNOSTICCHAIN_MAP:
+ return superInvocationExpressionQualification((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ case AlfPackage.SUPER_INVOCATION_EXPRESSION___SUPER_INVOCATION_EXPRESSION_IMPLICIT_TARGET__DIAGNOSTICCHAIN_MAP:
+ return superInvocationExpressionImplicitTarget((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ case AlfPackage.SUPER_INVOCATION_EXPRESSION___SUPER_INVOCATION_EXPRESSION_CONSTRUCTOR_CALL__DIAGNOSTICCHAIN_MAP:
+ return superInvocationExpressionConstructorCall((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ case AlfPackage.SUPER_INVOCATION_EXPRESSION___SUPER_INVOCATION_EXPRESSION_DESTRUCTOR_CALL__DIAGNOSTICCHAIN_MAP:
+ return superInvocationExpressionDestructorCall((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ case AlfPackage.SUPER_INVOCATION_EXPRESSION___SUPER_INVOCATION_EXPRESSION_OPERATION__DIAGNOSTICCHAIN_MAP:
+ return superInvocationExpressionOperation((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ }
+ return super.eInvoke(operationID, arguments);
+ }
+
+} // SuperInvocationExpressionImpl
diff --git a/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/SwitchClauseImpl.java b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/SwitchClauseImpl.java
new file mode 100644
index 00000000000..22763ae0102
--- /dev/null
+++ b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/SwitchClauseImpl.java
@@ -0,0 +1,313 @@
+/**
+ */
+package org.eclipse.papyrus.uml.alf.impl;
+
+import java.lang.reflect.InvocationTargetException;
+
+import java.util.Map;
+
+import org.eclipse.emf.common.util.BasicDiagnostic;
+import org.eclipse.emf.common.util.BasicEList;
+import org.eclipse.emf.common.util.Diagnostic;
+import org.eclipse.emf.common.util.DiagnosticChain;
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.common.util.WrappedException;
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.EOperation;
+import org.eclipse.emf.ecore.plugin.EcorePlugin;
+
+import org.eclipse.emf.ecore.util.EObjectValidator;
+
+import org.eclipse.papyrus.uml.alf.AlfPackage;
+import org.eclipse.papyrus.uml.alf.AssignedSource;
+import org.eclipse.papyrus.uml.alf.Block;
+import org.eclipse.papyrus.uml.alf.Expression;
+import org.eclipse.papyrus.uml.alf.SwitchClause;
+
+import org.eclipse.papyrus.uml.alf.SyntaxElement;
+import org.eclipse.papyrus.uml.alf.util.AlfValidator;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Switch Clause</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.uml.alf.impl.SwitchClauseImpl#getCase <em>Case</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.impl.SwitchClauseImpl#getBlock <em>Block</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class SwitchClauseImpl extends SyntaxElementImpl implements SwitchClause {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected SwitchClauseImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return AlfPackage.eINSTANCE.getSwitchClause();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<Expression> getCase() {
+ return (EList<Expression>) eGet(AlfPackage.eINSTANCE.getSwitchClause_Case(), true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public Block getBlock() {
+ return (Block) eGet(AlfPackage.eINSTANCE.getSwitchClause_Block(), true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setBlock(Block newBlock) {
+ eSet(AlfPackage.eINSTANCE.getSwitchClause_Block(), newBlock);
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #assignmentsBefore(org.eclipse.papyrus.uml.alf.SyntaxElement) <em>Assignments Before</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #assignmentsBefore(org.eclipse.papyrus.uml.alf.SyntaxElement)
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate ASSIGNMENTS_BEFORE_SYNTAX_ELEMENT__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getSwitchClause__AssignmentsBefore__SyntaxElement()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<AssignedSource> assignmentsBefore(SyntaxElement element) {
+ try {
+ return (EList<AssignedSource>) ASSIGNMENTS_BEFORE_SYNTAX_ELEMENT__EINVOCATION_DELEGATE.dynamicInvoke(this, new BasicEList.UnmodifiableEList<Object>(1, new Object[] { element }));
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #assignmentsBefore() <em>Assignments Before</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #assignmentsBefore()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate ASSIGNMENTS_BEFORE__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getSwitchClause__AssignmentsBefore()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<AssignedSource> assignmentsBefore() {
+ try {
+ return (EList<AssignedSource>) ASSIGNMENTS_BEFORE__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #assignmentsAfter() <em>Assignments After</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #assignmentsAfter()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate ASSIGNMENTS_AFTER__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getSwitchClause__AssignmentsAfter()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean switchClauseAssignmentsBefore(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.SWITCH_CLAUSE__SWITCH_CLAUSE_ASSIGNMENTS_BEFORE,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "switchClauseAssignmentsBefore", EObjectValidator.getObjectLabel(this, context) }),
+ new Object[] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * The cached validation expression for the '{@link #switchClauseCaseLocalNames(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Switch Clause Case Local Names</em>}' invariant operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #switchClauseCaseLocalNames(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ * @ordered
+ */
+ protected static final String SWITCH_CLAUSE_CASE_LOCAL_NAMES_DIAGNOSTIC_CHAIN_MAP__EEXPRESSION = "self.assignmentsBefore().name->includesAll(self.case.assignmentAfter.name)";
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean switchClauseCaseLocalNames(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return AlfValidator.validate
+ (AlfPackage.eINSTANCE.getSwitchClause(),
+ this,
+ diagnostics,
+ context,
+ "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot",
+ AlfPackage.eINSTANCE.getSwitchClause__SwitchClauseCaseLocalNames__DiagnosticChain_Map(),
+ SWITCH_CLAUSE_CASE_LOCAL_NAMES_DIAGNOSTIC_CHAIN_MAP__EEXPRESSION,
+ Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.SWITCH_CLAUSE__SWITCH_CLAUSE_CASE_LOCAL_NAMES);
+ }
+
+ /**
+ * The cached validation expression for the '{@link #switchClauseCases(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Switch Clause Cases</em>}' invariant operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #switchClauseCases(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ * @ordered
+ */
+ protected static final String SWITCH_CLAUSE_CASES_DIAGNOSTIC_CHAIN_MAP__EEXPRESSION = "self.case->forAll(upper <= 1)";
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean switchClauseCases(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return AlfValidator.validate
+ (AlfPackage.eINSTANCE.getSwitchClause(),
+ this,
+ diagnostics,
+ context,
+ "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot",
+ AlfPackage.eINSTANCE.getSwitchClause__SwitchClauseCases__DiagnosticChain_Map(),
+ SWITCH_CLAUSE_CASES_DIAGNOSTIC_CHAIN_MAP__EEXPRESSION,
+ Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.SWITCH_CLAUSE__SWITCH_CLAUSE_CASES);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public int eDerivedOperationID(int baseOperationID, Class<?> baseClass) {
+ if (baseClass == SyntaxElement.class) {
+ switch (baseOperationID) {
+ case AlfPackage.SYNTAX_ELEMENT___ASSIGNMENTS_BEFORE:
+ return AlfPackage.SWITCH_CLAUSE___ASSIGNMENTS_BEFORE;
+ case AlfPackage.SYNTAX_ELEMENT___ASSIGNMENTS_BEFORE__SYNTAXELEMENT:
+ return AlfPackage.SWITCH_CLAUSE___ASSIGNMENTS_BEFORE__SYNTAXELEMENT;
+ default:
+ return super.eDerivedOperationID(baseOperationID, baseClass);
+ }
+ }
+ return super.eDerivedOperationID(baseOperationID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<AssignedSource> assignmentsAfter() {
+ try {
+ return (EList<AssignedSource>) ASSIGNMENTS_AFTER__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object eInvoke(int operationID, EList<?> arguments) throws InvocationTargetException {
+ switch (operationID) {
+ case AlfPackage.SWITCH_CLAUSE___ASSIGNMENTS_BEFORE__SYNTAXELEMENT:
+ return assignmentsBefore((SyntaxElement) arguments.get(0));
+ case AlfPackage.SWITCH_CLAUSE___ASSIGNMENTS_BEFORE:
+ return assignmentsBefore();
+ case AlfPackage.SWITCH_CLAUSE___ASSIGNMENTS_AFTER:
+ return assignmentsAfter();
+ case AlfPackage.SWITCH_CLAUSE___SWITCH_CLAUSE_ASSIGNMENTS_BEFORE__DIAGNOSTICCHAIN_MAP:
+ return switchClauseAssignmentsBefore((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ case AlfPackage.SWITCH_CLAUSE___SWITCH_CLAUSE_CASE_LOCAL_NAMES__DIAGNOSTICCHAIN_MAP:
+ return switchClauseCaseLocalNames((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ case AlfPackage.SWITCH_CLAUSE___SWITCH_CLAUSE_CASES__DIAGNOSTICCHAIN_MAP:
+ return switchClauseCases((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ }
+ return super.eInvoke(operationID, arguments);
+ }
+
+} // SwitchClauseImpl
diff --git a/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/SwitchStatementImpl.java b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/SwitchStatementImpl.java
new file mode 100644
index 00000000000..b31b841147f
--- /dev/null
+++ b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/SwitchStatementImpl.java
@@ -0,0 +1,546 @@
+/**
+ */
+package org.eclipse.papyrus.uml.alf.impl;
+
+import java.lang.reflect.InvocationTargetException;
+
+import java.util.Map;
+
+import org.eclipse.emf.common.util.BasicDiagnostic;
+import org.eclipse.emf.common.util.BasicEList;
+import org.eclipse.emf.common.util.Diagnostic;
+import org.eclipse.emf.common.util.DiagnosticChain;
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.common.util.WrappedException;
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.EOperation;
+import org.eclipse.emf.ecore.plugin.EcorePlugin;
+
+import org.eclipse.emf.ecore.util.EObjectValidator;
+
+import org.eclipse.papyrus.uml.alf.AlfPackage;
+import org.eclipse.papyrus.uml.alf.Annotation;
+import org.eclipse.papyrus.uml.alf.AssignedSource;
+import org.eclipse.papyrus.uml.alf.Block;
+import org.eclipse.papyrus.uml.alf.Expression;
+import org.eclipse.papyrus.uml.alf.Statement;
+import org.eclipse.papyrus.uml.alf.SwitchClause;
+import org.eclipse.papyrus.uml.alf.SwitchStatement;
+
+import org.eclipse.papyrus.uml.alf.SyntaxElement;
+import org.eclipse.papyrus.uml.alf.util.AlfValidator;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Switch Statement</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.uml.alf.impl.SwitchStatementImpl#getNonDefaultClause <em>Non Default Clause</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.impl.SwitchStatementImpl#getExpression <em>Expression</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.impl.SwitchStatementImpl#getDefaultClause <em>Default Clause</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.impl.SwitchStatementImpl#isIsAssured <em>Is Assured</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.impl.SwitchStatementImpl#isIsDeterminate <em>Is Determinate</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class SwitchStatementImpl extends StatementImpl implements SwitchStatement {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected SwitchStatementImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return AlfPackage.eINSTANCE.getSwitchStatement();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<SwitchClause> getNonDefaultClause() {
+ return (EList<SwitchClause>) eGet(AlfPackage.eINSTANCE.getSwitchStatement_NonDefaultClause(), true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public Expression getExpression() {
+ return (Expression) eGet(AlfPackage.eINSTANCE.getSwitchStatement_Expression(), true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setExpression(Expression newExpression) {
+ eSet(AlfPackage.eINSTANCE.getSwitchStatement_Expression(), newExpression);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public Block getDefaultClause() {
+ return (Block) eGet(AlfPackage.eINSTANCE.getSwitchStatement_DefaultClause(), true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setDefaultClause(Block newDefaultClause) {
+ eSet(AlfPackage.eINSTANCE.getSwitchStatement_DefaultClause(), newDefaultClause);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isIsAssured() {
+ return (Boolean) eGet(AlfPackage.eINSTANCE.getSwitchStatement_IsAssured(), true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setIsAssured(boolean newIsAssured) {
+ eSet(AlfPackage.eINSTANCE.getSwitchStatement_IsAssured(), newIsAssured);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isIsDeterminate() {
+ return (Boolean) eGet(AlfPackage.eINSTANCE.getSwitchStatement_IsDeterminate(), true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setIsDeterminate(boolean newIsDeterminate) {
+ eSet(AlfPackage.eINSTANCE.getSwitchStatement_IsDeterminate(), newIsDeterminate);
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #assignmentsBefore(org.eclipse.papyrus.uml.alf.SyntaxElement) <em>Assignments Before</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #assignmentsBefore(org.eclipse.papyrus.uml.alf.SyntaxElement)
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate ASSIGNMENTS_BEFORE_SYNTAX_ELEMENT__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getSwitchStatement__AssignmentsBefore__SyntaxElement()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<AssignedSource> assignmentsBefore(SyntaxElement element) {
+ try {
+ return (EList<AssignedSource>) ASSIGNMENTS_BEFORE_SYNTAX_ELEMENT__EINVOCATION_DELEGATE.dynamicInvoke(this, new BasicEList.UnmodifiableEList<Object>(1, new Object[] { element }));
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #assignmentsAfter() <em>Assignments After</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #assignmentsAfter()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate ASSIGNMENTS_AFTER__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getSwitchStatement__AssignmentsAfter()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<AssignedSource> assignmentsAfter() {
+ try {
+ return (EList<AssignedSource>) ASSIGNMENTS_AFTER__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean switchStatementAssignmentsBefore(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.SWITCH_STATEMENT__SWITCH_STATEMENT_ASSIGNMENTS_BEFORE,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "switchStatementAssignmentsBefore", EObjectValidator.getObjectLabel(this, context) }),
+ new Object[] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * The cached validation expression for the '{@link #switchStatementCaseAssignments(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Switch Statement Case Assignments</em>}' invariant operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #switchStatementCaseAssignments(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ * @ordered
+ */
+ protected static final String SWITCH_STATEMENT_CASE_ASSIGNMENTS_DIAGNOSTIC_CHAIN_MAP__EEXPRESSION = "\n" +
+ " self.nonDefaultClause.case.newAssignments()->isUnique(name)";
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean switchStatementCaseAssignments(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return AlfValidator.validate
+ (AlfPackage.eINSTANCE.getSwitchStatement(),
+ this,
+ diagnostics,
+ context,
+ "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot",
+ AlfPackage.eINSTANCE.getSwitchStatement__SwitchStatementCaseAssignments__DiagnosticChain_Map(),
+ SWITCH_STATEMENT_CASE_ASSIGNMENTS_DIAGNOSTIC_CHAIN_MAP__EEXPRESSION,
+ Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.SWITCH_STATEMENT__SWITCH_STATEMENT_CASE_ASSIGNMENTS);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean switchStatementAssignmentsAfter(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.SWITCH_STATEMENT__SWITCH_STATEMENT_ASSIGNMENTS_AFTER,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "switchStatementAssignmentsAfter", EObjectValidator.getObjectLabel(this, context) }),
+ new Object[] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * The cached validation expression for the '{@link #switchStatementAssignments(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Switch Statement Assignments</em>}' invariant operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #switchStatementAssignments(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ * @ordered
+ */
+ protected static final String SWITCH_STATEMENT_ASSIGNMENTS_DIAGNOSTIC_CHAIN_MAP__EEXPRESSION = "\n" +
+ " if self.defaultClause = null then\n" +
+ " self.assignmentBefore.name->includesAll(self.assignmentBefore.name)\n" +
+ " else\n" +
+ " let blocks =\n" +
+ " if self.defaultClause = null then\n" +
+ " self.nonDefaultClause.block\n" +
+ " else\n" +
+ " self.nonDefaultClause.block->including(self.defaultClause)\n" +
+ " endif\n" +
+ " in\n" +
+ " let names = blocks.newAssignments().name in\n" +
+ " let n = blocks->size() in\n" +
+ " names->forAll(name | names->count(name) = n)\n" +
+ " endif";
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean switchStatementAssignments(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return AlfValidator.validate
+ (AlfPackage.eINSTANCE.getSwitchStatement(),
+ this,
+ diagnostics,
+ context,
+ "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot",
+ AlfPackage.eINSTANCE.getSwitchStatement__SwitchStatementAssignments__DiagnosticChain_Map(),
+ SWITCH_STATEMENT_ASSIGNMENTS_DIAGNOSTIC_CHAIN_MAP__EEXPRESSION,
+ Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.SWITCH_STATEMENT__SWITCH_STATEMENT_ASSIGNMENTS);
+ }
+
+ /**
+ * The cached validation expression for the '{@link #switchStatementExpression(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Switch Statement Expression</em>}' invariant operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #switchStatementExpression(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ * @ordered
+ */
+ protected static final String SWITCH_STATEMENT_EXPRESSION_DIAGNOSTIC_CHAIN_MAP__EEXPRESSION = "self.expression.upper <= 1";
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean switchStatementExpression(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return AlfValidator.validate
+ (AlfPackage.eINSTANCE.getSwitchStatement(),
+ this,
+ diagnostics,
+ context,
+ "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot",
+ AlfPackage.eINSTANCE.getSwitchStatement__SwitchStatementExpression__DiagnosticChain_Map(),
+ SWITCH_STATEMENT_EXPRESSION_DIAGNOSTIC_CHAIN_MAP__EEXPRESSION,
+ Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.SWITCH_STATEMENT__SWITCH_STATEMENT_EXPRESSION);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean switchStatementEnclosedStatements(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.SWITCH_STATEMENT__SWITCH_STATEMENT_ENCLOSED_STATEMENTS,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "switchStatementEnclosedStatements", EObjectValidator.getObjectLabel(this, context) }),
+ new Object[] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean switchStatementIsDeterminateDerivation(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.SWITCH_STATEMENT__SWITCH_STATEMENT_IS_DETERMINATE_DERIVATION,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "switchStatementIsDeterminateDerivation", EObjectValidator.getObjectLabel(this, context) }),
+ new Object[] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean switchStatementIsAssuredDerivation(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.SWITCH_STATEMENT__SWITCH_STATEMENT_IS_ASSURED_DERIVATION,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "switchStatementIsAssuredDerivation", EObjectValidator.getObjectLabel(this, context) }),
+ new Object[] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #annotationAllowed(org.eclipse.papyrus.uml.alf.Annotation) <em>Annotation Allowed</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #annotationAllowed(org.eclipse.papyrus.uml.alf.Annotation)
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate ANNOTATION_ALLOWED_ANNOTATION__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getSwitchStatement__AnnotationAllowed__Annotation()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean annotationAllowed(Annotation annotation) {
+ try {
+ return (Boolean) ANNOTATION_ALLOWED_ANNOTATION__EINVOCATION_DELEGATE.dynamicInvoke(this, new BasicEList.UnmodifiableEList<Object>(1, new Object[] { annotation }));
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public int eDerivedOperationID(int baseOperationID, Class<?> baseClass) {
+ if (baseClass == SyntaxElement.class) {
+ switch (baseOperationID) {
+ case AlfPackage.SYNTAX_ELEMENT___ASSIGNMENTS_BEFORE__SYNTAXELEMENT:
+ return AlfPackage.SWITCH_STATEMENT___ASSIGNMENTS_BEFORE__SYNTAXELEMENT;
+ default:
+ return super.eDerivedOperationID(baseOperationID, baseClass);
+ }
+ }
+ if (baseClass == Statement.class) {
+ switch (baseOperationID) {
+ case AlfPackage.STATEMENT___ANNOTATION_ALLOWED__ANNOTATION:
+ return AlfPackage.SWITCH_STATEMENT___ANNOTATION_ALLOWED__ANNOTATION;
+ case AlfPackage.STATEMENT___ASSIGNMENTS_AFTER:
+ return AlfPackage.SWITCH_STATEMENT___ASSIGNMENTS_AFTER;
+ default:
+ return super.eDerivedOperationID(baseOperationID, baseClass);
+ }
+ }
+ return super.eDerivedOperationID(baseOperationID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object eInvoke(int operationID, EList<?> arguments) throws InvocationTargetException {
+ switch (operationID) {
+ case AlfPackage.SWITCH_STATEMENT___ASSIGNMENTS_BEFORE__SYNTAXELEMENT:
+ return assignmentsBefore((SyntaxElement) arguments.get(0));
+ case AlfPackage.SWITCH_STATEMENT___ASSIGNMENTS_AFTER:
+ return assignmentsAfter();
+ case AlfPackage.SWITCH_STATEMENT___SWITCH_STATEMENT_ASSIGNMENTS_BEFORE__DIAGNOSTICCHAIN_MAP:
+ return switchStatementAssignmentsBefore((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ case AlfPackage.SWITCH_STATEMENT___SWITCH_STATEMENT_CASE_ASSIGNMENTS__DIAGNOSTICCHAIN_MAP:
+ return switchStatementCaseAssignments((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ case AlfPackage.SWITCH_STATEMENT___SWITCH_STATEMENT_ASSIGNMENTS_AFTER__DIAGNOSTICCHAIN_MAP:
+ return switchStatementAssignmentsAfter((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ case AlfPackage.SWITCH_STATEMENT___SWITCH_STATEMENT_ASSIGNMENTS__DIAGNOSTICCHAIN_MAP:
+ return switchStatementAssignments((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ case AlfPackage.SWITCH_STATEMENT___SWITCH_STATEMENT_EXPRESSION__DIAGNOSTICCHAIN_MAP:
+ return switchStatementExpression((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ case AlfPackage.SWITCH_STATEMENT___SWITCH_STATEMENT_ENCLOSED_STATEMENTS__DIAGNOSTICCHAIN_MAP:
+ return switchStatementEnclosedStatements((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ case AlfPackage.SWITCH_STATEMENT___SWITCH_STATEMENT_IS_DETERMINATE_DERIVATION__DIAGNOSTICCHAIN_MAP:
+ return switchStatementIsDeterminateDerivation((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ case AlfPackage.SWITCH_STATEMENT___SWITCH_STATEMENT_IS_ASSURED_DERIVATION__DIAGNOSTICCHAIN_MAP:
+ return switchStatementIsAssuredDerivation((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ case AlfPackage.SWITCH_STATEMENT___ANNOTATION_ALLOWED__ANNOTATION:
+ return annotationAllowed((Annotation) arguments.get(0));
+ }
+ return super.eInvoke(operationID, arguments);
+ }
+
+} // SwitchStatementImpl
diff --git a/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/SyntaxElementImpl.java b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/SyntaxElementImpl.java
new file mode 100644
index 00000000000..44954c65872
--- /dev/null
+++ b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/SyntaxElementImpl.java
@@ -0,0 +1,1049 @@
+/**
+ */
+package org.eclipse.papyrus.uml.alf.impl;
+
+import java.lang.reflect.InvocationTargetException;
+import org.eclipse.emf.common.util.BasicEList;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.common.util.WrappedException;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EOperation;
+import org.eclipse.emf.internal.cdo.CDOObjectImpl;
+import org.eclipse.papyrus.uml.alf.RunTimeCaching;
+import org.eclipse.papyrus.uml.alf.AlfPackage;
+import org.eclipse.papyrus.uml.alf.AssignedSource;
+import org.eclipse.papyrus.uml.alf.ElementReference;
+import org.eclipse.papyrus.uml.alf.Expression;
+import org.eclipse.papyrus.uml.alf.Statement;
+import org.eclipse.papyrus.uml.alf.SyntaxElement;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Syntax Element</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.uml.alf.impl.SyntaxElementImpl#getOwner <em>Owner</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public abstract class SyntaxElementImpl extends CDOObjectImpl implements SyntaxElement {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated NOT
+ */
+ protected SyntaxElementImpl() {
+ super();
+ }
+
+ private boolean unregistered = true;
+
+ protected void registerCaching() {
+ if (this.unregistered) {
+ RunTimeCaching.register(this);
+ this.unregistered = false;
+ }
+ }
+
+ public String getId() {
+ return this.getClass().getSimpleName() + "@" +
+ Integer.toHexString(SyntaxElementImpl.this.hashCode());
+ }
+
+ public void clear() {
+ this.assignmentsBefore = null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return AlfPackage.eINSTANCE.getSyntaxElement();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected int eStaticFeatureCount() {
+ return 0;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public SyntaxElement getOwner() {
+ return (SyntaxElement) eGet(AlfPackage.eINSTANCE.getSyntaxElement_Owner(), true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setOwner(SyntaxElement newOwner) {
+ eSet(AlfPackage.eINSTANCE.getSyntaxElement_Owner(), newOwner);
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #toReference() <em>To Reference</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #toReference()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate TO_REFERENCE__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getSyntaxElement__ToReference()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public ElementReference toReference() {
+ try {
+ return (ElementReference) TO_REFERENCE__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #owner() <em>Owner</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #owner()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate OWNER__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getSyntaxElement__Owner()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public SyntaxElement owner() {
+ try {
+ return (SyntaxElement) OWNER__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #SyntaxElement_owner() <em>Syntax Element owner</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #SyntaxElement_owner()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate SYNTAX_ELEMENT_OWNER__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getSyntaxElement__SyntaxElement_owner()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public SyntaxElement SyntaxElement_owner() {
+ try {
+ return (SyntaxElement) SYNTAX_ELEMENT_OWNER__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #currentScope() <em>Current Scope</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #currentScope()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate CURRENT_SCOPE__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getSyntaxElement__CurrentScope()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public ElementReference currentScope() {
+ try {
+ return (ElementReference) CURRENT_SCOPE__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #SyntaxElement_currentScope() <em>Syntax Element current Scope</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #SyntaxElement_currentScope()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate SYNTAX_ELEMENT_CURRENT_SCOPE__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getSyntaxElement__SyntaxElement_currentScope()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public ElementReference SyntaxElement_currentScope() {
+ try {
+ return (ElementReference) SYNTAX_ELEMENT_CURRENT_SCOPE__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #enclosingStatement() <em>Enclosing Statement</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #enclosingStatement()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate ENCLOSING_STATEMENT__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getSyntaxElement__EnclosingStatement()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public Statement enclosingStatement() {
+ try {
+ return (Statement) ENCLOSING_STATEMENT__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #enclosingExpression() <em>Enclosing Expression</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #enclosingExpression()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate ENCLOSING_EXPRESSION__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getSyntaxElement__EnclosingExpression()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public Expression enclosingExpression() {
+ try {
+ return (Expression) ENCLOSING_EXPRESSION__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #assignmentsBefore() <em>Assignments Before</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #assignmentsBefore()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate ASSIGNMENTS_BEFORE__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getSyntaxElement__AssignmentsBefore()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<AssignedSource> assignmentsBefore() {
+ try {
+ return (EList<AssignedSource>) ASSIGNMENTS_BEFORE__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ protected EList<AssignedSource> assignmentsBefore = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated NOT
+ */
+ public EList<AssignedSource> SyntaxElement_assignmentsBefore() {
+ if (this.unregistered || this.assignmentsBefore == null) {
+ this.assignmentsBefore = this.SyntaxElement_assignmentsBefore_base();
+ }
+ return this.assignmentsBefore;
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #SyntaxElement_assignmentsBefore_base() <em>Syntax Element assignments Before base</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #SyntaxElement_assignmentsBefore_base()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE_BASE__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getSyntaxElement__SyntaxElement_assignmentsBefore_base()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<AssignedSource> SyntaxElement_assignmentsBefore_base() {
+ try {
+ return (EList<AssignedSource>) SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE_BASE__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #assignmentsBefore(org.eclipse.papyrus.uml.alf.SyntaxElement) <em>Assignments Before</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #assignmentsBefore(org.eclipse.papyrus.uml.alf.SyntaxElement)
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate ASSIGNMENTS_BEFORE_SYNTAX_ELEMENT__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getSyntaxElement__AssignmentsBefore__SyntaxElement()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<AssignedSource> assignmentsBefore(SyntaxElement element) {
+ try {
+ return (EList<AssignedSource>) ASSIGNMENTS_BEFORE_SYNTAX_ELEMENT__EINVOCATION_DELEGATE.dynamicInvoke(this, new BasicEList.UnmodifiableEList<Object>(1, new Object[] { element }));
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #updateAll(org.eclipse.emf.common.util.EList, org.eclipse.emf.common.util.EList) <em>Update All</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #updateAll(org.eclipse.emf.common.util.EList, org.eclipse.emf.common.util.EList)
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate UPDATE_ALL_ELIST_ELIST__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getSyntaxElement__UpdateAll__EList_EList()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<AssignedSource> updateAll(EList<AssignedSource> assignments, EList<AssignedSource> newAssignments) {
+ try {
+ return (EList<AssignedSource>) UPDATE_ALL_ELIST_ELIST__EINVOCATION_DELEGATE.dynamicInvoke(this, new BasicEList.UnmodifiableEList<Object>(2, new Object[] { assignments, newAssignments }));
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #commonAncestor(org.eclipse.emf.common.util.EList) <em>Common Ancestor</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #commonAncestor(org.eclipse.emf.common.util.EList)
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate COMMON_ANCESTOR_ELIST__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getSyntaxElement__CommonAncestor__EList()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public ElementReference commonAncestor(EList<ElementReference> classifiers) {
+ try {
+ return (ElementReference) COMMON_ANCESTOR_ELIST__EINVOCATION_DELEGATE.dynamicInvoke(this, new BasicEList.UnmodifiableEList<Object>(1, new Object[] { classifiers }));
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #commonAncestors(org.eclipse.emf.common.util.EList) <em>Common Ancestors</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #commonAncestors(org.eclipse.emf.common.util.EList)
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate COMMON_ANCESTORS_ELIST__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getSyntaxElement__CommonAncestors__EList()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<ElementReference> commonAncestors(EList<ElementReference> classifiers) {
+ try {
+ return (EList<ElementReference>) COMMON_ANCESTORS_ELIST__EINVOCATION_DELEGATE.dynamicInvoke(this, new BasicEList.UnmodifiableEList<Object>(1, new Object[] { classifiers }));
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #removeDuplicateElements(org.eclipse.emf.common.util.EList) <em>Remove Duplicate Elements</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #removeDuplicateElements(org.eclipse.emf.common.util.EList)
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate REMOVE_DUPLICATE_ELEMENTS_ELIST__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getSyntaxElement__RemoveDuplicateElements__EList()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<ElementReference> removeDuplicateElements(EList<ElementReference> elements) {
+ try {
+ return (EList<ElementReference>) REMOVE_DUPLICATE_ELEMENTS_ELIST__EINVOCATION_DELEGATE.dynamicInvoke(this, new BasicEList.UnmodifiableEList<Object>(1, new Object[] { elements }));
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #resolveInLibrary(java.lang.String) <em>Resolve In Library</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #resolveInLibrary(java.lang.String)
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate RESOLVE_IN_LIBRARY_STRING__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getSyntaxElement__ResolveInLibrary__String()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<ElementReference> resolveInLibrary(String pathName) {
+ try {
+ return (EList<ElementReference>) RESOLVE_IN_LIBRARY_STRING__EINVOCATION_DELEGATE.dynamicInvoke(this, new BasicEList.UnmodifiableEList<Object>(1, new Object[] { pathName }));
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #primitiveType_(java.lang.String) <em>Primitive Type </em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #primitiveType_(java.lang.String)
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate PRIMITIVE_TYPE_STRING__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getSyntaxElement__PrimitiveType___String()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public ElementReference primitiveType_(String typeName) {
+ try {
+ return (ElementReference) PRIMITIVE_TYPE_STRING__EINVOCATION_DELEGATE.dynamicInvoke(this, new BasicEList.UnmodifiableEList<Object>(1, new Object[] { typeName }));
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated NOT
+ */
+ public ElementReference primitiveType(String typeName) {
+ return this.primitiveType_(typeName);
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #booleanType() <em>Boolean Type</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #booleanType()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate BOOLEAN_TYPE__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getSyntaxElement__BooleanType()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public ElementReference booleanType() {
+ try {
+ return (ElementReference) BOOLEAN_TYPE__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #isBooleanType(org.eclipse.papyrus.uml.alf.ElementReference) <em>Is Boolean Type</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #isBooleanType(org.eclipse.papyrus.uml.alf.ElementReference)
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate IS_BOOLEAN_TYPE_ELEMENT_REFERENCE__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getSyntaxElement__IsBooleanType__ElementReference()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isBooleanType(ElementReference element) {
+ try {
+ return (Boolean) IS_BOOLEAN_TYPE_ELEMENT_REFERENCE__EINVOCATION_DELEGATE.dynamicInvoke(this, new BasicEList.UnmodifiableEList<Object>(1, new Object[] { element }));
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #integerType() <em>Integer Type</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #integerType()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate INTEGER_TYPE__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getSyntaxElement__IntegerType()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public ElementReference integerType() {
+ try {
+ return (ElementReference) INTEGER_TYPE__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #isIntegerType(org.eclipse.papyrus.uml.alf.ElementReference) <em>Is Integer Type</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #isIntegerType(org.eclipse.papyrus.uml.alf.ElementReference)
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate IS_INTEGER_TYPE_ELEMENT_REFERENCE__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getSyntaxElement__IsIntegerType__ElementReference()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isIntegerType(ElementReference element) {
+ try {
+ return (Boolean) IS_INTEGER_TYPE_ELEMENT_REFERENCE__EINVOCATION_DELEGATE.dynamicInvoke(this, new BasicEList.UnmodifiableEList<Object>(1, new Object[] { element }));
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #stringType() <em>String Type</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #stringType()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate STRING_TYPE__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getSyntaxElement__StringType()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public ElementReference stringType() {
+ try {
+ return (ElementReference) STRING_TYPE__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #isStringType(org.eclipse.papyrus.uml.alf.ElementReference) <em>Is String Type</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #isStringType(org.eclipse.papyrus.uml.alf.ElementReference)
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate IS_STRING_TYPE_ELEMENT_REFERENCE__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getSyntaxElement__IsStringType__ElementReference()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isStringType(ElementReference element) {
+ try {
+ return (Boolean) IS_STRING_TYPE_ELEMENT_REFERENCE__EINVOCATION_DELEGATE.dynamicInvoke(this, new BasicEList.UnmodifiableEList<Object>(1, new Object[] { element }));
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #unlimitedNaturalType() <em>Unlimited Natural Type</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #unlimitedNaturalType()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate UNLIMITED_NATURAL_TYPE__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getSyntaxElement__UnlimitedNaturalType()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public ElementReference unlimitedNaturalType() {
+ try {
+ return (ElementReference) UNLIMITED_NATURAL_TYPE__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #isUnlimitedNaturalType(org.eclipse.papyrus.uml.alf.ElementReference) <em>Is Unlimited Natural Type</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #isUnlimitedNaturalType(org.eclipse.papyrus.uml.alf.ElementReference)
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate IS_UNLIMITED_NATURAL_TYPE_ELEMENT_REFERENCE__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getSyntaxElement__IsUnlimitedNaturalType__ElementReference())
+ .getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isUnlimitedNaturalType(ElementReference element) {
+ try {
+ return (Boolean) IS_UNLIMITED_NATURAL_TYPE_ELEMENT_REFERENCE__EINVOCATION_DELEGATE.dynamicInvoke(this, new BasicEList.UnmodifiableEList<Object>(1, new Object[] { element }));
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #bitStringType() <em>Bit String Type</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #bitStringType()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate BIT_STRING_TYPE__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getSyntaxElement__BitStringType()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public ElementReference bitStringType() {
+ try {
+ return (ElementReference) BIT_STRING_TYPE__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #isBitStringType(org.eclipse.papyrus.uml.alf.ElementReference) <em>Is Bit String Type</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #isBitStringType(org.eclipse.papyrus.uml.alf.ElementReference)
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate IS_BIT_STRING_TYPE_ELEMENT_REFERENCE__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getSyntaxElement__IsBitStringType__ElementReference()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isBitStringType(ElementReference element) {
+ try {
+ return (Boolean) IS_BIT_STRING_TYPE_ELEMENT_REFERENCE__EINVOCATION_DELEGATE.dynamicInvoke(this, new BasicEList.UnmodifiableEList<Object>(1, new Object[] { element }));
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #naturalType() <em>Natural Type</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #naturalType()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate NATURAL_TYPE__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getSyntaxElement__NaturalType()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public ElementReference naturalType() {
+ try {
+ return (ElementReference) NATURAL_TYPE__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #isNaturalType(org.eclipse.papyrus.uml.alf.ElementReference) <em>Is Natural Type</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #isNaturalType(org.eclipse.papyrus.uml.alf.ElementReference)
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate IS_NATURAL_TYPE_ELEMENT_REFERENCE__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getSyntaxElement__IsNaturalType__ElementReference()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isNaturalType(ElementReference element) {
+ try {
+ return (Boolean) IS_NATURAL_TYPE_ELEMENT_REFERENCE__EINVOCATION_DELEGATE.dynamicInvoke(this, new BasicEList.UnmodifiableEList<Object>(1, new Object[] { element }));
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #isNumericType(org.eclipse.papyrus.uml.alf.ElementReference) <em>Is Numeric Type</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #isNumericType(org.eclipse.papyrus.uml.alf.ElementReference)
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate IS_NUMERIC_TYPE_ELEMENT_REFERENCE__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getSyntaxElement__IsNumericType__ElementReference()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isNumericType(ElementReference element) {
+ try {
+ return (Boolean) IS_NUMERIC_TYPE_ELEMENT_REFERENCE__EINVOCATION_DELEGATE.dynamicInvoke(this, new BasicEList.UnmodifiableEList<Object>(1, new Object[] { element }));
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #collectionFunctionAdd() <em>Collection Function Add</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #collectionFunctionAdd()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate COLLECTION_FUNCTION_ADD__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getSyntaxElement__CollectionFunctionAdd()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public ElementReference collectionFunctionAdd() {
+ try {
+ return (ElementReference) COLLECTION_FUNCTION_ADD__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #isCollectionClass(org.eclipse.papyrus.uml.alf.ElementReference) <em>Is Collection Class</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #isCollectionClass(org.eclipse.papyrus.uml.alf.ElementReference)
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate IS_COLLECTION_CLASS_ELEMENT_REFERENCE__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getSyntaxElement__IsCollectionClass__ElementReference()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isCollectionClass(ElementReference element) {
+ try {
+ return (Boolean) IS_COLLECTION_CLASS_ELEMENT_REFERENCE__EINVOCATION_DELEGATE.dynamicInvoke(this, new BasicEList.UnmodifiableEList<Object>(1, new Object[] { element }));
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #isIntegerCollectionClass(org.eclipse.papyrus.uml.alf.ElementReference) <em>Is Integer Collection Class</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #isIntegerCollectionClass(org.eclipse.papyrus.uml.alf.ElementReference)
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate IS_INTEGER_COLLECTION_CLASS_ELEMENT_REFERENCE__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getSyntaxElement__IsIntegerCollectionClass__ElementReference())
+ .getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isIntegerCollectionClass(ElementReference element) {
+ try {
+ return (Boolean) IS_INTEGER_COLLECTION_CLASS_ELEMENT_REFERENCE__EINVOCATION_DELEGATE.dynamicInvoke(this, new BasicEList.UnmodifiableEList<Object>(1, new Object[] { element }));
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #isBitStringCollectionClass(org.eclipse.papyrus.uml.alf.ElementReference) <em>Is Bit String Collection Class</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #isBitStringCollectionClass(org.eclipse.papyrus.uml.alf.ElementReference)
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate IS_BIT_STRING_COLLECTION_CLASS_ELEMENT_REFERENCE__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getSyntaxElement__IsBitStringCollectionClass__ElementReference())
+ .getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isBitStringCollectionClass(ElementReference element) {
+ try {
+ return (Boolean) IS_BIT_STRING_COLLECTION_CLASS_ELEMENT_REFERENCE__EINVOCATION_DELEGATE.dynamicInvoke(this, new BasicEList.UnmodifiableEList<Object>(1, new Object[] { element }));
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object eInvoke(int operationID, EList<?> arguments) throws InvocationTargetException {
+ switch (operationID) {
+ case AlfPackage.SYNTAX_ELEMENT___TO_REFERENCE:
+ return toReference();
+ case AlfPackage.SYNTAX_ELEMENT___OWNER:
+ return owner();
+ case AlfPackage.SYNTAX_ELEMENT___SYNTAX_ELEMENT_OWNER:
+ return SyntaxElement_owner();
+ case AlfPackage.SYNTAX_ELEMENT___CURRENT_SCOPE:
+ return currentScope();
+ case AlfPackage.SYNTAX_ELEMENT___SYNTAX_ELEMENT_CURRENT_SCOPE:
+ return SyntaxElement_currentScope();
+ case AlfPackage.SYNTAX_ELEMENT___ENCLOSING_STATEMENT:
+ return enclosingStatement();
+ case AlfPackage.SYNTAX_ELEMENT___ENCLOSING_EXPRESSION:
+ return enclosingExpression();
+ case AlfPackage.SYNTAX_ELEMENT___ASSIGNMENTS_BEFORE:
+ return assignmentsBefore();
+ case AlfPackage.SYNTAX_ELEMENT___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE:
+ return SyntaxElement_assignmentsBefore();
+ case AlfPackage.SYNTAX_ELEMENT___SYNTAX_ELEMENT_ASSIGNMENTS_BEFORE_BASE:
+ return SyntaxElement_assignmentsBefore_base();
+ case AlfPackage.SYNTAX_ELEMENT___ASSIGNMENTS_BEFORE__SYNTAXELEMENT:
+ return assignmentsBefore((SyntaxElement) arguments.get(0));
+ case AlfPackage.SYNTAX_ELEMENT___UPDATE_ALL__ELIST_ELIST:
+ return updateAll((EList<AssignedSource>) arguments.get(0), (EList<AssignedSource>) arguments.get(1));
+ case AlfPackage.SYNTAX_ELEMENT___COMMON_ANCESTOR__ELIST:
+ return commonAncestor((EList<ElementReference>) arguments.get(0));
+ case AlfPackage.SYNTAX_ELEMENT___COMMON_ANCESTORS__ELIST:
+ return commonAncestors((EList<ElementReference>) arguments.get(0));
+ case AlfPackage.SYNTAX_ELEMENT___REMOVE_DUPLICATE_ELEMENTS__ELIST:
+ return removeDuplicateElements((EList<ElementReference>) arguments.get(0));
+ case AlfPackage.SYNTAX_ELEMENT___RESOLVE_IN_LIBRARY__STRING:
+ return resolveInLibrary((String) arguments.get(0));
+ case AlfPackage.SYNTAX_ELEMENT___PRIMITIVE_TYPE__STRING:
+ return primitiveType((String) arguments.get(0));
+ case AlfPackage.SYNTAX_ELEMENT___PRIMITIVE_TYPE____STRING:
+ return primitiveType_((String) arguments.get(0));
+ case AlfPackage.SYNTAX_ELEMENT___BOOLEAN_TYPE:
+ return booleanType();
+ case AlfPackage.SYNTAX_ELEMENT___IS_BOOLEAN_TYPE__ELEMENTREFERENCE:
+ return isBooleanType((ElementReference) arguments.get(0));
+ case AlfPackage.SYNTAX_ELEMENT___INTEGER_TYPE:
+ return integerType();
+ case AlfPackage.SYNTAX_ELEMENT___IS_INTEGER_TYPE__ELEMENTREFERENCE:
+ return isIntegerType((ElementReference) arguments.get(0));
+ case AlfPackage.SYNTAX_ELEMENT___STRING_TYPE:
+ return stringType();
+ case AlfPackage.SYNTAX_ELEMENT___IS_STRING_TYPE__ELEMENTREFERENCE:
+ return isStringType((ElementReference) arguments.get(0));
+ case AlfPackage.SYNTAX_ELEMENT___UNLIMITED_NATURAL_TYPE:
+ return unlimitedNaturalType();
+ case AlfPackage.SYNTAX_ELEMENT___IS_UNLIMITED_NATURAL_TYPE__ELEMENTREFERENCE:
+ return isUnlimitedNaturalType((ElementReference) arguments.get(0));
+ case AlfPackage.SYNTAX_ELEMENT___BIT_STRING_TYPE:
+ return bitStringType();
+ case AlfPackage.SYNTAX_ELEMENT___IS_BIT_STRING_TYPE__ELEMENTREFERENCE:
+ return isBitStringType((ElementReference) arguments.get(0));
+ case AlfPackage.SYNTAX_ELEMENT___NATURAL_TYPE:
+ return naturalType();
+ case AlfPackage.SYNTAX_ELEMENT___IS_NATURAL_TYPE__ELEMENTREFERENCE:
+ return isNaturalType((ElementReference) arguments.get(0));
+ case AlfPackage.SYNTAX_ELEMENT___IS_NUMERIC_TYPE__ELEMENTREFERENCE:
+ return isNumericType((ElementReference) arguments.get(0));
+ case AlfPackage.SYNTAX_ELEMENT___COLLECTION_FUNCTION_ADD:
+ return collectionFunctionAdd();
+ case AlfPackage.SYNTAX_ELEMENT___IS_COLLECTION_CLASS__ELEMENTREFERENCE:
+ return isCollectionClass((ElementReference) arguments.get(0));
+ case AlfPackage.SYNTAX_ELEMENT___IS_INTEGER_COLLECTION_CLASS__ELEMENTREFERENCE:
+ return isIntegerCollectionClass((ElementReference) arguments.get(0));
+ case AlfPackage.SYNTAX_ELEMENT___IS_BIT_STRING_COLLECTION_CLASS__ELEMENTREFERENCE:
+ return isBitStringCollectionClass((ElementReference) arguments.get(0));
+ }
+ return super.eInvoke(operationID, arguments);
+ }
+
+} // SyntaxElementImpl
diff --git a/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/TaggedValueImpl.java b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/TaggedValueImpl.java
new file mode 100644
index 00000000000..cc3cf77b60c
--- /dev/null
+++ b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/TaggedValueImpl.java
@@ -0,0 +1,108 @@
+/**
+ */
+package org.eclipse.papyrus.uml.alf.impl;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.papyrus.uml.alf.AlfPackage;
+import org.eclipse.papyrus.uml.alf.TaggedValue;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Tagged Value</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.uml.alf.impl.TaggedValueImpl#getName <em>Name</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.impl.TaggedValueImpl#getValue <em>Value</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.impl.TaggedValueImpl#getOperator <em>Operator</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class TaggedValueImpl extends SyntaxElementImpl implements TaggedValue {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected TaggedValueImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return AlfPackage.eINSTANCE.getTaggedValue();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public String getName() {
+ return (String) eGet(AlfPackage.eINSTANCE.getTaggedValue_Name(), true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setName(String newName) {
+ eSet(AlfPackage.eINSTANCE.getTaggedValue_Name(), newName);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public String getValue() {
+ return (String) eGet(AlfPackage.eINSTANCE.getTaggedValue_Value(), true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setValue(String newValue) {
+ eSet(AlfPackage.eINSTANCE.getTaggedValue_Value(), newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public String getOperator() {
+ return (String) eGet(AlfPackage.eINSTANCE.getTaggedValue_Operator(), true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setOperator(String newOperator) {
+ eSet(AlfPackage.eINSTANCE.getTaggedValue_Operator(), newOperator);
+ }
+
+} // TaggedValueImpl
diff --git a/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/TaggedValueListImpl.java b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/TaggedValueListImpl.java
new file mode 100644
index 00000000000..de00dbf46f7
--- /dev/null
+++ b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/TaggedValueListImpl.java
@@ -0,0 +1,60 @@
+/**
+ */
+package org.eclipse.papyrus.uml.alf.impl;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.papyrus.uml.alf.AlfPackage;
+import org.eclipse.papyrus.uml.alf.TaggedValue;
+import org.eclipse.papyrus.uml.alf.TaggedValueList;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Tagged Value List</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.uml.alf.impl.TaggedValueListImpl#getTaggedValue <em>Tagged Value</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class TaggedValueListImpl extends SyntaxElementImpl implements TaggedValueList {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected TaggedValueListImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return AlfPackage.eINSTANCE.getTaggedValueList();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<TaggedValue> getTaggedValue() {
+ return (EList<TaggedValue>) eGet(AlfPackage.eINSTANCE.getTaggedValueList_TaggedValue(), true);
+ }
+
+} // TaggedValueListImpl
diff --git a/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/TemplateBindingImpl.java b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/TemplateBindingImpl.java
new file mode 100644
index 00000000000..a5418e7bb53
--- /dev/null
+++ b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/TemplateBindingImpl.java
@@ -0,0 +1,112 @@
+/**
+ */
+package org.eclipse.papyrus.uml.alf.impl;
+
+import java.lang.reflect.InvocationTargetException;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.papyrus.uml.alf.AlfPackage;
+import org.eclipse.papyrus.uml.alf.ElementReference;
+import org.eclipse.papyrus.uml.alf.TemplateBinding;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Template Binding</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ *
+ * @generated
+ */
+public abstract class TemplateBindingImpl extends SyntaxElementImpl implements TemplateBinding {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected TemplateBindingImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return AlfPackage.eINSTANCE.getTemplateBinding();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public String toString() {
+ // TODO: implement this method
+ // Ensure that you remove @generated or mark it @generated NOT
+ throw new UnsupportedOperationException();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean matches(ElementReference template) {
+ // TODO: implement this method
+ // Ensure that you remove @generated or mark it @generated NOT
+ throw new UnsupportedOperationException();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public TemplateBinding copy() {
+ // TODO: implement this method
+ // Ensure that you remove @generated or mark it @generated NOT
+ throw new UnsupportedOperationException();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EList<ElementReference> bindTo(ElementReference template) {
+ // TODO: implement this method
+ // Ensure that you remove @generated or mark it @generated NOT
+ throw new UnsupportedOperationException();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Object eInvoke(int operationID, EList<?> arguments) throws InvocationTargetException {
+ switch (operationID) {
+ case AlfPackage.TEMPLATE_BINDING___TO_STRING:
+ return toString();
+ case AlfPackage.TEMPLATE_BINDING___MATCHES__ELEMENTREFERENCE:
+ return matches((ElementReference) arguments.get(0));
+ case AlfPackage.TEMPLATE_BINDING___COPY:
+ return copy();
+ case AlfPackage.TEMPLATE_BINDING___BIND_TO__ELEMENTREFERENCE:
+ return bindTo((ElementReference) arguments.get(0));
+ }
+ return super.eInvoke(operationID, arguments);
+ }
+
+} // TemplateBindingImpl
diff --git a/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/TemplateParameterSubstitutionImpl.java b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/TemplateParameterSubstitutionImpl.java
new file mode 100644
index 00000000000..d2a910f4ad3
--- /dev/null
+++ b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/TemplateParameterSubstitutionImpl.java
@@ -0,0 +1,208 @@
+/**
+ */
+package org.eclipse.papyrus.uml.alf.impl;
+
+import java.lang.reflect.InvocationTargetException;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.common.util.WrappedException;
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.EOperation;
+import org.eclipse.papyrus.uml.alf.AlfPackage;
+import org.eclipse.papyrus.uml.alf.ElementReference;
+import org.eclipse.papyrus.uml.alf.QualifiedName;
+import org.eclipse.papyrus.uml.alf.TemplateParameterSubstitution;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Template Parameter Substitution</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.uml.alf.impl.TemplateParameterSubstitutionImpl#getParameterName <em>Parameter Name</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.impl.TemplateParameterSubstitutionImpl#getArgumentName <em>Argument Name</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.impl.TemplateParameterSubstitutionImpl#getReferent <em>Referent</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class TemplateParameterSubstitutionImpl extends SyntaxElementImpl implements TemplateParameterSubstitution {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected TemplateParameterSubstitutionImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return AlfPackage.eINSTANCE.getTemplateParameterSubstitution();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public String getParameterName() {
+ return (String) eGet(AlfPackage.eINSTANCE.getTemplateParameterSubstitution_ParameterName(), true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setParameterName(String newParameterName) {
+ eSet(AlfPackage.eINSTANCE.getTemplateParameterSubstitution_ParameterName(), newParameterName);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public QualifiedName getArgumentName() {
+ return (QualifiedName) eGet(AlfPackage.eINSTANCE.getTemplateParameterSubstitution_ArgumentName(), true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setArgumentName(QualifiedName newArgumentName) {
+ eSet(AlfPackage.eINSTANCE.getTemplateParameterSubstitution_ArgumentName(), newArgumentName);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public ElementReference getReferent() {
+ return (ElementReference) eGet(AlfPackage.eINSTANCE.getTemplateParameterSubstitution_Referent(), true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setReferent(ElementReference newReferent) {
+ eSet(AlfPackage.eINSTANCE.getTemplateParameterSubstitution_Referent(), newReferent);
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #actualParameterName() <em>Actual Parameter Name</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #actualParameterName()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate ACTUAL_PARAMETER_NAME__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getTemplateParameterSubstitution__ActualParameterName()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public String actualParameterName() {
+ try {
+ return (String) ACTUAL_PARAMETER_NAME__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #toString() <em>To String</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #toString()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate TO_STRING__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getTemplateParameterSubstitution__ToString()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public String toString() {
+ try {
+ return (String) TO_STRING__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #copy() <em>Copy</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #copy()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate COPY__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getTemplateParameterSubstitution__Copy()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public TemplateParameterSubstitution copy() {
+ try {
+ return (TemplateParameterSubstitution) COPY__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Object eInvoke(int operationID, EList<?> arguments) throws InvocationTargetException {
+ switch (operationID) {
+ case AlfPackage.TEMPLATE_PARAMETER_SUBSTITUTION___ACTUAL_PARAMETER_NAME:
+ return actualParameterName();
+ case AlfPackage.TEMPLATE_PARAMETER_SUBSTITUTION___TO_STRING:
+ return toString();
+ case AlfPackage.TEMPLATE_PARAMETER_SUBSTITUTION___COPY:
+ return copy();
+ }
+ return super.eInvoke(operationID, arguments);
+ }
+
+} // TemplateParameterSubstitutionImpl
diff --git a/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/ThisExpressionImpl.java b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/ThisExpressionImpl.java
new file mode 100644
index 00000000000..12a22da77a6
--- /dev/null
+++ b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/ThisExpressionImpl.java
@@ -0,0 +1,231 @@
+/**
+ */
+package org.eclipse.papyrus.uml.alf.impl;
+
+import java.lang.reflect.InvocationTargetException;
+import java.math.BigInteger;
+import java.util.Map;
+import org.eclipse.emf.common.util.BasicDiagnostic;
+import org.eclipse.emf.common.util.Diagnostic;
+import org.eclipse.emf.common.util.DiagnosticChain;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.common.util.WrappedException;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EOperation;
+import org.eclipse.emf.ecore.plugin.EcorePlugin;
+import org.eclipse.emf.ecore.util.EObjectValidator;
+import org.eclipse.papyrus.uml.alf.AlfPackage;
+import org.eclipse.papyrus.uml.alf.ElementReference;
+import org.eclipse.papyrus.uml.alf.ThisExpression;
+import org.eclipse.papyrus.uml.alf.util.AlfValidator;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>This Expression</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ *
+ * @generated
+ */
+public class ThisExpressionImpl extends ExpressionImpl implements ThisExpression {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected ThisExpressionImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return AlfPackage.eINSTANCE.getThisExpression();
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #type() <em>Type</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #type()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate TYPE__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getThisExpression__Type()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public ElementReference type() {
+ try {
+ return (ElementReference) TYPE__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #upper() <em>Upper</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #upper()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate UPPER__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getThisExpression__Upper()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public BigInteger upper() {
+ try {
+ return (BigInteger) UPPER__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #lower() <em>Lower</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #lower()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate LOWER__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getThisExpression__Lower()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public BigInteger lower() {
+ try {
+ return (BigInteger) LOWER__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean thisExpressionTypeDerivation(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.THIS_EXPRESSION__THIS_EXPRESSION_TYPE_DERIVATION,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "thisExpressionTypeDerivation", EObjectValidator.getObjectLabel(this, context) }),
+ new Object[] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean thisExpressionUpperDerivation(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.THIS_EXPRESSION__THIS_EXPRESSION_UPPER_DERIVATION,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "thisExpressionUpperDerivation", EObjectValidator.getObjectLabel(this, context) }),
+ new Object[] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean thisExpressionLowerDerivation(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.THIS_EXPRESSION__THIS_EXPRESSION_LOWER_DERIVATION,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "thisExpressionLowerDerivation", EObjectValidator.getObjectLabel(this, context) }),
+ new Object[] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object eInvoke(int operationID, EList<?> arguments) throws InvocationTargetException {
+ switch (operationID) {
+ case AlfPackage.THIS_EXPRESSION___TYPE:
+ return type();
+ case AlfPackage.THIS_EXPRESSION___UPPER:
+ return upper();
+ case AlfPackage.THIS_EXPRESSION___LOWER:
+ return lower();
+ case AlfPackage.THIS_EXPRESSION___THIS_EXPRESSION_TYPE_DERIVATION__DIAGNOSTICCHAIN_MAP:
+ return thisExpressionTypeDerivation((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ case AlfPackage.THIS_EXPRESSION___THIS_EXPRESSION_UPPER_DERIVATION__DIAGNOSTICCHAIN_MAP:
+ return thisExpressionUpperDerivation((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ case AlfPackage.THIS_EXPRESSION___THIS_EXPRESSION_LOWER_DERIVATION__DIAGNOSTICCHAIN_MAP:
+ return thisExpressionLowerDerivation((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ }
+ return super.eInvoke(operationID, arguments);
+ }
+
+} // ThisExpressionImpl
diff --git a/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/TupleImpl.java b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/TupleImpl.java
new file mode 100644
index 00000000000..86b50194dfc
--- /dev/null
+++ b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/TupleImpl.java
@@ -0,0 +1,586 @@
+/**
+ */
+package org.eclipse.papyrus.uml.alf.impl;
+
+import java.lang.reflect.InvocationTargetException;
+import java.math.BigInteger;
+import java.util.Map;
+import org.eclipse.emf.common.util.BasicDiagnostic;
+import org.eclipse.emf.common.util.BasicEList;
+import org.eclipse.emf.common.util.Diagnostic;
+import org.eclipse.emf.common.util.DiagnosticChain;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.common.util.WrappedException;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EOperation;
+import org.eclipse.emf.ecore.plugin.EcorePlugin;
+import org.eclipse.emf.ecore.util.EObjectValidator;
+import org.eclipse.papyrus.uml.alf.AlfPackage;
+import org.eclipse.papyrus.uml.alf.AssignedSource;
+import org.eclipse.papyrus.uml.alf.ElementReference;
+import org.eclipse.papyrus.uml.alf.InputNamedExpression;
+import org.eclipse.papyrus.uml.alf.InvocationExpression;
+import org.eclipse.papyrus.uml.alf.OutputNamedExpression;
+import org.eclipse.papyrus.uml.alf.SyntaxElement;
+import org.eclipse.papyrus.uml.alf.Tuple;
+import org.eclipse.papyrus.uml.alf.util.AlfValidator;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Tuple</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.uml.alf.impl.TupleImpl#getInput <em>Input</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.impl.TupleImpl#getInvocation <em>Invocation</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.impl.TupleImpl#getOutput <em>Output</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public abstract class TupleImpl extends SyntaxElementImpl implements Tuple {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated NOT
+ */
+ protected TupleImpl() {
+ super();
+ this.registerCaching();
+ }
+
+ public void clear()
+ {
+ super.clear();
+ this.inputs = null;
+ this.outputs = null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return AlfPackage.eINSTANCE.getTuple();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<InputNamedExpression> getInput() {
+ return (EList<InputNamedExpression>) eGet(AlfPackage.eINSTANCE.getTuple_Input(), true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public InvocationExpression getInvocation() {
+ return (InvocationExpression) eGet(AlfPackage.eINSTANCE.getTuple_Invocation(), true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setInvocation(InvocationExpression newInvocation) {
+ eSet(AlfPackage.eINSTANCE.getTuple_Invocation(), newInvocation);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<OutputNamedExpression> getOutput() {
+ return (EList<OutputNamedExpression>) eGet(AlfPackage.eINSTANCE.getTuple_Output(), true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public BigInteger size() {
+ // TODO: implement this method
+ // Ensure that you remove @generated or mark it @generated NOT
+ throw new UnsupportedOperationException();
+ }
+
+ private EList<InputNamedExpression> inputs = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated NOT
+ */
+ public EList<InputNamedExpression> inputCached() {
+ if (this.inputs == null) {
+ this.inputs = this.input();
+ }
+ return this.inputs;
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #input() <em>Input</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #input()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate INPUT__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getTuple__Input()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<InputNamedExpression> input() {
+ try {
+ return (EList<InputNamedExpression>) INPUT__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EList<InputNamedExpression> inputFor(EList<ElementReference> parameters) {
+ // TODO: implement this method
+ // Ensure that you remove @generated or mark it @generated NOT
+ throw new UnsupportedOperationException();
+ }
+
+ private EList<OutputNamedExpression> outputs = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated NOT
+ */
+ public EList<OutputNamedExpression> outputCached() {
+ if (this.outputs == null) {
+ this.outputs = this.output();
+ }
+ return this.outputs;
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #output() <em>Output</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #output()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate OUTPUT__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getTuple__Output()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<OutputNamedExpression> output() {
+ try {
+ return (EList<OutputNamedExpression>) OUTPUT__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EList<OutputNamedExpression> outputFor(EList<ElementReference> parameters) {
+ // TODO: implement this method
+ // Ensure that you remove @generated or mark it @generated NOT
+ throw new UnsupportedOperationException();
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #assignmentsBefore(org.eclipse.papyrus.uml.alf.SyntaxElement) <em>Assignments Before</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #assignmentsBefore(org.eclipse.papyrus.uml.alf.SyntaxElement)
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate ASSIGNMENTS_BEFORE_SYNTAX_ELEMENT__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getTuple__AssignmentsBefore__SyntaxElement()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<AssignedSource> assignmentsBefore(SyntaxElement element) {
+ try {
+ return (EList<AssignedSource>) ASSIGNMENTS_BEFORE_SYNTAX_ELEMENT__EINVOCATION_DELEGATE.dynamicInvoke(this, new BasicEList.UnmodifiableEList<Object>(1, new Object[] { element }));
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #assignmentsAfter() <em>Assignments After</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #assignmentsAfter()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate ASSIGNMENTS_AFTER__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getTuple__AssignmentsAfter()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<AssignedSource> assignmentsAfter() {
+ try {
+ return (EList<AssignedSource>) ASSIGNMENTS_AFTER__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #newAssignments() <em>New Assignments</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #newAssignments()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate NEW_ASSIGNMENTS__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getTuple__NewAssignments()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<AssignedSource> newAssignments() {
+ try {
+ return (EList<AssignedSource>) NEW_ASSIGNMENTS__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #updateFor(org.eclipse.emf.common.util.EList, org.eclipse.papyrus.uml.alf.OutputNamedExpression) <em>Update For</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #updateFor(org.eclipse.emf.common.util.EList, org.eclipse.papyrus.uml.alf.OutputNamedExpression)
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate UPDATE_FOR_ELIST_OUTPUT_NAMED_EXPRESSION__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getTuple__UpdateFor__EList_OutputNamedExpression()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<AssignedSource> updateFor(EList<AssignedSource> assignments, OutputNamedExpression output) {
+ try {
+ return (EList<AssignedSource>) UPDATE_FOR_ELIST_OUTPUT_NAMED_EXPRESSION__EINVOCATION_DELEGATE.dynamicInvoke(this, new BasicEList.UnmodifiableEList<Object>(2, new Object[] { assignments, output }));
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean tupleInputDerivation(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.TUPLE__TUPLE_INPUT_DERIVATION,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "tupleInputDerivation", EObjectValidator.getObjectLabel(this, context) }),
+ new Object[] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean tupleOutputDerivation(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.TUPLE__TUPLE_OUTPUT_DERIVATION,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "tupleOutputDerivation", EObjectValidator.getObjectLabel(this, context) }),
+ new Object[] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * The cached validation expression for the '{@link #tupleNullInputs(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Tuple Null Inputs</em>}' invariant operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #tupleNullInputs(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ * @ordered
+ */
+ protected static final String TUPLE_NULL_INPUTS_DIAGNOSTIC_CHAIN_MAP__EEXPRESSION = "\n" +
+ " self.input->forAll(\n" +
+ " expression.isNull() implies \n" +
+ " self.invocation.parameterNamed(name).lower() = 0\n" +
+ " )";
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean tupleNullInputs(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return AlfValidator.validate
+ (AlfPackage.eINSTANCE.getTuple(),
+ this,
+ diagnostics,
+ context,
+ "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot",
+ AlfPackage.eINSTANCE.getTuple__TupleNullInputs__DiagnosticChain_Map(),
+ TUPLE_NULL_INPUTS_DIAGNOSTIC_CHAIN_MAP__EEXPRESSION,
+ Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.TUPLE__TUPLE_NULL_INPUTS);
+ }
+
+ /**
+ * The cached validation expression for the '{@link #tupleOutputs(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Tuple Outputs</em>}' invariant operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #tupleOutputs(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ * @ordered
+ */
+ protected static final String TUPLE_OUTPUTS_DIAGNOSTIC_CHAIN_MAP__EEXPRESSION = "\n" +
+ " self.output->forAll(\n" +
+ " expression.isNull() implies \n" +
+ " self.invocation.parameterNamed(name).direction() = 'out'\n" +
+ " )";
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean tupleOutputs(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return AlfValidator.validate
+ (AlfPackage.eINSTANCE.getTuple(),
+ this,
+ diagnostics,
+ context,
+ "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot",
+ AlfPackage.eINSTANCE.getTuple__TupleOutputs__DiagnosticChain_Map(),
+ TUPLE_OUTPUTS_DIAGNOSTIC_CHAIN_MAP__EEXPRESSION,
+ Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.TUPLE__TUPLE_OUTPUTS);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean tupleAssignmentsBefore(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.TUPLE__TUPLE_ASSIGNMENTS_BEFORE,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "tupleAssignmentsBefore", EObjectValidator.getObjectLabel(this, context) }),
+ new Object[] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * The cached validation expression for the '{@link #tupleAssignmentsAfter(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Tuple Assignments After</em>}' invariant operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #tupleAssignmentsAfter(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ * @ordered
+ */
+ protected static final String TUPLE_ASSIGNMENTS_AFTER_DIAGNOSTIC_CHAIN_MAP__EEXPRESSION = "\n" +
+ " self.input.expression->union(self.output.expression).\n" +
+ " newAssignments()->isUnique(name)";
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean tupleAssignmentsAfter(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return AlfValidator.validate
+ (AlfPackage.eINSTANCE.getTuple(),
+ this,
+ diagnostics,
+ context,
+ "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot",
+ AlfPackage.eINSTANCE.getTuple__TupleAssignmentsAfter__DiagnosticChain_Map(),
+ TUPLE_ASSIGNMENTS_AFTER_DIAGNOSTIC_CHAIN_MAP__EEXPRESSION,
+ Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.TUPLE__TUPLE_ASSIGNMENTS_AFTER);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public int eDerivedOperationID(int baseOperationID, Class<?> baseClass) {
+ if (baseClass == SyntaxElement.class) {
+ switch (baseOperationID) {
+ case AlfPackage.SYNTAX_ELEMENT___ASSIGNMENTS_BEFORE__SYNTAXELEMENT:
+ return AlfPackage.TUPLE___ASSIGNMENTS_BEFORE__SYNTAXELEMENT;
+ default:
+ return super.eDerivedOperationID(baseOperationID, baseClass);
+ }
+ }
+ return super.eDerivedOperationID(baseOperationID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object eInvoke(int operationID, EList<?> arguments) throws InvocationTargetException {
+ switch (operationID) {
+ case AlfPackage.TUPLE___SIZE:
+ return size();
+ case AlfPackage.TUPLE___INPUT_CACHED:
+ return inputCached();
+ case AlfPackage.TUPLE___INPUT:
+ return input();
+ case AlfPackage.TUPLE___INPUT_FOR__ELIST:
+ return inputFor((EList<ElementReference>) arguments.get(0));
+ case AlfPackage.TUPLE___OUTPUT_CACHED:
+ return outputCached();
+ case AlfPackage.TUPLE___OUTPUT:
+ return output();
+ case AlfPackage.TUPLE___OUTPUT_FOR__ELIST:
+ return outputFor((EList<ElementReference>) arguments.get(0));
+ case AlfPackage.TUPLE___ASSIGNMENTS_BEFORE__SYNTAXELEMENT:
+ return assignmentsBefore((SyntaxElement) arguments.get(0));
+ case AlfPackage.TUPLE___ASSIGNMENTS_AFTER:
+ return assignmentsAfter();
+ case AlfPackage.TUPLE___NEW_ASSIGNMENTS:
+ return newAssignments();
+ case AlfPackage.TUPLE___UPDATE_FOR__ELIST_OUTPUTNAMEDEXPRESSION:
+ return updateFor((EList<AssignedSource>) arguments.get(0), (OutputNamedExpression) arguments.get(1));
+ case AlfPackage.TUPLE___TUPLE_INPUT_DERIVATION__DIAGNOSTICCHAIN_MAP:
+ return tupleInputDerivation((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ case AlfPackage.TUPLE___TUPLE_OUTPUT_DERIVATION__DIAGNOSTICCHAIN_MAP:
+ return tupleOutputDerivation((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ case AlfPackage.TUPLE___TUPLE_NULL_INPUTS__DIAGNOSTICCHAIN_MAP:
+ return tupleNullInputs((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ case AlfPackage.TUPLE___TUPLE_OUTPUTS__DIAGNOSTICCHAIN_MAP:
+ return tupleOutputs((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ case AlfPackage.TUPLE___TUPLE_ASSIGNMENTS_BEFORE__DIAGNOSTICCHAIN_MAP:
+ return tupleAssignmentsBefore((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ case AlfPackage.TUPLE___TUPLE_ASSIGNMENTS_AFTER__DIAGNOSTICCHAIN_MAP:
+ return tupleAssignmentsAfter((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ }
+ return super.eInvoke(operationID, arguments);
+ }
+
+} // TupleImpl
diff --git a/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/TypedElementDefinitionImpl.java b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/TypedElementDefinitionImpl.java
new file mode 100644
index 00000000000..02823c249d0
--- /dev/null
+++ b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/TypedElementDefinitionImpl.java
@@ -0,0 +1,520 @@
+/**
+ */
+package org.eclipse.papyrus.uml.alf.impl;
+
+import java.lang.reflect.InvocationTargetException;
+import java.math.BigInteger;
+import java.util.Map;
+
+import org.eclipse.emf.common.util.BasicDiagnostic;
+import org.eclipse.emf.common.util.Diagnostic;
+import org.eclipse.emf.common.util.DiagnosticChain;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.common.util.WrappedException;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EOperation;
+import org.eclipse.emf.ecore.plugin.EcorePlugin;
+import org.eclipse.emf.ecore.util.EObjectValidator;
+import org.eclipse.papyrus.uml.alf.AlfPackage;
+import org.eclipse.papyrus.uml.alf.ElementReference;
+import org.eclipse.papyrus.uml.alf.QualifiedName;
+import org.eclipse.papyrus.uml.alf.TypedElementDefinition;
+import org.eclipse.papyrus.uml.alf.util.AlfValidator;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Typed Element Definition</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.uml.alf.impl.TypedElementDefinitionImpl#getLowerBound <em>Lower Bound</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.impl.TypedElementDefinitionImpl#getUpperBound <em>Upper Bound</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.impl.TypedElementDefinitionImpl#isIsOrdered <em>Is Ordered</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.impl.TypedElementDefinitionImpl#isIsNonunique <em>Is Nonunique</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.impl.TypedElementDefinitionImpl#isIsSequence <em>Is Sequence</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.impl.TypedElementDefinitionImpl#getTypeName <em>Type Name</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.impl.TypedElementDefinitionImpl#getActualType <em>Actual Type</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.impl.TypedElementDefinitionImpl#isIsAny <em>Is Any</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.impl.TypedElementDefinitionImpl#isIsMultiplicity <em>Is Multiplicity</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class TypedElementDefinitionImpl extends AssignableElementImpl implements TypedElementDefinition {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected TypedElementDefinitionImpl() {
+ super();
+ }
+
+ public String getId() {
+ SyntaxElementImpl owner = (SyntaxElementImpl) this.owner();
+ return super.getId() + (owner == null ? "" : " for " + owner.getId());
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return AlfPackage.eINSTANCE.getTypedElementDefinition();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public String getLowerBound() {
+ return (String) eGet(AlfPackage.eINSTANCE.getTypedElementDefinition_LowerBound(), true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setLowerBound(String newLowerBound) {
+ eSet(AlfPackage.eINSTANCE.getTypedElementDefinition_LowerBound(), newLowerBound);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public String getUpperBound() {
+ return (String) eGet(AlfPackage.eINSTANCE.getTypedElementDefinition_UpperBound(), true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setUpperBound(String newUpperBound) {
+ eSet(AlfPackage.eINSTANCE.getTypedElementDefinition_UpperBound(), newUpperBound);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isIsOrdered() {
+ return (Boolean) eGet(AlfPackage.eINSTANCE.getTypedElementDefinition_IsOrdered(), true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setIsOrdered(boolean newIsOrdered) {
+ eSet(AlfPackage.eINSTANCE.getTypedElementDefinition_IsOrdered(), newIsOrdered);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isIsNonunique() {
+ return (Boolean) eGet(AlfPackage.eINSTANCE.getTypedElementDefinition_IsNonunique(), true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setIsNonunique(boolean newIsNonunique) {
+ eSet(AlfPackage.eINSTANCE.getTypedElementDefinition_IsNonunique(), newIsNonunique);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public QualifiedName getTypeName() {
+ return (QualifiedName) eGet(AlfPackage.eINSTANCE.getTypedElementDefinition_TypeName(), true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setTypeName(QualifiedName newTypeName) {
+ eSet(AlfPackage.eINSTANCE.getTypedElementDefinition_TypeName(), newTypeName);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public ElementReference getActualType() {
+ return (ElementReference) eGet(AlfPackage.eINSTANCE.getTypedElementDefinition_ActualType(), true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setActualType(ElementReference newActualType) {
+ eSet(AlfPackage.eINSTANCE.getTypedElementDefinition_ActualType(), newActualType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isIsAny() {
+ return (Boolean) eGet(AlfPackage.eINSTANCE.getTypedElementDefinition_IsAny(), true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setIsAny(boolean newIsAny) {
+ eSet(AlfPackage.eINSTANCE.getTypedElementDefinition_IsAny(), newIsAny);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isIsSequence() {
+ return (Boolean) eGet(AlfPackage.eINSTANCE.getTypedElementDefinition_IsSequence(), true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setIsSequence(boolean newIsSequence) {
+ eSet(AlfPackage.eINSTANCE.getTypedElementDefinition_IsSequence(), newIsSequence);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isIsMultiplicity() {
+ return (Boolean) eGet(AlfPackage.eINSTANCE.getTypedElementDefinition_IsMultiplicity(), true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setIsMultiplicity(boolean newIsMultiplicity) {
+ eSet(AlfPackage.eINSTANCE.getTypedElementDefinition_IsMultiplicity(), newIsMultiplicity);
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #isOrdered() <em>Is Ordered</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #isOrdered()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate IS_ORDERED__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getTypedElementDefinition__IsOrdered()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isOrdered() {
+ try {
+ return (Boolean) IS_ORDERED__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #isNonunique() <em>Is Nonunique</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #isNonunique()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate IS_NONUNIQUE__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getTypedElementDefinition__IsNonunique()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isNonunique() {
+ try {
+ return (Boolean) IS_NONUNIQUE__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean typedElementDefinitionLowerDerivation(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.TYPED_ELEMENT_DEFINITION__TYPED_ELEMENT_DEFINITION_LOWER_DERIVATION,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "typedElementDefinitionLowerDerivation", EObjectValidator.getObjectLabel(this, context) }),
+ new Object[] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean typedElementDefinitionUpperDerivation(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.TYPED_ELEMENT_DEFINITION__TYPED_ELEMENT_DEFINITION_UPPER_DERIVATION,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "typedElementDefinitionUpperDerivation", EObjectValidator.getObjectLabel(this, context) }),
+ new Object[] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean typedElementDefinitionTypeDerivation(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.TYPED_ELEMENT_DEFINITION__TYPED_ELEMENT_DEFINITION_TYPE_DERIVATION,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "typedElementDefinitionTypeDerivation", EObjectValidator.getObjectLabel(this, context) }),
+ new Object[] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * The cached validation expression for the '{@link #typedElementDefinitionTypeName(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Typed Element Definition Type Name</em>}' invariant operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #typedElementDefinitionTypeName(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ * @ordered
+ */
+ protected static final String TYPED_ELEMENT_DEFINITION_TYPE_NAME_DIAGNOSTIC_CHAIN_MAP__EEXPRESSION = "\n" +
+ " self.typeName = null or self.type <> null and not self.type.isTemplate()";
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean typedElementDefinitionTypeName(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return AlfValidator.validate
+ (AlfPackage.eINSTANCE.getTypedElementDefinition(),
+ this,
+ diagnostics,
+ context,
+ "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot",
+ AlfPackage.eINSTANCE.getTypedElementDefinition__TypedElementDefinitionTypeName__DiagnosticChain_Map(),
+ TYPED_ELEMENT_DEFINITION_TYPE_NAME_DIAGNOSTIC_CHAIN_MAP__EEXPRESSION,
+ Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.TYPED_ELEMENT_DEFINITION__TYPED_ELEMENT_DEFINITION_TYPE_NAME);
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #type() <em>Type</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #type()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate TYPE__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getTypedElementDefinition__Type()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public ElementReference type() {
+ try {
+ return (ElementReference) TYPE__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #lower() <em>Lower</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #lower()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate LOWER__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getTypedElementDefinition__Lower()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public BigInteger lower() {
+ try {
+ return (BigInteger) LOWER__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #upper() <em>Upper</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #upper()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate UPPER__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getTypedElementDefinition__Upper()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public BigInteger upper() {
+ try {
+ return (BigInteger) UPPER__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object eInvoke(int operationID, EList<?> arguments) throws InvocationTargetException {
+ switch (operationID) {
+ case AlfPackage.TYPED_ELEMENT_DEFINITION___IS_ORDERED:
+ return isOrdered();
+ case AlfPackage.TYPED_ELEMENT_DEFINITION___IS_NONUNIQUE:
+ return isNonunique();
+ case AlfPackage.TYPED_ELEMENT_DEFINITION___TYPED_ELEMENT_DEFINITION_LOWER_DERIVATION__DIAGNOSTICCHAIN_MAP:
+ return typedElementDefinitionLowerDerivation((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ case AlfPackage.TYPED_ELEMENT_DEFINITION___TYPED_ELEMENT_DEFINITION_UPPER_DERIVATION__DIAGNOSTICCHAIN_MAP:
+ return typedElementDefinitionUpperDerivation((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ case AlfPackage.TYPED_ELEMENT_DEFINITION___TYPED_ELEMENT_DEFINITION_TYPE_DERIVATION__DIAGNOSTICCHAIN_MAP:
+ return typedElementDefinitionTypeDerivation((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ case AlfPackage.TYPED_ELEMENT_DEFINITION___TYPED_ELEMENT_DEFINITION_TYPE_NAME__DIAGNOSTICCHAIN_MAP:
+ return typedElementDefinitionTypeName((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ case AlfPackage.TYPED_ELEMENT_DEFINITION___TYPE:
+ return type();
+ case AlfPackage.TYPED_ELEMENT_DEFINITION___LOWER:
+ return lower();
+ case AlfPackage.TYPED_ELEMENT_DEFINITION___UPPER:
+ return upper();
+ }
+ return super.eInvoke(operationID, arguments);
+ }
+
+} // TypedElementDefinitionImpl
diff --git a/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/UnaryExpressionImpl.java b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/UnaryExpressionImpl.java
new file mode 100644
index 00000000000..a648f546f68
--- /dev/null
+++ b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/UnaryExpressionImpl.java
@@ -0,0 +1,195 @@
+/**
+ */
+package org.eclipse.papyrus.uml.alf.impl;
+
+import java.lang.reflect.InvocationTargetException;
+
+import java.util.Map;
+
+import org.eclipse.emf.common.util.BasicDiagnostic;
+import org.eclipse.emf.common.util.Diagnostic;
+import org.eclipse.emf.common.util.DiagnosticChain;
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.common.util.WrappedException;
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.EOperation;
+import org.eclipse.emf.ecore.plugin.EcorePlugin;
+
+import org.eclipse.emf.ecore.util.EObjectValidator;
+
+import org.eclipse.papyrus.uml.alf.AlfPackage;
+import org.eclipse.papyrus.uml.alf.AssignedSource;
+import org.eclipse.papyrus.uml.alf.Expression;
+import org.eclipse.papyrus.uml.alf.UnaryExpression;
+
+import org.eclipse.papyrus.uml.alf.util.AlfValidator;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Unary Expression</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.uml.alf.impl.UnaryExpressionImpl#getOperator <em>Operator</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.impl.UnaryExpressionImpl#getOperand <em>Operand</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public abstract class UnaryExpressionImpl extends ExpressionImpl implements UnaryExpression {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected UnaryExpressionImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return AlfPackage.eINSTANCE.getUnaryExpression();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public String getOperator() {
+ return (String) eGet(AlfPackage.eINSTANCE.getUnaryExpression_Operator(), true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setOperator(String newOperator) {
+ eSet(AlfPackage.eINSTANCE.getUnaryExpression_Operator(), newOperator);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public Expression getOperand() {
+ return (Expression) eGet(AlfPackage.eINSTANCE.getUnaryExpression_Operand(), true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setOperand(Expression newOperand) {
+ eSet(AlfPackage.eINSTANCE.getUnaryExpression_Operand(), newOperand);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean unaryExpressionAssignmentsBefore(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.UNARY_EXPRESSION__UNARY_EXPRESSION_ASSIGNMENTS_BEFORE,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "unaryExpressionAssignmentsBefore", EObjectValidator.getObjectLabel(this, context) }),
+ new Object[] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #updateAssignments() <em>Update Assignments</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #updateAssignments()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate UPDATE_ASSIGNMENTS__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getUnaryExpression__UpdateAssignments()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<AssignedSource> updateAssignments() {
+ try {
+ return (EList<AssignedSource>) UPDATE_ASSIGNMENTS__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public int eDerivedOperationID(int baseOperationID, Class<?> baseClass) {
+ if (baseClass == Expression.class) {
+ switch (baseOperationID) {
+ case AlfPackage.EXPRESSION___UPDATE_ASSIGNMENTS:
+ return AlfPackage.UNARY_EXPRESSION___UPDATE_ASSIGNMENTS;
+ default:
+ return super.eDerivedOperationID(baseOperationID, baseClass);
+ }
+ }
+ return super.eDerivedOperationID(baseOperationID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object eInvoke(int operationID, EList<?> arguments) throws InvocationTargetException {
+ switch (operationID) {
+ case AlfPackage.UNARY_EXPRESSION___UNARY_EXPRESSION_ASSIGNMENTS_BEFORE__DIAGNOSTICCHAIN_MAP:
+ return unaryExpressionAssignmentsBefore((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ case AlfPackage.UNARY_EXPRESSION___UPDATE_ASSIGNMENTS:
+ return updateAssignments();
+ }
+ return super.eInvoke(operationID, arguments);
+ }
+
+} // UnaryExpressionImpl
diff --git a/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/UnboundedLiteralExpressionImpl.java b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/UnboundedLiteralExpressionImpl.java
new file mode 100644
index 00000000000..d89b58b7e53
--- /dev/null
+++ b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/UnboundedLiteralExpressionImpl.java
@@ -0,0 +1,120 @@
+/**
+ */
+package org.eclipse.papyrus.uml.alf.impl;
+
+import java.lang.reflect.InvocationTargetException;
+import java.util.Map;
+import org.eclipse.emf.common.util.BasicDiagnostic;
+import org.eclipse.emf.common.util.Diagnostic;
+import org.eclipse.emf.common.util.DiagnosticChain;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.common.util.WrappedException;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EOperation;
+import org.eclipse.emf.ecore.plugin.EcorePlugin;
+import org.eclipse.emf.ecore.util.EObjectValidator;
+import org.eclipse.papyrus.uml.alf.AlfPackage;
+import org.eclipse.papyrus.uml.alf.ElementReference;
+import org.eclipse.papyrus.uml.alf.UnboundedLiteralExpression;
+import org.eclipse.papyrus.uml.alf.util.AlfValidator;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Unbounded Literal Expression</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ *
+ * @generated
+ */
+public class UnboundedLiteralExpressionImpl extends LiteralExpressionImpl implements UnboundedLiteralExpression {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected UnboundedLiteralExpressionImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return AlfPackage.eINSTANCE.getUnboundedLiteralExpression();
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #type() <em>Type</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #type()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate TYPE__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getUnboundedLiteralExpression__Type()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public ElementReference type() {
+ try {
+ return (ElementReference) TYPE__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean unboundedLiteralExpressionTypeDerivation(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.UNBOUNDED_LITERAL_EXPRESSION__UNBOUNDED_LITERAL_EXPRESSION_TYPE_DERIVATION,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "unboundedLiteralExpressionTypeDerivation", EObjectValidator.getObjectLabel(this, context) }),
+ new Object[] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object eInvoke(int operationID, EList<?> arguments) throws InvocationTargetException {
+ switch (operationID) {
+ case AlfPackage.UNBOUNDED_LITERAL_EXPRESSION___TYPE:
+ return type();
+ case AlfPackage.UNBOUNDED_LITERAL_EXPRESSION___UNBOUNDED_LITERAL_EXPRESSION_TYPE_DERIVATION__DIAGNOSTICCHAIN_MAP:
+ return unboundedLiteralExpressionTypeDerivation((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ }
+ return super.eInvoke(operationID, arguments);
+ }
+
+} // UnboundedLiteralExpressionImpl
diff --git a/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/UnitDefinitionImpl.java b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/UnitDefinitionImpl.java
new file mode 100644
index 00000000000..dfbc15738c0
--- /dev/null
+++ b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/UnitDefinitionImpl.java
@@ -0,0 +1,426 @@
+/**
+ */
+package org.eclipse.papyrus.uml.alf.impl;
+
+import java.lang.reflect.InvocationTargetException;
+import java.util.Map;
+import org.eclipse.emf.common.util.BasicDiagnostic;
+import org.eclipse.emf.common.util.BasicEList;
+import org.eclipse.emf.common.util.Diagnostic;
+import org.eclipse.emf.common.util.DiagnosticChain;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.common.util.WrappedException;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EOperation;
+import org.eclipse.emf.ecore.plugin.EcorePlugin;
+import org.eclipse.emf.ecore.util.EObjectValidator;
+import org.eclipse.papyrus.uml.alf.AlfPackage;
+import org.eclipse.papyrus.uml.alf.ElementReference;
+import org.eclipse.papyrus.uml.alf.ImportReference;
+import org.eclipse.papyrus.uml.alf.NamespaceDefinition;
+import org.eclipse.papyrus.uml.alf.QualifiedName;
+import org.eclipse.papyrus.uml.alf.StereotypeAnnotation;
+import org.eclipse.papyrus.uml.alf.UnitDefinition;
+import org.eclipse.papyrus.uml.alf.util.AlfValidator;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Unit Definition</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.uml.alf.impl.UnitDefinitionImpl#getNamespaceName <em>Namespace Name</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.impl.UnitDefinitionImpl#getDefinition <em>Definition</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.impl.UnitDefinitionImpl#getImport <em>Import</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.impl.UnitDefinitionImpl#getNamespace <em>Namespace</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.impl.UnitDefinitionImpl#isIsModelLibrary <em>Is Model Library</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.impl.UnitDefinitionImpl#getAppliedProfile <em>Applied Profile</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.impl.UnitDefinitionImpl#getAnnotation <em>Annotation</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class UnitDefinitionImpl extends DocumentedElementImpl implements UnitDefinition {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected UnitDefinitionImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return AlfPackage.eINSTANCE.getUnitDefinition();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public QualifiedName getNamespaceName() {
+ return (QualifiedName) eGet(AlfPackage.eINSTANCE.getUnitDefinition_NamespaceName(), true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setNamespaceName(QualifiedName newNamespaceName) {
+ eSet(AlfPackage.eINSTANCE.getUnitDefinition_NamespaceName(), newNamespaceName);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public NamespaceDefinition getDefinition() {
+ return (NamespaceDefinition) eGet(AlfPackage.eINSTANCE.getUnitDefinition_Definition(), true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setDefinition(NamespaceDefinition newDefinition) {
+ eSet(AlfPackage.eINSTANCE.getUnitDefinition_Definition(), newDefinition);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<ImportReference> getImport() {
+ return (EList<ImportReference>) eGet(AlfPackage.eINSTANCE.getUnitDefinition_Import(), true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public ElementReference getNamespace() {
+ return (ElementReference) eGet(AlfPackage.eINSTANCE.getUnitDefinition_Namespace(), true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setNamespace(ElementReference newNamespace) {
+ eSet(AlfPackage.eINSTANCE.getUnitDefinition_Namespace(), newNamespace);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isIsModelLibrary() {
+ return (Boolean) eGet(AlfPackage.eINSTANCE.getUnitDefinition_IsModelLibrary(), true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setIsModelLibrary(boolean newIsModelLibrary) {
+ eSet(AlfPackage.eINSTANCE.getUnitDefinition_IsModelLibrary(), newIsModelLibrary);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<ElementReference> getAppliedProfile() {
+ return (EList<ElementReference>) eGet(AlfPackage.eINSTANCE.getUnitDefinition_AppliedProfile(), true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<StereotypeAnnotation> getAnnotation() {
+ return (EList<StereotypeAnnotation>) eGet(AlfPackage.eINSTANCE.getUnitDefinition_Annotation(), true);
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #imports() <em>Imports</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #imports()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate IMPORTS__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getUnitDefinition__Imports()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<ImportReference> imports() {
+ try {
+ return (EList<ImportReference>) IMPORTS__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #implicitImports() <em>Implicit Imports</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #implicitImports()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate IMPLICIT_IMPORTS__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getUnitDefinition__ImplicitImports()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<ImportReference> implicitImports() {
+ try {
+ return (EList<ImportReference>) IMPLICIT_IMPORTS__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #implicitImportFor(java.lang.String) <em>Implicit Import For</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #implicitImportFor(java.lang.String)
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate IMPLICIT_IMPORT_FOR_STRING__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getUnitDefinition__ImplicitImportFor__String()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public ImportReference implicitImportFor(String name) {
+ try {
+ return (ImportReference) IMPLICIT_IMPORT_FOR_STRING__EINVOCATION_DELEGATE.dynamicInvoke(this, new BasicEList.UnmodifiableEList<Object>(1, new Object[] { name }));
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean unitDefinitionNamespaceDerivation(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.UNIT_DEFINITION__UNIT_DEFINITION_NAMESPACE_DERIVATION,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "unitDefinitionNamespaceDerivation", EObjectValidator.getObjectLabel(this, context) }),
+ new Object[] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * The cached validation expression for the '{@link #unitDefinitionNamespace(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Unit Definition Namespace</em>}' invariant operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #unitDefinitionNamespace(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ * @ordered
+ */
+ protected static final String UNIT_DEFINITION_NAMESPACE_DIAGNOSTIC_CHAIN_MAP__EEXPRESSION = "\n" +
+ " self.namespaceName <> null implies\n" +
+ " let namespace = self.namespace in\n" +
+ " namespace <> null and namespace.isNamespaceFor(self)";
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean unitDefinitionNamespace(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return AlfValidator.validate
+ (AlfPackage.eINSTANCE.getUnitDefinition(),
+ this,
+ diagnostics,
+ context,
+ "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot",
+ AlfPackage.eINSTANCE.getUnitDefinition__UnitDefinitionNamespace__DiagnosticChain_Map(),
+ UNIT_DEFINITION_NAMESPACE_DIAGNOSTIC_CHAIN_MAP__EEXPRESSION,
+ Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.UNIT_DEFINITION__UNIT_DEFINITION_NAMESPACE);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean unitDefinitionIsModelLibraryDerivation(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.UNIT_DEFINITION__UNIT_DEFINITION_IS_MODEL_LIBRARY_DERIVATION,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "unitDefinitionIsModelLibraryDerivation", EObjectValidator.getObjectLabel(this, context) }),
+ new Object[] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean unitDefinitionImplicitImports(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.UNIT_DEFINITION__UNIT_DEFINITION_IMPLICIT_IMPORTS,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "unitDefinitionImplicitImports", EObjectValidator.getObjectLabel(this, context) }),
+ new Object[] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean unitDefinitionAppliedProfileDerivation(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.UNIT_DEFINITION__UNIT_DEFINITION_APPLIED_PROFILE_DERIVATION,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "unitDefinitionAppliedProfileDerivation", EObjectValidator.getObjectLabel(this, context) }),
+ new Object[] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object eInvoke(int operationID, EList<?> arguments) throws InvocationTargetException {
+ switch (operationID) {
+ case AlfPackage.UNIT_DEFINITION___IMPORTS:
+ return imports();
+ case AlfPackage.UNIT_DEFINITION___IMPLICIT_IMPORTS:
+ return implicitImports();
+ case AlfPackage.UNIT_DEFINITION___IMPLICIT_IMPORT_FOR__STRING:
+ return implicitImportFor((String) arguments.get(0));
+ case AlfPackage.UNIT_DEFINITION___UNIT_DEFINITION_NAMESPACE_DERIVATION__DIAGNOSTICCHAIN_MAP:
+ return unitDefinitionNamespaceDerivation((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ case AlfPackage.UNIT_DEFINITION___UNIT_DEFINITION_NAMESPACE__DIAGNOSTICCHAIN_MAP:
+ return unitDefinitionNamespace((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ case AlfPackage.UNIT_DEFINITION___UNIT_DEFINITION_IS_MODEL_LIBRARY_DERIVATION__DIAGNOSTICCHAIN_MAP:
+ return unitDefinitionIsModelLibraryDerivation((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ case AlfPackage.UNIT_DEFINITION___UNIT_DEFINITION_IMPLICIT_IMPORTS__DIAGNOSTICCHAIN_MAP:
+ return unitDefinitionImplicitImports((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ case AlfPackage.UNIT_DEFINITION___UNIT_DEFINITION_APPLIED_PROFILE_DERIVATION__DIAGNOSTICCHAIN_MAP:
+ return unitDefinitionAppliedProfileDerivation((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ }
+ return super.eInvoke(operationID, arguments);
+ }
+
+} // UnitDefinitionImpl
diff --git a/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/WhileStatementImpl.java b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/WhileStatementImpl.java
new file mode 100644
index 00000000000..93af77de707
--- /dev/null
+++ b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/WhileStatementImpl.java
@@ -0,0 +1,355 @@
+/**
+ */
+package org.eclipse.papyrus.uml.alf.impl;
+
+import java.lang.reflect.InvocationTargetException;
+
+import java.util.Map;
+
+import org.eclipse.emf.common.util.BasicDiagnostic;
+import org.eclipse.emf.common.util.BasicEList;
+import org.eclipse.emf.common.util.Diagnostic;
+import org.eclipse.emf.common.util.DiagnosticChain;
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.common.util.WrappedException;
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.EOperation;
+import org.eclipse.emf.ecore.plugin.EcorePlugin;
+
+import org.eclipse.emf.ecore.util.EObjectValidator;
+
+import org.eclipse.papyrus.uml.alf.AlfPackage;
+import org.eclipse.papyrus.uml.alf.AssignedSource;
+import org.eclipse.papyrus.uml.alf.Block;
+import org.eclipse.papyrus.uml.alf.Expression;
+import org.eclipse.papyrus.uml.alf.Statement;
+import org.eclipse.papyrus.uml.alf.SyntaxElement;
+import org.eclipse.papyrus.uml.alf.WhileStatement;
+
+import org.eclipse.papyrus.uml.alf.util.AlfValidator;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>While Statement</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.uml.alf.impl.WhileStatementImpl#getBody <em>Body</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.alf.impl.WhileStatementImpl#getCondition <em>Condition</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class WhileStatementImpl extends StatementImpl implements WhileStatement {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected WhileStatementImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return AlfPackage.eINSTANCE.getWhileStatement();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public Block getBody() {
+ return (Block) eGet(AlfPackage.eINSTANCE.getWhileStatement_Body(), true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setBody(Block newBody) {
+ eSet(AlfPackage.eINSTANCE.getWhileStatement_Body(), newBody);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public Expression getCondition() {
+ return (Expression) eGet(AlfPackage.eINSTANCE.getWhileStatement_Condition(), true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setCondition(Expression newCondition) {
+ eSet(AlfPackage.eINSTANCE.getWhileStatement_Condition(), newCondition);
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #enclosingLoopStatement() <em>Enclosing Loop Statement</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #enclosingLoopStatement()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate ENCLOSING_LOOP_STATEMENT__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getWhileStatement__EnclosingLoopStatement()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public Statement enclosingLoopStatement() {
+ try {
+ return (Statement) ENCLOSING_LOOP_STATEMENT__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #assignmentsBefore(org.eclipse.papyrus.uml.alf.SyntaxElement) <em>Assignments Before</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #assignmentsBefore(org.eclipse.papyrus.uml.alf.SyntaxElement)
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate ASSIGNMENTS_BEFORE_SYNTAX_ELEMENT__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getWhileStatement__AssignmentsBefore__SyntaxElement()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<AssignedSource> assignmentsBefore(SyntaxElement element) {
+ try {
+ return (EList<AssignedSource>) ASSIGNMENTS_BEFORE_SYNTAX_ELEMENT__EINVOCATION_DELEGATE.dynamicInvoke(this, new BasicEList.UnmodifiableEList<Object>(1, new Object[] { element }));
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * The cached invocation delegate for the '{@link #assignmentsAfter() <em>Assignments After</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #assignmentsAfter()
+ * @generated
+ * @ordered
+ */
+ protected static final EOperation.Internal.InvocationDelegate ASSIGNMENTS_AFTER__EINVOCATION_DELEGATE = ((EOperation.Internal) AlfPackage.eINSTANCE.getWhileStatement__AssignmentsAfter()).getInvocationDelegate();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<AssignedSource> assignmentsAfter() {
+ try {
+ return (EList<AssignedSource>) ASSIGNMENTS_AFTER__EINVOCATION_DELEGATE.dynamicInvoke(this, null);
+ } catch (InvocationTargetException ite) {
+ throw new WrappedException(ite);
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean whileStatementAssignmentsBefore(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.WHILE_STATEMENT__WHILE_STATEMENT_ASSIGNMENTS_BEFORE,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "whileStatementAssignmentsBefore", EObjectValidator.getObjectLabel(this, context) }),
+ new Object[] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean whileStatementAssignmentsAfter(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.WHILE_STATEMENT__WHILE_STATEMENT_ASSIGNMENTS_AFTER,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "whileStatementAssignmentsAfter", EObjectValidator.getObjectLabel(this, context) }),
+ new Object[] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * The cached validation expression for the '{@link #whileStatementCondition(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>While Statement Condition</em>}' invariant operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #whileStatementCondition(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ * @ordered
+ */
+ protected static final String WHILE_STATEMENT_CONDITION_DIAGNOSTIC_CHAIN_MAP__EEXPRESSION = "\n" +
+ " let type = self.condition.type in\n" +
+ " type <> null and self.isBooleanType(type) and self.condition.upper = 1";
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean whileStatementCondition(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return AlfValidator.validate
+ (AlfPackage.eINSTANCE.getWhileStatement(),
+ this,
+ diagnostics,
+ context,
+ "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot",
+ AlfPackage.eINSTANCE.getWhileStatement__WhileStatementCondition__DiagnosticChain_Map(),
+ WHILE_STATEMENT_CONDITION_DIAGNOSTIC_CHAIN_MAP__EEXPRESSION,
+ Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.WHILE_STATEMENT__WHILE_STATEMENT_CONDITION);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean whileStatementEnclosedStatements(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ AlfValidator.DIAGNOSTIC_SOURCE,
+ AlfValidator.WHILE_STATEMENT__WHILE_STATEMENT_ENCLOSED_STATEMENTS,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "whileStatementEnclosedStatements", EObjectValidator.getObjectLabel(this, context) }),
+ new Object[] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public int eDerivedOperationID(int baseOperationID, Class<?> baseClass) {
+ if (baseClass == SyntaxElement.class) {
+ switch (baseOperationID) {
+ case AlfPackage.SYNTAX_ELEMENT___ASSIGNMENTS_BEFORE__SYNTAXELEMENT:
+ return AlfPackage.WHILE_STATEMENT___ASSIGNMENTS_BEFORE__SYNTAXELEMENT;
+ default:
+ return super.eDerivedOperationID(baseOperationID, baseClass);
+ }
+ }
+ if (baseClass == Statement.class) {
+ switch (baseOperationID) {
+ case AlfPackage.STATEMENT___ENCLOSING_LOOP_STATEMENT:
+ return AlfPackage.WHILE_STATEMENT___ENCLOSING_LOOP_STATEMENT;
+ case AlfPackage.STATEMENT___ASSIGNMENTS_AFTER:
+ return AlfPackage.WHILE_STATEMENT___ASSIGNMENTS_AFTER;
+ default:
+ return super.eDerivedOperationID(baseOperationID, baseClass);
+ }
+ }
+ return super.eDerivedOperationID(baseOperationID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object eInvoke(int operationID, EList<?> arguments) throws InvocationTargetException {
+ switch (operationID) {
+ case AlfPackage.WHILE_STATEMENT___ENCLOSING_LOOP_STATEMENT:
+ return enclosingLoopStatement();
+ case AlfPackage.WHILE_STATEMENT___ASSIGNMENTS_BEFORE__SYNTAXELEMENT:
+ return assignmentsBefore((SyntaxElement) arguments.get(0));
+ case AlfPackage.WHILE_STATEMENT___ASSIGNMENTS_AFTER:
+ return assignmentsAfter();
+ case AlfPackage.WHILE_STATEMENT___WHILE_STATEMENT_ASSIGNMENTS_BEFORE__DIAGNOSTICCHAIN_MAP:
+ return whileStatementAssignmentsBefore((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ case AlfPackage.WHILE_STATEMENT___WHILE_STATEMENT_ASSIGNMENTS_AFTER__DIAGNOSTICCHAIN_MAP:
+ return whileStatementAssignmentsAfter((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ case AlfPackage.WHILE_STATEMENT___WHILE_STATEMENT_CONDITION__DIAGNOSTICCHAIN_MAP:
+ return whileStatementCondition((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ case AlfPackage.WHILE_STATEMENT___WHILE_STATEMENT_ENCLOSED_STATEMENTS__DIAGNOSTICCHAIN_MAP:
+ return whileStatementEnclosedStatements((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+ }
+ return super.eInvoke(operationID, arguments);
+ }
+
+} // WhileStatementImpl
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
new file mode 100644
index 00000000000..2a8b1cb93b1
--- /dev/null
+++ b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/impl/alf.ecore
@@ -0,0 +1,10089 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ecore:EPackage xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" name="alf" nsURI="http://www.omg.org/spec/ALF/20120827" nsPrefix="alf">
+ <eAnnotations source="http://www.eclipse.org/OCL/Import">
+ <details key="ecore" value="http://www.eclipse.org/emf/2002/Ecore"/>
+ <details key="types" value="http://www.eclipse.org/uml2/5.0.0/Types"/>
+ <details key="uml" value="http://www.eclipse.org/uml2/5.0.0/UML"/>
+ </eAnnotations>
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore">
+ <details key="invocationDelegates" value="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot"/>
+ <details key="settingDelegates" value="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot"/>
+ <details key="validationDelegates" value="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot"/>
+ </eAnnotations>
+ <eClassifiers xsi:type="ecore:EClass" name="AssignedSource">
+ <eOperations name="isNew" lowerBound="1" 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="&#xA; let assignment = assignmentsBefore->select(name = self.name) in&#xA; assignment->isEmpty() or assignment.source->excludes(self.source)"/>
+ </eAnnotations>
+ <eParameters name="assignmentsBefore" ordered="false" upperBound="-1" eType="#//AssignedSource"/>
+ </eOperations>
+ <eOperations name="update" ordered="false" upperBound="-1" eType="#//AssignedSource">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="assignments->reject(a | a.name = self.name)->including(self)"/>
+ </eAnnotations>
+ <eParameters name="assignments" ordered="false" upperBound="-1" eType="#//AssignedSource"/>
+ </eOperations>
+ <eOperations name="copy" lowerBound="1" eType="#//AssignedSource">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="AssignedSource{&#xA; name = self.name,&#xA; source = if newSource = null then self.source else newSource endif,&#xA; upper = self.upper,&#xA; lower = self.lower,&#xA; type = self.type,&#xA; isParallelLocalName = &#xA; if isParallelLocal = null then self.isParallelLocalName &#xA; else isParallelLocal endif&#xA; }"/>
+ </eAnnotations>
+ <eParameters name="newSource" eType="#//SyntaxElement"/>
+ <eParameters name="isParallelLocal" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
+ </eOperations>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="source" lowerBound="1"
+ eType="#//SyntaxElement"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="upper" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EIntegerObject"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="lower" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EIntegerObject"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="type" eType="#//ElementReference"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="isParallelLocalName" lowerBound="1"
+ eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean" defaultValueLiteral="false"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="SyntaxElement" abstract="true">
+ <eOperations name="toReference" lowerBound="1" eType="#//ElementReference">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="InternalElementReference{element = self}"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="owner" eType="#//SyntaxElement">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="SyntaxElement_owner()"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="SyntaxElement_owner" eType="#//SyntaxElement">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="&#xA; let container = self.oclContainer() in&#xA; if container = null or not container.oclIsKindOf(SyntaxElement) then&#xA; self.owner&#xA; else&#xA; container.oclAsType(SyntaxElement)&#xA; endif"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="currentScope" eType="#//ElementReference">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="self.SyntaxElement_currentScope()"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="SyntaxElement_currentScope" eType="#//ElementReference">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="&#xA; let owner = self.owner() in&#xA; if owner = null then null&#xA; else owner.currentScope()&#xA; endif"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="enclosingStatement" eType="#//Statement">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="&#xA; let owner = self.owner() in&#xA; if owner = null or owner.oclIsKindOf(MemberDefinition) then null&#xA; else if owner.oclIsKindOf(Statement) then owner.oclAsType(Statement)&#xA; else owner.enclosingStatement()&#xA; endif endif"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="enclosingExpression" eType="#//Expression">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="&#xA; let owner = self.owner() in&#xA; if owner = null or owner.oclIsKindOf(MemberDefinition) or&#xA; owner.oclIsKindOf(Statement) then null&#xA; else if owner.oclIsKindOf(Expression) then owner.oclAsType(Expression)&#xA; else owner.enclosingExpression()&#xA; endif endif"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="assignmentsBefore" ordered="false" upperBound="-1" eType="#//AssignedSource">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="self.SyntaxElement_assignmentsBefore()"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="SyntaxElement_assignmentsBefore" ordered="false" upperBound="-1"
+ eType="#//AssignedSource"/>
+ <eOperations name="SyntaxElement_assignmentsBefore_base" ordered="false" upperBound="-1"
+ eType="#//AssignedSource">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="&#xA; let owner = self.owner() in&#xA; if owner = null then Set(AssignedSource){}&#xA; else owner.assignmentsBefore(self)&#xA; endif"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="assignmentsBefore" ordered="false" upperBound="-1" eType="#//AssignedSource">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="self.assignmentsBefore()"/>
+ </eAnnotations>
+ <eParameters name="element" lowerBound="1" eType="#//SyntaxElement"/>
+ </eOperations>
+ <eOperations name="updateAll" ordered="false" upperBound="-1" eType="#//AssignedSource">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="&#xA; newAssignments->iterate(&#xA; assignment, updatedAssignments : Set(AssignedSource) = assignments |&#xA; assignment.update(updatedAssignments)&#xA; )"/>
+ </eAnnotations>
+ <eParameters name="assignments" ordered="false" upperBound="-1" eType="#//AssignedSource"/>
+ <eParameters name="newAssignments" ordered="false" upperBound="-1" eType="#//AssignedSource"/>
+ </eOperations>
+ <eOperations name="commonAncestor" eType="#//ElementReference">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="&#xA; if classifiers->isEmpty() or classifiers->exists(c | c = null) then null&#xA; else&#xA; let classifierSet = self.removeDuplicateElements(classifiers->asBag()) in&#xA; if classifierSet->size() = 1 then classifierSet->any(true)&#xA; else&#xA; let ancestors = self.commonAncestors(classifierSet) in&#xA; let parents = ancestors.allParents() in&#xA; self.commonAncestor(ancestors->reject(containedIn(parents)))&#xA; endif &#xA; endif"/>
+ </eAnnotations>
+ <eParameters name="classifiers" ordered="false" upperBound="-1" eType="#//ElementReference"/>
+ </eOperations>
+ <eOperations name="commonAncestors" ordered="false" upperBound="-1" eType="#//ElementReference">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="&#xA; let ancestors : Bag(ElementReference) = &#xA; classifiers.allParents()->union(classifiers) in&#xA; self.removeDuplicateElements(&#xA; ancestors->select(countIn(ancestors) = classifiers->size())&#xA; )"/>
+ </eAnnotations>
+ <eParameters name="classifiers" ordered="false" upperBound="-1" eType="#//ElementReference"/>
+ </eOperations>
+ <eOperations name="removeDuplicateElements" ordered="false" upperBound="-1" eType="#//ElementReference">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="&#xA; elements->iterate(e, bag : Bag(ElementReference) = Bag{} |&#xA; if e.containedIn(bag) then bag&#xA; else bag->including(e)&#xA; endif&#xA; )->asSet()"/>
+ </eAnnotations>
+ <eParameters name="elements" ordered="false" unique="false" upperBound="-1"
+ eType="#//ElementReference"/>
+ </eOperations>
+ <eOperations name="resolveInLibrary" ordered="false" upperBound="-1" eType="#//ElementReference">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="&#xA; let currentScope = self.currentScope() in&#xA; if currentScope = null then Set(ElementReference){}&#xA; else&#xA; let modelScope = currentScope.modelScope() in&#xA; if modelScope = null then Set(ElementReference){}&#xA; else modelScope.resolvePathName('Alf::Library::' + pathName)&#xA; endif&#xA; endif"/>
+ </eAnnotations>
+ <eParameters name="pathName" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eOperations>
+ <eOperations name="primitiveType" eType="#//ElementReference">
+ <eParameters name="typeName" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eOperations>
+ <eOperations name="primitiveType_" eType="#//ElementReference">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="&#xA; let referents = self.resolveInLibrary('PrimitiveTypes::' + typeName)->&#xA; select(isPrimitiveType()) in&#xA; if referents->isEmpty() then null&#xA; else referents->any(true)&#xA; endif"/>
+ </eAnnotations>
+ <eParameters name="typeName" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eOperations>
+ <eOperations name="booleanType" eType="#//ElementReference">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="self.primitiveType('Boolean')"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="isBooleanType" lowerBound="1" 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="element &lt;> null and element.conformsTo(self.booleanType())"/>
+ </eAnnotations>
+ <eParameters name="element" lowerBound="1" eType="#//ElementReference"/>
+ </eOperations>
+ <eOperations name="integerType" eType="#//ElementReference">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="self.primitiveType('Integer')"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="isIntegerType" lowerBound="1" 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="element &lt;> null and element.conformsTo(self.integerType())"/>
+ </eAnnotations>
+ <eParameters name="element" lowerBound="1" eType="#//ElementReference"/>
+ </eOperations>
+ <eOperations name="stringType" eType="#//ElementReference">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="self.primitiveType('String')"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="isStringType" lowerBound="1" 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="element &lt;> null and element.conformsTo(self.stringType())"/>
+ </eAnnotations>
+ <eParameters name="element" lowerBound="1" eType="#//ElementReference"/>
+ </eOperations>
+ <eOperations name="unlimitedNaturalType" eType="#//ElementReference">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="self.primitiveType('UnlimitedNatural')"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="isUnlimitedNaturalType" lowerBound="1" 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="element &lt;> null and element.conformsTo(self.unlimitedNaturalType())"/>
+ </eAnnotations>
+ <eParameters name="element" lowerBound="1" eType="#//ElementReference"/>
+ </eOperations>
+ <eOperations name="bitStringType" eType="#//ElementReference">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="self.primitiveType('BitString')"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="isBitStringType" lowerBound="1" 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="element &lt;> null and element.conformsTo(self.bitStringType())"/>
+ </eAnnotations>
+ <eParameters name="element" lowerBound="1" eType="#//ElementReference"/>
+ </eOperations>
+ <eOperations name="naturalType" eType="#//ElementReference">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="self.primitiveType('Natural')"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="isNaturalType" lowerBound="1" 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="element &lt;> null and element.conformsTo(self.naturalType())"/>
+ </eAnnotations>
+ <eParameters name="element" lowerBound="1" eType="#//ElementReference"/>
+ </eOperations>
+ <eOperations name="isNumericType" lowerBound="1" 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.isIntegerType(element) or &#xA; self.isUnlimitedNaturalType(element) or &#xA; self.isNaturalType(element)"/>
+ </eAnnotations>
+ <eParameters name="element" lowerBound="1" eType="#//ElementReference"/>
+ </eOperations>
+ <eOperations name="collectionFunctionAdd" eType="#//ElementReference">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="&#xA; let referents = self.resolveInLibrary('CollectionFunctions::add')->&#xA; select(isBehavior()) in&#xA; if referents->isEmpty() then null&#xA; else referents->any(true)&#xA; endif"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="isCollectionClass" lowerBound="1" 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="&#xA; let template = element.template() in&#xA; template &lt;> null and&#xA; let collectionClasses = self.resolveInLibrary('CollectionClasses') in&#xA; collectionClasses->notEmpty() and&#xA; collectionClasses->any(true).equals(template.namespace())"/>
+ </eAnnotations>
+ <eParameters name="element" lowerBound="1" eType="#//ElementReference"/>
+ </eOperations>
+ <eOperations name="isIntegerCollectionClass" lowerBound="1" 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="&#xA; self.isCollectionClass(element) and &#xA; self.isIntegerType(element.collectionArgument())"/>
+ </eAnnotations>
+ <eParameters name="element" lowerBound="1" eType="#//ElementReference"/>
+ </eOperations>
+ <eOperations name="isBitStringCollectionClass" lowerBound="1" 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="&#xA; self.isCollectionClass(element) and &#xA; self.isBitStringType(element.collectionArgument())"/>
+ </eAnnotations>
+ <eParameters name="element" lowerBound="1" eType="#//ElementReference"/>
+ </eOperations>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="owner" eType="#//SyntaxElement"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="ElementReference" abstract="true">
+ <eOperations name="isUml" lowerBound="1" 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="false"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="isAlf" lowerBound="1" 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="false"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="asUml" eType="ecore:EClass http://www.eclipse.org/emf/2002/Ecore#//EObject">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="null"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="asAlf" eType="#//SyntaxElement">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="null"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="asMember" eType="#//Member"/>
+ <eOperations name="isSameKindAs" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eParameters name="member" lowerBound="1" eType="#//ElementReference"/>
+ </eOperations>
+ <eOperations name="isNamedElement" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
+ <eOperations name="isNamespace" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
+ <eOperations name="isNamespaceFor" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eParameters name="unit" lowerBound="1" eType="#//UnitDefinition"/>
+ </eOperations>
+ <eOperations name="isModelNamespace" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
+ <eOperations name="isPackage" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
+ <eOperations name="isProfile" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
+ <eOperations name="isPackageableElement" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
+ <eOperations name="isClassifier" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
+ <eOperations name="isAbstractClassifier" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
+ <eOperations name="isAssociation" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
+ <eOperations name="isDataType" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
+ <eOperations name="isClass" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
+ <eOperations name="isActiveClass" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
+ <eOperations name="isSignal" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
+ <eOperations name="isEnumeration" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
+ <eOperations name="isBehavior" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
+ <eOperations name="isActivity" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
+ <eOperations name="isMethod" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
+ <eOperations name="isPrimitiveType" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
+ <eOperations name="isReception" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
+ <eOperations name="isOperation" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
+ <eOperations name="isConstructor" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
+ <eOperations name="isDestructor" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
+ <eOperations name="isFeature" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
+ <eOperations name="isProperty" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
+ <eOperations name="isAssociationEnd" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
+ <eOperations name="isParameter" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
+ <eOperations name="isTemplate" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
+ <eOperations name="isTemplateParameter" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
+ <eOperations name="isClassifierTemplateParameter" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
+ <eOperations name="isParameteredElement" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
+ <eOperations name="isTemplateBinding" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
+ <eOperations name="isStereotype" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
+ <eOperations name="isEnumerationLiteral" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
+ <eOperations name="isLoopVariable" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
+ <eOperations name="isAnnotation" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
+ <eOperations name="isSequenceExpansionExpression" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
+ <eOperations name="isAnyType" lowerBound="1" 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="false"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="isDistinguishableFrom" lowerBound="1" 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="&#xA; let member = self.asMember() in&#xA; let otherMember = other.asMember() in&#xA; if member = null or otherMember = null then true&#xA; else&#xA; member.definition.isDistinguishableFrom(otherMember.definition)&#xA; endif"/>
+ </eAnnotations>
+ <eParameters name="other" lowerBound="1" eType="#//ElementReference"/>
+ </eOperations>
+ <eOperations name="isAssignableFrom" lowerBound="1" 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="&#xA; AssignableElementReference{&#xA; reference = self, owner = element.owner()&#xA; }.isAssignableFrom(element)"/>
+ </eAnnotations>
+ <eParameters name="element" lowerBound="1" eType="#//AssignableElement"/>
+ </eOperations>
+ <eOperations name="collectionArgument" eType="#//ElementReference">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="&#xA;-- let templateActuals = self.templateActuals() in&#xA;-- if templateActuals->isEmpty() then null&#xA;-- else templateActuals->first()&#xA;-- endif;&#xA; let toSequenceOperation = self.resolve('toSequence')->select(&#xA; isOperation() and parameters()->size() = 0 and returnParameter() &lt;> null&#xA; ) in&#xA; if toSequenceOperation->size() &lt;> 1 then null&#xA; else toSequenceOperation->any(true).type()&#xA; endif"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ <eOperations name="visibility" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ <eOperations name="ownedMembers" upperBound="-1" eType="#//ElementReference"/>
+ <eOperations name="members" upperBound="-1" eType="#//ElementReference"/>
+ <eOperations name="visibleMembers" ordered="false" upperBound="-1" eType="#//ElementReference">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="self.members()->select(visibility() = null or visibility() = 'public')"/>
+ </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.members()->select(isProperty())"/>
+ </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.members()->select(isAssociationEnd())"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="opposite" eType="#//ElementReference"/>
+ <eOperations name="receptions" ordered="false" upperBound="-1" eType="#//ElementReference">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="self.members()->select(isReception())"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="signal" eType="#//ElementReference"/>
+ <eOperations name="parameters" upperBound="-1" eType="#//ElementReference"/>
+ <eOperations name="returnParameter" eType="#//ElementReference"/>
+ <eOperations name="specification" eType="#//ElementReference"/>
+ <eOperations name="redefinedOperations" ordered="false" upperBound="-1" eType="#//ElementReference"/>
+ <eOperations name="namespace" eType="#//ElementReference"/>
+ <eOperations name="template" eType="#//ElementReference"/>
+ <eOperations name="templateParameters" upperBound="-1" eType="#//ElementReference"/>
+ <eOperations name="parameteredElements" upperBound="-1" eType="#//ElementReference"/>
+ <eOperations name="templateActuals" upperBound="-1" eType="#//ElementReference"/>
+ <eOperations name="direction" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ <eOperations name="association" eType="#//ElementReference"/>
+ <eOperations name="type" eType="#//ElementReference"/>
+ <eOperations name="lower" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBigInteger"/>
+ <eOperations name="upper" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBigInteger"/>
+ <eOperations name="isOrdered" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
+ <eOperations name="isNonunique" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
+ <eOperations name="parents" ordered="false" upperBound="-1" eType="#//ElementReference"/>
+ <eOperations name="allParents" ordered="false" upperBound="-1" eType="#//ElementReference"/>
+ <eOperations name="classifierBehavior" eType="#//ElementReference"/>
+ <eOperations name="appliedProfiles" ordered="false" upperBound="-1" eType="#//ElementReference"/>
+ <eOperations name="base" lowerBound="1" eType="#//ElementReference">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="&#xA; let template = self.template() in&#xA; if template = null then self&#xA; else template&#xA; endif"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="reference" lowerBound="1" eType="#//ElementReference">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="self"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="templateBinding" eType="#//ElementReference">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="null"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="bind" lowerBound="1" eType="#//ElementReference">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="&#xA; BoundClassifier{&#xA; name = self.boundElementName(actuals),&#xA; template = self,&#xA; actual = actuals&#xA; }.addToModel().toReference()"/>
+ </eAnnotations>
+ <eParameters name="actuals" unique="false" upperBound="-1" eType="#//ElementReference"/>
+ </eOperations>
+ <eOperations name="boundElementName" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="&#xA; actuals->iterate(&#xA; actual, s : Types::String = '$$' + self.boundPathName() + '__' |&#xA; s + if actual = null then 'any' else actual.boundPathName() endif + '_'&#xA; ) + '_'"/>
+ </eAnnotations>
+ <eParameters name="actuals" unique="false" upperBound="-1" eType="#//ElementReference"/>
+ </eOperations>
+ <eOperations name="boundPathName" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="&#xA; if self.isModelNamespace() then ''&#xA; else&#xA; let template = self.template() in&#xA; if template = null then&#xA; let namespace = self.namespace() in&#xA; let name = if self.name() = null then '' else self.name() endif in&#xA; if namespace = null or namespace.isModelNamespace() then name&#xA; else namespace.boundPathName() + '$' + name&#xA; endif&#xA; else&#xA; template.boundElementName(self.templateActuals()->asSequence())&#xA; endif&#xA; endif"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="qualifiedName" lowerBound="1" eType="#//QualifiedName">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="&#xA; if self.isModelNamespace() then&#xA; QualifiedName{nameBinding = OrderedSet(NameBinding){}}&#xA; else&#xA; let template = self.template() in&#xA; if template = null then&#xA; let namespace = self.namespace() in&#xA; let qualifiedName =&#xA; if namespace = null then null &#xA; else namespace.qualifiedName() endif in&#xA; let name = self.name() in&#xA; let nameBinding = NameBinding{&#xA; name = if name = null then '' else name endif&#xA; } in&#xA; if qualifiedName = null then&#xA; QualifiedName{nameBinding = OrderedSet{nameBinding}}&#xA; else&#xA; QualifiedName{&#xA; nameBinding = qualifiedName.nameBinding->append(nameBinding)&#xA; }&#xA; endif&#xA; else&#xA; let templateName = template.qualifiedName() in&#xA; let nameBindings = templateName.nameBinding in&#xA; let n = nameBindings->size() in&#xA; if n = 0 then&#xA; templateName&#xA; else&#xA; let templateBinding = PositionalTemplateBinding{&#xA; argumentName = self.templateActuals()->&#xA; collect(templateActual | &#xA; if templateActual = null then &#xA; QualifiedName{nameBinding = OrderedSet(NameBinding){}}&#xA; else &#xA; templateActual.qualifiedName() &#xA; endif&#xA; )&#xA; } in&#xA; let name = self.name() in&#xA; let nameBinding = NameBinding{&#xA; name = if name = null then '' else name endif,&#xA; binding = templateBinding&#xA; } in&#xA; if n = 1 then&#xA; QualifiedName{nameBinding = OrderedSet{nameBinding}}&#xA; else&#xA; QualifiedName{&#xA; nameBinding =&#xA; nameBindings->subOrderedSet(1,n-1)->append(nameBinding)&#xA; }&#xA; endif&#xA; endif&#xA; endif&#xA; endif"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="activeClass" eType="#//ElementReference"/>
+ <eOperations name="isActiveBehavior" lowerBound="1" 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.activeClass() &lt;> null"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="conformsTo" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eParameters name="other" eType="#//ElementReference"/>
+ </eOperations>
+ <eOperations name="equals" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eParameters name="other" eType="#//ElementReference"/>
+ </eOperations>
+ <eOperations name="containedIn" lowerBound="1" 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="references->exists(equals(self))"/>
+ </eAnnotations>
+ <eParameters name="references" ordered="false" unique="false" upperBound="-1"
+ eType="#//ElementReference"/>
+ </eOperations>
+ <eOperations name="countIn" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBigInteger">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="references->select(equals(self))->size()"/>
+ </eAnnotations>
+ <eParameters name="references" ordered="false" unique="false" upperBound="-1"
+ eType="#//ElementReference"/>
+ </eOperations>
+ <eOperations name="positionIn" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBigInteger">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="&#xA; if references->isEmpty() then 0&#xA; else&#xA; let indices = &#xA; Sequence{1..references->size()}->select(i | self.equals(references->at(i)))&#xA; in&#xA; if indices->isEmpty() then 0&#xA; else indices->first()&#xA; endif&#xA; endif"/>
+ </eAnnotations>
+ <eParameters name="references" unique="false" upperBound="-1" eType="#//ElementReference"/>
+ </eOperations>
+ <eOperations name="copy" lowerBound="1" eType="#//ElementReference"/>
+ <eOperations name="modelScope" lowerBound="1" eType="#//ElementReference"/>
+ <eOperations name="resolvePathName" ordered="false" upperBound="-1" eType="#//ElementReference">
+ <eParameters name="pathName" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eOperations>
+ <eOperations name="resolveInScope" ordered="false" upperBound="-1" eType="#//ElementReference">
+ <eParameters name="name" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eOperations>
+ <eOperations name="resolveStereotype" ordered="false" upperBound="-1" eType="#//ElementReference">
+ <eParameters name="stereotypeName" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eOperations>
+ <eOperations name="resolve" ordered="false" upperBound="-1" eType="#//ElementReference">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="&#xA; let members = self.resolveInScope(name) in&#xA; let outerScope = self.namespace() in&#xA; if outerScope = null then&#xA; members&#xA; else&#xA; members->union(&#xA; outerScope.resolve(name)->select(m1 | &#xA; members->forAll(m2 | &#xA; m1.isDistinguishableFrom(m2)&#xA; )&#xA; )&#xA; )&#xA; endif"/>
+ </eAnnotations>
+ <eParameters name="name" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eOperations>
+ <eOperations name="resolveVisible" ordered="false" upperBound="-1" eType="#//ElementReference">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="&#xA; let members = self.resolveInScope(name) in&#xA; -- Note: If this namespace is the same as or a containing scope of the &#xA; -- given namespace, or if the given namespace is null, then all members &#xA; -- of this namespace are visible.&#xA; if namespace = null or&#xA; self.equals(namespace) or&#xA; self.containsMember(namespace) then&#xA; members&#xA; else&#xA; members->select(visibility() = 'public' or &#xA; self.allowPackageOnly() and visibility() = 'package'&#xA; )&#xA; endif"/>
+ </eAnnotations>
+ <eParameters name="name" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ <eParameters name="namespace" eType="#//ElementReference"/>
+ </eOperations>
+ <eOperations name="resolveAssociationEnd" ordered="false" upperBound="-1" eType="#//ElementReference">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="&#xA; let referents = self.members()->&#xA; -- Note: Only association-owned ends are considered as association ends.&#xA; select(isAssociation() and (properties()->size() = 2)).associationEnds()->&#xA; select(associationEnd |&#xA; let opposite = associationEnd.opposite() in&#xA; opposite &lt;> null and&#xA; oppositeEndType.conformsTo(opposite.type()) and&#xA; name = associationEnd.name()&#xA; )&#xA; in&#xA; let outerScope = self.namespace() in&#xA; if outerScope = null then referents&#xA; else&#xA; let hiddenNames = referents.name() in&#xA; referents->union(&#xA; outerScope.resolveAssociationEnd(oppositeEndType, name)->&#xA; reject(outerReferent | hiddenNames->includes(outerReferent.name()))&#xA; )&#xA; endif"/>
+ </eAnnotations>
+ <eParameters name="oppositeEndType" lowerBound="1" eType="#//ElementReference"/>
+ <eParameters name="name" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eOperations>
+ <eOperations name="containsMember" lowerBound="1" 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="&#xA; member = null or&#xA; let namespace = member.namespace() in&#xA; namespace &lt;> null and&#xA; (self.equals(namespace) or&#xA; self.containsMember(namespace))"/>
+ </eAnnotations>
+ <eParameters name="member" lowerBound="1" eType="#//ElementReference"/>
+ </eOperations>
+ <eOperations name="allowPackageOnly" lowerBound="1" 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="not self.isPackage()"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="stub" eType="#//ElementReference"/>
+ <eOperations name="stubFor" eType="#//ElementReference">
+ <eParameters name="unit" lowerBound="1" eType="#//UnitDefinition"/>
+ </eOperations>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="InternalElementReference" eSuperTypes="#//ElementReference">
+ <eOperations name="isAlf" lowerBound="1" 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="true"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="asAlf" eType="#//SyntaxElement">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="self.element"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="asMember" eType="#//Member">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="&#xA; if self.element.oclIsKindOf(Member) then self.element.oclAsType(Member)&#xA; else if self.element.oclIsKindOf(MemberDefinition) then&#xA; let container = self.element.oclContainer() in&#xA; if container.oclIsKindOf(Member) then container.oclAsType(Member)&#xA; else null&#xA; endif&#xA; else null&#xA; endif endif"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="isSameKindAs" lowerBound="1" 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="&#xA; self.element.oclIsKindOf(MemberDefinition) and&#xA; self.element.oclAsType(MemberDefinition).isSameKindAs(member)"/>
+ </eAnnotations>
+ <eParameters name="member" lowerBound="1" eType="#//ElementReference"/>
+ </eOperations>
+ <eOperations name="isNamedElement" lowerBound="1" 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.element.oclIsKindOf(MemberDefinition)"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="isNamespace" lowerBound="1" 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.element.oclIsKindOf(NamespaceDefinition)"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="isNamespaceFor" lowerBound="1" 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.isNamespace() and self.stubFor(unit) &lt;> null"/>
+ </eAnnotations>
+ <eParameters name="unit" lowerBound="1" eType="#//UnitDefinition"/>
+ </eOperations>
+ <eOperations name="isModelNamespace" lowerBound="1" 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.element.oclIsKindOf(ModelNamespace)"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="isPackage" lowerBound="1" 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.element.oclIsKindOf(PackageDefinition)"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="isProfile" lowerBound="1" 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="false"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="isPackageableElement" lowerBound="1" 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="&#xA; self.element.oclIsKindOf(Member) and&#xA; not self.element.oclIsKindOf(FormalParameter) and&#xA; not self.element.oclIsKindOf(ClassifierTemplateParameter) and&#xA; not self.isFeature()"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="isClassifier" lowerBound="1" 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.element.oclIsKindOf(ClassifierDefinition)"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="isAbstractClassifier" lowerBound="1" 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="&#xA; let template = self.template() in&#xA; if template &lt;> null then&#xA; template.isAbstractClassifier()&#xA; else&#xA; self.isClassifier() and &#xA; self.element.oclAsType(ClassifierDefinition).isAbstract&#xA; endif"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="isAssociation" lowerBound="1" 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="&#xA; let template = self.template() in&#xA; if template &lt;> null then&#xA; template.isAssociation()&#xA; else&#xA; self.element.oclIsKindOf(AssociationDefinition)&#xA; endif"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="isDataType" lowerBound="1" 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="&#xA; let template = self.template() in&#xA; if template &lt;> null then&#xA; template.isDataType()&#xA; else&#xA; self.element.oclIsKindOf(DataTypeDefinition)&#xA; endif"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="isClass" lowerBound="1" 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="&#xA; let template = self.template() in&#xA; if template &lt;> null then&#xA; template.isClass()&#xA; else&#xA; self.element.oclIsKindOf(ClassDefinition)&#xA; endif"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="isActiveClass" lowerBound="1" 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="&#xA; let template = self.template() in&#xA; if template &lt;> null then&#xA; template.isActiveClass()&#xA; else&#xA; self.element.oclIsKindOf(ActiveClassDefinition)&#xA; endif"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="isSignal" lowerBound="1" 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="&#xA; let template = self.template() in&#xA; if template &lt;> null then&#xA; template.isSignal()&#xA; else&#xA; self.element.oclIsKindOf(SignalDefinition) or&#xA; self.element.oclIsKindOf(SignalReceptionDefinition)&#xA; endif"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="isEnumeration" lowerBound="1" 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="&#xA; let template = self.template() in&#xA; if template &lt;> null then&#xA; template.isEnumeration()&#xA; else&#xA; self.element.oclIsKindOf(EnumerationDefinition)&#xA; endif"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="isBehavior" lowerBound="1" 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="&#xA; let template = self.template() in&#xA; if template &lt;> null then&#xA; template.isBehavior()&#xA; else&#xA; self.element.oclIsKindOf(ActivityDefinition)&#xA; endif"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="isActivity" lowerBound="1" 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="&#xA; let template = self.template() in&#xA; if template &lt;> null then&#xA; template.isActivity()&#xA; else&#xA; self.element.oclIsKindOf(ActivityDefinition)&#xA; endif"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="isMethod" lowerBound="1" 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="&#xA; self.isActivity() and &#xA; let stub = self.stub() in&#xA; -- The case of the stub being a property covers the case of an&#xA; -- activity used in the default value of an external property.&#xA; stub &lt;> null and (stub.isOperation() or stub.isProperty())"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="isPrimitiveType" lowerBound="1" 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="false"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="isReception" lowerBound="1" 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="&#xA; let template = self.template() in&#xA; if template &lt;> null then&#xA; template.isReception()&#xA; else&#xA; self.element.oclIsKindOf(ReceptionDefinition) or&#xA; self.element.oclIsKindOf(SignalReceptionDefinition)&#xA; endif"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="isOperation" lowerBound="1" 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.element.oclIsKindOf(OperationDefinition)"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="isConstructor" lowerBound="1" 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="&#xA; self.isOperation() and&#xA; self.element.oclAsType(OperationDefinition).isConstructor"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="isDestructor" lowerBound="1" 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="&#xA; self.isOperation() and&#xA; self.element.oclAsType(OperationDefinition).isDestructor"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="isFeature" lowerBound="1" 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="&#xA; self.element.oclIsKindOf(MemberDefinition) and &#xA; self.element.oclAsType(MemberDefinition).isFeature"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="isProperty" lowerBound="1" 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="&#xA; self.element.oclIsKindOf(PropertyDefinition)"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="isAssociationEnd" lowerBound="1" 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="&#xA; self.isProperty() and&#xA; self.asMember().namespace.oclIsKindOf(AssociationDefinition)"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="isParameter" lowerBound="1" 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="&#xA; self.element.oclIsKindOf(FormalParameter)"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="isTemplate" lowerBound="1" 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="&#xA; self.element.oclIsKindOf(MemberDefinition) and&#xA; self.element.oclAsType(MemberDefinition).isTemplate()"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="isTemplateParameter" lowerBound="1" 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.element.oclIsKindOf(ClassifierTemplateParameter)"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="isClassifierTemplateParameter" lowerBound="1" 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.element.oclIsKindOf(ClassifierTemplateParameter)"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="isParameteredElement" lowerBound="1" 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.element.oclIsKindOf(ClassifierTemplateParameter)"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="isTemplateBinding" lowerBound="1" 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.element.oclIsKindOf(BoundClassifier)"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="isStereotype" lowerBound="1" 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="false"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="isEnumerationLiteral" lowerBound="1" 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.element.oclIsKindOf(EnumerationLiteralName)"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="isLoopVariable" lowerBound="1" 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.element.oclIsKindOf(LoopVariableDefinition)"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="isAnnotation" lowerBound="1" 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.element.oclIsKindOf(Annotation)"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="isSequenceExpansionExpression" lowerBound="1" 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.element.oclIsKindOf(SequenceExpansionExpression)"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="isAnyType" lowerBound="1" 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.element.oclIsKindOf(AnyType)"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="&#xA; if not self.isNamedElement() then null&#xA; else self.element.oclAsType(MemberDefinition).actualName()&#xA; endif"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="visibility" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="&#xA; let member = self.asMember() in&#xA; if member = null then null&#xA; else member.visibility()&#xA; endif"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="ownedMembers" upperBound="-1" eType="#//ElementReference">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="&#xA; if self.isNamespace() then &#xA; self.element.oclAsType(NamespaceDefinition).ownedMember.toReference()->&#xA; asOrderedSet()&#xA; else&#xA; OrderedSet(ElementReference){}&#xA; endif"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="members" upperBound="-1" eType="#//ElementReference">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="&#xA; if self.isNamespace() then &#xA; self.element.oclAsType(NamespaceDefinition).member.toReference()->&#xA; asOrderedSet()&#xA; else &#xA; OrderedSet(ElementReference){}&#xA; endif"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="opposite" eType="#//ElementReference">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="&#xA; if not self.isProperty() then null&#xA; else&#xA; let member = self.asMember() in&#xA; if member = null then null&#xA; else&#xA; let owner = member.owner() in&#xA; if not owner.oclIsKindOf(AssociationDefinition) then null&#xA; else&#xA; let ends = owner.oclAsType(AssociationDefinition).ownedMember in&#xA; if ends->size() &lt;> 2 then null&#xA; else ends->any(e | e &lt;> member).oclAsType(Member).toReference()&#xA; endif&#xA; endif&#xA; endif&#xA; endif"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="signal" eType="#//ElementReference">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="&#xA; let element = self.element in&#xA; if element.oclIsKindOf(ReceptionDefinition) then&#xA; element.oclAsType(ReceptionDefinition).signal&#xA; else if element.oclIsKindOf(SignalReceptionDefinition) then&#xA; element.oclAsType(SignalReceptionDefinition).toReference()&#xA; else&#xA; null&#xA; endif endif"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="parameters" upperBound="-1" eType="#//ElementReference">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="&#xA; let template = self.template() in&#xA; if template &lt;> null then&#xA; template.parameters()&#xA; else if self.isBehavior() or self.isOperation() then&#xA; self.element.oclAsType(NamespaceDefinition).parameters().toReference()&#xA; else&#xA; OrderedSet(ElementReference){}&#xA; endif endif"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="returnParameter" eType="#//ElementReference">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="&#xA; let template = self.template() in&#xA; if template &lt;> null then&#xA; template.returnParameter()&#xA; else if self.isBehavior() or self.isOperation() then&#xA; let returnParameter = self.element.oclAsType(NamespaceDefinition).returnParameter() in&#xA; if returnParameter = null then&#xA; null&#xA; else&#xA; returnParameter.toReference()&#xA; endif&#xA; else&#xA; null&#xA; endif endif"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="specification" eType="#//ElementReference">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="&#xA; if self.isOperation() then &#xA; self&#xA; else if self.isBehavior() then&#xA; self.element.oclAsType(NamespaceDefinition).stub()&#xA; else &#xA; null&#xA; endif endif"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="redefinedOperaions" ordered="false" upperBound="-1" eType="#//ElementReference">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="&#xA; if not self.isOperation() then Set(ElementReference){}&#xA; else self.oclAsType(OperationDefinition).redefinedOperation&#xA; endif"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="namespace" eType="#//ElementReference">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="&#xA; if self.element.oclIsKindOf(MemberDefinition) then&#xA; self.element.oclAsType(MemberDefinition).outerScope()&#xA; else&#xA; null&#xA; endif"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="template" eType="#//ElementReference">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="&#xA; if self.isTemplateBinding() then&#xA; self.element.oclAsType(BoundClassifier).template&#xA; else&#xA; null&#xA; endif"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="templateParameters" upperBound="-1" eType="#//ElementReference">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="&#xA; if self.isTemplate() then&#xA; self.element.oclAsType(ClassifierDefinition).templateParameters().toReference()&#xA; else&#xA; OrderedSet(ElementReference){}&#xA; endif"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="parameteredElements" upperBound="-1" eType="#//ElementReference">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="self.templateParameters()"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="templateActuals" upperBound="-1" eType="#//ElementReference">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="&#xA; if self.isTemplateBinding() then&#xA; self.element.oclAsType(BoundClassifier).actual->collect (actual |&#xA; if actual.isAnyType() then null else actual endif&#xA; )->asOrderedSet()&#xA; else&#xA; OrderedSet(ElementReference){}&#xA; endif"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="direction" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="&#xA; if self.isParameter() then&#xA; self.element.oclAsType(FormalParameter).direction&#xA; else&#xA; null&#xA; endif"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="association" eType="#//ElementReference">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="&#xA; if not self.isAssociationEnd() then null&#xA; else self.namespace()&#xA; endif"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="type" eType="#//ElementReference">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="&#xA; if self.isProperty() then&#xA; self.element.oclAsType(PropertyDefinition).typePart.type&#xA; else if self.isParameter() then&#xA; self.element.oclAsType(FormalParameter).typePart.type&#xA; else if self.isBehavior() or self.isOperation() then&#xA; let returnParameter = self.returnParameter() in&#xA; if returnParameter = null then null&#xA; else returnParameter.type()&#xA; endif&#xA; else if self.isEnumerationLiteral() then&#xA; self.namespace()&#xA; else&#xA; null&#xA; endif endif endif endif"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="lower" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBigInteger">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="&#xA; if self.isProperty() then&#xA; self.element.oclAsType(PropertyDefinition).typePart.lower&#xA; else if self.isParameter() then&#xA; self.element.oclAsType(FormalParameter).typePart.lower&#xA; else&#xA; 1&#xA; endif endif"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="upper" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBigInteger">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="&#xA; if self.isProperty() then&#xA; self.element.oclAsType(PropertyDefinition).typePart.upper&#xA; else if self.isParameter() then&#xA; self.element.oclAsType(FormalParameter).typePart.upper&#xA; else&#xA; 1&#xA; endif endif"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="isOrdered" lowerBound="1" 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="&#xA; if self.isProperty() then&#xA; self.element.oclAsType(PropertyDefinition).typePart.isOrdered()&#xA; else if self.isParameter() then&#xA; self.element.oclAsType(FormalParameter).typePart.isOrdered()&#xA; else&#xA; false&#xA; endif endif"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="isNonunique" lowerBound="1" 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="&#xA; if self.isProperty() then&#xA; self.element.oclAsType(PropertyDefinition).typePart.isNonunique()&#xA; else if self.isParameter() then&#xA; self.element.oclAsType(FormalParameter).typePart.isNonunique()&#xA; else&#xA; false&#xA; endif endif"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="parents" ordered="false" upperBound="-1" eType="#//ElementReference">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="&#xA; if self.isClassifier() then&#xA; self.element.oclAsType(ClassifierDefinition).specializationReferent&#xA; else&#xA; Set(ElementReference){}&#xA; endif"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="allParents" ordered="false" upperBound="-1" eType="#//ElementReference">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="&#xA; if self.isClassifier() then&#xA; self.element.removeDuplicateElements(&#xA; self->closure(parents())->excluding(self)->asBag()&#xA; )->asSet()&#xA; else&#xA; Set(ElementReference){}&#xA; endif"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="classifierBehavior" eType="#//ElementReference">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="&#xA; if not self.isActiveClass() then null&#xA; else&#xA; let classifierBehavior = &#xA; self.element.oclAsType(ActiveClassDefinition).classifierBehavior in&#xA; if classifierBehavior = null then null&#xA; else classifierBehavior.toReference()&#xA; endif&#xA; endif"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="appliedProfiles" ordered="false" upperBound="-1" eType="#//ElementReference">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="&#xA; if not self.isNamespace() then Set(ecore::EObject){}&#xA; else self.element.oclAsType(NamespaceDefinition).appliedProfiles()&#xA; endif"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="activeClass" eType="#//ElementReference">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="&#xA; if not self.isActivity() then null&#xA; else&#xA; let namespace = self.element.oclAsType(ActivityDefinition).namespaceReference() in&#xA; if namespace = null or &#xA; not self.equals(namespace.classifierBehavior()) then null&#xA; else namespace&#xA; endif&#xA; endif"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="conformsTo" lowerBound="1" 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="&#xA; other = null or&#xA; self.isClassifier() and (self.equals(other) or&#xA; self.element.oclAsType(ClassifierDefinition).&#xA; specializationReferent->exists(conformsTo(other)))"/>
+ </eAnnotations>
+ <eParameters name="other" eType="#//ElementReference"/>
+ </eOperations>
+ <eOperations name="equals" lowerBound="1" 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="other &lt;> null and other.asAlf() = self.element"/>
+ </eAnnotations>
+ <eParameters name="other" eType="#//ElementReference"/>
+ </eOperations>
+ <eOperations name="copy" lowerBound="1" eType="#//ElementReference">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="InternalElementReference{element = self.element}"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="modelScope" eType="#//ElementReference">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="&#xA; if not self.isNamespace() then null&#xA; else self.element.oclAsType(NamespaceDefinition).modelScope()&#xA; endif"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="resolvePathName" ordered="false" upperBound="-1" eType="#//ElementReference">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="&#xA; if not self.element.oclIsKindOf(ModelNamespace) then&#xA; Set(ElementReference){}&#xA; else&#xA; self.element.oclAsType(ModelNamespace).resolvePathName(pathName)&#xA; endif"/>
+ </eAnnotations>
+ <eParameters name="pathName" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eOperations>
+ <eOperations name="resolveInScope" ordered="false" upperBound="-1" eType="#//ElementReference">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="&#xA; let template = self.template() in&#xA; if template &lt;> null then&#xA; template.resolveInScope(name)&#xA; else if not self.isNamespace() then Set(ElementReference){}&#xA; else &#xA; self.element.oclAsType(NamespaceDefinition).resolveInScope(name).&#xA; toReference()&#xA; endif endif"/>
+ </eAnnotations>
+ <eParameters name="name" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eOperations>
+ <eOperations name="resolveStereotypeName" ordered="false" upperBound="-1" eType="#//ElementReference">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="Set(ElementReference){}"/>
+ </eAnnotations>
+ <eParameters name="stereotypeName" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eOperations>
+ <eOperations name="stub" eType="#//ElementReference">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="&#xA; if not self.isNamespace() then null&#xA; else self.element.oclAsType(NamespaceDefinition).stub()&#xA; endif"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="stubFor" eType="#//ElementReference">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="&#xA; if not self.isNamespace() then null&#xA; else self.element.oclAsType(NamespaceDefinition).stubFor(unit)&#xA; endif"/>
+ </eAnnotations>
+ <eParameters name="unit" lowerBound="1" eType="#//UnitDefinition"/>
+ </eOperations>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="element" lowerBound="1"
+ eType="#//SyntaxElement"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="ExternalElementReference" eSuperTypes="#//ElementReference">
+ <eOperations name="isUml" lowerBound="1" 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="true"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="asUml" eType="ecore:EClass http://www.eclipse.org/emf/2002/Ecore#//EObject">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="self.element"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="asMember" lowerBound="1" eType="#//Member">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="&#xA; if not self.isNamedElement() then null&#xA; else&#xA; Member{&#xA; visibility = self.visibility(), &#xA; definition = ImportedMember{name = self.name(), referent = self}&#xA; }&#xA; endif"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="isSameKindAs" lowerBound="1" 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="&#xA; if member.isAlf() then member.isSameKindAs(self)&#xA; else&#xA; let other = member.asUml().oclAsType(UML::Element) in&#xA; self.element.oclIsKindOf(other.oclType()) or&#xA; other.oclIsKindOf(self.element.oclType())&#xA; endif"/>
+ </eAnnotations>
+ <eParameters name="member" lowerBound="1" eType="#//ElementReference"/>
+ </eOperations>
+ <eOperations name="isNamedElement" lowerBound="1" 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.element.oclIsKindOf(UML::NamedElement)"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="isNamespace" lowerBound="1" 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.element.oclIsKindOf(UML::Namespace)"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="isNamespaceFor" lowerBound="1" 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.isNamespace()"/>
+ </eAnnotations>
+ <eParameters name="unit" lowerBound="1" eType="#//UnitDefinition"/>
+ </eOperations>
+ <eOperations name="isModelNamespace" lowerBound="1" 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="false"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="isPackage" lowerBound="1" 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.element.oclIsKindOf(UML::Package)"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="isProfile" lowerBound="1" 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.element.oclIsKindOf(UML::Profile)"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="isPackageableElement" lowerBound="1" 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.element.oclIsKindOf(UML::PackageableElement)"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="isClassifier" lowerBound="1" 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.element.oclIsKindOf(UML::Classifier)"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="isAbstractClassifier" lowerBound="1" 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.isClassifier() and self.element.oclAsType(UML::Classifier).isAbstract"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="isAssociation" lowerBound="1" 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.element.oclIsKindOf(UML::Association)"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="isDataType" lowerBound="1" 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.element.oclIsKindOf(UML::DataType)"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="isClass" lowerBound="1" 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.element.oclIsKindOf(UML::Class) and not self.element.oclIsKindOf(UML::Behavior)"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="isActiveClass" lowerBound="1" 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.isClass() and self.element.oclAsType(UML::Class).isActive"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="isSignal" lowerBound="1" 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.element.oclIsKindOf(UML::Signal)"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="isEnumeration" lowerBound="1" 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.element.oclIsKindOf(UML::Enumeration)"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="isBehavior" lowerBound="1" 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.element.oclIsKindOf(UML::Behavior)"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="isActivity" lowerBound="1" 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.element.oclIsKindOf(UML::Activity)"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="isMethod" lowerBound="1" 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="&#xA; self.isBehavior() and&#xA; self.element.oclAsType(UML::Behavior).specification &lt;> null"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="isPrimitiveType" lowerBound="1" 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.element.oclIsKindOf(UML::PrimitiveType)"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="isReception" lowerBound="1" 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.element.oclIsKindOf(UML::Reception)"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="isOperation" lowerBound="1" 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.element.oclIsKindOf(UML::Operation)"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="isConstructor" lowerBound="1" 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="&#xA; self.isOperation() and &#xA; self.element.oclAsType(UML::Element).&#xA; getAppliedStereotype('StandardProfile::Create') &lt;> null"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="isDestructor" lowerBound="1" 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="&#xA; self.isOperation() and &#xA; self.element.oclAsType(UML::Element).&#xA; getAppliedStereotype('StandardProfile::Destroy') &lt;> null"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="isFeature" lowerBound="1" 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.element.oclIsKindOf(UML::Feature)"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="isProperty" lowerBound="1" 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.element.oclIsKindOf(UML::Property)"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="isAssociationEnd" lowerBound="1" 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="&#xA; self.isProperty() and &#xA; -- Note: Only association-owned ends are considered as association ends.&#xA; self.element.oclAsType(UML::Property).owningAssociation &lt;> null"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="isParameter" lowerBound="1" 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.element.oclIsKindOf(UML::Parameter)"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="isTemplate" lowerBound="1" 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="&#xA; self.element.oclIsKindOf(UML::TemplateableElement) and&#xA; self.element.oclAsType(UML::TemplateableElement).isTemplate()"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="isTemplateParameter" lowerBound="1" 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.element.oclIsKindOf(UML::TemplateParameter)"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="isClassifierTemplateParameter" lowerBound="1" 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.element.oclIsKindOf(UML::ClassifierTemplateParameter)"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="isParameteredElement" lowerBound="1" 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="&#xA; self.element.oclIsKindOf(UML::Classifier) and&#xA; self.element.oclAsType(UML::Classifier).templateParameter &lt;> null"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="isTemplateBinding" lowerBound="1" 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.umlTemplateBinding()->notEmpty()"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="isStereotype" lowerBound="1" 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.element.oclIsKindOf(UML::Stereotype)"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="isEnumerationLiteral" lowerBound="1" 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.element.oclIsKindOf(UML::EnumerationLiteral)"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="isLoopVariable" lowerBound="1" 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="false"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="isAnnotation" lowerBound="1" 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="false"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="isSequenceExpansionExpression" lowerBound="1" 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="false"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="&#xA; if alias &lt;> null then&#xA; alias&#xA; else if self.element.oclIsKindOf(UML::NamedElement) then &#xA; self.element.oclAsType(UML::NamedElement).name&#xA; else if self.element.oclIsKindOf(UML::TemplateParameter) then&#xA; let parameteredElement = &#xA; self.element.oclAsType(UML::TemplateParameter).parameteredElement &#xA; in&#xA; if parameteredElement.oclIsKindOf(UML::NamedElement) then&#xA; parameteredElement.oclAsType(UML::NamedElement).name&#xA; else&#xA; null&#xA; endif&#xA; else&#xA; null&#xA; endif endif endif"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="visibility" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="&#xA; if not self.element.oclIsKindOf(UML::NamedElement) then ''&#xA; else&#xA; let visibility = self.element.oclAsType(UML::NamedElement).visibility in &#xA; if visibility = null then null&#xA; else if visibility = UML::VisibilityKind::public then 'public'&#xA; else if visibility = UML::VisibilityKind::protected then 'protected'&#xA; else if visibility = UML::VisibilityKind::private then 'private'&#xA; else ''&#xA; endif endif endif endif&#xA; endif"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="ownedMembers" upperBound="-1" eType="#//ElementReference">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="&#xA; if not self.isNamespace() then OrderedSet(ElementReference){}&#xA; else &#xA; self.element.oclAsType(UML::Namespace).ownedMember->&#xA; collect(m | ExternalElementReference{element = m})->asOrderedSet()&#xA; endif"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="enumerationMembers" ordered="false" upperBound="-1" eType="#//ElementReference"/>
+ <eOperations name="members" upperBound="-1" eType="#//ElementReference">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="&#xA; if not self.isNamespace() then OrderedSet(ElementReference){}&#xA; else&#xA; let namespace = self.element.oclAsType(UML::Namespace) in&#xA; let members = &#xA; if self.isEnumeration() then&#xA; self.enumerationMembers()&#xA; else&#xA; namespace.member-> &#xA; collect(m | &#xA; let names = namespace.getNamesOfMember(m) in&#xA; if names->isEmpty() then&#xA; Bag{ExternalElementReference{element = m}}&#xA; else&#xA; names->collect(name | &#xA; ExternalElementReference{alias = name, element = m}&#xA; )&#xA; endif&#xA; )->asOrderedSet()&#xA; endif&#xA; in&#xA; let additionalMembers = self.additionalMembers() in&#xA; additionalMembers->includingAll(members)->&#xA; includingAll(self.templateParameters())&#xA; endif"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="additionalMembers" upperBound="-1" eType="#//ElementReference">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="&#xA; if not self.isClassifier() then OrderedSet(ElementReference){}&#xA; else&#xA; -- This will collect the inherited members from the effective &#xA; -- expanded bound elements of each parent that is a template binding. &#xA; self.parents()->select(isTemplateBinding())->asOrderedSet()->&#xA; collect(binding |&#xA; binding.oclAsType(ExternalElementReference).inherit(&#xA; binding.template().bind(binding.templateActuals()->asSequence()).&#xA; members()->select(visibility() &lt;> 'private')&#xA; )&#xA; )->asOrderedSet()&#xA; endif"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="inherit" upperBound="-1" eType="#//ElementReference">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="&#xA; -- NOTE: This is used to reject operations that would be inherited&#xA; -- via a template binding, in the case that the template binding itself&#xA; -- has an operation that should hide the inheritable operation.&#xA; -- This is used in the Alf standard library implementation as a&#xA; -- substitute for redefinition of operations from template instantiation. &#xA; let ownedOperations = self.ownedMembers()->select(isOperation()) in&#xA; inheritableMembers->reject(inheritableMember |&#xA; ownedOperations->exists(not isDistinguishableFrom(inheritableMember))&#xA; )"/>
+ </eAnnotations>
+ <eParameters name="inheritableMembers" upperBound="-1" eType="#//ElementReference"/>
+ </eOperations>
+ <eOperations name="properties" upperBound="-1" eType="#//ElementReference">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="&#xA; if not self.isClassifier() then OrderedSet(ElementReference){}&#xA; else if self.isAssociation() then&#xA; -- NOTE: This is to ensure proper ordering.&#xA; self.memberEnds()->includingAll(self.parents().properties())&#xA; else&#xA; self.element.oclAsType(UML::Classifier).allAttributes()->&#xA; collect(a | ExternalElementReference{element = a})->&#xA; asOrderedSet()&#xA; 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="&#xA; if not self.isAssociation() then OrderedSet(ElementReference){}&#xA; else&#xA; self.element.oclAsType(UML::Association).memberEnd->&#xA; collect(e | ExternalElementReference{element = e})->&#xA; asOrderedSet()&#xA; 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="&#xA; -- NOTE: This is to ensure proper ordering.&#xA; self.ownedEnds()->includingAll(self.parents().associationEnds())"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="ownedEnds" upperBound="-1" eType="#//ElementReference">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="&#xA; if not self.isAssociation() then OrderedSet(ElementReference){}&#xA; else&#xA; self.element.oclAsType(UML::Association).ownedEnd->&#xA; collect(e | ExternalElementReference{element = e})->&#xA; asOrderedSet()&#xA; endif"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="opposite" eType="#//ElementReference">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="&#xA;-- if not self.isProperty() then null&#xA;-- else self.element.oclAsType(UML::Property).opposite()&#xA;-- endif;&#xA; if not self.isAssociationEnd() then null&#xA; else&#xA; let property = self.element.oclAsType(UML::Property) in&#xA; let association = property.association in&#xA; let ends = association.memberEnd in&#xA; if ends->size() &lt;> 2 then null&#xA; else ExternalElementReference{element= ends->any(e | e &lt;> property)}&#xA; endif&#xA; endif"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="signal" eType="#//ElementReference">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="&#xA; if not self.isReception() then&#xA; null&#xA; else&#xA; ExternalElementReference{&#xA; element = self.element.oclAsType(UML::Reception).signal&#xA; }&#xA; endif"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="namespace" eType="#//ElementReference">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="&#xA; if self.isParameteredElement() then&#xA; ExternalElementReference{&#xA; element = self.element.oclAsType(UML::ParameterableElement).&#xA; templateParameter.signature.template&#xA; }&#xA; else if self.element.oclIsKindOf(UML::NamedElement) then&#xA; let namespace = self.element.oclAsType(UML::NamedElement).namespace in&#xA; if namespace = null then&#xA; null&#xA; else&#xA; ExternalElementReference{element = namespace}&#xA; endif&#xA; else&#xA; null&#xA; endif endif"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="ownedParameters" upperBound="-1" eType="ecore:EClass http://www.eclipse.org/emf/2002/Ecore#//EObject">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="&#xA; let template = self.template() in&#xA; if template &lt;> null then&#xA; template.parameters()&#xA; else if self.isBehavior() then&#xA; self.element.oclAsType(UML::Behavior).ownedParameter&#xA; else if self.isOperation() then&#xA; self.element.oclAsType(UML::Operation).ownedParameter&#xA; else&#xA; OrderedSet{}&#xA; endif endif endif"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="parameters" upperBound="-1" eType="#//ElementReference">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="&#xA; self.ownedParameters().oclAsType(UML::Parameter)->&#xA; reject(direction = UML::ParameterDirectionKind::return)->&#xA; collect(parameter |&#xA; ExternalElementReference{element = parameter}&#xA; )->asOrderedSet()"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="returnParameter" eType="#//ElementReference">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="&#xA; let returnParameters = self.ownedParameters().oclAsType(UML::Parameter)->&#xA; select(direction = UML::ParameterDirectionKind::return) &#xA; in&#xA; if returnParameters->isEmpty() then&#xA; null&#xA; else&#xA; ExternalElementReference{element = returnParameters->any(true)}&#xA; endif"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="specification" eType="#//ElementReference">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="&#xA; if self.isOperation() then &#xA; self&#xA; else if self.isBehavior() then&#xA; let specification = self.element.oclAsType(UML::Behavior).specification in&#xA; if specification = null then null&#xA; else ExternalElementReference{element = specification}&#xA; endif&#xA; else &#xA; null&#xA; endif endif"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="redefinedOperations" ordered="false" upperBound="-1" eType="#//ElementReference">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="&#xA; if not self.isOperation() then Set(ElementReference){}&#xA; else&#xA; self.element.oclAsType(UML::Operation).redefinedOperation->&#xA; collect(op | ExternalElementReference{element = op})&#xA; endif"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="template" eType="#//ElementReference">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="&#xA; let templateBinding = self.umlTemplateBinding() in&#xA; if templateBinding = null or &#xA; templateBinding.oclAsType(UML::TemplateBinding).signature = null then&#xA; null&#xA; else&#xA; ExternalElementReference{&#xA; element = templateBinding.oclAsType(UML::TemplateBinding).signature.template&#xA; }&#xA; endif"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="umlTemplateBinding" eType="ecore:EClass http://www.eclipse.org/emf/2002/Ecore#//EObject">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="&#xA; if self.element.oclIsKindOf(UML::TemplateableElement) then&#xA; let templateBindings = &#xA; self.element.oclAsType(UML::TemplateableElement).templateBinding &#xA; in&#xA; if templateBindings->notEmpty() then&#xA; templateBindings->any(true)&#xA; else if self.element.oclIsKindOf(UML::NamedElement) then&#xA; let templateBindings =&#xA; self.element.oclAsType(UML::NamedElement).clientDependency->select(&#xA; oclIsKindOf(UML::Realization) and&#xA; supplier->size() = 1 and&#xA; supplier->forAll(oclIsKindOf(UML::TemplateableElement))&#xA; )->collect(&#xA; supplier.oclAsType(UML::TemplateableElement).templateBinding&#xA; )&#xA; in&#xA; if templateBindings->isEmpty() then&#xA; null&#xA; else&#xA; templateBindings->any(true)&#xA; endif&#xA; else&#xA; null&#xA; endif endif&#xA; else&#xA; null&#xA; endif"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="templateParameters" upperBound="-1" eType="#//ElementReference">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="&#xA; if self.isTemplate() then&#xA; self.element.oclAsType(UML::TemplateableElement).&#xA; ownedTemplateSignature.parameter->&#xA; collect(p | ExternalElementReference{element = p})->asOrderedSet()&#xA; else&#xA; OrderedSet(ElementReference){}&#xA; endif"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="parameteredElements" upperBound="-1" eType="#//ElementReference">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="&#xA; if self.isTemplate() then&#xA; self.element.oclAsType(UML::TemplateableElement).&#xA; ownedTemplateSignature.parameter.parameteredElement->&#xA; collect(p | ExternalElementReference{element = p})->asOrderedSet()&#xA; else&#xA; OrderedSet(ElementReference){}&#xA; endif"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="templateActuals" upperBound="-1" eType="#//ElementReference">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="&#xA; let t = self.umlTemplateBinding() in&#xA; if t = null then&#xA; OrderedSet(ElementReference){}&#xA; else&#xA; let templateBinding = t.oclAsType(UML::TemplateBinding) in&#xA; let parameterSubstitution = templateBinding.parameterSubstitution in&#xA; templateBinding.signature.parameter->collect(parameter |&#xA; parameterSubstitution->select(formal = parameter).actual&#xA; )->collect(actual |&#xA; ExternalElementReference{element = actual}&#xA; )->asOrderedSet()&#xA; endif"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="direction" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="&#xA; if self.isParameter() then&#xA; let direction = self.element.oclAsType(UML::Parameter).direction in&#xA; if direction = UML::ParameterDirectionKind::_in then 'in'&#xA; else if direction = UML::ParameterDirectionKind::_in then 'in'&#xA; else if direction = UML::ParameterDirectionKind::out then 'out'&#xA; else if direction = UML::ParameterDirectionKind::inout then 'inout'&#xA; else if direction = UML::ParameterDirectionKind::return then 'return'&#xA; else null&#xA; endif endif endif endif endif&#xA; else&#xA; null&#xA; endif"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="association" eType="#//ElementReference">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="&#xA; if not self.isProperty() then null&#xA; -- Note: Only owned ends are treated as association ends.&#xA; else self.element.oclAsType(UML::Property).owningAssociation&#xA; endif"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="type" eType="#//ElementReference">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="&#xA; if self.isBehavior() then&#xA; let returnParameter = self.returnParameter() in&#xA; if returnParameter = null then null&#xA; else returnParameter.type()&#xA; endif&#xA; else&#xA; let type =&#xA; if self.element.oclIsKindOf(UML::TypedElement) then&#xA; self.element.oclAsType(UML::TypedElement).type&#xA; else if self.isOperation() then&#xA; self.element.oclAsType(UML::Operation).type&#xA; else if self.isEnumerationLiteral() then&#xA; self.element.oclAsType(UML::EnumerationLiteral).enumeration&#xA; else&#xA; null&#xA; endif endif endif&#xA; in&#xA; if type = null then null &#xA; else ExternalElementReference{element = type} endif&#xA; endif"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="lower" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBigInteger">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="&#xA; if self.element.oclIsKindOf(UML::MultiplicityElement) then&#xA; self.element.oclAsType(UML::MultiplicityElement).lower&#xA; else&#xA; 1&#xA; endif"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="upper" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBigInteger">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="&#xA; if self.element.oclIsKindOf(UML::MultiplicityElement) then&#xA; self.element.oclAsType(UML::MultiplicityElement).upper&#xA; else&#xA; 1&#xA; endif"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="isOrdered" lowerBound="1" 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="&#xA; if self.element.oclIsKindOf(UML::MultiplicityElement) then&#xA; self.element.oclAsType(UML::MultiplicityElement).isOrdered&#xA; else&#xA; false&#xA; endif"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="isNonunique" lowerBound="1" 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="&#xA; if self.element.oclIsKindOf(UML::MultiplicityElement) then&#xA; not self.element.oclAsType(UML::MultiplicityElement).isUnique&#xA; else&#xA; false&#xA; endif"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="parents" ordered="false" upperBound="-1" eType="#//ElementReference">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="&#xA; if self.isClassifier() then&#xA; self.element.oclAsType(UML::Classifier).general->&#xA; collect(g | ExternalElementReference{element = g})->asSet()&#xA; else if self.element.oclIsKindOf(UML::ClassifierTemplateParameter) then&#xA; self.element.oclAsType(UML::ClassifierTemplateParameter).constrainingClassifier->&#xA; collect(c | ExternalElementReference{element = c})->asSet()&#xA; else&#xA; Set(ElementReference){}&#xA; endif endif"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="allParents" ordered="false" upperBound="-1" eType="#//ElementReference">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="&#xA; let allParents = &#xA; if self.isClassifier() then &#xA; self.element.oclAsType(UML::Classifier).allParents()->asSet()&#xA; else if self.element.oclIsKindOf(UML::ClassifierTemplateParameter) then&#xA; let parents = &#xA; self.element.oclAsType(UML::ClassifierTemplateParameter).&#xA; constrainingClassifier &#xA; in&#xA; parents->union(parents.allParents())->asSet()&#xA; else&#xA; Set(UML::Classifier){}&#xA; endif endif&#xA; in&#xA; allParents->collect(p | ExternalElementReference{element = p})->asSet()"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="classifierBehavior" eType="#//ElementReference">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="&#xA; if not self.element.oclIsKindOf(UML::BehavioredClassifier) then null&#xA; else&#xA; let classifierBehavior = &#xA; self.element.oclAsType(UML::BehavioredClassifier).classifierBehavior in&#xA; if classifierBehavior = null then null&#xA; else ExternalElementReference{element = classifierBehavior}&#xA; endif&#xA; endif"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="appliedProfiles" ordered="false" upperBound="-1" eType="#//ElementReference">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="&#xA; if not self.isNamespace() then Set(ecore::EObject){}&#xA; else&#xA; self.element.oclAsType(UML::Namespace).getNearestPackage().&#xA; getAllAppliedProfiles()->&#xA; collect(e | ExternalElementReference{element = e})&#xA; endif"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="activeClass" eType="#//ElementReference">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="&#xA; if not self.isBehavior() then null&#xA; else if self.element.oclAsType(UML::Behavior).isActive then self&#xA; else&#xA; let context = self.element.oclAsType(UML::Behavior).context in&#xA; if context &lt;> null and self.element = context.classifierBehavior then&#xA; ExternalElementReference{element = context}&#xA; else&#xA; null&#xA; endif&#xA; endif endif"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="conformsTo" lowerBound="1" 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="&#xA; other = null or&#xA; self.isClassifier() and &#xA; let otherType = other.asUml() in&#xA; otherType &lt;> null and otherType.oclIsKindOf(UML::Type) and&#xA; self.element.oclAsType(UML::Classifier).conformsTo(otherType.oclAsType(UML::Type))"/>
+ </eAnnotations>
+ <eParameters name="other" eType="#//ElementReference"/>
+ </eOperations>
+ <eOperations name="equals" lowerBound="1" 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="&#xA; other &lt;> null and &#xA; other.asUml() = self.element and &#xA; other.name() = self.name()"/>
+ </eAnnotations>
+ <eParameters name="other" eType="#//ElementReference"/>
+ </eOperations>
+ <eOperations name="copy" lowerBound="1" eType="#//ElementReference">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="ExternalElementReference{element = self.element}"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="modelScope" eType="#//ElementReference">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="&#xA; if self.isNamespace() then self&#xA; else null&#xA; endif"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="resolvePathName" ordered="false" upperBound="-1" eType="#//ElementReference">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="ExternalElementReference_resolvePathName(pathName)"/>
+ </eAnnotations>
+ <eParameters name="pathName" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eOperations>
+ <eOperations name="ExternalElementReference_resolvePathName" ordered="false" upperBound="-1"
+ eType="#//ElementReference">
+ <eParameters name="pathName" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eOperations>
+ <eOperations name="resolveInScope" ordered="false" upperBound="-1" eType="#//ElementReference">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="self.members()->select(name() = name)"/>
+ </eAnnotations>
+ <eParameters name="name" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eOperations>
+ <eOperations name="resolveStereotype" ordered="false" upperBound="-1" eType="#//ElementReference">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="&#xA; if self.isProfile() then&#xA; self.element.oclAsType(UML::Profile).ownedStereotype->&#xA; select(name = stereotypeName)->&#xA; collect(e | ExternalElementReference{element = e})->asSet()&#xA; else&#xA; Set(ElementReference){}&#xA; endif"/>
+ </eAnnotations>
+ <eParameters name="stereotypeName" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eOperations>
+ <eOperations name="stub" eType="#//ElementReference">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="null"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="stubFor" eType="#//ElementReference">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="&#xA; let definition = unit.definition in&#xA; if not definition.oclIsKindOf(ActivityDefinition) then null&#xA; else&#xA; let name = definition.actualName() in&#xA; let referents = self.ownedMembers()->select(&#xA; isOperation() and (name = name() or name.startsWith(name() + '$method$')) or&#xA; isActiveBehavior() and (name = name() or name.startsWith(name() + '$behavior$')) or&#xA; isProperty() and name.startsWith(name() + '$defaultValue$') &#xA; ) in&#xA; if referents->isEmpty() then null&#xA; else referents->any(true)&#xA; endif&#xA; endif"/>
+ </eAnnotations>
+ <eParameters name="unit" lowerBound="1" eType="#//UnitDefinition"/>
+ </eOperations>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="element" lowerBound="1"
+ eType="ecore:EClass http://www.eclipse.org/emf/2002/Ecore#//EObject"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="alias" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="ExternalEnumerationLiteralReference"
+ eSuperTypes="#//ExternalElementReference">
+ <eOperations name="isNamedEement" lowerBound="1" 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="true"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="isClassifier" lowerBound="1" 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="false"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="isParameter" lowerBound="1" 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="false"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="isEnumerationLiteral" lowerBound="1" 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="true"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="ExternalEnumerationLiteralReference_visibility" lowerBound="1"
+ eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ <eOperations name="visibility" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="ExternalEnumerationLiteralReference_visibility()"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="ExternalEnumerationLiteralReference_type" lowerBound="1" eType="#//ElementReference"/>
+ <eOperations name="type" eType="#//ElementReference">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="ExternalEnumerationLiteralReference_type()"/>
+ </eAnnotations>
+ </eOperations>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="BoundElementReference" eSuperTypes="#//ElementReference">
+ <eOperations name="isUml" lowerBound="1" 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="false"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="isAlf" lowerBound="1" 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="true"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="asUml" eType="ecore:EClass http://www.eclipse.org/emf/2002/Ecore#//EObject">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="null"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="asAlf" eType="#//SyntaxElement">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="self.asMember()"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="asMember" eType="#//Member">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="&#xA; Member{&#xA; visibility = self.visibility(),&#xA; definition = ImportedMember{&#xA; name = self.name(),&#xA; referent = self.referent&#xA; }&#xA; }"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="isSameKindAs" lowerBound="1" 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.isSameKindAs(member)"/>
+ </eAnnotations>
+ <eParameters name="member" lowerBound="1" eType="#//ElementReference"/>
+ </eOperations>
+ <eOperations name="isNamedElement" lowerBound="1" 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="true"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="isNamespace" lowerBound="1" 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.isNamespace()"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="isNamespaceFor" lowerBound="1" 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="false"/>
+ </eAnnotations>
+ <eParameters name="unit" lowerBound="1" eType="#//UnitDefinition"/>
+ </eOperations>
+ <eOperations name="isModelNamespace" lowerBound="1" 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="false"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="isPackage" lowerBound="1" 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.isPackage()"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="isProfile" lowerBound="1" 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.isProfile()"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="isPackageableElement" lowerBound="1" 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.isPackageableElement()"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="isClassifier" lowerBound="1" 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.isClassifier()"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="isAbstractClassifier" lowerBound="1" 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.isAbstractClassifier()"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="isAssociation" lowerBound="1" 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.isAssociation()"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="isDataType" lowerBound="1" 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.isDataType()"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="isClass" lowerBound="1" 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.isClass()"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="isActiveClass" lowerBound="1" 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.isActiveClass()"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="isSignal" lowerBound="1" 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.isSignal()"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="isEnumeration" lowerBound="1" 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.isEnumeration()"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="isBehavior" lowerBound="1" 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.isBehavior()"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="isActivity" lowerBound="1" 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.isActivity()"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="isMethod" lowerBound="1" 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.isMethod()"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="isPrimitiveType" lowerBound="1" 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.isPrimitiveType()"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="isReception" lowerBound="1" 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.isReception()"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="isOperation" lowerBound="1" 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.isOperation()"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="isConstructor" lowerBound="1" 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.isConstructor()"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="isDestructor" lowerBound="1" 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.isDestructor()"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="isFeature" lowerBound="1" 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.isFeature()"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="isProperty" lowerBound="1" 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.isProperty()"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="isAssociationEnd" lowerBound="1" 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.isAssociationEnd()"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="isParameter" lowerBound="1" 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.isParameter()"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="isTemplate" lowerBound="1" 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="&#xA; if self.isTemplateBinding() then&#xA; self.templateBinding.isTemplate()&#xA; else&#xA; self.referent.isTemplate()&#xA; endif"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="isTemplateParameter" lowerBound="1" 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="false"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="isClassifierTemplateParameter" lowerBound="1" 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="false"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="isParameteredElement" lowerBound="1" 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="false"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="isStereotype" lowerBound="1" 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.isStereotype()"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="isEnumerationLiteral" lowerBound="1" 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.isEnumerationLiteral()"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="isLoopVariable" lowerBound="1" 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="false"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="isAnnotation" lowerBound="1" 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="false"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="isSequenceExpansionExpression" lowerBound="1" 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="false"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="isDistinguishableFrom" lowerBound="1" 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.isDistinguishableFrom(other)"/>
+ </eAnnotations>
+ <eParameters name="other" lowerBound="1" eType="#//ElementReference"/>
+ </eOperations>
+ <eOperations name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="self.referent.name()"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="visibility" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="self.referent.visibility()"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="ownedMembers" upperBound="-1" eType="#//ElementReference">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="&#xA; self.boundReferencesTo(&#xA; self.referent.ownedMembers()->reject(isTemplateParameter())&#xA; )"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="members" upperBound="-1" eType="#//ElementReference">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="&#xA; self.boundReferencesTo(&#xA; self.referent.members()->reject(isTemplateParameter())&#xA; )"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="opposite" eType="#//ElementReference">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="&#xA; self.boundReferenceTo(self.referent.opposite())"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="signal" eType="#//ElementReference">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="&#xA; self.boundReferenceTo(self.referent.signal())"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="parameters" upperBound="-1" eType="#//ElementReference">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="&#xA; self.boundReferencesTo(self.referent.parameters())"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="returnParameter" eType="#//ElementReference">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="&#xA; self.boundReferenceTo(self.referent.returnParameter())"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="specification" eType="#//ElementReference">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="&#xA; self.boundReferenceTo(self.referent.specification())"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="redefinedOperations" ordered="false" upperBound="-1" eType="#//ElementReference">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="self.referent.redefinedOperations()"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="namespace" eType="#//ElementReference">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="&#xA; if self.namespace &lt;> null then self.namespace&#xA; else&#xA; let namespace = self.referent.namespace() in&#xA; if self.template() &lt;> null then namespace&#xA; else self.boundReferenceTo(namespace)&#xA; endif&#xA; endif"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="template" eType="#//ElementReference">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="&#xA; if self.isTemplateBinding() then self.referent&#xA; else null&#xA; endif"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="templateParameters" upperBound="-1" eType="#//ElementReference">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="OrderedSet(ElementReference){}"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="parameteredElements" upperBound="-1" eType="#//ElementReference">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="OrderedSet(ElementReference){}"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="isTemplateBinding" lowerBound="1" 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.templateBinding.template().equals(self.referent)"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="templateActuals" upperBound="-1" eType="#//ElementReference">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="&#xA; if self.isTemplateBinding() then self.templateBinding.templateActuals()&#xA; else OrderedSet(ElementReference){}&#xA; endif"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="direction" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="self.referent.direction()"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="association" eType="#//ElementReference">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="&#xA; if self.isAssociationEnd() then self.namespace()&#xA; else null&#xA; endif"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="type" eType="#//ElementReference">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="&#xA; let type = self.referent.type() in&#xA; -- This handles the special case of a constructor of a template class&#xA; -- that has that class directly as its return type, rather than a&#xA; -- template binding for it.&#xA; if self.isConstructor() and &#xA; self.templateBinding.template().equals(type) then&#xA; type.bind(self.templateBinding.templateActuals()->asSequence())&#xA; else&#xA; self.boundReferenceTo(type)&#xA; endif"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="lower" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBigInteger">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="self.referent.lower()"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="upper" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBigInteger">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="self.referent.upper()"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="isOrdered" lowerBound="1" 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.isOrdered()"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="isNonunique" lowerBound="1" 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.isNonunique()"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="parents" ordered="false" upperBound="-1" eType="#//ElementReference">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="&#xA; self.boundReferencesTo(self.referent.parents()->asOrderedSet())"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="allParents" ordered="false" upperBound="-1" eType="#//ElementReference">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="&#xA; self.boundReferencesTo(self.referent.allParents()->asOrderedSet())"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="classifierBehavior" eType="#//ElementReference">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="self.referent.classifierBehavior()"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="appliedProfiles" ordered="false" upperBound="-1" eType="#//ElementReference">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="self.referent.appliedProfiles()"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="reference" lowerBound="1" eType="#//ElementReference">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="self.referent"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="templateBinding" eType="#//ElementReference">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="self.templateBinding"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="activeClass" eType="#//ElementReference">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="&#xA; if self.isActivity() then self&#xA; else null&#xA; endif"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="isActiveBehavior" lowerBound="1" 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.activeClass() &lt;> null"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="conformsTo" lowerBound="1" 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="&#xA; other = null or&#xA; self.isClassifier() and (self.equals(other) or&#xA; self.parents()->exists(conformsTo(other)))"/>
+ </eAnnotations>
+ <eParameters name="other" eType="#//ElementReference"/>
+ </eOperations>
+ <eOperations name="equals" lowerBound="1" 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="&#xA; other &lt;> null and&#xA; other.oclIsKindOf(BoundElementReference) and&#xA; self.templateBinding.equals(other.templateBinding()) and&#xA; self.referent.equals(other.oclAsType(BoundElementReference).referent)"/>
+ </eAnnotations>
+ <eParameters name="other" eType="#//ElementReference"/>
+ </eOperations>
+ <eOperations name="copy" lowerBound="1" eType="#//ElementReference">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="&#xA; BoundElementReference{&#xA; referent = self.referent,&#xA; namespace = self.namespace,&#xA; templateBinding = self.templateBinding&#xA; }"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="modelScope" lowerBound="1" eType="#//ElementReference">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="self.referent.modelScope()"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="resolvePathName" ordered="false" upperBound="-1" eType="#//ElementReference">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="Set(ElementReference){}"/>
+ </eAnnotations>
+ <eParameters name="pathName" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eOperations>
+ <eOperations name="resolveInScope" ordered="false" upperBound="-1" eType="#//ElementReference">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="self.members()->select(name() = name)->asSet()"/>
+ </eAnnotations>
+ <eParameters name="name" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eOperations>
+ <eOperations name="resolveStereotype" ordered="false" upperBound="-1" eType="#//ElementReference">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="Set(ElementReference){}"/>
+ </eAnnotations>
+ <eParameters name="stereotypeName" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eOperations>
+ <eOperations name="stub" eType="#//ElementReference">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="null"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="stubFor" eType="#//ElementReference">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="null"/>
+ </eAnnotations>
+ <eParameters name="unit" lowerBound="1" eType="#//UnitDefinition"/>
+ </eOperations>
+ <eOperations name="boundReferenceTo" eType="#//ElementReference">
+ <eParameters name="element" eType="#//ElementReference"/>
+ </eOperations>
+ <eOperations name="boundReferenceTo1" eType="#//ElementReference">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="&#xA; if element = null then null&#xA; else if not element.isNamedElement() then element&#xA; else if element.isTemplateBinding() then&#xA; let actuals = self.boundReferencesTo(element.templateActuals()) in&#xA; element.template().bind(actuals)&#xA; else if element.isParameteredElement() then&#xA; let parameters = &#xA; self.templateBinding.template().parameteredElements()->asSequence() in&#xA; let i = element.positionIn(parameters) in&#xA; if i > 0 then&#xA; self.templateBinding.templateActuals()->at(i)&#xA; else&#xA; element&#xA; endif&#xA; else&#xA; let elementTemplateBinding = element.templateBinding() in&#xA; if elementTemplateBinding = null then &#xA; if self.referent.equals(element.namespace()) then&#xA; BoundElementReference{&#xA; referent = element,&#xA; namespace = self,&#xA; templateBinding = self.templateBinding&#xA; }&#xA; else if self.templateBinding.template().containsMember(element) then&#xA; BoundElementReference{&#xA; referent = element,&#xA; namespace = null,&#xA; templateBinding = self.templateBinding&#xA; }&#xA; else&#xA; element&#xA; endif endif&#xA; else if not elementTemplateBinding.equals(self.templateBinding) then&#xA; BoundElementReference{&#xA; referent = element.reference(),&#xA; namespace = null,&#xA; templateBinding = &#xA; self.boundReferenceTo(elementTemplateBinding).templateBinding()&#xA; }&#xA; else&#xA; element&#xA; endif endif&#xA; endif endif endif endif"/>
+ </eAnnotations>
+ <eParameters name="element" eType="#//ElementReference"/>
+ </eOperations>
+ <eOperations name="boundReferencesTo" unique="false" upperBound="-1" eType="#//ElementReference">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="elements->collect(element | self.boundReferenceTo(element))"/>
+ </eAnnotations>
+ <eParameters name="elements" upperBound="-1" eType="#//ElementReference"/>
+ </eOperations>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="referent" lowerBound="1"
+ eType="#//ElementReference"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="namespace" eType="#//ElementReference"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="templateBinding" lowerBound="1"
+ eType="#//ElementReference"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="DocumentedElement" abstract="true" eSuperTypes="#//SyntaxElement">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="documentation" ordered="false"
+ upperBound="-1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="SequenceExpansionExpression" eSuperTypes="#//Expression">
+ <eOperations name="assignmentsBefore" ordered="false" upperBound="-1" eType="#//AssignedSource">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="&#xA; if self.argument &lt;> element then self.assignmentBefore&#xA; else&#xA; self.variableSource.update(self.assignmentsAfterPrimary())&#xA; endif"/>
+ </eAnnotations>
+ <eParameters name="element" lowerBound="1" eType="#//SyntaxElement"/>
+ </eOperations>
+ <eOperations name="assignmentsAfterPrimary" ordered="false" upperBound="-1" eType="#//AssignedSource">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="&#xA; let expression = self.primary.expression in&#xA; if expression = null then self.assignmentBefore&#xA; else expression.assignmentAfter&#xA; endif"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="type" eType="#//ElementReference">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="&#xA; if self.isSelectOrReject then&#xA; let expression = self.primary.expression in&#xA; if expression = null then null else expression.type endif&#xA; else if self.isCollectOrIterate then&#xA; if self.argument = null then null else self.argument.type endif&#xA; else if self.isForAllOrExistsOrOne or self.isIsUnique then&#xA; self.booleanType()&#xA; else&#xA; null&#xA; endif endif endif"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="lower" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBigInteger">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="&#xA; if self.isSelectOrReject then 0&#xA; else if self.isCollectOrIterate then&#xA; let expression = self.primary.expression in&#xA; if expression = null or self.argument = null then 0&#xA; else expression.lower * self.argument.lower&#xA; endif&#xA; else if self.isForAllOrExistsOrOne or self.isIsUnique then 1&#xA; else 0&#xA; endif endif endif"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="upper" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBigInteger">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="&#xA; if self.isSelectOrReject then -1&#xA; else if self.isCollectOrIterate then&#xA; let expression = self.primary.expression in&#xA; if expression = null or self.argument = null then 0&#xA; else &#xA; let upper1 = expression.upper in&#xA; let upper2 = self.argument.upper in&#xA; if upper1 = -1 or upper2 = -1 then -1 else upper1 * upper2 endif&#xA; endif&#xA; else if self.isForAllOrExistsOrOne or self.isIsUnique then 1&#xA; else 0&#xA; endif endif endif"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="sequenceExpansionExpressionVariableSourceDerivation" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="sequenceExpansionExpressionAssignmentsBeforePrimary" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="sequenceExpansionExpressionAssignmentsBeforeArgument" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="sequenceExpansionExpressionVariableName" 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="&#xA; not self.assignmentsAfterPrimary()->exists(name = self.variable)"/>
+ </eAnnotations>
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="sequenceExpansionExpressionAssignmentsAfterArgument" 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="&#xA; self.argument &lt;> null implies self.argument.newAssignments()->isEmpty()"/>
+ </eAnnotations>
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="selectOrRejectExpressionTypeDerivation" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="selectOrRejectExpressionLowerDerivation" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="selectOrRejectExpressionUpperDerivation" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="selectOrRejectExpressionArgument" 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="&#xA; (self.isSelectOrReject and self.argument &lt;> null) implies&#xA; self.isBooleanType(self.argument.type) and&#xA; self.argument.upper = 1"/>
+ </eAnnotations>
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="collectOrIterateExpressionTypeDerivation" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="collectOrIterateExpressionLowerDerivation" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="collectOrIterateExpressionUpperDerivation" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="forAllOrExistsOrOneExpressionTypeDerivation" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="forAllOrExistsOrOneExpressionLowerDerivation" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="forAllOrExistsOrOneExpressionUpperDerivation" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="forAllOrExistsOrOneExpressionArgument" 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="&#xA; (self.isForAllOrExistsOrOne and self.argument &lt;> null) implies&#xA; self.isBooleanType(self.argument.type) and&#xA; self.argument.upper = 1"/>
+ </eAnnotations>
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="isUniqueExpressionTypeDerivation" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="isUniqueExpressionLowerDerivation" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="isUniqueExpressionUpperDerivation" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="isUniqueExpressionExpressionArgument" 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="&#xA; (self.isIsUnique and self.argument &lt;> null) implies &#xA; self.argument.upper = 1"/>
+ </eAnnotations>
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="updateAssignments" ordered="false" upperBound="-1" eType="#//AssignedSource">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="self.assignmentsAfterPrimary()"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="sequenceExpansionExpressionOperation" 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="&#xA; self.isSelectOrReject or self.isCollectOrIterate or &#xA; self.isForAllOrExistsOrOne or self.isIsUnique"/>
+ </eAnnotations>
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="operation" lowerBound="1"
+ eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="variable" lowerBound="1"
+ eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="variableSource" eType="#//AssignedSource"
+ volatile="true" transient="true" derived="true">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="derivation" value="&#xA; let expression = self.primary.expression in&#xA; AssignedSource{&#xA; name = variable,&#xA; source = self,&#xA; type = if expression = null then null else expression.type endif,&#xA; lower = 1,&#xA; upper = 1&#xA; }"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="argument" lowerBound="1"
+ eType="#//Expression" containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="primary" lowerBound="1"
+ eType="#//ExtentOrExpression" containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="isSelectOrReject" lowerBound="1"
+ eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean" volatile="true"
+ transient="true" derived="true">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="derivation" value="self.operation = 'select' or self.operation = 'reject'"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="isCollectOrIterate" lowerBound="1"
+ eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean" volatile="true"
+ transient="true" derived="true">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="derivation" value="self.operation = 'collect' or self.operation = 'iterate'"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="isForAllOrExistsOrOne"
+ lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"
+ volatile="true" transient="true" derived="true">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="derivation" value="self.operation = 'forAll' or self.operation = 'exists' or self.operation = 'one'"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="isIsUnique" lowerBound="1"
+ eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean" volatile="true"
+ transient="true" derived="true">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="derivation" value="self.operation = 'isUnique'"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="AssignableElement" abstract="true" eSuperTypes="#//SyntaxElement">
+ <eOperations name="typeCached" eType="#//ElementReference"/>
+ <eOperations name="type" eType="#//ElementReference"/>
+ <eOperations name="lower" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBigInteger"/>
+ <eOperations name="upper" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBigInteger"/>
+ <eOperations name="isNull" lowerBound="1" 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.type = null and self.lower = 0 and self.upper = 0"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="isAssignableFromElement" lowerBound="1" 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="&#xA; self.isAssignableFrom(&#xA; AssignableElementReference{&#xA; reference = element, owner = self.owner()&#xA; }&#xA; )"/>
+ </eAnnotations>
+ <eParameters name="element" lowerBound="1" eType="#//ElementReference"/>
+ </eOperations>
+ <eOperations name="isAssignableFrom" lowerBound="1" 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="&#xA; source = null or &#xA; self.isTypeConformantWith(source) and &#xA; self.isMultiplicityConformantWith(source)"/>
+ </eAnnotations>
+ <eParameters name="source" lowerBound="1" eType="#//AssignableElement"/>
+ </eOperations>
+ <eOperations name="isTypeConformantWith" lowerBound="1" 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="&#xA; -- Null conversion&#xA; source.isNull() or&#xA; &#xA; let sourceType = source.type in&#xA; &#xA; -- Type conformance&#xA; self.isConformantWithType(sourceType) or&#xA; &#xA; -- Collection conversion&#xA; sourceType &lt;> null and self.isCollectionClass(sourceType) and&#xA; source.upper = 1 and (self.upper = -1 or self.upper > 1) and&#xA; self.isConformantWithType(sourceType.collectionArgument())"/>
+ </eAnnotations>
+ <eParameters name="source" lowerBound="1" eType="#//AssignableElement"/>
+ </eOperations>
+ <eOperations name="isConformantWithType">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="&#xA; let targetType = self.type in&#xA; -- Untyped target is conformant with anything.&#xA; targetType = null or&#xA; &#xA; -- Untyped source is only assignable to untyped target.&#xA; sourceType &lt;> null and (&#xA; &#xA; -- Basic type conformance.&#xA; sourceType.conformsTo(targetType) or&#xA; &#xA; -- Bit string conversion.&#xA; self.isIntegerType(sourceType) and self.isBitStringType(targetType)&#xA; )"/>
+ </eAnnotations>
+ <eParameters name="sourceType" lowerBound="1" eType="#//ElementReference"/>
+ </eOperations>
+ <eOperations name="isMultiplicityConformantWith" lowerBound="1" 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="&#xA; let targetUpper = self.upper in&#xA; let sourceUpper = source.upper in&#xA; targetUpper = -1 or targetUpper > 1 or&#xA; sourceUpper &lt;> -1 and sourceUpper &lt;= targetUpper"/>
+ </eAnnotations>
+ <eParameters name="source" lowerBound="1" eType="#//AssignableElement"/>
+ </eOperations>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="upper" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBigInteger"
+ volatile="true" transient="true" derived="true">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="derivation" value="self.upper()"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="lower" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBigInteger"
+ volatile="true" transient="true" derived="true">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="derivation" value="self.lower()"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="type" eType="#//ElementReference"
+ volatile="true" transient="true" derived="true">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="derivation" value="self.typeCached()"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="AssignableElementReference" eSuperTypes="#//AssignableElement">
+ <eOperations name="type" lowerBound="1" eType="#//ElementReference">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="self.reference.type()"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="lower" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBigInteger">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="self.reference.lower()"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="upper" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBigInteger">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="self.reference.upper()"/>
+ </eAnnotations>
+ </eOperations>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="reference" lowerBound="1"
+ eType="#//ElementReference"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="Expression" abstract="true" eSuperTypes="#//AssignableElement">
+ <eOperations name="newAssignments" ordered="false" upperBound="-1" eType="#//AssignedSource">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="&#xA; let assignmentsBefore = self.assignmentBefore in&#xA; self.assignmentAfter->select(isNew(assignmentsBefore))"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="updateAssignments" ordered="false" upperBound="-1" eType="#//AssignedSource">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="self.Expression_updateAssignments()"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="Expression_updateAssignments" ordered="false" upperBound="-1"
+ eType="#//AssignedSource">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="self.assignmentBefore"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="updateAssignmentsCached" ordered="false" upperBound="-1" eType="#//AssignedSource"/>
+ <eOperations name="resolve" eType="#//SyntaxElement">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="&#xA; let assignment = self.assignmentBefore->select(a | a.name = name) in&#xA; if assignment->isEmpty() then null&#xA; else assignment->any(true).source&#xA; endif"/>
+ </eAnnotations>
+ <eParameters name="name" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eOperations>
+ <eOperations name="isAddTarget" lowerBound="1" 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="false"/>
+ </eAnnotations>
+ <eParameters name="targetExpression" lowerBound="1" eType="#//Expression"/>
+ </eOperations>
+ <eOperations name="expressionAssignmentAfterDerivation" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="expressionUniqueAssignments" 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.assignmentBefore->isUnique(name) and self.assignmentAfter->isUnique(name)"/>
+ </eAnnotations>
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="assignmentBefore" ordered="false"
+ upperBound="-1" eType="#//AssignedSource" volatile="true" transient="true"
+ derived="true">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="derivation" value="&#xA; self.assignmentsBefore()"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="assignmentAfter" ordered="false"
+ upperBound="-1" eType="#//AssignedSource" volatile="true" transient="true"
+ derived="true">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="derivation" value="self.updateAssignmentsCached()"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="ExtentOrExpression" eSuperTypes="#//Expression">
+ <eOperations name="isAddTarget" lowerBound="1" 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.enclosingExpression().isAddTarget(targetExpression)"/>
+ </eAnnotations>
+ <eParameters name="targetExpression" lowerBound="1" eType="#//Expression"/>
+ </eOperations>
+ <eOperations name="extentOrExpressionExpressionDerivation" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="extentOrExpressionExtentType" 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="&#xA; let expression = self.expression in&#xA; expression.oclIsKindOf(ClassExtentExpression) implies&#xA; expression.oclAsType(ClassExtentExpression).validateClassExtentExpressionExtentType()"/>
+ </eAnnotations>
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="extentOrExpressionResolution" 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="&#xA; let expression = self.expression in&#xA; expression.oclIsKindOf(NameExpression) implies&#xA; expression.oclAsType(NameExpression).validateNameExpressionResolution()"/>
+ </eAnnotations>
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="name" eType="#//QualifiedName"
+ containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="expression" eType="#//Expression"
+ volatile="true" transient="true" derived="true">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="derivation" value="&#xA; if self.nonNameExpression &lt;> null then self.nonNameExpression&#xA; else if self.name.referent->exists(isClass()) then&#xA; ClassExtentExpression{&#xA; className = self.name.copy(),&#xA; owner = self&#xA; }&#xA; else&#xA; NameExpression{&#xA; name = self.name.copy(),&#xA; owner = self&#xA; }&#xA; endif endif"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="nonNameExpression" eType="#//Expression"
+ containment="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="QualifiedName" eSuperTypes="#//SyntaxElement">
+ <eOperations name="copy" lowerBound="1" eType="#//QualifiedName">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="QualifiedName{&#xA; nameBinding = self.nameBinding.copy(),&#xA; isAmbiguous = self.isAmbiguous,&#xA; owner = self.owner()&#xA; }"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="addName" lowerBound="1" eType="#//QualifiedName">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="&#xA; let nameBinding = NameBinding{name = name} in&#xA; QualifiedName{&#xA; nameBinding = self.nameBinding.copy()->append(nameBinding),&#xA; isAmbiguous = self.isAmbiguous,&#xA; owner = self.owner()&#xA; }"/>
+ </eAnnotations>
+ <eParameters name="name" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eOperations>
+ <eOperations name="addNameBindings" lowerBound="1" eType="#//QualifiedName">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="&#xA; QualifiedName{&#xA; nameBinding = self.nameBinding.copy()->includingAll(nameBindings),&#xA; isAmbiguous = self.isAmbiguous,&#xA; owner = self.owner()&#xA; }"/>
+ </eAnnotations>
+ <eParameters name="nameBindings" upperBound="-1" eType="#//NameBinding"/>
+ </eOperations>
+ <eOperations name="modelReferents" ordered="false" upperBound="-1" eType="#//ElementReference"/>
+ <eOperations name="qualifiedNameUnqualifiedNameDerivation" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="qualifiedNamePathNameDerivation" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="qualifiedNameIsFeatureReferenceDerivation" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="qualifiedNameQualificationDerivation" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="qualifiedNameDisambiguationDerivation" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="qualifiedNameReferentDerivation" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="qualifiedNameLocalName" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="qualifiedNameNonLocalUnqualifiedName" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="qualifiedNameQualifiedResolution" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="qualifiedNameTemplateBinding" 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="&#xA; self.templateName &lt;> null implies&#xA; let templates = self.templateName.referent in &#xA; templates->size() = 1 and &#xA; templates->forAll(template | &#xA; template.isTemplate() and &#xA; self.unqualifiedName.binding.matches(template)&#xA; )"/>
+ </eAnnotations>
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="qualifiedNameTemplateNameDerivation" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="disambiguationCached" eType="#//FeatureReference"/>
+ <eOperations name="disambiguation" eType="#//FeatureReference">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="&#xA; if not self.isAmbiguous or self.qualification = null then null&#xA; else if self.qualification.referent->exists(isNamespace()) then null&#xA; else &#xA; FeatureReference{&#xA; nameBinding = self.unqualifiedName.copy(), &#xA; expression = &#xA; if self.qualification.isFeatureReference then &#xA; PropertyAccessExpression{&#xA; featureReference = self.qualification.disambiguation&#xA; }&#xA; else NameExpression{name = self.qualification}&#xA; endif,&#xA; owner = self.owner()&#xA; }&#xA; endif endif"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="referentCached" ordered="false" upperBound="-1" eType="#//ElementReference"/>
+ <eOperations name="referent" ordered="false" upperBound="-1" eType="#//ElementReference">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="&#xA; if self.isFeatureReference then&#xA; Set(ElementReference){}&#xA; else if self.templateName = null then&#xA; let n = self.nameBinding->size() in&#xA; let currentScope = self.currentScope() in&#xA; if n = 0 or currentScope = null then&#xA; Set(ElementReference){}&#xA; else if n = 1 then&#xA; -- Resolve as an unqualified name.&#xA; currentScope.resolve(self.unqualifiedName.toName())&#xA; else&#xA; -- Resolve as a qualified name.&#xA; self.qualification.referent->select(isNamespace()).&#xA; resolveVisible(self.unqualifiedName.toName(), currentScope)->&#xA; asSet()&#xA; endif endif&#xA; else&#xA; -- Resolve as a bound element.&#xA; let referents = self.templateName.referent in&#xA; if referents->size() &lt;> 1 then&#xA; Set(ElementReference){}&#xA; else&#xA; let template = referents->any(true) in&#xA; let actuals = self.unqualifiedName.binding.bindTo(template) in&#xA; Set{template.bind(actuals)}&#xA; endif&#xA; endif endif"/>
+ </eAnnotations>
+ </eOperations>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="isAmbiguous" lowerBound="1"
+ eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean" defaultValueLiteral="false"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="pathName" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"
+ volatile="true" transient="true" derived="true">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="derivation" value="&#xA; if self.unqualifiedName = null then ''&#xA; else if self.qualification = null then self.unqualifiedName.toString()&#xA; else self.qualification.pathName + '::' + self.unqualifiedName.toString()&#xA; endif endif"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="isFeatureReference" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"
+ volatile="true" transient="true" derived="true">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="derivation" value="self.disambiguation &lt;> null"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="qualification" eType="#//QualifiedName"
+ volatile="true" transient="true" derived="true">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="derivation" value="&#xA; let n = self.nameBinding->size() in &#xA; if n &lt;= 1 then null&#xA; else QualifiedName{&#xA; nameBinding = self.nameBinding->subOrderedSet(1, n - 1).copy(),&#xA; isAmbiguous = n > 1 and self.isAmbiguous,&#xA; owner = self.owner()&#xA; }&#xA; endif"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="disambiguation" eType="#//FeatureReference"
+ volatile="true" transient="true" derived="true">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="derivation" value="self.disambiguationCached()"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="nameBinding" upperBound="-1"
+ eType="#//NameBinding" containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="referent" ordered="false"
+ upperBound="-1" eType="#//ElementReference" volatile="true" transient="true"
+ derived="true">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="derivation" value="self.referentCached()"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="unqualifiedName" eType="#//NameBinding"
+ volatile="true" transient="true" derived="true">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="derivation" value="self.nameBinding->last()"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="templateName" eType="#//QualifiedName"
+ volatile="true" transient="true" derived="true">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="derivation" value="&#xA; if self.unqualifiedName = null or &#xA; self.unqualifiedName.binding = null then &#xA; null&#xA; else if self.nameBinding->size() = 1 then&#xA; QualifiedName{&#xA; nameBinding = Sequence{NameBinding{name = self.unqualifiedName.name}},&#xA; isAmbiguous = false,&#xA; owner = self.owner()&#xA; }&#xA; else&#xA; QualifiedName{&#xA; nameBinding = self.nameBinding->subOrderedSet(1, self.nameBinding->size() - 1).copy()->&#xA; append(NameBinding{name = self.unqualifiedName.name}),&#xA; isAmbiguous = false,&#xA; owner = self.owner()&#xA; }&#xA; endif endif"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="FeatureReference" eSuperTypes="#//Expression">
+ <eOperations name="updateAssignments" ordered="false" upperBound="-1" eType="#//AssignedSource">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="self.expression.assignmentAfter"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="behavioralFeatureReferent" eType="#//ElementReference">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="&#xA; -- TODO: Handle overloading resolution.&#xA; let referents = self.referent->select(isOperation() or isReception()) in&#xA; if referents->size() &lt;> 1 then null&#xA; else if referents->forAll(isReception()) then&#xA; referents->any(true).signal()&#xA; else&#xA; referents->any(true)&#xA; endif endif"/>
+ </eAnnotations>
+ <eParameters name="invocation" lowerBound="1" eType="#//InvocationExpression"/>
+ </eOperations>
+ <eOperations name="featureReferenceReferentDerivation" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="featureReferenceTargetType" 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="&#xA; let type = self.expression.type in&#xA; type &lt;> null and not type.isPrimitiveType() and not type.isEnumeration()"/>
+ </eAnnotations>
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="referentCached" ordered="false" upperBound="-1" eType="#//ElementReference"/>
+ <eOperations name="referent" ordered="false" upperBound="-1" eType="#//ElementReference">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="self.FeatureReference_referent()"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="FeatureReference_referent" ordered="false" upperBound="-1"
+ eType="#//ElementReference">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="&#xA; let type = self.expression.type in&#xA; let name = self.nameBinding.toName() in&#xA; if type = null then Set(ElementReference){}&#xA; else&#xA; let currentScope = self.currentScope() in&#xA; let features = type.resolveVisible(name, currentScope) in&#xA; if currentScope = null then features&#xA; else features->union(currentScope.resolveAssociationEnd(type, name))&#xA; endif&#xA; endif"/>
+ </eAnnotations>
+ </eOperations>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="expression" lowerBound="1"
+ eType="#//Expression" containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="referent" ordered="false"
+ upperBound="-1" eType="#//ElementReference" volatile="true" transient="true"
+ derived="true">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="derivation" value="self.referentCached()"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="nameBinding" eType="#//NameBinding"
+ containment="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="NameBinding" eSuperTypes="#//SyntaxElement">
+ <eOperations name="toString" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="&#xA; if self.binding = null then self.toName()&#xA; else self.toName() + self.binding.toString()&#xA; endif"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="toName" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="&#xA; if self.name = null or self.name = '' or self.name.at(1) &lt;> '\'' then&#xA; name&#xA; else&#xA; let s = self.name.substring(2, name.size() - 1) in&#xA; self.process(s)&#xA; endif"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="process" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="&#xA; let i = s.indexOf('\\') in&#xA; if i = 0 then&#xA; s&#xA; else &#xA; if i = 1 then '' else s.substring(1, i-1) endif +&#xA; self.escape(s.at(i+1)) +&#xA; if i+2 > s.size() then '' else self.process(s.substring(i+2, s.size())) endif&#xA; endif"/>
+ </eAnnotations>
+ <eParameters name="s" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eOperations>
+ <eOperations name="escape" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="&#xA; if s = 'b' then '\b'&#xA; else if s = 'f' then '\f'&#xA; else if s = 't' then '\t'&#xA; else if s = 'n' then '\n'&#xA; else s endif endif endif endif"/>
+ </eAnnotations>
+ <eParameters name="s" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eOperations>
+ <eOperations name="copy" lowerBound="1" eType="#//NameBinding">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="NameBinding{&#xA; name = self.name,&#xA; binding = if self.binding = null then null else self.binding.copy() endif&#xA; }"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="toQualifiedName" lowerBound="1" eType="#//QualifiedName">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="&#xA; QualifiedName{&#xA; nameBinding = OrderedSet{self.copy()},&#xA; isAmbiguous = false,&#xA; owner = owner&#xA; }"/>
+ </eAnnotations>
+ <eParameters name="owner" lowerBound="1" eType="#//SyntaxElement"/>
+ </eOperations>
+ <eOperations name="toQualifiedNameWith" lowerBound="1" eType="#//QualifiedName">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="&#xA; QualifiedName{&#xA; nameBinding = OrderedSet{self.copy(), other},&#xA; isAmbiguous = false,&#xA; owner = owner&#xA; }"/>
+ </eAnnotations>
+ <eParameters name="other" lowerBound="1" eType="#//NameBinding"/>
+ <eParameters name="owner" lowerBound="1" eType="#//SyntaxElement"/>
+ </eOperations>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="binding" eType="#//TemplateBinding"
+ containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="TemplateBinding" abstract="true" eSuperTypes="#//SyntaxElement">
+ <eOperations name="toString" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ <eOperations name="matches" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eParameters name="template" lowerBound="1" eType="#//ElementReference"/>
+ </eOperations>
+ <eOperations name="copy" lowerBound="1" eType="#//TemplateBinding"/>
+ <eOperations name="bindTo" unique="false" upperBound="-1" eType="#//ElementReference">
+ <eParameters name="template" lowerBound="1" eType="#//ElementReference"/>
+ </eOperations>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="NamedTemplateBinding" eSuperTypes="#//TemplateBinding">
+ <eOperations name="toString" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="&#xA; '&lt;' + &#xA; self.substitution->iterate(substitution : TemplateParameterSubstitution; s : Types::String = '' | &#xA; if s = '' then substitution.toString()&#xA; else s + ',' + substitution.toString()&#xA; endif&#xA; ) + &#xA; '>'"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="matches" lowerBound="1" 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="&#xA; let parameters = template.templateParameters() in &#xA; parameters->size() = self.substitution->size() and &#xA; parameters->forAll(p | self.matchesParameter(p))"/>
+ </eAnnotations>
+ <eParameters name="template" lowerBound="1" eType="#//ElementReference"/>
+ </eOperations>
+ <eOperations name="matchesParameter" lowerBound="1" 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="&#xA; self.substitution->exists(&#xA; parameterName = parameter.name() and&#xA; referent &lt;> null and&#xA; parameter.parents()->forAll(c | referent.conformsTo(c))&#xA; )"/>
+ </eAnnotations>
+ <eParameters name="parameter" lowerBound="1" eType="#//ElementReference"/>
+ </eOperations>
+ <eOperations name="bindTo" unique="false" upperBound="-1" eType="#//ElementReference">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="&#xA; template.templateParameters()->collect(p |&#xA; let substitutions = self.substitution->select(actualParameterName() = p.name()) &#xA; in&#xA; if substitutions->size() = 1 then substitutions.referent->asSequence()&#xA; else Sequence(ElementReference){} endif&#xA; )"/>
+ </eAnnotations>
+ <eParameters name="template" lowerBound="1" eType="#//ElementReference"/>
+ </eOperations>
+ <eOperations name="copy" lowerBound="1" eType="#//TemplateBinding">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="NamedTemplateBinding{substitution = self.substitution.copy()}"/>
+ </eAnnotations>
+ </eOperations>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="substitution" ordered="false"
+ lowerBound="1" upperBound="-1" eType="#//TemplateParameterSubstitution" containment="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="TemplateParameterSubstitution" eSuperTypes="#//SyntaxElement">
+ <eOperations name="actualParameterName" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="NameBinding{name = self.parameterName}.toName()"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="toString" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="self.parameterName + '=>' + argumentName.pathName"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="copy" lowerBound="1" eType="#//TemplateParameterSubstitution">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="TemplateParameterSubstitution{&#xA; parameterName = self.parameterName,&#xA; argumentName = if self.argumentName = null then null else self.argumentName.copy() endif&#xA; }"/>
+ </eAnnotations>
+ </eOperations>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="parameterName" lowerBound="1"
+ eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="argumentName" lowerBound="1"
+ eType="#//QualifiedName" containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="referent" eType="#//ElementReference"
+ volatile="true" transient="true" derived="true">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="derivation" value="&#xA; let referents = argumentName.referent in &#xA; if referents->size() &lt;> 1 or not referents->forAll(isClassifier()) then null&#xA; else referents->any(true)&#xA; endif"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="NumericUnaryExpression" eSuperTypes="#//UnaryExpression">
+ <eOperations name="type" eType="#//ElementReference">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="self.integerType()"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="lower" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBigInteger">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="self.operand.lower"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="upper" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBigInteger">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="1"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="numericUnaryExpressionTypeDerivation" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="numericUnaryExpressionLowerDerivation" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="numericUnaryExpressionUpperDerivation" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="numericUnaryExpressionOperand" 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.isIntegerType(self.operand.type) and self.operand.upper = 1"/>
+ </eAnnotations>
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="UnaryExpression" abstract="true" eSuperTypes="#//Expression">
+ <eOperations name="unaryExpressionAssignmentsBefore" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="updateAssignments" ordered="false" upperBound="-1" eType="#//AssignedSource">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="self.operand.assignmentAfter"/>
+ </eAnnotations>
+ </eOperations>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="operator" lowerBound="1"
+ eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="operand" lowerBound="1"
+ eType="#//Expression" containment="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="ForAllOrExistsOrOneExpression" eSuperTypes="#//SequenceExpansionExpression">
+ <eOperations name="forAllOrExistsOrOneExpressionTypeDerivation" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="forAllOrExistsOrOneExpressionLowerDerivation" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="forAllOrExistsOrOneExpressionUpperDerivation" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="forAllOrExistsOrOneExpressionArgument" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="IsolationExpression" eSuperTypes="#//UnaryExpression">
+ <eOperations name="type" eType="#//ElementReference">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="self.operand.type"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="lower" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBigInteger">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="self.operand.lower"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="upper" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBigInteger">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="self.operand.upper"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="isolationExpressionTypeDerivation" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="isolationExpressionLowerDerivation" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="isolationExpressionUpperDerivation" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="BinaryExpression" abstract="true" eSuperTypes="#//Expression">
+ <eOperations name="validateAssignments" lowerBound="1" 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.operand1.newAssignments().name->excludesAll(self.operand2.newAssignments().name)"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="noNullArguments" lowerBound="1" 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="true"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="binaryExpressionOperandMultiplicity" 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="&#xA; if self.noNullArguments() then&#xA; self.operand1.upper = 1 and self.operand2.upper = 1&#xA; else&#xA; self.operand1.upper &lt;= 1 and self.operand2.upper &lt;= 2&#xA; endif"/>
+ </eAnnotations>
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="binaryExpressionOperandAssignments" 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.validateAssignments()"/>
+ </eAnnotations>
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="updateAssignments" ordered="false" upperBound="-1" eType="#//AssignedSource">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="&#xA; self.updateAll(&#xA; self.assignmentBefore,&#xA; self.operand1.newAssignments()->union(operand2.newAssignments())&#xA; )"/>
+ </eAnnotations>
+ </eOperations>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="operand1" lowerBound="1"
+ eType="#//Expression" containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="operand2" lowerBound="1"
+ eType="#//Expression" containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="operator" lowerBound="1"
+ eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="BooleanUnaryExpression" eSuperTypes="#//UnaryExpression">
+ <eOperations name="type" eType="#//ElementReference">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="self.booleanType()"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="lower" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBigInteger">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="self.operand.lower"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="upper" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBigInteger">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="1"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="booleanUnaryExpressionTypeDerivation" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="booleanUnaryExpressionLowerDerivation" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="booleanUnaryExpressionUpperDerivation" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="booleanUnaryExpressionOperand" 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.isBooleanType(self.operand.type) and self.operand.upper = 1"/>
+ </eAnnotations>
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="CastExpression" eSuperTypes="#//Expression">
+ <eOperations name="type" eType="#//ElementReference">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="&#xA; if self.typeName = null then null&#xA; else&#xA; let referents = self.typeName.referent->&#xA; select(isClassifier() and not isTemplate()) in&#xA; if referents->size() &lt;> 1 then null&#xA; else referents->any(true)&#xA; endif&#xA; endif"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="lower" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBigInteger">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="0"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="upper" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBigInteger">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="self.operand.upper"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="castExpressionTypeDerivation" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="castExpressionLowerDerivation" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="castExpressionUpperDerivation" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="castExpressionTypeResolution" 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.typeName &lt;> null implies self.type &lt;> null"/>
+ </eAnnotations>
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="castExpressionAssignmentsBefore" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="updateAssignments" ordered="false" upperBound="-1" eType="#//AssignedSource">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="self.operand.assignmentAfter"/>
+ </eAnnotations>
+ </eOperations>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="operand" lowerBound="1"
+ eType="#//Expression" containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="typeName" eType="#//QualifiedName"
+ containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="isAny" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="PositionalTuple" eSuperTypes="#//Tuple">
+ <eOperations name="size" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBigInteger">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="self.expression->size()"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="inputFor" ordered="false" upperBound="-1" eType="#//InputNamedExpression">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="&#xA; if parameters->isEmpty() then Set(InputNamedExpression){}&#xA; else&#xA; Set{1..parameters->size()}->select(i |&#xA; let direction = parameters->at(i).direction() in&#xA; direction = 'in' or direction = 'inout' &#xA; )->collect(i : Integer | &#xA; InputNamedExpression{&#xA; name = parameters->at(i).name(),&#xA; expression = &#xA; if i &lt;= self.size() then&#xA; self.expression->at(i)&#xA; else&#xA; SequenceConstructionExpression{&#xA; hasMultiplicity = true,&#xA; owner = self&#xA; }&#xA; endif,&#xA; owner = self&#xA; }&#xA; )->asSet()&#xA; endif"/>
+ </eAnnotations>
+ <eParameters name="parameters" upperBound="-1" eType="#//ElementReference"/>
+ </eOperations>
+ <eOperations name="outputFor" ordered="false" upperBound="-1" eType="#//OutputNamedExpression">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="&#xA; if parameters->isEmpty() then Set(OutputNamedExpression){}&#xA; else&#xA; Set{1..parameters->size()}->select(i |&#xA; let direction = parameters->at(i).direction() in&#xA; -- NOTE: This allows missing arguments for out parameters.&#xA; direction = 'out' and i &lt;= self.size() or &#xA; direction = 'inout' &#xA; )->collect(i : Integer | &#xA; OutputNamedExpression{&#xA; name = parameters->at(i).name(),&#xA; expression = &#xA; if i &lt;= self.size() then&#xA; self.expression->at(i)&#xA; else&#xA; -- NOTE: This will cause an error for missing arguments for &#xA; -- inout parameters.&#xA; SequenceConstructionExpression{&#xA; hasMultiplicity = true,&#xA; owner = self&#xA; }&#xA; endif,&#xA; owner = self&#xA; }&#xA; )->asSet()&#xA; endif"/>
+ </eAnnotations>
+ <eParameters name="parameters" upperBound="-1" eType="#//ElementReference"/>
+ </eOperations>
+ <eOperations name="positionalTupleArguments" 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.size() &lt;= self.invocation.parameterCount()"/>
+ </eAnnotations>
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="expression" upperBound="-1"
+ eType="#//Expression" containment="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="Tuple" abstract="true" eSuperTypes="#//SyntaxElement">
+ <eOperations name="size" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBigInteger"/>
+ <eOperations name="inputCached" ordered="false" upperBound="-1" eType="#//InputNamedExpression"/>
+ <eOperations name="input" ordered="false" upperBound="-1" eType="#//InputNamedExpression">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="self.inputFor(self.invocation.parameter)"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="inputFor" ordered="false" upperBound="-1" eType="#//InputNamedExpression">
+ <eParameters name="parameters" upperBound="-1" eType="#//ElementReference"/>
+ </eOperations>
+ <eOperations name="outputCached" ordered="false" upperBound="-1" eType="#//OutputNamedExpression"/>
+ <eOperations name="output" ordered="false" upperBound="-1" eType="#//OutputNamedExpression">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="self.outputFor(self.invocation.parameter)"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="outputFor" ordered="false" upperBound="-1" eType="#//OutputNamedExpression">
+ <eParameters name="parameters" upperBound="-1" eType="#//ElementReference"/>
+ </eOperations>
+ <eOperations name="assignmentsBefore" ordered="false" upperBound="-1" eType="#//AssignedSource">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="&#xA;-- let assignmentsBefore = self.assignmentsBefore() in&#xA;-- if not element.oclIsKindOf(NameExpression) then assignmentsBefore&#xA;-- else&#xA;-- let outputs : Set = self.output->select(expression = element) in&#xA;-- if outputs->isEmpty() then assignmentsBefore&#xA;-- else self.updateFor(assignmentsBefore, &#xA;-- outputs->any(true).oclAsType(OutputNamedExpression)&#xA;-- )&#xA;-- endif&#xA;-- endif&#xA; self.assignmentsBefore()"/>
+ </eAnnotations>
+ <eParameters name="element" lowerBound="1" eType="#//SyntaxElement"/>
+ </eOperations>
+ <eOperations name="assignmentsAfter" ordered="false" upperBound="-1" eType="#//AssignedSource">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="&#xA; let assignments1 = self.updateAll(&#xA; self.assignmentsBefore(),&#xA; self.input.expression->union(self.output.expression).newAssignments()->asSet()&#xA; ) in&#xA; let assignments2 = self.output->iterate(&#xA; output, assignments : Set(AssignedSource) = assignments1 |&#xA; self.updateFor(assignments, output)&#xA; ) in&#xA; self.updateAll(&#xA; assignments2,&#xA; self.output->reject(leftHandSide = null)->&#xA; collect(output : OutputNamedExpression | &#xA; assignments2->select(name = output.leftHandSide.assignedName())&#xA; )->&#xA; reject(isParallelLocalName).copy(self.invocation, null)->asSet()&#xA; )"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="newAssignments" ordered="false" upperBound="-1" eType="#//AssignedSource">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="&#xA; let assignmentsBefore = self.assignmentsBefore() in&#xA; self.assignmentsAfter()->select(isNew(assignmentsBefore()))"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="updateFor" ordered="false" upperBound="-1" eType="#//AssignedSource">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="&#xA; let parameter = self.invocation.parameterNamed(output.name) in&#xA; if parameter = null or parameter.direction() &lt;> 'out' then &#xA; assignments&#xA; else&#xA; let lhs = output.leftHandSide in&#xA; if lhs = null or lhs.localName() = null or lhs.index() &lt;> null or &#xA; assignments->exists(name = lhs.localName()) then &#xA; assignments&#xA; else&#xA; AssignedSource{&#xA; name = lhs.localName(),&#xA; source = self,&#xA; type = parameter.type(),&#xA; lower = 0,&#xA; upper = if parameter.upper() = 1 then 1 else -1 endif&#xA; }.update(assignments)&#xA; endif&#xA; endif"/>
+ </eAnnotations>
+ <eParameters name="assignments" ordered="false" upperBound="-1" eType="#//AssignedSource"/>
+ <eParameters name="output" lowerBound="1" eType="#//OutputNamedExpression"/>
+ </eOperations>
+ <eOperations name="tupleInputDerivation" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="tupleOutputDerivation" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="tupleNullInputs" 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="&#xA; self.input->forAll(&#xA; expression.isNull() implies &#xA; self.invocation.parameterNamed(name).lower() = 0&#xA; )"/>
+ </eAnnotations>
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="tupleOutputs" 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="&#xA; self.output->forAll(&#xA; expression.isNull() implies &#xA; self.invocation.parameterNamed(name).direction() = 'out'&#xA; )"/>
+ </eAnnotations>
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="tupleAssignmentsBefore" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="tupleAssignmentsAfter" 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="&#xA; self.input.expression->union(self.output.expression).&#xA; newAssignments()->isUnique(name)"/>
+ </eAnnotations>
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="input" ordered="false"
+ upperBound="-1" eType="#//InputNamedExpression" volatile="true" transient="true"
+ derived="true">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="derivation" value="self.inputCached()"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="invocation" lowerBound="1"
+ eType="#//InvocationExpression" eOpposite="#//InvocationExpression/tuple"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="output" ordered="false"
+ upperBound="-1" eType="#//OutputNamedExpression" volatile="true" transient="true"
+ derived="true">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="derivation" value="self.outputCached()"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="NamedExpression" eSuperTypes="#//SyntaxElement">
+ <eOperations name="actualName" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="NameBinding{name = self.name}.toName()"/>
+ </eAnnotations>
+ </eOperations>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="expression" lowerBound="1"
+ eType="#//Expression" containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="index" eType="#//Expression"
+ containment="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="InputNamedExpression" eSuperTypes="#//SyntaxElement">
+ <eOperations name="tuple" lowerBound="1" eType="#//Tuple">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="self.owner().oclAsType(_'Tuple')"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="namedExpressionIsCollectionConversionDerivation" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="namedExpressionIsBitStringConversionDerivation" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="expression" lowerBound="1"
+ eType="#//Expression"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="index" eType="#//Expression"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="isCollectionConversion"
+ eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean" volatile="true"
+ transient="true" derived="true">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="derivation" value="&#xA; let parameterType = self.tuple().invocation.parameterNamed(self.name).type() in&#xA; parameterType &lt;> null and self.expression.type &lt;> null and&#xA; self.isCollectionClass(parameterType) and &#xA; not self.isCollectionClass(self.expression.type)"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <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://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="derivation" value="&#xA; let parameterType = self.tuple().invocation.parameterNamed(self.name).type() in&#xA; parameterType &lt;> null and self.expression &lt;> null and&#xA; (self.isBitStringType(parameterType) or &#xA; self.isBitStringCollectionClass(parameterType)) and &#xA; not self.isBitStringType(self.expression.type)"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="InvocationExpression" abstract="true"
+ eSuperTypes="#//Expression">
+ <eOperations name="assignmentsBefore" ordered="false" upperBound="-1" eType="#//AssignedSource">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="&#xA; let feature = self.feature() in&#xA; if feature &lt;> null and self.tuple = element then feature.assignmentAfter&#xA; else self.assignmentBefore&#xA; endif"/>
+ </eAnnotations>
+ <eParameters name="element" lowerBound="1" eType="#//SyntaxElement"/>
+ </eOperations>
+ <eOperations name="feature" eType="#//FeatureReference"/>
+ <eOperations name="referent" eType="#//ElementReference"/>
+ <eOperations name="referentCached" eType="#//ElementReference"/>
+ <eOperations name="type" eType="#//ElementReference">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="self.InvocationExpression_type()"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="InvocationExpression_type" eType="#//ElementReference">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="&#xA; let referent = self.referent in&#xA; if referent = null then null&#xA; else referent.type()&#xA; endif"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="upper" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBigInteger">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="self.InvocationExpression_upper()"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="InvocationExpression_upper" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBigInteger">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="&#xA; let referent = self.referent in&#xA; if referent = null then 0&#xA; else referent.upper()&#xA; endif"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="lower" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBigInteger">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="self.InvocationExpression_lower()"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="InvocationExpression_lower" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBigInteger">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="&#xA; let referent = self.referent in&#xA; if referent = null then 0&#xA; else referent.lower()&#xA; endif"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="parameterNamed" eType="#//ElementReference">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="&#xA; let parameter = self.parameter->select(p | p.name() = name) in&#xA; if parameter->isEmpty() then null&#xA; else parameter->any(true)&#xA; endif"/>
+ </eAnnotations>
+ <eParameters name="name" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eOperations>
+ <eOperations name="parameterCount" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBigInteger">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="&#xA; let parameters = self.parameter in&#xA; if parameters->exists(direction() = 'return') then&#xA; parameters->size()-1&#xA; else&#xA; parameters->size()&#xA; endif"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="parameterIsAssignableFrom" lowerBound="1" 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="&#xA; let parameter = self.parameterNamed(input.name) in&#xA; let direction = parameter.direction() in&#xA; (direction = 'in' or direction = 'inout') and&#xA; parameter.isAssignableFrom(input.expression)"/>
+ </eAnnotations>
+ <eParameters name="input" lowerBound="1" eType="#//InputNamedExpression"/>
+ </eOperations>
+ <eOperations name="parameterIsAssignableTo" lowerBound="1" 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="&#xA; let parameter = self.parameterNamed(output.name) in&#xA; let direction = parameter.direction() in&#xA; let lhs = output.leftHandSide in&#xA; direction = 'out' and lhs.referent = null or&#xA; (direction = 'out' or direction = 'inout') and&#xA; output.expression.isAssignableFromElement(parameter)"/>
+ </eAnnotations>
+ <eParameters name="output" lowerBound="1" eType="#//OutputNamedExpression"/>
+ </eOperations>
+ <eOperations name="alternativeConstructorIsValid" lowerBound="1" 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="&#xA; let referent = self.referent in&#xA; let currentScope = self.currentScope() in&#xA; referent &lt;> null and referent.isConstructor() and currentScope &lt;> null implies&#xA; let operation = currentScope.specification() in&#xA; operation.isConstructor() and&#xA; let statement = self.enclosingStatement() in&#xA; statement &lt;> null and statement.oclIsKindOf(ExpressionStatement) and&#xA; let annotatedStatement = statement.owner() in&#xA; let owner = annotatedStatement.owner() in&#xA; owner &lt;> null implies owner.oclIsKindOf(Block) and&#xA; let block = owner.oclAsType(Block) in&#xA; block.enclosingStatement() = null and&#xA; block.statement->notEmpty() and&#xA; block.statement->at(1) = annotatedStatement and&#xA; -- NOTE: This ensures that the invoked constructor is&#xA; -- from the same class as the containing constructor.&#xA; operation.namespace().equals(referent.namespace()) and&#xA; -- NOTE: An alternative constructor invocation should&#xA; -- only be allowed on &quot;this&quot;.&#xA; self.feature().expression.oclIsKindOf(ThisExpression)"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="bindTemplateImplicitArguments" eType="#//ElementReference">
+ <eParameters name="referent" lowerBound="1" eType="#//ElementReference"/>
+ <eParameters name="primary" eType="#//Expression"/>
+ </eOperations>
+ <eOperations name="bindTemplateImplicitArguments1" eType="#//ElementReference">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="&#xA; let allParameters = referent.parameters() in&#xA; let firstParameter =&#xA; if primary = null or allParameters->isEmpty() then null&#xA; else allParameters->first()&#xA; endif&#xA; in&#xA; let firstParameterType =&#xA; if firstParameter = null then null&#xA; else firstParameter.type()&#xA; endif&#xA; in&#xA; let primaryType =&#xA; if firstParameter = null then null&#xA; else self.effectiveType(firstParameter, primary)&#xA; endif&#xA; in&#xA; let parameters =&#xA; if firstParameter = null then allParameters&#xA; else allParameters->excluding(firstParameter)&#xA; endif&#xA; in&#xA; let templateArguments =&#xA; referent.parameteredElements()->collect(parameteredElement |&#xA; let inputTypes =&#xA; self.tuple.inputFor(parameters)->&#xA; select(input |&#xA; let parameter = parameters->any(name() = input.name) in&#xA; parameteredElement.equals(parameter.type())&#xA; )->&#xA; collect(input | &#xA; let parameter = parameters->any(name() = input.name) in&#xA; self.effectiveType(parameter, input.expression)&#xA; )->asSet()&#xA; in&#xA; let types =&#xA; if parameteredElement.equals(firstParameterType) then&#xA; inputTypes->including(primaryType)&#xA; else&#xA; inputTypes&#xA; endif&#xA; in&#xA; let commonAncestor = self.commonAncestor(types) in&#xA; if commonAncestor = null then AnyType{}.toReference()&#xA; else commonAncestor&#xA; endif&#xA; )&#xA; in&#xA; referent.bind(templateArguments)"/>
+ </eAnnotations>
+ <eParameters name="referent" lowerBound="1" eType="#//ElementReference"/>
+ <eParameters name="primary" eType="#//Expression"/>
+ </eOperations>
+ <eOperations name="effectiveType" lowerBound="1" eType="#//ElementReference">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="&#xA; let type = expression.type in&#xA; let parameterUpper = parameter.upper() in&#xA; if (parameterUpper = -1 or parameterUpper > 1) and&#xA; expression.upper = 1 and&#xA; type &lt;> null and self.isCollectionClass(type) then&#xA; type.collectionArgument()&#xA; else&#xA; type&#xA; endif"/>
+ </eAnnotations>
+ <eParameters name="parameter" lowerBound="1" eType="#//ElementReference"/>
+ <eParameters name="expression" lowerBound="1" eType="#//Expression"/>
+ </eOperations>
+ <eOperations name="parameterElements" upperBound="-1" eType="#//ElementReference">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="InvocationExpression_parameterElements()"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="InvocationExpression_parameterElements" upperBound="-1" eType="#//ElementReference">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="&#xA; let referent = self.referent in&#xA; if self.isBehavior or self.isOperation then&#xA; referent.parameters()&#xA; else if self.isAssociationEnd then&#xA; let association = referent.association() in&#xA; association.properties()->reject(equals(referent))->&#xA; collect(p | self.parameterFromProperty(p))->asOrderedSet()&#xA; else if referent &lt;> null then&#xA; referent.properties()->&#xA; collect(p | self.parameterFromProperty(p))->asOrderedSet() &#xA; else&#xA; OrderedSet(ElementReference){}&#xA; endif endif endif"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="parameterFromProperty" lowerBound="1" eType="#//ElementReference">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="&#xA; self.parameterFromPropertyWithMultiplicity(&#xA; property, &#xA; property.lower().toString(), &#xA; let upper = property.upper() in&#xA; if upper = -1 then '*'&#xA; else upper.toString()&#xA; endif&#xA; )"/>
+ </eAnnotations>
+ <eParameters name="property" lowerBound="1" eType="#//ElementReference"/>
+ </eOperations>
+ <eOperations name="parameterFromPropertyWithMultiplicity" lowerBound="1" eType="#//ElementReference">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="&#xA; FormalParameter{&#xA; name = property.name(),&#xA; direction = 'in',&#xA; typePart = TypedElementDefinition{&#xA; actualType = property.type(),&#xA; lowerBound = lower,&#xA; upperBound = upper&#xA; },&#xA; owner = property.namespace().asMember()&#xA; }.toReference()"/>
+ </eAnnotations>
+ <eParameters name="property" lowerBound="1" eType="#//ElementReference"/>
+ <eParameters name="lower" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ <eParameters name="upper" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eOperations>
+ <eOperations name="invocationExpressionIsBehaviorDerivation" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="invocationExpressionIsAssociationEndDerivation" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="invocationExpressionIsOperationDerivation" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="invocationExpressionIsDestructorDerivation" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="invocationExpressionIsImplicitDerivation" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="invocationExpressionIsSignalDerivation" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="invocationExpressionParameterDerivation" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="invocationExpressionTypeDerivation" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="invocationExpressionUpperDerivation" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="invocationExpressionLowerDerivation" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="invocationExpressionAssignmentsBefore" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="updateAssignments" ordered="false" upperBound="-1" eType="#//AssignedSource">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="self.tuple.assignmentsAfter()"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="invocationExpressionTemplateParameters" 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="&#xA; let referent = self.referent in&#xA; referent &lt;> null implies&#xA; let template = referent.template() in&#xA; template &lt;> null implies &#xA; let parameters = template.templateParameters() in&#xA; let actuals = referent.templateActuals() in&#xA; parameters->size() = actuals->size() and&#xA; parameters->size() &lt;> 0 implies&#xA; Sequence{1..parameters->size()}->forAll(i |&#xA; let parameter = parameters->at(i) in&#xA; let actual = actuals->at(i) in&#xA; parameter.isClassifierTemplateParameter() and&#xA; parameter.parents()->forAll(p | actual.conformsTo(p))&#xA; )"/>
+ </eAnnotations>
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="isBehavior" 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="OutputNamedExpression"/>
+ <details key="unique" value="false"/>
+ <details key="upper" value="*"/>
+ </eAnnotations>
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="derivation" value="&#xA; let referent = self.referent in&#xA; referent &lt;> null and referent.isBehavior()"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="isAssociationEnd" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"
+ volatile="true" transient="true" derived="true">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="derivation" value="&#xA; let referent = self.referent in&#xA; referent&lt;> null and referent.isAssociationEnd()"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="feature" eType="#//FeatureReference"
+ volatile="true" transient="true" derived="true">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="derivation" value="self.feature()"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="isOperation" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"
+ volatile="true" transient="true" derived="true">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="derivation" value="&#xA; let referent = self.referent in&#xA; referent&lt;> null and referent.isOperation()"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="isDestructor" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"
+ volatile="true" transient="true" derived="true">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="derivation" value="&#xA; let referent = self.referent in&#xA; referent&lt;> null and referent.isDestructor()"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="isImplicit" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"
+ volatile="true" transient="true" derived="true">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="derivation" value="&#xA; let feature = self.feature in&#xA; if feature = null then false&#xA; else&#xA; let nameBinding = feature.nameBinding in&#xA; let referent = self.referent in&#xA; nameBinding &lt;> null and referent = null and&#xA; nameBinding.toName() = 'destroy' and&#xA; nameBinding.binding = null&#xA; endif"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="referent" eType="#//ElementReference"
+ volatile="true" transient="true" derived="true">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="derivation" value="referentCached()"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="parameter" upperBound="-1"
+ eType="#//ElementReference" volatile="true" transient="true" derived="true">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="derivation" value="self.parameterElements()"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="isSignal" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"
+ volatile="true" transient="true" derived="true">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="derivation" value="&#xA; let referent = self.referent in&#xA; referent &lt;> null and referent.isSignal()"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="tuple" lowerBound="1" eType="#//Tuple"
+ containment="true" eOpposite="#//Tuple/invocation"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="OutputNamedExpression" eSuperTypes="#//InputNamedExpression">
+ <eOperations name="outputNamedExpressionLeftHandSideDerivation" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="outputNamedExpressionForm" 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.expression = null or self.hasLegalExpression()"/>
+ </eAnnotations>
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="hasLegalExpression" lowerBound="1" 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="&#xA; let primary =&#xA; if self.expression.oclIsKindOf(SequenceAccessExpression) then&#xA; self.expression.oclAsType(SequenceAccessExpression).primary&#xA; else&#xA; self.expression&#xA; endif&#xA; in&#xA; primary.oclIsKindOf(NameExpression) or &#xA; primary.oclIsKindOf(PropertyAccessExpression)"/>
+ </eAnnotations>
+ </eOperations>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="leftHandSide" eType="#//LeftHandSide"
+ volatile="true" transient="true" derived="true">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="derivation" value="&#xA; if self.expression &lt;> null and self.hasLegalExpression() then&#xA; EffectiveLeftHandSide{&#xA; expression = self.expression,&#xA; owner = self&#xA; }&#xA; else&#xA; null&#xA; endif"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="LeftHandSide" abstract="true" eSuperTypes="#//AssignableElement">
+ <eOperations name="assignmentsBefore" ordered="false" upperBound="-1" eType="#//AssignedSource">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="&#xA; if self.index() &lt;> element then self.assignmentBefore&#xA; else&#xA; let feature = self.feature() in&#xA; if feature = null then self.assignmentBefore&#xA; else feature.assignmentAfter&#xA; endif&#xA; endif"/>
+ </eAnnotations>
+ <eParameters name="element" lowerBound="1" eType="#//SyntaxElement"/>
+ </eOperations>
+ <eOperations name="assignmentsAfter" ordered="false" upperBound="-1" eType="#//AssignedSource">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="&#xA; if self.index() &lt;> null then self.index().assignmentAfter&#xA; else &#xA; let feature = self.feature() in&#xA; if feature = null then self.assignmentBefore&#xA; else feature.assignmentAfter&#xA; endif&#xA; endif"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="type" eType="#//ElementReference">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="self.LeftHandSide_type()"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="LeftHandSide_type" eType="#//ElementReference">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="&#xA; let referent = self.referent() in&#xA; if referent = null then null else referent.type() endif"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="upper" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBigInteger">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="self.LeftHandSide_upper()"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="LeftHandSide_upper" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBigInteger">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="&#xA; if self.index() &lt;> null then 1&#xA; else&#xA; let referent = self.referent() in&#xA; if referent = null then 0 else referent.upper() endif&#xA; endif"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="lower" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBigInteger">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="self.LeftHandSide_lower()"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="LeftHandSide_lower" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBigInteger">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="&#xA; if self.index() &lt;> null then 1&#xA; else&#xA; let referent = self.referent() in&#xA; if referent = null then 0 else referent.lower() endif&#xA; endif"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="referent" eType="#//ElementReference"/>
+ <eOperations name="assignedName" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="&#xA; if not self.isDataValueUpdate() then self.localName()&#xA; else&#xA; self.feature().expression.oclAsType(NameExpression).name.unqualifiedName.toName()&#xA; endif"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="localName" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ <eOperations name="feature" lowerBound="1" eType="#//FeatureReference"/>
+ <eOperations name="expression" eType="#//Expression"/>
+ <eOperations name="isDataValueUpdate" lowerBound="1" 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="&#xA; let feature = self.feature() in&#xA; feature &lt;> null and&#xA; feature.expression.oclIsKindOf(NameExpression) and&#xA; let expression = feature.expression.oclAsType(NameExpression) in&#xA; expression.propertyAccess = null and&#xA; let name = expression.name.unqualifiedName.toName() in&#xA; let assignments = self.assignmentBefore->select(a | a.name = name) in&#xA; assignments->notEmpty() and &#xA; assignments->forAll(type &lt;> null and type.isDataType())"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="leftHandSideIndexExpression" 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.index() &lt;> null implies self.index().upper &lt;= 1"/>
+ </eAnnotations>
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="index" eType="#//Expression"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="assignmentBefore" ordered="false"
+ upperBound="-1" eType="#//AssignedSource" volatile="true" transient="true"
+ derived="true">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="derivation" value="self.assignmentsBefore()"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="assignmentAfter" ordered="false"
+ upperBound="-1" eType="#//AssignedSource" volatile="true" transient="true"
+ derived="true">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="derivation" value="self.assignmentsAfter()"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="referent" eType="#//ElementReference"
+ volatile="true" transient="true" derived="true">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="derivation" value="self.referent()"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="SequenceAccessExpression" eSuperTypes="#//Expression">
+ <eOperations name="type" eType="#//ElementReference">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="self.primary.type"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="lower" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBigInteger">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="0"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="upper" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBigInteger">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="1"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="updateAssignments" ordered="false" upperBound="-1" eType="#//AssignedSource">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="&#xA; self.updateAll(&#xA; self.updateAll(&#xA; self.assignmentBefore,&#xA; self.primary.newAssignments()&#xA; ),&#xA; self.index.newAssignments()&#xA; )"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="sequenceAccessExpressionTypeDerivation" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="sequenceAccessExpressionLowerDerivation" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="sequenceAccessExpressionUpperDerivation" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="sequenceAccessExpressionIndexType" 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="&#xA; let type = self.index.type in&#xA; type &lt;> null and self.isIntegerType(type)"/>
+ </eAnnotations>
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="sequenceAccessExpressionIndexMultiplicity" 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.index.upper = 1"/>
+ </eAnnotations>
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="primary" lowerBound="1"
+ eType="#//Expression" containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="index" lowerBound="1" eType="#//Expression"
+ containment="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="StringLiteralExpression" eSuperTypes="#//LiteralExpression">
+ <eOperations name="type" eType="#//ElementReference">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="self.stringType()"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="stringLiteralExpressionTypeDerivation" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="image" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="LiteralExpression" abstract="true" eSuperTypes="#//Expression">
+ <eOperations name="upper" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBigInteger">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="1"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="lower" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBigInteger">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="1"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="literalExpressionUpperDerivation" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="literalExpressionLowerDerivation" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="SequenceOperationExpression" eSuperTypes="#//InvocationExpression">
+ <eOperations name="feature" eType="#//FeatureReference">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="null"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="referent" eType="#//ElementReference">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="&#xA; let referents = self.operation.referent in&#xA; if referents->select(isBehavior())->size() &lt;> 1 then null&#xA; else&#xA; let referent = referents->any(isBehavior()) in&#xA; if referent.isTemplate() then &#xA; self.bindTemplateImplicitArguments(&#xA; referent, self.primary.expression&#xA; )&#xA; else referent&#xA; endif&#xA; endif"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="isAddTarget" lowerBound="1" 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="&#xA; let collectionFunctionAdd = self.collectionFunctionAdd() in&#xA; if collectionFunctionAdd = null then false&#xA; else&#xA; collectionFunctionAdd.containedIn(self.operation.referent->asBag()) and&#xA; /* Note: This works even if the target expression is the&#xA; * derived name expression of an ExtentOrExpression element.&#xA; */&#xA; targetExpression.owner() = self.primary &#xA; endif"/>
+ </eAnnotations>
+ <eParameters name="targetExpression" lowerBound="1" eType="#//Expression"/>
+ </eOperations>
+ <eOperations name="firstParameter" eType="#//ElementReference">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="&#xA; let referent = self.referent in&#xA; if referent = null then null&#xA; else&#xA; let parameters = referent.parameters() in&#xA; if parameters->isEmpty() then null&#xA; else parameters->first()&#xA; endif&#xA; endif"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="sequenceOperationExpressionReferentDerivation" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="sequenceOperationExpressionFeatureDerivation" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="sequenceOperationExpressionOperationReferent" 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="&#xA; let parameter = self.firstParameter() in&#xA; parameter &lt;> null and&#xA; let direction = parameter.direction() in&#xA; let expression = self.primary.expression in&#xA; (direction = 'in' or direction = 'inout') and&#xA; parameter.lower() = 0 and parameter.upper() = -1 and&#xA; expression &lt;> null implies parameter.isAssignableFrom(expression)"/>
+ </eAnnotations>
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="sequenceOperationExpressionTargetCompatibility" 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="&#xA; let expression = self.primary.expression in&#xA; let parameter = self.firstParameter() in&#xA; expression &lt;> null and parameter &lt;> null and &#xA; parameter.direction() = 'inout' implies&#xA; let lhs = self.leftHandSide in&#xA; lhs &lt;> null and &#xA; let assignedName = lhs.assignedName() in&#xA; (assignedName &lt;> null implies &#xA; self.assignmentBefore->exists(name = assignedName)&#xA; ) and&#xA; let expressionType = self.type in&#xA; let type = parameter.type() in&#xA; type &lt;> null and type.equals(expressionType) or&#xA; type = null and expressionType = null"/>
+ </eAnnotations>
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="sequenceOperationExpressionArgumentCompatibility" 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="&#xA; self.referent &lt;> null implies&#xA; (self.tuple.input->forAll(input | self.parameterIsAssignableFrom(input)) and&#xA; self.tuple.output->forAll(output | self.parameterIsAssignableTo(output))&#xA; )"/>
+ </eAnnotations>
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="sequenceOperationExpressionAssignmentsBefore" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="sequenceOperationExpressionIsCollectionConversionDerivation"
+ eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="sequenceOperationExpressionIsBitStringConversionDerivation"
+ eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="sequenceOperationExpressionAssignmentsAfter" 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="&#xA; let expression = self.primary.expression in&#xA; expression &lt;> null implies&#xA; expression.newAssignments().name->&#xA; excludesAll(self.tuple.newAssignments().name)"/>
+ </eAnnotations>
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="sequenceOperationExpressionLeftHandSideDerivation" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="updateAssignments" ordered="false" upperBound="-1" eType="#//AssignedSource">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="&#xA; let expression = self.primary.expression in&#xA; let firstParameter = self.firstParameter() in&#xA; let assignments1 =&#xA; if expression = null then self.assignmentBefore&#xA; else expression.assignmentAfter&#xA; endif&#xA; in&#xA; let assignments2 =&#xA; self.updateAll(assignments1, self.tuple.assignmentsAfter())&#xA; in&#xA; if firstParameter = null or firstParameter.direction() &lt;> 'inout' then&#xA; assignments2&#xA; else&#xA; let oldAssignment = self.assignmentBefore->&#xA; select(name = self.leftHandSide.assignedName())&#xA; in&#xA; if oldAssignment->isEmpty() or oldAssignment->forAll(isParallelLocalName) then&#xA; assignments2&#xA; else&#xA; oldAssignment->any(true).copy(self, null).update(assignments2)&#xA; endif&#xA; endif"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="parameterElements" lowerBound="1" upperBound="-1" eType="#//ElementReference">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="&#xA; let parameters = self.InvocationExpression_parameterElements() in&#xA; if parameters->size() &lt; 2 then OrderedSet(ElementReference){}&#xA; else parameters->subOrderedSet(2, parameters->size())&#xA; endif"/>
+ </eAnnotations>
+ </eOperations>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="primary" lowerBound="1"
+ eType="#//ExtentOrExpression" containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="operation" eType="#//QualifiedName"
+ containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="isCollectionConversion"
+ eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean" volatile="true"
+ transient="true" derived="true">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="derivation" value="&#xA; let expression = self.primary.expression in&#xA; expression &lt;> null and expression.upper = 1 and&#xA; let type = expression.type in&#xA; type &lt;> null and self.isCollectionClass(type)"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <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://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="derivation" value="&#xA; let referent = self.referent in&#xA; let firstParameter = self.firstParameter() in&#xA; let expression = self.primary.expression in&#xA; referent &lt;> null and firstParameter &lt;> null and expression &lt;> null and&#xA; let parameterType = firstParameter.type() in&#xA; let primaryType =&#xA; if self.isCollectionConversion then&#xA; expression.type.collectionArgument()&#xA; else&#xA; expression.type&#xA; endif&#xA; in&#xA; parameterType &lt;> null and self.isBitStringType(parameterType) and&#xA; primaryType &lt;> null and self.isIntegerType(primaryType)"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="leftHandSide" eType="#//LeftHandSide"
+ volatile="true" transient="true" derived="true">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="derivation" value="&#xA; let expression = self.primary.expression in&#xA; let firstParameter = self.firstParameter() in&#xA; if expression = null or firstParameter = null or &#xA; firstParameter.direction() &lt;> 'inout' then&#xA; null&#xA; else&#xA; EffectiveLeftHandSide{&#xA; expression = expression,&#xA; owner = self&#xA; }&#xA; endif"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="SelectOrRejectExpression" eSuperTypes="#//SequenceExpansionExpression">
+ <eOperations name="selectOrRejectExpressionTypeDerivation" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="selectOrRejectExpressionLowerDerivation" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="selectOrRejectExpressionUpperDerivation" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="selectOrRejectExpressionArgument" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="ClassExtentExpression" eSuperTypes="#//Expression">
+ <eOperations name="type" eType="#//ElementReference">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="&#xA; let referents = self.className.referent->select(isClass()) in&#xA; if referents->size() &lt;> 1 then null&#xA; else referents->any(true)&#xA; endif"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="upper" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBigInteger">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="-1"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="lower" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBigInteger">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="0"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="classExtentExpressionTypeDerivation" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="classExtentExpressionUpperDerivation" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="classExtentExpressionLowerDerivation" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="classExtentExpressionExtentType" 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.validateClassExtentExpressionExtentType()"/>
+ </eAnnotations>
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="validateClassExtentExpressionExtentType" lowerBound="1" 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.type &lt;> null and not self.type.isTemplate()"/>
+ </eAnnotations>
+ </eOperations>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="className" lowerBound="1"
+ eType="#//QualifiedName" containment="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="PositionalTemplateBinding" eSuperTypes="#//TemplateBinding">
+ <eOperations name="toString" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="&#xA; '&lt;' + &#xA; self.argumentName->iterate(name : QualifiedName; s : Types::String = '' | &#xA; if s = '' then name.pathName&#xA; else s + ',' + name.pathName&#xA; endif&#xA; ) + &#xA; '>'"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="matches" lowerBound="1" 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="&#xA; let parameters = template.templateParameters() in &#xA; parameters->size() = self.argumentName->size() and &#xA; Sequence{1 .. parameters->size()}->forAll(i | &#xA; self.matches(parameters->at(i), argumentName->at(i))&#xA; )"/>
+ </eAnnotations>
+ <eParameters name="template" lowerBound="1" eType="#//ElementReference"/>
+ </eOperations>
+ <eOperations name="matches" lowerBound="1" 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="&#xA; let referents = argumentName.referent in&#xA; referents->size() = 1 and&#xA; referents->forAll(referent |&#xA; referent.isClassifier() and&#xA; parameter.parents()->forAll(c | referent.conformsTo(c))&#xA; )"/>
+ </eAnnotations>
+ <eParameters name="parameter" lowerBound="1" eType="#//ElementReference"/>
+ <eParameters name="argumentName" lowerBound="1" eType="#//QualifiedName"/>
+ </eOperations>
+ <eOperations name="bindTo" unique="false" upperBound="-1" eType="#//ElementReference">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="&#xA; self.argumentName->collect(argumentName |&#xA; let referents = argumentName.referent in&#xA; if referents->size() = 1 then referents->asSequence()&#xA; else Sequence(ElementReference){} endif&#xA; )"/>
+ </eAnnotations>
+ <eParameters name="template" lowerBound="1" eType="#//ElementReference"/>
+ </eOperations>
+ <eOperations name="copy" lowerBound="1" eType="#//TemplateBinding">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="PositionalTemplateBinding{argumentName = self.argumentName.copy()}"/>
+ </eAnnotations>
+ </eOperations>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="argumentName" lowerBound="1"
+ upperBound="-1" eType="#//QualifiedName" containment="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="ConditionalLogicalExpression" eSuperTypes="#//BinaryExpression">
+ <eOperations name="type" eType="#//ElementReference">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="self.booleanType()"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="lower" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBigInteger">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="&#xA; if self.operand1.lower = 0 or self.operand2.lower = 0 then 0 else 1 endif"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="upper" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBigInteger">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="1"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="conditionalLogicalExpressionTypeDerivation" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="conditionalLogicalExpressionLower" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="conditionalLogicalExpressionUpper" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="conditionalLogicalExpressionOperands" 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.isBooleanType(self.operand1.type) and self.isBooleanType(self.operand2.type)"/>
+ </eAnnotations>
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="validateAssignments" lowerBound="1" 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="true"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="assignmentsBefore" ordered="false" upperBound="-1" eType="#//AssignedSource">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="&#xA; if self.operand2 = element then self.operand1.assignmentAfter&#xA; else self.assignmentBefore&#xA; endif"/>
+ </eAnnotations>
+ <eParameters name="element" lowerBound="1" eType="#//SyntaxElement"/>
+ </eOperations>
+ <eOperations name="updateAssignments" ordered="false" upperBound="-1" eType="#//AssignedSource">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="&#xA; let namesBefore = self.operand2.assignmentBefore.name->asSet() in&#xA; self.updateAll(&#xA; self.operand2.assignmentBefore,&#xA; self.operand2.newAssignments()->&#xA; reject(namesBefore->excludes(name)).&#xA; copy(self, null)->asSet()&#xA; )"/>
+ </eAnnotations>
+ </eOperations>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="LinkOperationExpression" eSuperTypes="#//InvocationExpression">
+ <eOperations name="referent" eType="#//ElementReference">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="&#xA; let referents = self.associationName.referent->select(isAssociation()) in&#xA; if referents->size() &lt;> 1 then null&#xA; else referents->any(true)&#xA; endif"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="feature" eType="#//FeatureReference">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="null"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="linkOperationExpressionIsCreationDerivation" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="linkOperationExpressionIsClearDerivation" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="linkOperationExpressionReferentDerivation" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="linkOperationExpressionFeatureDerivation" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </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 &lt;> null"/>
+ </eAnnotations>
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="linkOperationExpressionArgumentCompatibility" 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="&#xA; self.tuple.size() &lt;= self.parameterCount() and&#xA; self.tuple.input->forAll(input | self.parameterIsAssignableFrom(input))"/>
+ </eAnnotations>
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="parameterElements" lowerBound="1" upperBound="-1" eType="#//ElementReference">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="&#xA; if self.isClear then&#xA; OrderedSet(ElementReference){&#xA; FormalParameter{&#xA; direction = 'in',&#xA; typePart = TypedElementDefinition{&#xA; lowerBound = '1',&#xA; upperBound = '1'&#xA; }&#xA; }.toReference()&#xA; }&#xA; else&#xA; let referent = self.referent in&#xA; if referent = null then OrderedSet(ElementReference){}&#xA; else&#xA; self.referent.properties()->collect(property | &#xA; -- NOTE: Arguments for a link operation have multiplicity 1..1.&#xA; parameterFromPropertyWithMultiplicity(property, '1', '1')&#xA; )&#xA; endif&#xA; endif"/>
+ </eAnnotations>
+ </eOperations>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="operation" lowerBound="1"
+ eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="isCreation" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"
+ volatile="true" transient="true" derived="true">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="derivation" value="self.operation = 'createLink'"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="isClear" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"
+ volatile="true" transient="true" derived="true">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="derivation" value="self.operation = 'clearAssoc'"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="associationName" lowerBound="1"
+ eType="#//QualifiedName" containment="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="EqualityExpression" eSuperTypes="#//BinaryExpression">
+ <eOperations name="type" eType="#//ElementReference">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="self.booleanType()"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="lower" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBigInteger">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="1"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="upper" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBigInteger">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="1"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="equalityExpressionIsNegatedDerivation" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="equalityExpressionTypeDerivation" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="equalityExpressionLowerDerivation" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="equalityExpressionUpperDerivation" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="noNullArguments" lowerBound="1" 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="false"/>
+ </eAnnotations>
+ </eOperations>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="isNegated" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"
+ volatile="true" transient="true" derived="true">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="derivation" value="self.operator = '!='"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="AssignmentExpression" eSuperTypes="#//Expression">
+ <eOperations name="type" eType="#//ElementReference">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="&#xA; if self.isSimple then self.rightHandSide.type&#xA; else self.leftHandSide.type&#xA; endif"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="upper" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBigInteger">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="self.rightHandSide.upper"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="lower" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBigInteger">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="&#xA; if self.isSimple then self.rightHandSide.lower&#xA; else self.leftHandSide.lower&#xA; endif"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="assignmentsBefore" ordered="false" upperBound="-1" eType="#//AssignedSource">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="&#xA; if element = self.leftHandSide then self.rightHandSide.assignmentAfter&#xA; else self.assignmentBefore&#xA; endif"/>
+ </eAnnotations>
+ <eParameters name="element" lowerBound="1" eType="#//SyntaxElement"/>
+ </eOperations>
+ <eOperations name="assignmentExpressionIsSimpleDerivation" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="assignmentExpressionIsArithmeticDerivation" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="assignmentExpressionIsDefinitionDerivation" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="assignmentExpressionIsFeatureDerivation" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="assignmentExpressionIsIndexedDerivation" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="assignmentExpressionIsDataValueUpdateDerivation" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="assignmentExpressionAssignmentDerivation" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="assignmentExpressionFeatureDerivation" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="assignmentExpressionExpressionDerivation" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="assignmentExpressionTypeDerivation" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="assignmentExpressionUpperDerivation" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="assignmentExpressionLowerDerivation" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="assignmentExpressionSimpleAssignmentTypeConformance" 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="&#xA; (self.isSimple and not self.isDefinition) implies&#xA; self.leftHandSide.isTypeConformantWith(self.rightHandSide)"/>
+ </eAnnotations>
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="assignmentExpressionSimpleAssignmentMultiplicityConformance"
+ 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="&#xA; (self.isSimple and not self.isDefinition) implies&#xA; self.leftHandSide.isMultiplicityConformantWith(self.rightHandSide)"/>
+ </eAnnotations>
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="assignmentExpressionCompoundAssignmentTypeConformance" 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="&#xA; not self.isSimple implies&#xA; let lhsType = self.leftHandSide.type in&#xA; let rhsType = self.rightHandSide.type in&#xA; lhsType &lt;> null and rhsType &lt;> null and&#xA; (self.isArithmetic and &#xA; self.isIntegerType(lhsType) and self.isIntegerType(rhsType) or&#xA; self.isLogical and&#xA; (self.isBooleanType(lhsType) and self.isBooleanType(rhsType) or&#xA; self.isBitStringType(lhsType) and &#xA; (self.isBitStringType(rhsType) or self.isIntegerType(rhsType))&#xA; ) or&#xA; self.isShift and&#xA; self.isBitStringType(lhsType) and self.isIntegerType(rhsType) or&#xA; self.isConcatenation and&#xA; self.isStringType(lhsType) and self.isStringType(rhsType)&#xA; )"/>
+ </eAnnotations>
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="assignmentExpressionCompoundAssignmentMultiplicityConformance"
+ 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="(not self.isSimple) implies &#xA; (self.leftHandSide.upper = 1 and self.rightHandSide.upper = 1)"/>
+ </eAnnotations>
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="assignmentExpressionAssignmentsBefore" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="assignmentExpressionIsCollectionConversionDerivation" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="assignmentExpressionIsBitStringConversionDerivation" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="assignmentExpressionDataValueUpdateLegality" 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="&#xA; let feature = self.leftHandSide.feature() in&#xA; feature &lt;> null implies&#xA; let type = feature.expression.type in&#xA; (type &lt;> null and type.isDataType()) implies&#xA; self.isDataValueUpdate"/>
+ </eAnnotations>
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="updateAssignments" ordered="false" upperBound="-1" eType="#//AssignedSource">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="&#xA; let assignment = self.assignment in&#xA; if assignment = null then self.leftHandSide.assignmentAfter&#xA; else assignment.update(self.leftHandSide.assignmentAfter)&#xA; endif"/>
+ </eAnnotations>
+ </eOperations>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="operator" lowerBound="1"
+ eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="leftHandSide" lowerBound="1"
+ eType="#//LeftHandSide" containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="rightHandSide" lowerBound="1"
+ eType="#//Expression" containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="assignment" eType="#//AssignedSource"
+ volatile="true" transient="true" derived="true">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="derivation" value="&#xA; let name = self.leftHandSide.assignedName() in&#xA; if name = null then null&#xA; else if self.isDefinition then&#xA; AssignedSource{&#xA; name = name,&#xA; source = self,&#xA; type = self.rightHandSide.type,&#xA; lower = 0,&#xA; upper = if self.rightHandSide.upper = 1 then 1 else -1 endif&#xA; }&#xA; else&#xA; let assignments = self.assignmentBefore->select(a | a.name = name) in&#xA; if assignments->isEmpty() then null&#xA; else&#xA; let oldAssignment = assignments->any(true) in&#xA; AssignedSource{&#xA; name = name,&#xA; source = self,&#xA; type = oldAssignment.type,&#xA; lower = oldAssignment.lower,&#xA; upper = oldAssignment.upper&#xA; }&#xA; endif&#xA; endif endif"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="feature" eType="#//ElementReference"
+ volatile="true" transient="true" derived="true">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="derivation" value="&#xA; let feature = self.leftHandSide.feature() in&#xA; if feature = null then null&#xA; else&#xA; let referents = feature.referent in&#xA; if referents->isEmpty() then null&#xA; else referents->any(true)&#xA; endif&#xA; endif"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="isIndexed" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"
+ volatile="true" transient="true" derived="true">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="derivation" value="self.leftHandSide.index() &lt;> null"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="isArithmetic" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"
+ volatile="true" transient="true" derived="true">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="derivation" value="Set{'+=', '-=', '*=', '/=', '%='}->includes(self.operator)"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="isLogical" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"
+ volatile="true" transient="true" derived="true">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="derivation" value="Set{'&amp;=', '|=', '^='}->includes(self.operator)"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="isShift" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"
+ volatile="true" transient="true" derived="true">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="derivation" value="Set{'&lt;&lt;=', '>>=', '>>>='}->includes(self.operator)"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="isConcatenation" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"
+ volatile="true" transient="true" derived="true">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="derivation" value="self.operator = '+='"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="isDefinition" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"
+ volatile="true" transient="true" derived="true">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="derivation" value="self.isSimple and not self.isIndexed and &#xA; self.leftHandSide.referent = null and self.leftHandSide.localName() &lt;> null"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="isSimple" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"
+ volatile="true" transient="true" derived="true">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="derivation" value="self.operator = '='"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="expression" eType="#//Expression"
+ volatile="true" transient="true" derived="true">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="derivation" value="self.leftHandSide.expression()"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="isFeature" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"
+ volatile="true" transient="true" derived="true"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="isDataValueUpdate" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"
+ volatile="true" transient="true" derived="true">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="derivation" value="self.leftHandSide.isDataValueUpdate()"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="isCollectionConversion"
+ eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean" volatile="true"
+ transient="true" derived="true">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="derivation" value="&#xA; let lhsType = self.leftHandSide.type in&#xA; let rhsType = self.rightHandSide.type in&#xA; lhsType &lt;> null and rhsType &lt;> null and&#xA; not self.isCollectionClass(lhsType) and&#xA; self.isCollectionClass(rhsType) and &#xA; self.rightHandSide.upper = 1"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <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://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="derivation" value="&#xA; let lhsType = self.leftHandSide.type in&#xA; let rhsType = self.type in -- Note: This works for both simple and compound assignments.assignment.&#xA; rhsType &lt;> null and lhsType &lt;> null and&#xA; (self.isIntegerType(rhsType) or&#xA; self.isCollectionConversion and self.isIntegerCollectionClass(rhsType)&#xA; )"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="LogicalExpression" eSuperTypes="#//BinaryExpression">
+ <eOperations name="type" eType="#//ElementReference">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="&#xA; if self.isBitWise then self.bitStringType()&#xA; else self.booleanType()&#xA; endif"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="lower" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBigInteger">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="&#xA; if self.operand1.lower = 0 or self.operand2.lower = 0 then 0 else 1 endif"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="upper" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBigInteger">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="1"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="logicalExpressionTypeDerivation" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="logicalExpressionLowerDerivation" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="logicalExpressionUpperDerivation" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="logicalExpressionOperands" 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="&#xA; let type1 = self.operand1.type in&#xA; let type2 = self.operand2.type in&#xA; self.isBooleanType(type1) and self.isBooleanType(type2) or&#xA; (self.isIntegerType(type1) or self.isBitStringType(type1)) and&#xA; (self.isIntegerType(type2) or self.isBitStringType(type2))"/>
+ </eAnnotations>
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="logicalExpressionIsBitStringConversion1Derivation" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="logicalExpressionIsBitStringConversion2Derivation" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="logicalExpressionIsBitWiseDerivation" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="isBitWise" 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="SequenceConstructionExpression"/>
+ </eAnnotations>
+ <eAnnotations source="http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeRoleName">
+ <details key="body" value="SequenceConstructionExpression"/>
+ </eAnnotations>
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="derivation" value="not self.isBooleanType(self.operand1.type)"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="isBitStringConversion1"
+ eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean" volatile="true"
+ transient="true" derived="true">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="derivation" value="self.isIntegerType(self.operand1.type)"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="isBitStringConversion2"
+ 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="SequenceConstructionExpression"/>
+ </eAnnotations>
+ <eAnnotations source="http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeRoleName">
+ <details key="body" value="SequenceConstructionExpression"/>
+ </eAnnotations>
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="derivation" value="self.isIntegerType(self.operand2.type)"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="SequenceConstructionExpression" eSuperTypes="#//Expression">
+ <eOperations name="collectionType" eType="#//ElementReference">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="&#xA; let expression = self.enclosingExpression() in&#xA; if expression = null or &#xA; not expression.oclIsKindOf(SequenceConstructionExpression) then &#xA; null&#xA; else&#xA; let sequenceExpression = &#xA; expression.oclAsType(SequenceConstructionExpression) &#xA; in&#xA; if sequenceExpression.hasMultiplicity then null&#xA; else sequenceExpression.type&#xA; endif&#xA; endif"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="type" eType="#//ElementReference">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="&#xA; if self.typeName &lt;> null then&#xA; let referents = self.typeName.referent->select(isClassifier()) in&#xA; if referents->size() &lt;> 1 then null&#xA; else referents->any(true)&#xA; endif&#xA; else&#xA; let collectionType = self.collectionType() in&#xA; if collectionType = null then null&#xA; else collectionType.collectionArgument()&#xA; endif&#xA; endif"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="upper" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBigInteger">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="&#xA; if not self.hasMultiplicity then 1&#xA; else if self.elements = null then 0 &#xA; else self.elements.upper&#xA; endif endif"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="lower" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBigInteger">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="&#xA; if not self.hasMultiplicity then 1&#xA; else if self.elements = null then 0 &#xA; else self.elements.lower&#xA; endif endif"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="sequenceConstructionExpressionTypeDerivation" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="sequenceConstructionExpressionUpperDerivation" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="sequenceConstructionExpressionLowerDerivation" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="sequenceConstructionExpressionType" 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="&#xA; (self.typeName &lt;> null implies self.type &lt;> null) and&#xA; (not self.hasMultiplicity implies &#xA; self.type &lt;> null and self.isCollectionClass(self.type)&#xA; )"/>
+ </eAnnotations>
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="sequenceConstructionExpressionElementType" 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="&#xA; self.elements &lt;> null implies &#xA; let type =&#xA; if self.hasMultiplicity or self.type = null then self.type&#xA; else self.type.collectionArgument() &#xA; endif&#xA; in&#xA; self.elements.conformsTo(type)"/>
+ </eAnnotations>
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="sequenceConstructionExpressionAssignmentsBefore" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="updateAssignments" ordered="false" upperBound="-1" eType="#//AssignedSource">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="&#xA; if self.elements = null then self.assignmentBefore&#xA; else self.elements.assignmentsAfter()&#xA; endif"/>
+ </eAnnotations>
+ </eOperations>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="elements" eType="#//SequenceElements"
+ containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="hasMultiplicity" lowerBound="1"
+ eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean" defaultValueLiteral="false"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="typeName" eType="#//QualifiedName"
+ containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="isAny" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="SequenceElements" abstract="true" eSuperTypes="#//SyntaxElement">
+ <eOperations name="conformsTo" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eParameters name="type" eType="#//ElementReference"/>
+ </eOperations>
+ <eOperations name="assignmentsAfter" ordered="false" upperBound="-1" eType="#//AssignedSource"/>
+ <eOperations name="upper" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBigInteger"/>
+ <eOperations name="lower" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBigInteger"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="upper" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBigInteger"
+ volatile="true" transient="true" derived="true">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="derivation" value="self.upper()"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="lower" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBigInteger"
+ volatile="true" transient="true" derived="true">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="derivation" value="self.lower()"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="CollectOrIterateExpression" eSuperTypes="#//SequenceExpansionExpression">
+ <eOperations name="collectOrIterateExpressionTypeDerivation" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="collectOrIterateExpressionLowerDerivation" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="collectOrIterateExpressionUpperDerivation" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="IsUniqueExpression" eSuperTypes="#//SequenceExpansionExpression">
+ <eOperations name="isUniqueExpressionTypeDerivation" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="isUniqueExpressionLowerDerivation" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="isUniqueExpressionUpperDerivation" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="isUniqueExpressionExpressionArgument" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="ArithmeticExpression" eSuperTypes="#//BinaryExpression">
+ <eOperations name="type" eType="#//ElementReference">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="self.operand1.type"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="lower" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBigInteger">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="&#xA; if self.operand1.lower = 0 or self.operand2.lower = 0 then 0&#xA; else 1&#xA; endif"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="upper" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBigInteger">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="1"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="arithmeticExpressionIsConcatenationDerivation" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="arithmeticExpressionTypeDerivation" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="arithmeticExpressionLowerDerivation" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="arithmeticExpressionUpperDerivation" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="arithmeticExpressionOperandTypes" 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="&#xA; self.isIntegerType(self.operand1.type) and self.isIntegerType(self.operand2.type) or&#xA; self.operator = '+' and self.isStringType(self.operand1.type) and self.isStringType(self.operand2.type)"/>
+ </eAnnotations>
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="isConcatenation" 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="FeatureLeftHandSide"/>
+ </eAnnotations>
+ <eAnnotations source="http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeRoleName">
+ <details key="body" value="FeatureLeftHandSide"/>
+ </eAnnotations>
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="derivation" value="self.isStringType(self.type)"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="FeatureLeftHandSide" eSuperTypes="#//LeftHandSide">
+ <eOperations name="referent" eType="#//ElementReference">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="&#xA; let referents = self.feature().referent->select(isProperty()) in&#xA; if referents->size() &lt;> 1 then null&#xA; else referents->any(true)&#xA; endif"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="feature" eType="#//FeatureReference">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="&#xA; if self.expression.oclIsKindOf(PropertyAccessExpression) then&#xA; self.expression.oclAsType(PropertyAccessExpression).featureReference&#xA; else if self.expression.oclIsKindOf(SequenceAccessExpression) then&#xA; let primary = self.expression.oclAsType(SequenceAccessExpression).primary in&#xA; if primary.oclIsKindOf(PropertyAccessExpression) then&#xA; primary.oclAsType(PropertyAccessExpression).featureReference&#xA; else&#xA; null&#xA; endif&#xA; else&#xA; null&#xA; endif endif"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="index" eType="#//Expression">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="&#xA; if not self.expression.oclIsKindOf(SequenceAccessExpression) then null&#xA; else self.expression.oclAsType(SequenceAccessExpression).index&#xA; endif"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="localName" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="null"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="featureLeftHandSideAssignmentBeforeDerivation" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="featureLeftHandSideAssignmentAfterDerivation" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="featureLeftHandSideFeatureExpression" 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="&#xA; let expression = self.feature().expression in&#xA; let type = expression.type in&#xA; expression.upper = 1 and&#xA; -- Note: The following condition ensures that a data value update will&#xA; -- be to an existing assigned name.&#xA; (type &lt;> null and type.isDataType()) implies self.isDataValueUpdate()"/>
+ </eAnnotations>
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="featureLeftHandSideAssignmentsBefore" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="featureLeftHandSideReferentDerivation" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="featureLeftHandSideTypeDerivation" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="featureLeftHandSideLowerDerivation" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="featureLeftHandSideUpperDerivation" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="featureLeftHandSideReferentConstraint" 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 &lt;> null"/>
+ </eAnnotations>
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="featureLeftHandSideIndexedFeature" 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="&#xA; self.index() &lt;> null implies&#xA; let referent = self.referent in&#xA; referent &lt;> null and referent.isOrdered() and referent.isNonunique()"/>
+ </eAnnotations>
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="expression" lowerBound="1"
+ eType="#//Expression" containment="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="ConditionalTestExpression" eSuperTypes="#//Expression">
+ <eOperations name="type" eType="#//ElementReference">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="self.commonAncestor(Set{self.operand2.type, self.operand3.type})"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="lower" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBigInteger">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="self.operand2.lower.min(self.operand3.lower)"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="upper" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBigInteger">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="&#xA; if self.operand2.upper = -1 or self.operand2.upper = -1 then -1&#xA; else self.operand2.upper.max(self.operand3.upper)&#xA; endif"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="assignmentsBefore" ordered="false" upperBound="-1" eType="#//AssignedSource">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="&#xA; if self.operand2 = element or self.operand3 = element then&#xA; self.operand1.assignmentAfter&#xA; else&#xA; self.assignmentBefore&#xA; endif"/>
+ </eAnnotations>
+ <eParameters name="element" lowerBound="1" eType="#//SyntaxElement"/>
+ </eOperations>
+ <eOperations name="conditionalTestExpressionTypeDerivation" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="conditionalTestExpressionLowerDerivation" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="conditionalTestExpressionUpperDerivation" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="conditionalTestExpressionCondition" 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.isBooleanType(self.operand1.type) and self.operand1.upper = 1"/>
+ </eAnnotations>
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="conditionalTestExpressionAssignmentsBefore" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="conditionalTestExpressionAssignmentsAfter" 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="&#xA; self.operand1.assignmentAfter.name->includesAll(&#xA; self.operand2.assignmentAfter.name->asSet()->&#xA; symmetricDifference(self.operand3.assignmentAfter.name->asSet())&#xA; )"/>
+ </eAnnotations>
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="updateAssignments" ordered="false" upperBound="-1" eType="#//AssignedSource">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="&#xA; let assignments1 = self.operand1.assignmentAfter in&#xA; let assignments2 = self.operand2.newAssignments() in&#xA; let assignments3 = self.operand3.newAssignments() in&#xA; let reassignments = assignments1->&#xA; select(&#xA; assignments2.name->includes(name) or &#xA; assignments3.name->includes(name)&#xA; ).copy(self, null)->asSet() in&#xA; let newAssignments = assignments2->&#xA; select(&#xA; assignments1.name->excludes(name) and&#xA; assignments3.name->includes(name)&#xA; )->collect(assignment |&#xA; let otherAssignment = assignments3->any(name = assignment.name) in&#xA; AssignedSource{&#xA; name = assignment.name,&#xA; source = self,&#xA; type = self.commonAncestor(Set{assignment.type, otherAssignment.type}),&#xA; lower = assignment.lower.min(otherAssignment.lower),&#xA; upper = &#xA; if assignment.upper = -1 or otherAssignment.upper = -1 then -1&#xA; else assignment.upper.max(otherAssignment.upper)&#xA; endif&#xA; }&#xA; )->asSet()&#xA; in&#xA; self.updateAll(assignments1, reassignments->union(newAssignments))"/>
+ </eAnnotations>
+ </eOperations>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="operand1" lowerBound="1"
+ eType="#//Expression" containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="operand2" lowerBound="1"
+ eType="#//Expression" containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="operand3" lowerBound="1"
+ eType="#//Expression" containment="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="InstanceCreationExpression" eSuperTypes="#//InvocationExpression">
+ <eOperations name="referent" eType="#//ElementReference">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="&#xA; if self.constructor = null then null&#xA; else&#xA; let referents = self.constructor.referent in&#xA; let classReferents = referents->select(isClass()) in&#xA; let dataTypeReferents = referents->select(isDataType()) in&#xA; if dataTypeReferents->size() = 1 and classReferents->isEmpty() then&#xA; dataTypeReferents->any(true)&#xA; else if dataTypeReferents->notEmpty() then&#xA; null&#xA; else&#xA; -- TODO: Handle operation overloading.&#xA; let operationReferents =&#xA; if classReferents->size() &lt;> 1 then&#xA; referents->select(isOperation())&#xA; else &#xA; let name = self.constructor.unqualifiedName.toName() in&#xA; classReferents->any(true).ownedMembers()->&#xA; select(name() = name and isOperation())&#xA; endif&#xA; in&#xA; if operationReferents->size() = 1 and&#xA; operationReferents->forAll(isConstructor()) then&#xA; let operationReferent = operationReferents->any(true) in&#xA; let classReferent = operationReferent.namespace() in&#xA; if not classReferent.isAbstractClassifier() then&#xA; operationReferent&#xA; else&#xA; -- Check for an &quot;Impl&quot; package.&#xA; let namespaceReferent = classReferent.namespace() in&#xA; if namespaceReferent = null then null&#xA; else&#xA; let template = classReferent.template() in&#xA; let className = classReferent.name() in&#xA; let operationName = operationReferent.name() in&#xA; let implClassReferent = &#xA; namespaceReferent.ownedMembers()->&#xA; select(name() = 'Impl' and isPackage()).&#xA; ownedMembers()->&#xA; select(name() = className and isClass())&#xA; in&#xA; let boundClassReferent =&#xA; if classReferent.template() = null or&#xA; implClassReferent->exists(not isTemplate()) then &#xA; implClassReferent&#xA; else &#xA; -- TODO: Check that template parameters match.&#xA; implClassReferent.bind(&#xA; classReferent.templateActuals()->asSequence()&#xA; )&#xA; endif&#xA; in&#xA; let implOperationReferent =&#xA; boundClassReferent.ownedMembers()->&#xA; select(name() = operationName and isOperation())&#xA; in&#xA; if implOperationReferent->size() &lt;> 1 then null&#xA; else implOperationReferent->any(true)&#xA; endif&#xA; endif&#xA; endif&#xA; else if classReferents->size() = 1 then&#xA; classReferents->any(true)&#xA; else&#xA; null&#xA; endif endif&#xA; endif endif&#xA; endif"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="feature" lowerBound="1" eType="#//FeatureReference">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="null"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="type" eType="#//ElementReference">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="&#xA; let referent = self.referent in&#xA; if referent &lt;> null and referent.isClassifier() then referent&#xA; else self.InvocationExpression_type()&#xA; endif"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="lower" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBigInteger">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="&#xA; let referent = self.referent in&#xA; if referent &lt;> null and referent.isClassifier() then 1&#xA; else self.InvocationExpression_lower()&#xA; endif"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="upper" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBigInteger">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="&#xA; let referent = self.referent in&#xA; if referent &lt;> null and referent.isClassifier() then 1&#xA; else self.InvocationExpression_upper()&#xA; endif"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="instanceCreationExpressionIsObjectCreationDerivation" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="instanceCreationExpressionIsConstructorlessDerivation" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="instanceCreationExpressionReferentDerivation" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="instanceCreationExpressionFeatureDerivation" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="instanceCreationExpressionConstructor" 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="&#xA; let referent = self.referent in&#xA; referent &lt;> null and&#xA; (referent.isDataType() or referent.isClass() or referent.isOperation())"/>
+ </eAnnotations>
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="instanceCreationExpressionConstructorlessLegality" 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="&#xA; self.isConstructorless implies &#xA; self.tuple.size() = 0 and &#xA; not self.referent.ownedMembers()->exists(isConstructor())"/>
+ </eAnnotations>
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="instanceCreationExpressionDataTypeCompatibility" 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="&#xA; -- TODO: Once overloading resolution is implemented, change this to only&#xA; -- be for data value creation.&#xA; self.tuple.size() &lt;= self.parameterCount() and&#xA; self.tuple.input->forAll(input | self.parameterIsAssignableFrom(input)) and&#xA; self.tuple.output->forAll(output | self.parameterIsAssignableTo(output))"/>
+ </eAnnotations>
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="instanceCreationExpressionReferent" 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="&#xA; let referent = self.referent in&#xA; let classReferent =&#xA; if referent &lt;> null and referent.isOperation() then &#xA; referent.namespace()&#xA; else&#xA; referent&#xA; endif&#xA; in&#xA; referent &lt;> null and not referent.isAbstractClassifier()"/>
+ </eAnnotations>
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="parameterElements" upperBound="-1" eType="#//ElementReference">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="&#xA; if self.isConstructorless then Set(ElementReference){}&#xA; else self.InvocationExpression_parameterElements()&#xA; endif"/>
+ </eAnnotations>
+ </eOperations>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="isConstructorless" 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="PropertyAccessExpression"/>
+ </eAnnotations>
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="derivation" value="&#xA; let referent = self.referent in&#xA; referent &lt;> null and referent.isClass()"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="isObjectCreation" 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="PropertyAccessExpression"/>
+ <details key="unique" value="false"/>
+ <details key="upper" value="*"/>
+ </eAnnotations>
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="derivation" value="&#xA; let referent = self.referent in&#xA; referent = null or not referent.isDataType()"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="constructor" eType="#//QualifiedName"
+ containment="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="PropertyAccessExpression" eSuperTypes="#//Expression">
+ <eOperations name="type" eType="#//ElementReference">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="&#xA; let feature = self.feature in&#xA; if feature = null then null&#xA; else feature.type()&#xA; endif"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="upper" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBigInteger">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="&#xA; let feature = self.feature in&#xA; if feature = null then 0&#xA; else if feature.upper() = -1 or &#xA; self.featureReference.expression.upper = -1 then -1&#xA; else feature.upper() * self.featureReference.expression.upper&#xA; endif endif"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="lower" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBigInteger">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="&#xA; let feature = self.feature in&#xA; if feature = null then 0&#xA; else feature.lower() * self.featureReference.expression.lower&#xA; endif"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="propertyAccessExpressionFeatureDerivation" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="propertyAccessExpressionTypeDerivation" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="propertyAccessExpressionUpperDerivation" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="propertyAccessExpressionLowerDerivation" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="propertyAccessExpressionFeatureResolution" 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.feature &lt;> null"/>
+ </eAnnotations>
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="propertyAccessExpressionAssignmentsBefore" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="updateAssignments" ordered="false" upperBound="-1" eType="#//AssignedSource">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="self.featureReference.expression.assignmentAfter"/>
+ </eAnnotations>
+ </eOperations>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="featureReference" lowerBound="1"
+ eType="#//FeatureReference" containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="feature" eType="#//ElementReference"
+ volatile="true" transient="true" derived="true">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="derivation" value="&#xA; let referents = self.featureReference.referent->select(isProperty()) in&#xA; if referents->size() &lt;> 1 then null&#xA; else referents->any(true)&#xA; endif"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="NameExpression" eSuperTypes="#//Expression">
+ <eOperations name="type" eType="#//ElementReference">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="&#xA; let assignment = self.assignment in&#xA; if assignment &lt;> null then assignment.type&#xA; else&#xA; let enumerationLiteral = self.enumerationLiteral in&#xA; if enumerationLiteral &lt;> null then enumerationLiteral.type()&#xA; else&#xA; let propertyAccess = self.propertyAccess in&#xA; if propertyAccess &lt;> null then propertyAccess.type&#xA; else null&#xA; endif&#xA; endif&#xA; endif"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="upper" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBigInteger">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="&#xA; let assignment = self.assignment in&#xA; if assignment &lt;> null then assignment.upper&#xA; else&#xA; let enumerationLiteral = self.enumerationLiteral in&#xA; if enumerationLiteral &lt;> null then 1&#xA; else&#xA; let propertyAccess = self.propertyAccess in&#xA; if propertyAccess &lt;> null then propertyAccess.upper&#xA; else 0&#xA; endif&#xA; endif&#xA; endif"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="lower" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBigInteger">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="&#xA; let assignment = self.assignment in&#xA; if assignment &lt;> null then assignment.lower&#xA; else&#xA; let enumerationLiteral = self.enumerationLiteral in&#xA; if enumerationLiteral &lt;> null then 1&#xA; else&#xA; let propertyAccess = self.propertyAccess in&#xA; if propertyAccess &lt;> null then propertyAccess.lower&#xA; else 0&#xA; endif&#xA; endif&#xA; endif"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="parameterReferent" eType="#//ElementReference">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="&#xA; let referents = self.name.referent->select(isParameter()) in&#xA; if referents->size() &lt;> 1 then null&#xA; else referents->any(true)&#xA; endif"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="assignmentFor" eType="#//AssignedSource">
+ <eParameters name="localName" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eOperations>
+ <eOperations name="assignmentFor_" eType="#//AssignedSource">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="&#xA; let assignments = self.assignmentBefore->select(name = localName) in&#xA; if assignments->isEmpty() or &#xA; assignments->forAll(isParallelLocalName) and not self.isAddTarget()&#xA; then &#xA; null&#xA; else &#xA; assignments->any(true)&#xA; endif"/>
+ </eAnnotations>
+ <eParameters name="localName" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eOperations>
+ <eOperations name="isAddTarget" lowerBound="1" 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="&#xA; let expression = self.enclosingExpression() in&#xA; if expression = null then false&#xA; else expression.isAddTarget(self)&#xA; endif"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="nameExpressionAssignmentDerivation" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="nameExpressionEnumerationLiteralDerivation" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="nameExpressionPropertyAccessDerivation" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="nameExpressionTypeDerivation" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="nameExpressionUpperDerivation" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="nameExpressionLowerDerivation" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="nameExpressionResolution" 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.validateNameExpressionResolution()"/>
+ </eAnnotations>
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="validateNameExpressionResolution" lowerBound="1" 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="&#xA; self.propertyAccess &lt;> null or &#xA; self.assignment &lt;> null and self.assignment.source &lt;> null or &#xA; self.enumerationLiteral &lt;> null or&#xA; -- NOTE: The following allows the name of a name expression that is an&#xA; -- an argument of an out parameter to be unassigned.&#xA; let owner = &#xA; if self.owner().oclIsKindOf(NamedExpression) then self.owner().owner()&#xA; else self.owner()&#xA; endif&#xA; in&#xA; owner.oclIsKindOf(_'Tuple') and&#xA; owner.oclAsType(_'Tuple').output->exists(&#xA; expression = self and&#xA; owner.oclAsType(_'Tuple').invocation.parameterNamed(name).direction() = 'out'&#xA; )"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="updateAssignments" ordered="false" upperBound="-1" eType="#//AssignedSource">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="&#xA; let propertyAccess = self.propertyAccess in&#xA; if propertyAccess &lt;> null then propertyAccess.assignmentAfter&#xA; else self.Expression_updateAssignments()&#xA; endif"/>
+ </eAnnotations>
+ </eOperations>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="enumerationLiteral" eType="#//ElementReference"
+ volatile="true" transient="true" derived="true">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="derivation" value="&#xA; if self.name.isFeatureReference then null&#xA; else&#xA; let referents = self.name.referent->select(isEnumerationLiteral()) in&#xA; if referents->size() &lt;> 1 then null&#xA; else referents->any(true)&#xA; endif&#xA; endif"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="assignment" eType="#//AssignedSource"
+ volatile="true" transient="true" derived="true">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="derivation" value="&#xA; if self.name.isFeatureReference then null&#xA; else&#xA; let localName = self.name.unqualifiedName.toName() in&#xA; if name.qualification = null then&#xA; self.assignmentFor(localName)&#xA; else&#xA; let parameterReferent = self.parameterReferent() in&#xA; if parameterReferent &lt;> null and &#xA; parameterReferent.namespace().equals(self.currentScope()) then&#xA; self.assignmentFor(localName)&#xA; else&#xA; null&#xA; endif&#xA; endif&#xA; endif"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="propertyAccess" eType="#//PropertyAccessExpression"
+ volatile="true" transient="true" derived="true">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="derivation" value="&#xA; let disambiguation = self.name.disambiguation in&#xA; if disambiguation = null then null&#xA; else&#xA; PropertyAccessExpression{&#xA; featureReference = disambiguation,&#xA; owner = self&#xA; } &#xA; endif"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="name" lowerBound="1" eType="#//QualifiedName"
+ containment="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="BitStringUnaryExpression" eSuperTypes="#//UnaryExpression">
+ <eOperations name="type" eType="#//ElementReference">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="self.bitStringType()"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="lower" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBigInteger">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="self.operand.lower"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="upper" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBigInteger">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="1"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="bitStringUnaryExpressionTypeDerivation" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="bitStringUnaryExpressionLowerDerivation" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="bitStringUnaryExpressionUpperDerivation" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="bitStringUnaryExpressionOperand" 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="&#xA; let operandType = self.operand.type in&#xA; (self.isBitStringType(operandType) or self.isIntegerType(operandType)) and&#xA; self.operand.upper = 1"/>
+ </eAnnotations>
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="bitStringUnaryExpressionIsBitStringConversionDerivation" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <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>
+ </eStructuralFeatures>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="FeatureInvocationExpression" eSuperTypes="#//InvocationExpression">
+ <eOperations name="feature" eType="#//FeatureReference">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="&#xA; if self.target &lt;> null then self.target&#xA; else&#xA; let outerScope = self.currentScope().namespace() in&#xA; if outerScope = null or not outerScope.isClass() then null&#xA; else&#xA; FeatureReference{&#xA; expression = ThisExpression{},&#xA; nameBinding = NameBinding{name = outerScope.name()},&#xA; owner = self&#xA; }&#xA; endif&#xA; endif"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="referent" eType="#//ElementReference">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="&#xA; let feature = self.feature in&#xA; if feature = null then null&#xA; else feature.behavioralFeatureReferent(self)&#xA; endif"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="featureInvocationExpressionReferentDerivation" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="featureInvocationExpressionFeatureDerivation" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="featureInvocationExpressionReferentExists" 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="&#xA; self.isImplicit or&#xA; -- TODO: Remove this check once overloading resolution is implemented.&#xA; self.tuple.size() &lt;= self.parameterCount() and&#xA; self.tuple.input()->forAll(input | self.parameterIsAssignableFrom(input)) and&#xA; self.tuple.output()->forAll(output | self.parameterIsAssignableTo(output))"/>
+ </eAnnotations>
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="featureInvocationExpressionAlternativeConstructor" 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="&#xA; self.alternativeConstructorIsValid()"/>
+ </eAnnotations>
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="featureInvocationExpressionImplicitAlternativeConstructor"
+ 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="&#xA; self.target = null implies&#xA; let referent = self.referent in&#xA; referent &lt;> null and referent.isConstructor()"/>
+ </eAnnotations>
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="target" eType="#//FeatureReference"
+ containment="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="BehaviorInvocationExpression" eSuperTypes="#//InvocationExpression">
+ <eOperations name="isAddTarget" lowerBound="1" 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="&#xA; if self.feature &lt;> null then false&#xA; else&#xA; let collectionFunctionAdd = self.collectionFunctionAdd() in&#xA; if collectionFunctionAdd = null then false&#xA; else&#xA; let parameters = collectionFunctionAdd.parameters() in&#xA; if parameters->isEmpty() then false&#xA; else&#xA; collectionFunctionAdd.containedIn(self.target.referent->asBag()) and&#xA; self.tuple.outputFor(parameters)->exists(&#xA; name = parameters->at(1).name() and&#xA; expression = targetExpression&#xA; )&#xA; endif&#xA; endif&#xA; endif"/>
+ </eAnnotations>
+ <eParameters name="targetExpression" lowerBound="1" eType="#//Expression"/>
+ </eOperations>
+ <eOperations name="referent" eType="#//ElementReference">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="referent1()"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="referent1" eType="#//ElementReference"/>
+ <eOperations name="BehaviorInvocation_referent" eType="#//ElementReference">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="&#xA; let feature = self.feature() in&#xA; if feature &lt;> null then feature.behavioralFeatureReferent(self)&#xA; else&#xA; let referents = self.target.referent in&#xA; if referents->select(isBehavior())->size() = 1 then&#xA; let referent = referents->any(isBehavior()) in&#xA; if referent.isTemplate() then &#xA; self.bindTemplateImplicitArguments(referent, null)&#xA; else referent&#xA; endif&#xA; else if referents->select(isAssociationEnd())->size() = 1 then&#xA; referents->any(isAssociationEnd())&#xA; else&#xA; null&#xA; endif endif&#xA; endif"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="feature" eType="#//FeatureReference">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="self.target.disambiguation"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="behaviorInvocationExpressionReferentDerivation" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="behaviorInvocationExpressionFeatureDerivation" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </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="&#xA; self.isImplicit or &#xA; let referent = self.referent in&#xA; referent &lt;> null and &#xA; -- NOTE: This check prevents the invocation from disambiguating to an &#xA; -- illegal constructor invocation.&#xA; not referent.isConstructor()"/>
+ </eAnnotations>
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="behaviorInvocationExpressionArgumentCompatibility" 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="&#xA; -- TODO: Handle overloading for feature invocations.&#xA; self.tuple.size() &lt;= self.parameterCount() and&#xA; self.tuple.input->forAll(input | self.parameterIsAssignableFrom(input)) and&#xA; self.tuple.output->forAll(output | self.parameterIsAssignableTo(output))"/>
+ </eAnnotations>
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="behaviorInvocationExpressionAlternativeConstructor" 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="&#xA; self.alternativeConstructorIsValid()"/>
+ </eAnnotations>
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="target" lowerBound="1"
+ eType="#//QualifiedName" containment="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="ShiftExpression" eSuperTypes="#//BinaryExpression">
+ <eOperations name="type" eType="#//ElementReference">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="self.bitStringType()"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="lower" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBigInteger">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="&#xA; if self.operand1.lower = 0 or self.operand2.lower = 0 then 0&#xA; else 1&#xA; endif"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="upper" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBigInteger">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="1"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="shiftExpressionTypeDerivation" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="shiftExpressionLowerDerivation" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="shiftExpressionUpperDerivation" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="shiftExpressionOperands" 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="&#xA; let type1 = self.operand1.type in&#xA; let type2 = self.operand2.type in&#xA; (self.isBitStringType(type1) or self.isIntegerType(type1)) and self.isIntegerType(type2)"/>
+ </eAnnotations>
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="shiftExpressionIsBitStringConversionDerivation" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <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://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="derivation" value="self.isIntegerType(self.operand1.type)"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="UnboundedLiteralExpression" eSuperTypes="#//LiteralExpression">
+ <eOperations name="type" eType="#//ElementReference">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="self.unlimitedNaturalType()"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="unboundedLiteralExpressionTypeDerivation" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="ThisExpression" eSuperTypes="#//Expression">
+ <eOperations name="type" eType="#//ElementReference">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="&#xA; let context = self.currentScope() in&#xA; if context = null then &#xA; null&#xA; else if context.isOperation() or context.isMethod() then&#xA; context.namespace()&#xA; else if context.isBehavior() then&#xA; let activeClass = context.activeClass() in&#xA; if activeClass = null then context else activeClass endif&#xA; else if context.isClass() then&#xA; context&#xA; else&#xA; null&#xA; endif endif endif endif"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="upper" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBigInteger">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="1"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="lower" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBigInteger">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="1"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="thisExpressionTypeDerivation" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="thisExpressionUpperDerivation" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="thisExpressionLowerDerivation" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="ClassificationExpression" eSuperTypes="#//UnaryExpression">
+ <eOperations name="type" eType="#//ElementReference">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="self.booleanType()"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="lower" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBigInteger">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="self.operand.lower"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="upper" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBigInteger">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="1"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="classificationExpressionIsDirectDerivation" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="classificationExpressionReferentDerivation" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="classificationExpressionTypeDerivation" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="classificationExpressionLowerDerivation" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="classificationExpressionUpperDerivation" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="classificationExpressionTypeName" 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 &lt;> null and not self.referent.isTemplate()"/>
+ </eAnnotations>
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="classificationExpressionOperand" 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.operand.upper = 1"/>
+ </eAnnotations>
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="referent" eType="#//ElementReference"
+ volatile="true" transient="true" derived="true">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="derivation" value="&#xA; let referents = self.typeName.referent->select(isClassifier()) in&#xA; if referents->size() &lt;> 1 then null&#xA; else referents->any(true)&#xA; endif"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="isDirect" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"
+ volatile="true" transient="true" derived="true">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="derivation" value="self.operator = 'hastype'"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="typeName" lowerBound="1"
+ eType="#//QualifiedName" containment="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="SuperInvocationExpression" eSuperTypes="#//InvocationExpression">
+ <eOperations name="referent" eType="#//ElementReference">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="&#xA; let context = self.currentScope().namespace() in&#xA; if context = null or not context.isClass() then&#xA; null&#xA; else&#xA; let superclasses =&#xA; if target = null or target.qualification = null then&#xA; context.parents()&#xA; else&#xA; target.qualification.referent->select(isClass())&#xA; endif&#xA; in&#xA; if (target = null or target.qualification &lt;> null) and&#xA; superclasses->size() &lt;> 1 then null&#xA; else&#xA; let name =&#xA; if target = null then superclasses->any(true).name()&#xA; else target.unqualifiedName.toName()&#xA; endif&#xA; in&#xA; let referents = superclasses.base().members()->&#xA; select(isOperation() and name() = name) &#xA; in&#xA; -- TODO: Handle overloading resolution.&#xA; if referents->size() &lt;> 1 then&#xA; null&#xA; else&#xA; referents->any(true)&#xA; endif&#xA; endif&#xA; endif"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="feature" eType="#//FeatureReference">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="null"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="context" eType="#//ElementReference">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="&#xA; let currentScope = self.currentScope() in&#xA; if currentScope = null then null&#xA; else if currentScope.isClassifier() and not currentScope.isMethod() and&#xA; not currentScope.isActiveBehavior() then&#xA; currentScope&#xA; else if currentScope.isActiveBehavior() then&#xA; currentScope.activeClass()&#xA; else&#xA; let outerScope = currentScope.namespace() in&#xA; if outerScope = null or not outerScope.isClassifier() then null&#xA; else outerScope&#xA; endif&#xA; endif endif endif"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="superInvocationExpressionReferentDerivation" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="superInvocationExpressionFeatureDerivation" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="superInvocationExpressionQualification" 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="&#xA; self.target = null or&#xA; let qualification = self.target.qualification in&#xA; qualification &lt;> null implies&#xA; let superclass = qualification.referent->select(isClass()) in&#xA; let context = self.context() in&#xA; superclass->size() = 1 and context &lt;> null and&#xA; superclass->forAll(containedIn(context.parents()->asBag()))"/>
+ </eAnnotations>
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="superInvocationExpressionImplicitTarget" 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="&#xA; self.target = null implies&#xA; let referent = self.referent in&#xA; let context = self.context() in&#xA; referent &lt;> null and referent.isConstructor() and&#xA; context &lt;> null and context.parents()->size() = 1"/>
+ </eAnnotations>
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="superInvocationExpressionConstructorCall" 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="&#xA; let referent = self.referent in&#xA; let context = self.context() in&#xA; referent &lt;> null and referent.isConstructor() and context &lt;> null implies&#xA; let operation = self.currentScope().specification() in&#xA; operation.isConstructor() and&#xA; let statement = self.enclosingStatement() in&#xA; statement &lt;> null and statement.oclIsKindOf(ExpressionStatement) and&#xA; let annotatedStatement = statement.owner() in&#xA; let owner = annotatedStatement.owner() in&#xA; owner &lt;> null implies owner.oclIsKindOf(Block) and&#xA; let block = owner.oclAsType(Block) in&#xA; block.enclosingStatement() = null and&#xA; let classReference = referent.namespace() in&#xA; let i = block.statement->indexOf(annotatedStatement) in&#xA; i = 1 or&#xA; block.statement->subOrderedSet(1, i-1).statement->forAll(&#xA; oclIsKindOf(ExpressionStatement) and&#xA; let expression = oclAsType(ExpressionStatement).expression in&#xA; expression.oclIsKindOf(SuperInvocationExpression) and&#xA; -- NOTE: This checks to ensure that no previous&#xA; -- super-constructor invocation is for the same&#xA; -- superclass&#xA; not expression.oclAsType(SuperInvocationExpression).&#xA; referent.namespace().equals(classReference)&#xA; )"/>
+ </eAnnotations>
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="superInvocationExpressionDestructorCall" 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="&#xA; let referent = self.referent in&#xA; referent &lt;> null and referent.isDestructor() implies&#xA; let operation = self.currentScope() in&#xA; operation &lt;> null and operation.isDestructor()"/>
+ </eAnnotations>
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="superInvocationExpressionOperation" 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="&#xA; self.referent &lt;> null and&#xA; -- TODO: Remove this check once overloading resolution is implemented.&#xA; self.tuple.size() &lt;= self.parameterCount() and&#xA; self.tuple.input->forAll(input | self.parameterIsAssignableFrom(input)) and&#xA; self.tuple.output->forAll(output | self.parameterIsAssignableTo(output))"/>
+ </eAnnotations>
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="target" eType="#//QualifiedName"
+ containment="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="IncrementOrDecrementExpression" eSuperTypes="#//Expression">
+ <eOperations name="type" eType="#//ElementReference">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="self.integerType()"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="lower" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBigInteger">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="self.operand.lower"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="upper" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBigInteger">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="1"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="incrementOrDecrementExpressionAssignmentDerivation" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="incrementOrDecrementExpressionIsFeatureDerivation" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="incrementOrDecrementExpressionIsIndexedDerivation" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="incrementOrDecrementExpressionIsDataValueUpdateDerivation"
+ eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="incrementOrDecrementExpressionFeatureDerivation" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="incrementOrDecrementExpressionExpressionDerivation" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="incrementOrDecrementExpressionTypeDerivation" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="incrementOrDecrementExpressionLowerDerivation" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="incrementOrDecrementExpressionUpperDerivation" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="incrementOrDecrementExpressionOperand" 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.isIntegerType(self.operand.type) and self.operand.upper = 1"/>
+ </eAnnotations>
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="incrementOrDecrementExpressionAssignmentsBefore" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="updateAssignments" ordered="false" upperBound="-1" eType="#//AssignedSource">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="&#xA; let assignment = self.assignment in&#xA; if assignment = null then self.operand.assignmentAfter&#xA; else assignment.update(self.operand.assignmentAfter)&#xA; endif"/>
+ </eAnnotations>
+ </eOperations>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="assignment" eType="#//AssignedSource"
+ volatile="true" transient="true" derived="true">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="derivation" value="&#xA; if self.isFeature then null&#xA; else&#xA; let assignments = &#xA; self.assignmentBefore->select(name = self.operand.localName()) in&#xA; if assignments->isEmpty() then null&#xA; else assignments->any(true).copy(self, null)&#xA; endif&#xA; endif"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="operand" lowerBound="1"
+ eType="#//LeftHandSide" containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="expression" eType="#//Expression"
+ volatile="true" transient="true" derived="true">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="derivation" value="self.operand.expression()"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="feature" eType="#//ElementReference"
+ volatile="true" transient="true" derived="true">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="derivation" value="&#xA; if not self.isFeature then null&#xA; else self.operand.referent()&#xA; endif"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="isPrefix" lowerBound="1"
+ eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean" defaultValueLiteral="false"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="isFeature" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"
+ volatile="true" transient="true" derived="true">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="derivation" value="self.operand.feature() &lt;> null"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="isIndexed" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"
+ volatile="true" transient="true" derived="true">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="derivation" value="self.operand.index() &lt;> null"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="isDataValueUpdate" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"
+ volatile="true" transient="true" derived="true">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="derivation" value="self.operand.isDataValueUpdate()"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="operator" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="BooleanLiteralExpression" eSuperTypes="#//LiteralExpression">
+ <eOperations name="type" eType="#//ElementReference">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="self.booleanType()"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="booleanLiteralExpressionTypeDerivation" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="image" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">
+ <eAnnotations source="http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeRoleName">
+ <details key="body" value="NamedTuple"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="NamedTuple" eSuperTypes="#//Tuple">
+ <eOperations name="size" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBigInteger">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="self.namedExpression->size()"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="inputFor" ordered="false" upperBound="-1" eType="#//InputNamedExpression">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="&#xA; parameters->select(&#xA; let direction = direction() in&#xA; direction = 'in' or direction = 'inout' &#xA; )->collect(parameter |&#xA; let parameterName = parameter.name() in&#xA; let arguments = self.namedExpression->select(actualName() = parameterName) in&#xA; if arguments->isEmpty() then&#xA; InputNamedExpression{&#xA; name = parameterName,&#xA; expression = SequenceConstructionExpression{&#xA; hasMultiplicity = true&#xA; },&#xA; owner = self&#xA; }&#xA; else&#xA; let argument : NamedExpression = arguments->any(true) in&#xA; InputNamedExpression{&#xA; name = parameterName,&#xA; expression = argument.expression,&#xA; index = argument.index&#xA; }&#xA; endif&#xA; )->asSet()"/>
+ </eAnnotations>
+ <eParameters name="parameters" upperBound="-1" eType="#//ElementReference"/>
+ </eOperations>
+ <eOperations name="outputFor" ordered="false" upperBound="-1" eType="#//OutputNamedExpression">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="&#xA; parameters->select(parameter |&#xA; let direction = parameter.direction() in&#xA; -- NOTE: This allows missing arguments for out parameters.&#xA; direction = 'out' and &#xA; self.namedExpression->exists(actualName() = parameter.name()) or&#xA; direction = 'inout' &#xA; )->collect(parameter |&#xA; let parameterName = parameter.name() in&#xA; let arguments = self.namedExpression->select(actualName() = parameterName) in&#xA; if arguments->isEmpty() then&#xA; -- NOTE: This will cause an error for a missing argument for&#xA; -- an inout parameter.&#xA; OutputNamedExpression{&#xA; name = parameterName,&#xA; expression = SequenceConstructionExpression{&#xA; hasMultiplicity = true&#xA; },&#xA; owner = self&#xA; }&#xA; else&#xA; let argument : NamedExpression = arguments->any(true) in&#xA; OutputNamedExpression{&#xA; name = parameterName,&#xA; index = argument.index,&#xA; expression = argument.expression,&#xA; owner = self&#xA; }&#xA; endif&#xA; )->asSet()"/>
+ </eAnnotations>
+ <eParameters name="parameters" upperBound="-1" eType="#//ElementReference"/>
+ </eOperations>
+ <eOperations name="namedTupleArgumentNames" 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="&#xA; let names = self.invocation.parameter.name() in&#xA; self.namedExpression->forAll(names->includes(actualName())) and&#xA; self.namedExpression->isUnique(actualName())"/>
+ </eAnnotations>
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="namedExpression" lowerBound="1"
+ upperBound="-1" eType="#//NamedExpression" containment="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="NaturalLiteralExpression" eSuperTypes="#//LiteralExpression">
+ <eOperations name="type" eType="#//ElementReference">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="self.naturalType()"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="naturalLiteralExpressionTypeDerivation" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="image" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">
+ <eAnnotations source="http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeRoleName">
+ <details key="body" value="SequenceRange"/>
+ </eAnnotations>
+ <eAnnotations source="http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeRoleName">
+ <details key="body" value="SequenceRange"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="SequenceRange" eSuperTypes="#//SequenceElements">
+ <eOperations name="conformsTo" lowerBound="1" 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="&#xA; let rangeLowerType = self.rangeLower.type in&#xA; let rangeUpperType = self.rangeUpper.type in&#xA; rangeLowerType &lt;> null and self.isIntegerType(rangeLowerType) and&#xA; rangeUpperType &lt;> null and self.isIntegerType(rangeUpperType)"/>
+ </eAnnotations>
+ <eParameters name="type" eType="#//ElementReference"/>
+ </eOperations>
+ <eOperations name="assignmentsAfter" ordered="false" upperBound="-1" eType="#//AssignedSource">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="&#xA; self.updateAll(&#xA; self.updateAll(&#xA; self.assignmentsBefore(),&#xA; self.rangeLower.assignmentAfter&#xA; ),&#xA; self.rangeUpper.assignmentAfter&#xA; )"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="upper" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBigInteger">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="-1"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="lower" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBigInteger">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="0"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="sequenceRangeLowerDerivation" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="sequenceRangeUpperDerivation" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="sequenceRangeExpressionMultiplicity" 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.rangeLower.upper = 1 and self.rangeUpper.upper = 1"/>
+ </eAnnotations>
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="sequenceRangeAssignments" 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="&#xA; self.rangeLower.newAssignments().name->&#xA; excludesAll(self.rangeUpper.newAssignments().name)"/>
+ </eAnnotations>
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="rangeLower" lowerBound="1"
+ eType="#//Expression" containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="rangeUpper" lowerBound="1"
+ eType="#//Expression" containment="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="NameLeftHandSide" eSuperTypes="#//LeftHandSide">
+ <eOperations name="target" eType="#//QualifiedName">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="self.target"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="index" eType="#//Expression">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="self.index"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="referent" eType="#//ElementReference">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="&#xA; let feature = self.feature() in&#xA; if feature &lt;> null then&#xA; let referents = feature.referent->select(isProperty()) in&#xA; if referents->size() &lt;> 1 then null&#xA; else referents->any(true)&#xA; endif&#xA; else&#xA; let oldAssignment = self.oldAssignment() in&#xA; if oldAssignment = null then null&#xA; else&#xA; let parameterReferent = self.parameterReferent() in&#xA; if parameterReferent &lt;> null then parameterReferent&#xA; else oldAssignment.source.toReference()&#xA; endif &#xA; endif&#xA; endif"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="parameterReferent" eType="#//ElementReference">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="&#xA; let referents = self.target().referent->select(isParameter()) in&#xA; if referents->size() &lt;> 1 then null&#xA; else referents->any(true)&#xA; endif"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="type" eType="#//ElementReference">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="&#xA; let oldAssignment = self.oldAssignment() in&#xA; if oldAssignment = null then self.LeftHandSide_type()&#xA; else oldAssignment.type&#xA; endif"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="upper" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBigInteger">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="&#xA; let oldAssignment = self.oldAssignment() in&#xA; if self.index &lt;> null or oldAssignment = null then &#xA; self.LeftHandSide_upper()&#xA; else oldAssignment.upper&#xA; endif"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="lower" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBigInteger">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="&#xA; let oldAssignment = self.oldAssignment() in&#xA; if self.index &lt;> null or oldAssignment = null then &#xA; self.LeftHandSide_lower()&#xA; else oldAssignment.lower&#xA; endif"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="oldAssignment" eType="#//AssignedSource">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="&#xA; let referents = self.assignmentBefore->select(name = self.localName()) in&#xA; if referents->isEmpty() then null&#xA; else referents->any(true)&#xA; endif"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="feature" eType="#//FeatureReference">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="self.target().disambiguation"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="localName" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="&#xA; if self.feature() &lt;> null then null&#xA; else self.target().unqualifiedName.toName()&#xA; endif"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="nameLeftHandSideAssignmentAfterDerivation" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="nameLeftHandSideTargetAssignment" 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="&#xA; let referent = self.referent in&#xA; if referent = null then true&#xA; else if referent.isParameter() then&#xA; referent.direction() &lt;> 'in'&#xA; else if referent.isProperty() then&#xA; let expression = self.feature().expression in&#xA; -- This condition ensures that there will be an assigned name&#xA; -- for an assignment to an attribute of a data type.&#xA; expression.type.isDataType() implies self.isDataValueUpdate()&#xA; else&#xA; not (referent.isLoopVariable() or&#xA; referent.isAnnotation() or&#xA; referent.isSequenceExpansionExpression()&#xA; )&#xA; endif endif endif"/>
+ </eAnnotations>
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="nameLeftHandSideAssignmentsBefore" 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.index &lt;> null implies &#xA; (self.feature() &lt;> null or self.oldAssignment() &lt;> null)"/>
+ </eAnnotations>
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="nameLeftHandSideReferentDerivation" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="nameLeftHandSideLowerDerivation" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="nameLeftHandSideUpperDerivation" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="nameLeftHandSideTypeDerivation" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="nameLeftHandSideTargetResolution" 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="&#xA; self.target().qualification &lt;> null implies&#xA; let referent = self.referent in&#xA; referent &lt;> null and referent.isParameter() or&#xA; let feature = self.feature() in&#xA; feature &lt;> null and &#xA; -- TODO: This should be a separate constraint.&#xA; feature.expression.upper = 1"/>
+ </eAnnotations>
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="nameLeftHandSideIndexedFeature" 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="&#xA; self.index() &lt;> null implies&#xA; let referent = self.referent in&#xA; referent &lt;> null and referent.isFeature() implies&#xA; referent.isOrdered() and referent.isNonunique()"/>
+ </eAnnotations>
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="nameLeftHandSideNontemplateTarget" 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.target.templateName = null"/>
+ </eAnnotations>
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="target" eType="#//QualifiedName"
+ containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="index" eType="#//Expression"
+ containment="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="EffectiveLeftHandSide" eSuperTypes="#//NameLeftHandSide">
+ <eOperations name="target" eType="#//QualifiedName">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="&#xA; let expression = self.primary() in&#xA; if expression.oclIsKindOf(NameExpression) then&#xA; expression.oclAsType(NameExpression).name&#xA; else&#xA; null&#xA; endif"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="index" eType="#//Expression">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="&#xA; if self.expression.oclIsKindOf(SequenceAccessExpression) then&#xA; self.expression.oclAsType(SequenceAccessExpression).index&#xA; else&#xA; null&#xA; endif"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="feature" eType="#//FeatureReference">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="&#xA; let primary = self.primary() in&#xA; if expression.oclIsKindOf(NameExpression) then&#xA; expression.oclAsType(NameExpression).name.disambiguation&#xA; else if expression.oclIsKindOf(PropertyAccessExpression) then&#xA; expression.oclAsType(PropertyAccessExpression).featureReference&#xA; else&#xA; null&#xA; endif endif"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="primary" lowerBound="1" eType="#//Expression">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="&#xA; if self.expression.oclIsKindOf(SequenceAccessExpression) then&#xA; self.expression.oclAsType(SequenceAccessExpression).primary&#xA; else&#xA; expression&#xA; endif"/>
+ </eAnnotations>
+ </eOperations>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="expression" lowerBound="1"
+ eType="#//Expression"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="SequenceReductionExpression" eSuperTypes="#//Expression">
+ <eOperations name="type" eType="#//ElementReference">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="self.primary.expression.type"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="upper" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBigInteger">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="1"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="lower" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBigInteger">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="1"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="sequenceReductionExpressionReferentDerivation" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="sequenceReductionExpressionTypeDerivation" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="sequenceReductionExpressionUpperDerivation" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="sequenceReductionExpressionLowerDerivation" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="sequenceReductionExpressionBehavior" 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="&#xA; let referent = self.referent in&#xA; referent &lt;> null and not referent.isTemplate()"/>
+ </eAnnotations>
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="sequenceReductionExpressionBehaviorParameters" 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="&#xA; referent &lt;> null implies&#xA; let parameters = referent.parameters() in&#xA; let returnParameter = referent.returnParameter() in&#xA; let type = self.type in&#xA; parameters->size() = 2 and returnParameter &lt;> null and&#xA; parameters->forAll(direction() = 'in') and&#xA; parameters->including(returnParameter)->forAll(&#xA; lower() = 1 and upper() = 1 and&#xA; let parameterType = type() in&#xA; parameterType = null and type = null or&#xA; parameterType &lt;> null and parameterType.equals(type) &#xA; )"/>
+ </eAnnotations>
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="sequenceReductionExpressionAssignmentsBefore" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="updateAssignments" ordered="false" upperBound="-1" eType="#//AssignedSource">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="self.primary.expression.assignmentAfter"/>
+ </eAnnotations>
+ </eOperations>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="referent" eType="#//ElementReference"
+ volatile="true" transient="true" derived="true">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="derivation" value="&#xA; let referents = self.behaviorName.referent->select(isBehavior()) in&#xA; if referents->size() &lt;> 1 then null&#xA; else referents->any(true)&#xA; endif"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="isOrdered" lowerBound="1"
+ eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean" defaultValueLiteral="false"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="primary" lowerBound="1"
+ eType="#//ExtentOrExpression" containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="behaviorName" lowerBound="1"
+ eType="#//QualifiedName" containment="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="SequenceExpressionList" eSuperTypes="#//SequenceElements">
+ <eOperations name="conformsTo" lowerBound="1" 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="&#xA; self.element->forAll(element |&#xA; let elementType = element.type in&#xA; element.upper &lt;= 1 and &#xA; (type = null or elementType &lt;> null and&#xA; (elementType.conformsTo(type) or&#xA; self.isIntegerType(elementType) and self.isBitStringType(type)&#xA; )&#xA; )&#xA; )"/>
+ </eAnnotations>
+ <eParameters name="type" eType="#//ElementReference"/>
+ </eOperations>
+ <eOperations name="assignmentsBefore" ordered="false" upperBound="-1" eType="#//AssignedSource">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="&#xA; if not self.element->includes(element) or &#xA; self.element->first() = element then&#xA; self.assignmentsBefore()&#xA; else&#xA; let i = self.element->indexOf(element) in&#xA; self.element->at(i-1).assignmentAfter&#xA; endif"/>
+ </eAnnotations>
+ <eParameters name="element" lowerBound="1" eType="#//SyntaxElement"/>
+ </eOperations>
+ <eOperations name="assignmentsAfter" ordered="false" upperBound="-1" eType="#//AssignedSource">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="self.element->last().assignmentAfter"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="lower" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBigInteger">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="self.element.lower->sum()"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="upper" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBigInteger">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="&#xA; let lowerBounds = self.element.lower in&#xA; if lowerBounds->includes(-1) then -1&#xA; else lowerBounds->sum()&#xA; endif"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="sequenceExpressionListLowerDerivation" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="sequenceExpressionListUpperDerivation" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="element" lowerBound="1"
+ upperBound="-1" eType="#//Expression" containment="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="RelationalExpression" eSuperTypes="#//BinaryExpression">
+ <eOperations name="type" eType="#//ElementReference">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="self.booleanType()"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="lower" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBigInteger">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="&#xA; if self.operand1.lower = 0 or self.operand2.lower = 0 then 0&#xA; else 1&#xA; endif"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="upper" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBigInteger">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="1"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="relationalExpressionIsUnlimitedNaturalDerivation" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="relationalExpressionTypeDerivation" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="relationalExpressionLowerDerivation" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="relationalExpressionUpperDerivation" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="relationalExpressionOperandTypes" 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="&#xA; let type1 = self.operand1.type in&#xA; let type2 = self.operand2.type in&#xA; self.isNaturalType(type1) and self.isNumericType(type2) or&#xA; self.isIntegerType(type1) and self.isIntegerType(type2) or&#xA; self.isUnlimitedNaturalType(type1) and self.isUnlimitedNaturalType(type2)"/>
+ </eAnnotations>
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="isUnlimitedNatural" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"
+ volatile="true" transient="true" derived="true">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="derivation" value="self.isUnlimitedNaturalType(self.operand1.type) or self.isUnlimitedNaturalType(self.operand2.type)"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="LocalNameDeclarationStatement" eSuperTypes="#//Statement">
+ <eOperations name="actualName" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="NameBinding{name = self.name}.toName()"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="assignmentsAfter" ordered="false" upperBound="-1" eType="#//AssignedSource">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="&#xA; AssignedSource{&#xA; name = self.actualName(),&#xA; source = self,&#xA; type = self.type,&#xA; lower = 0,&#xA; upper = if self.hasMultiplicity then -1 else 1 endif&#xA; }.update(self.expression.assignmentAfter)"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="localNameDeclarationStatementAssignmentsBefore" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="localNameDeclarationStatementType" 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="&#xA; self.typeName &lt;> null implies &#xA; self.type &lt;> null and not self.type.isTemplate()&#xA; and AssignableLocalNameDeclaration{localNameDeclaration = self}.&#xA; isAssignableFrom(self.expression)"/>
+ </eAnnotations>
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="localNameDeclarationStatementLocalName" 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="&#xA; not self.expression.assignmentBefore->exists(a | a.name = self.actualName()) and&#xA; not self.expression.assignmentAfter->exists(a | a.name = self.actualName())"/>
+ </eAnnotations>
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="localNameDeclarationStatementAssignmentsAfter" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="localNameDeclarationStatementExpressionMultiplicity" 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="(not self.hasMultiplicity) implies self.expression.upper &lt;=1"/>
+ </eAnnotations>
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="localNameDeclarationStatementTypeDerivation" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="typeCached" eType="#//ElementReference"/>
+ <eOperations name="type" eType="#//ElementReference">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="&#xA; if self.typeName = null then null&#xA; else &#xA; let referent = self.typeName.referent->select(isClassifier()) in&#xA; if referent->size() &lt;> 1 then null&#xA; else self.typeName.referent->any(true)&#xA; endif&#xA; endif"/>
+ </eAnnotations>
+ </eOperations>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">
+ <eAnnotations source="http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeRoleName">
+ <details key="body" value="AssignableLocalNameDeclaration"/>
+ <details key="unique" value="false"/>
+ <details key="upper" value="*"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="expression" lowerBound="1"
+ eType="#//Expression" containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="hasMultiplicity" lowerBound="1"
+ eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean" defaultValueLiteral="false"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="typeName" eType="#//QualifiedName"
+ containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="type" eType="#//ElementReference"
+ volatile="true" transient="true" derived="true">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="derivation" value="self.typeCached()"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="isAny" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="AssignableLocalNameDeclaration" eSuperTypes="#//AssignableElement">
+ <eOperations name="type" eType="#//ElementReference">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="self.localNameDeclaration.type"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="lower" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBigInteger">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="0"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="upper" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBigInteger">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="if self.localNameDeclaration.hasMultiplicity then -1 else 1 endif"/>
+ </eAnnotations>
+ </eOperations>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="localNameDeclaration" lowerBound="1"
+ eType="#//LocalNameDeclarationStatement"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="Statement" abstract="true" eSuperTypes="#//SyntaxElement">
+ <eOperations name="enclosingLoopStatement" eType="#//Statement">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="let enclosingStatement = self.enclosingStatement() in&#xA; if enclosingStatement = null then null&#xA; else enclosingStatement.enclosingLoopStatement()&#xA; endif"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="annotationAllowed" lowerBound="1" 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.Statement_annotationAllowed(annotation)"/>
+ </eAnnotations>
+ <eParameters name="annotation" lowerBound="1" eType="#//Annotation"/>
+ </eOperations>
+ <eOperations name="Statement_annotationAllowed" lowerBound="1" 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="annotation.identifier = 'isolated' and annotation.argument->isEmpty()"/>
+ </eAnnotations>
+ <eParameters name="annotation" lowerBound="1" eType="#//Annotation"/>
+ </eOperations>
+ <eOperations name="annotation" ordered="false" upperBound="-1" eType="#//Annotation">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="&#xA; let container = self.oclContainer() in&#xA; if container = null or not container.oclIsKindOf(AnnotatedStatement) then&#xA; Set(Annotation){}&#xA; else&#xA; container.oclAsType(AnnotatedStatement).annotations()->collect(a |&#xA; Annotation{text = a}->asSet()&#xA; )->asSet()&#xA; endif"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="hasAnnotation" lowerBound="1" 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.annotation()->exists(identifier = name)"/>
+ </eAnnotations>
+ <eParameters name="name" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eOperations>
+ <eOperations name="newAssignments" ordered="false" upperBound="-1" eType="#//AssignedSource">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="&#xA; let assignmentsBefore = self.assignmentBefore in&#xA; self.assignmentAfter->select(isNew(assignmentsBefore))"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="resolve" eType="#//SyntaxElement">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="&#xA; let assignment = self.assignmentBefore->select(a | a.name = name) in&#xA; if assignment->isEmpty() then null&#xA; else assignment->any(true).source&#xA; endif"/>
+ </eAnnotations>
+ <eParameters name="name" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eOperations>
+ <eOperations name="assignmentsAfter" ordered="false" upperBound="-1" eType="#//AssignedSource">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="self.Statement_assignmentsAfter()"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="Statement_assignmentsAfter" ordered="false" upperBound="-1"
+ eType="#//AssignedSource">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="self.assignmentBefore"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="assignmentsAfterCached" ordered="false" upperBound="-1" eType="#//AssignedSource"/>
+ <eOperations name="mergeAssignments" ordered="false" upperBound="-1" eType="#//AssignedSource">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="&#xA; let newAssignments : Set(AssignedSource) = blocks->collect(b | &#xA; if b = null then Set(AssignedSource){}&#xA; else b.assignmentAfter->select(isNew(b.assignmentBefore))&#xA; endif&#xA; ) in&#xA; newAssignments.name->asSet()->collect(n | &#xA; self.merge(n, newAssignments->select(name = n))&#xA; )->asSet()"/>
+ </eAnnotations>
+ <eParameters name="blocks" ordered="false" unique="false" upperBound="-1" eType="#//Block"/>
+ </eOperations>
+ <eOperations name="merge" lowerBound="1" eType="#//AssignedSource">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="&#xA; AssignedSource{&#xA; name = name,&#xA; source = self,&#xA; type = self.commonAncestor(assignments.type->asSet()),&#xA; lower = assignments.lower->min(),&#xA; upper = &#xA; if assignments.upper->exists(n | n = -1) then -1&#xA; else assignments.upper->max()&#xA; endif&#xA; }"/>
+ </eAnnotations>
+ <eParameters name="name" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ <eParameters name="assignments" ordered="false" upperBound="-1" eType="#//AssignedSource"/>
+ </eOperations>
+ <eOperations name="statementAnnotationsAllowed" 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.annotation()->forAll(a | self.annotationAllowed(a))"/>
+ </eAnnotations>
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="statementUniqueAssignments" 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.assignmentBefore->isUnique(name) and self.assignmentAfter->isUnique(name)"/>
+ </eAnnotations>
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="statementIsIsolatedDerivation" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="assignmentBefore" ordered="false"
+ upperBound="-1" eType="#//AssignedSource" volatile="true" transient="true"
+ derived="true">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="derivation" value="self.assignmentsBefore()"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="assignmentAfter" ordered="false"
+ upperBound="-1" eType="#//AssignedSource" volatile="true" transient="true"
+ derived="true">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="derivation" value="self.assignmentsAfterCached()"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="enclosingStatement" eType="#//Statement"
+ volatile="true" transient="true" derived="true">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="derivation" value="self.enclosingStatement()"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="isIsolated" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"
+ volatile="true" transient="true" derived="true">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="derivation" value="self.hasAnnotation('isolated')"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="Annotation" eSuperTypes="#//SyntaxElement">
+ <eOperations name="identifier" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ <eOperations name="arguments" ordered="false" upperBound="-1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="text" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="identifier" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"
+ volatile="true" transient="true" derived="true">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="derivation" value="self.identifier()"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="argument" ordered="false"
+ upperBound="-1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"
+ volatile="true" transient="true" derived="true">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="derivation" value="self.arguments()->collect(n | NameBinding{name = n}.toName())->asSet()"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="QualifiedNameList" eSuperTypes="#//SyntaxElement">
+ <eOperations name="currentScope" eType="#//ElementReference">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="&#xA; let owner = self.owner() in&#xA; if owner.oclIsKindOf(ClassifierDefinition) then&#xA; owner.oclAsType(ClassifierDefinition).outerScope()&#xA; else if owner.oclIsKindOf(OperationDefinition) then&#xA; owner.oclAsType(OperationDefinition).containingMember().namespace.outerScope()&#xA; else&#xA; self.SyntaxElement_currentScope()&#xA; endif endif"/>
+ </eAnnotations>
+ </eOperations>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="name" ordered="false" lowerBound="1"
+ upperBound="-1" eType="#//QualifiedName" containment="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="NonFinalClause" eSuperTypes="#//SyntaxElement">
+ <eOperations name="assignmentsBefore" ordered="false" upperBound="-1" eType="#//AssignedSource">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="&#xA; if element = self.body then self.condition.assignmentAfter&#xA; else self.assignmentsBefore()&#xA; endif"/>
+ </eAnnotations>
+ <eParameters name="element" lowerBound="1" eType="#//SyntaxElement"/>
+ </eOperations>
+ <eOperations name="assignmentsBefore" ordered="false" upperBound="-1" eType="#//AssignedSource">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="self.SyntaxElement_assignmentsBefore()"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="assignmentsAfter" ordered="false" upperBound="-1" eType="#//AssignedSource">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="self.body.assignmentAfter"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="nonFinalClauseAssignmentsBeforeBody" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="nonFinalClauseConditionLocalNames" 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="&#xA; self.condition.assignmentBefore.name->includesAll(&#xA; self.condition.assignmentAfter.name&#xA; )"/>
+ </eAnnotations>
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="nonFinalClauseConditionType" 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="&#xA; let type = self.condition.type in&#xA; type &lt;> null and self.isBooleanType(type) and &#xA; condition.upper &lt;= 1"/>
+ </eAnnotations>
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="condition" lowerBound="1"
+ eType="#//Expression" containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="body" lowerBound="1" eType="#//Block"
+ containment="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="Block" eSuperTypes="#//SyntaxElement">
+ <eOperations name="assignmentsBefore" ordered="false" upperBound="-1" eType="#//AssignedSource">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="&#xA; if not self.statement->includes(element) then Set(AssignedSource){}&#xA; else&#xA; let i = self.statement->indexOf(element) in&#xA; if i = 1 then self.assignmentBefore&#xA; else &#xA; let statementBefore = self.statement->at(i-1) in&#xA; -- NOTE: Xtext editor will try to semantically validate even&#xA; -- when there are syntax errors.&#xA; if statementBefore.statement = null then&#xA; self.assignmentsBefore(statementBefore)&#xA; else&#xA; statementBefore.statement.assignmentAfter&#xA; endif&#xA; endif&#xA; endif"/>
+ </eAnnotations>
+ <eParameters name="element" lowerBound="1" eType="#//SyntaxElement"/>
+ </eOperations>
+ <eOperations name="newAssignments" ordered="false" upperBound="-1" eType="#//AssignedSource">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="&#xA; let assignmentsBefore = self.assignmentBefore in&#xA; self.assignmentAfter->select(isNew(assignmentsBefore))"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="blockAssignmentsBeforeStatements" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="blockAssignmentsBefore" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="blockAssignmentAfterDerivation" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="statement" upperBound="-1"
+ eType="#//AnnotatedStatement" containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="assignmentAfter" ordered="false"
+ upperBound="-1" eType="#//AssignedSource" volatile="true" transient="true"
+ derived="true">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="derivation" value="&#xA; if self.statement->isEmpty() then self.assignmentBefore&#xA; else self.statement->last().statement.assignmentAfter&#xA; endif"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="assignmentBefore" ordered="false"
+ upperBound="-1" eType="#//AssignedSource" volatile="true" transient="true"
+ derived="true">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="derivation" value="self.assignmentsBefore()"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="BlockStatement" eSuperTypes="#//Statement">
+ <eOperations name="assignmentsAfter" ordered="false" upperBound="-1" eType="#//AssignedSource">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="self.block.assignmentAfter"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="blockStatementParallelAssignments" 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="&#xA; if not self.isParallel or self.block = null then true&#xA; else self.block.statement.statement.newAssignments()->&#xA; isUnique(name)&#xA; endif"/>
+ </eAnnotations>
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="blockStatementAssignmentsBefore" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="blockStatementAssignmentsAfter" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="blockStatementEnclosedStatements" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="blockStatementIsParallelDerivation" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="annotationAllowed" lowerBound="1" 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.Statement_annotationAllowed(annotation) or &#xA; annotation.identifier = 'parallel' and annotation.argument->isEmpty()"/>
+ </eAnnotations>
+ <eParameters name="annotation" lowerBound="1" eType="#//Annotation"/>
+ </eOperations>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="block" lowerBound="1" eType="#//Block"
+ containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="isParallel" 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="DoStatement"/>
+ </eAnnotations>
+ <eAnnotations source="http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeRoleName">
+ <details key="body" value="DoStatement"/>
+ </eAnnotations>
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="derivation" value="self.hasAnnotation('parallel')"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="DoStatement" eSuperTypes="#//Statement">
+ <eOperations name="enclosingLoopStatement" eType="#//Statement">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="self"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="assignmentsBefore" ordered="false" upperBound="-1" eType="#//AssignedSource">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="&#xA; if self.condition = element then self.body.assignmentAfter&#xA; else self.assignmentBefore&#xA; endif"/>
+ </eAnnotations>
+ <eParameters name="element" lowerBound="1" eType="#//SyntaxElement"/>
+ </eOperations>
+ <eOperations name="assignmentsAfter" ordered="false" upperBound="-1" eType="#//AssignedSource">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="&#xA; let assignmentsBefore = self.assignmentBefore in&#xA; self.condition.assignmentAfter->&#xA; select(isNew(assignmentsBefore)) ->&#xA; iterate(a, assignments : Set(AssignedSource) = assignmentsBefore |&#xA; AssignedSource{&#xA; name = a.name,&#xA; source = self,&#xA; type = a.type,&#xA; lower = a.lower,&#xA; upper = a.upper&#xA; }.update(assignments)&#xA; )"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="doStatementAssignmentsBefore" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="doStatementAssignmentsAfter" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="doStatementCondition" 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="&#xA; let type = self.condition.type in&#xA; type &lt;> null and self.isBooleanType(type) and condition.upper = 1"/>
+ </eAnnotations>
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="doStatementEnclosedStatements" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="condition" lowerBound="1"
+ eType="#//Expression" containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="body" lowerBound="1" eType="#//Block"
+ containment="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="ConcurrentClauses" eSuperTypes="#//SyntaxElement">
+ <eOperations name="concurrentClausesAssignmentsBefore" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="concurrentClausesConditionAssignments" 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.clause.condition.newAssignments()->isUnique(name)"/>
+ </eAnnotations>
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="clause" ordered="false"
+ lowerBound="1" upperBound="-1" eType="#//NonFinalClause" containment="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="BreakStatement" eSuperTypes="#//Statement">
+ <eOperations name="breakStatementTargetDerivation" 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.target &lt;> null"/>
+ </eAnnotations>
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="breakStatementNonparallelTarget" 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.target &lt;> null implies not self.target.hasAnnotation('parallel')"/>
+ </eAnnotations>
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="annotationAllowed" lowerBound="1" 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.annotation()->isEmpty()"/>
+ </eAnnotations>
+ <eParameters name="annotation" lowerBound="1" eType="#//Annotation"/>
+ </eOperations>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="target" eType="#//Statement"
+ volatile="true" transient="true" derived="true">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="derivation" value="self.enclosingLoopStatement()"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="ExpressionStatement" eSuperTypes="#//Statement">
+ <eOperations name="assignmentsAfter" ordered="false" upperBound="-1" eType="#//AssignedSource">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="&#xA; if self.expression = null then Set(AssignedSource){}&#xA; else self.expression.assignmentAfter&#xA; endif"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="expressionStatementAssignmentsBefore" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="expressionStatementAssignmentsAfter" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="expression" eType="#//Expression"
+ containment="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="ClassifyStatement" eSuperTypes="#//Statement">
+ <eOperations name="assignmentAfter" ordered="false" upperBound="-1" eType="#//AssignedSource">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="self.expression.assignmentAfter"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="classifyStatementExpression" 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="&#xA; let type = self.expression.type in&#xA; type &lt;> null and type.isClass() and self.expression.upper = 1"/>
+ </eAnnotations>
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="classifyStatementClassNames" 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="&#xA; let fromNames = &#xA; if self.fromList = null then Set(QualifiedName){}&#xA; else self.fromList.name->asSet()&#xA; endif&#xA; in&#xA; let toNames =&#xA; if self.toList = null then Set(QualifiedName){}&#xA; else self.toList.name->asSet()&#xA; endif&#xA; in&#xA; fromNames->union(toNames)->forAll(name |&#xA; let referent = name.referent->select(isClass()) in&#xA; referent->size() = 1 and&#xA; referent->forAll(not isTemplate())&#xA; )"/>
+ </eAnnotations>
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="classifyStatementClasses" 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="&#xA; let classes = self.fromClass->union(self.toClass) in&#xA; let expressionType = self.expression.type in&#xA; if expressionType = null then true&#xA; else&#xA; classes->&#xA; forAll(not equals(expressionType) and conformsTo(expressionType)) and&#xA; let parents : Bag(ElementReference) = classes.allParents()->&#xA; select(not equals(expressionType) and conformsTo(expressionType)) &#xA; in&#xA; parents->forAll(countIn(parents) = 1)&#xA; endif"/>
+ </eAnnotations>
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="classifyStatementAssignmentsBefore" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="classifyStatementAssignmentsAfter" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="classifyStatementFromClassDerivation" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="classifyStatementToClassDerivation" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="expression" lowerBound="1"
+ eType="#//Expression" containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="fromList" eType="#//QualifiedNameList"
+ containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="toList" eType="#//QualifiedNameList"
+ containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="fromClass" ordered="false"
+ upperBound="-1" eType="#//ElementReference" volatile="true" transient="true"
+ derived="true">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="derivation" value="&#xA; if self.fromList = null then Set(ElementReference){}&#xA; else self.fromList.name.referent->asSet()&#xA; endif"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="toClass" ordered="false"
+ upperBound="-1" eType="#//ElementReference" volatile="true" transient="true"
+ derived="true">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="derivation" value="&#xA; if self.toList = null then Set(ElementReference){}&#xA; else self.toList.name.referent->asSet()&#xA; endif"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="isReclassifyAll" lowerBound="1"
+ eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean" defaultValueLiteral="false"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="ForStatement" eSuperTypes="#//Statement">
+ <eOperations name="enclosingLoopStatement" eType="#//Statement">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="self"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="assignmentsBefore" ordered="false" upperBound="-1" eType="#//AssignedSource">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="&#xA; if self.body &lt;> element then&#xA; self.assignmentBefore&#xA; else&#xA; let assignments = &#xA; self.variableDefinition.assignmentAfter->asSet() in&#xA; if not self.isParallel then&#xA; assignments&#xA; else&#xA; let parallelNames = self.parallelNames() in&#xA; self.updateAll(&#xA; assignments,&#xA; assignments->select(a | parallelNames->includes(a.name)).&#xA; copy(self, true)->asSet()&#xA; )&#xA;&#xA; endif&#xA; endif"/>
+ </eAnnotations>
+ <eParameters name="element" lowerBound="1" eType="#//SyntaxElement"/>
+ </eOperations>
+ <eOperations name="assignmentsAfterVariables" ordered="false" upperBound="-1"
+ eType="#//AssignedSource">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="&#xA; self.variableDefinition->iterate(&#xA; v, assignments : Set(AssignedSource) = self.assignmentBefore |&#xA; self.updateAll(assignments, v.newAssignments())&#xA; )"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="assignmentsAfter" ordered="false" upperBound="-1" eType="#//AssignedSource">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="&#xA; let namesBefore = self.assignmentBefore.name in&#xA; let newAssignments =&#xA; self.body.newAssignments()->&#xA; select(a | namesBefore->includes(a.name)).&#xA; copy(self, null)->asSet()&#xA; in&#xA; let variables = self.variableDefinition.variable in&#xA; let assignmentsAfter = &#xA; self.updateAll(&#xA; self.variableDefinition.assignmentAfter->asSet(), &#xA; newAssignments&#xA; )->reject(a | variables->includes(a.name)) in&#xA; let parallelNames = self.parallelNames() in&#xA; let parallelNameAssignments =&#xA; assignmentsAfter->&#xA; select(a | parallelNames->includes(a.name)).&#xA; copy(self, false)->asSet()&#xA; in&#xA; self.updateAll(assignmentsAfter, parallelNameAssignments)"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="parallelNames" ordered="false" upperBound="-1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="&#xA; if not self.isParallel then&#xA; Set(String){}&#xA; else&#xA; self.annotation()->select(identifier = 'parallel').oclAsType(Annotation).argument->asSet()&#xA; endif"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="forStatementAssignmentsBefore" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="forStatementAssignmentsAfter" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="forStatementParallelAnnotationNames" 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="&#xA; let assignments = self.variableDefinition.assignmentAfter in&#xA; self.parallelNames()->forAll(n |&#xA; assignments->exists(name = n and lower = 0 and upper = -1)&#xA; )"/>
+ </eAnnotations>
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="forStatementParallelAssignmentsAfter" 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="&#xA; if not self.isParallel then true&#xA; else&#xA; self.body.newAssignments().name->&#xA; excludesAll(self.variableDefinition.assignmentAfter.name)&#xA; /*&#xA; * The following is guaranteed by assignmentsAfter():&#xA; let parallelNames = self.parallelNames() in&#xA; self.assignmentAfter->forAll(a |&#xA; assignmentsAfterVariables->exists(name = a.name) and&#xA; if parallelNames->includes(a.name) then a.source = self &#xA; else a.source = assignmentsAfterVariables->any(name = a.name).source &#xA; endif&#xA; )&#xA; */&#xA; endif"/>
+ </eAnnotations>
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="forStatementVariableDefinitions" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="forStatementLoopVariables" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="forStatementIsParallelDerivation" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="forStatementEnclosedStatements" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="annotationAllowed" lowerBound="1" 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.Statement_annotationAllowed(annotation) or&#xA; annotation.identifier = 'parallel'"/>
+ </eAnnotations>
+ <eParameters name="annotation" lowerBound="1" eType="#//Annotation"/>
+ </eOperations>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="body" lowerBound="1" eType="#//Block"
+ containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="variableDefinition" lowerBound="1"
+ upperBound="-1" eType="#//LoopVariableDefinition" containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="isParallel" 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="LoopVariableDefinition"/>
+ </eAnnotations>
+ <eAnnotations source="http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeRoleName">
+ <details key="body" value="LoopVariableDefinition"/>
+ </eAnnotations>
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="derivation" value="self.hasAnnotation('parallel')"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="LoopVariableDefinition" eSuperTypes="#//SyntaxElement">
+ <eOperations name="actualName" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="NameBinding{name=self.variable}.toName()"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="newAssignments" ordered="false" upperBound="-1" eType="#//AssignedSource">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="&#xA; let assignmentsBefore = self.assignmentBefore in&#xA; self.assignmentAfter->select(isNew(assignmentsBefore))"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="loopVariableDefinitionAssignmentAfterDerivation" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="loopVariableDefinitionAssignmentsBefore" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="loopVariableDefinitionRangeExpressions" 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="&#xA; if self.expression2 = null then true&#xA; else&#xA; let type1 = self.expression1.type in&#xA; let type2 = self.expression2.type in&#xA; type1 &lt;> null and self.isIntegerType(type) and self.expression1.upper = 1 and&#xA; type2 &lt;> null and self.isIntegerType(type) and self.expression2.upper = 1 and&#xA; expression1.newAssignments().name->excludesAll(expression2.newAssignments().name)&#xA; endif"/>
+ </eAnnotations>
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="loopVariableDefinitionTypeName" 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="&#xA; if self.typeName = null then true&#xA; else&#xA; let referents = self.typeName.referent->select(isClassifier()) in&#xA; referents->size() = 1 and not referents->exists(isTemplate())&#xA; endif"/>
+ </eAnnotations>
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="loopVariableDefinitionTypeDerivation" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="loopVariableDefinitionDeclaredType" 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="&#xA; if self.typeIsInferred then true&#xA; else self.expression1.type.conformsTo(self.type)&#xA; endif"/>
+ </eAnnotations>
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="loopVariableDefinitionIsCollectionConversionDerivation" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="loopVariableDefinitionVariable" 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="&#xA; self.expression1.assignmentAfter.name->excludes(self.actualName()) and&#xA; self.expression2 &lt;> null implies&#xA; self.expression2.assignmentAfter.name->excludes(self.actualName())"/>
+ </eAnnotations>
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="variable" lowerBound="1"
+ eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="expression1" lowerBound="1"
+ eType="#//Expression" containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="expression2" eType="#//Expression"
+ containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="typeName" eType="#//QualifiedName"
+ containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="typeIsInferred" lowerBound="1"
+ eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean" defaultValueLiteral="true"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="isCollectionConversion"
+ lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"
+ volatile="true" transient="true" derived="true">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="derivation" value="&#xA; let type = self.type in&#xA; type &lt;> null and self.isCollectionClass(type) and&#xA; self.expression1 &lt;> null and self.expression1.upper &lt;= 1"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="type" eType="#//ElementReference"
+ volatile="true" transient="true" derived="true">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="derivation" value="&#xA; if self.typeIsInferred then expression1.type&#xA; else if self.typeName = null then null&#xA; else self.typeName.referent->any(isClassifier())&#xA; endif endif"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="isFirst" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"
+ volatile="true" transient="true" derived="true">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="derivation" value="self.enclosingStatement().oclAsType(ForStatement).variableDefinition->at(1) = self"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="assignmentBefore" ordered="false"
+ upperBound="-1" eType="#//AssignedSource" volatile="true" transient="true"
+ derived="true">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="derivation" value="self.assignmentsBefore()"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="assignmentAfter" ordered="false"
+ upperBound="-1" eType="#//AssignedSource" volatile="true" transient="true"
+ derived="true">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="derivation" value="&#xA; let assignmentsAfter =&#xA; if self.expression2 = null then &#xA; self.expression1.assignmentAfter&#xA; else &#xA; self.updateAll(&#xA; self.expression1.assignmentAfter,&#xA; self.expression2.newAssignments()&#xA; )&#xA; endif&#xA; in&#xA; AssignedSource{&#xA; name = self.variable,&#xA; source = self,&#xA; type = &#xA; if self.isCollectionConversion then self.type.collectionArgument() &#xA; else self.type &#xA; endif,&#xA; lower = if self.isFirst then 1 else 0 endif,&#xA; upper = 1&#xA; }.update(assignmentsAfter)"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="isAny" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="IfStatement" eSuperTypes="#//Statement">
+ <eOperations name="assignmentsAfter" ordered="false" upperBound="-1" eType="#//AssignedSource">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="&#xA; let blocks =&#xA; if self.finalClause = null then self.nonFinalClauses.clause.body&#xA; else self.nonFinalClauses.clause.body->including(self.finalClause)&#xA; endif&#xA; in&#xA; self.updateAll(&#xA; self.Statement_assignmentsAfter(), &#xA; self.mergeAssignments(blocks->asBag())&#xA; )"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="ifStatementAssignmentsBefore" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="ifStatementAssignmentsAfter" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="ifStatementEnclosedStatements" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="ifStatementIsAssuredDerivation" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="ifStatementIsDeterminateDerivation" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="annotationAllowed" lowerBound="1" 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.Statement_annotationAllowed(annotation) or&#xA; (annotation.identifier = 'assured' or annotation.identifier = 'determinate') and &#xA; annotation.argument->isEmpty()"/>
+ </eAnnotations>
+ <eParameters name="annotation" lowerBound="1" eType="#//Annotation"/>
+ </eOperations>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="nonFinalClauses" lowerBound="1"
+ upperBound="-1" eType="#//ConcurrentClauses" containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="finalClause" eType="#//Block"
+ containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="isAssured" 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="SwitchStatement"/>
+ </eAnnotations>
+ <eAnnotations source="http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeRoleName">
+ <details key="body" value="SwitchStatement"/>
+ </eAnnotations>
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="derivation" value="self.hasAnnotation('assured')"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="isDeterminate" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"
+ volatile="true" transient="true" derived="true">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="derivation" value="self.hasAnnotation('determinate')"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="SwitchStatement" eSuperTypes="#//Statement">
+ <eOperations name="assignmentsBefore" ordered="false" upperBound="-1" eType="#//AssignedSource">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="&#xA; if self.nonDefaultClause->includes(element) or &#xA; self.defaultClause = element then&#xA; self.expression.assignmentAfter&#xA; else&#xA; self.assignmentBefore&#xA; endif"/>
+ </eAnnotations>
+ <eParameters name="element" lowerBound="1" eType="#//SyntaxElement"/>
+ </eOperations>
+ <eOperations name="assignmentsAfter" ordered="false" upperBound="-1" eType="#//AssignedSource">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="&#xA; let blocks =&#xA; if self.defaultClause = null then&#xA; self.nonDefaultClause.block&#xA; else&#xA; self.nonDefaultClause.block->including(self.defaultClause)&#xA; endif&#xA; in&#xA; self.updateAll(&#xA; self.Statement_assignmentsAfter(),&#xA; self.mergeAssignments(blocks)&#xA; )"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="switchStatementAssignmentsBefore" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="switchStatementCaseAssignments" 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="&#xA; self.nonDefaultClause.case.newAssignments()->isUnique(name)"/>
+ </eAnnotations>
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="switchStatementAssignmentsAfter" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="switchStatementAssignments" 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="&#xA; if self.defaultClause = null then&#xA; self.assignmentBefore.name->includesAll(self.assignmentBefore.name)&#xA; else&#xA; let blocks =&#xA; if self.defaultClause = null then&#xA; self.nonDefaultClause.block&#xA; else&#xA; self.nonDefaultClause.block->including(self.defaultClause)&#xA; endif&#xA; in&#xA; let names = blocks.newAssignments().name in&#xA; let n = blocks->size() in&#xA; names->forAll(name | names->count(name) = n)&#xA; endif"/>
+ </eAnnotations>
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="switchStatementExpression" 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.expression.upper &lt;= 1"/>
+ </eAnnotations>
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="switchStatementEnclosedStatements" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="switchStatementIsDeterminateDerivation" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="switchStatementIsAssuredDerivation" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="annotationAllowed" lowerBound="1" 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.Statement_annotationAllowed(annotation) or&#xA; (annotation.identifier = 'assured' or annotation.identifier = 'determinate') and &#xA; annotation.argument->isEmpty()"/>
+ </eAnnotations>
+ <eParameters name="annotation" lowerBound="1" eType="#//Annotation"/>
+ </eOperations>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="nonDefaultClause" ordered="false"
+ lowerBound="1" upperBound="-1" eType="#//SwitchClause" containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="expression" lowerBound="1"
+ eType="#//Expression" containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="defaultClause" eType="#//Block"
+ containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="isAssured" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"
+ volatile="true" transient="true" derived="true">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="derivation" value="self.hasAnnotation('assured')"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="isDeterminate" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"
+ volatile="true" transient="true" derived="true">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="derivation" value="self.hasAnnotation('determinate')"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="SwitchClause" eSuperTypes="#//SyntaxElement">
+ <eOperations name="assignmentsBefore" ordered="false" upperBound="-1" eType="#//AssignedSource">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="&#xA; if self.block &lt;> element then &#xA; self.assignmentsBefore()&#xA; else&#xA; self.updateAll(&#xA; self.assignmentsBefore(),&#xA; self.case.newAssignments()->asSet()&#xA; )&#xA; endif"/>
+ </eAnnotations>
+ <eParameters name="element" lowerBound="1" eType="#//SyntaxElement"/>
+ </eOperations>
+ <eOperations name="assignmentsBefore" ordered="false" upperBound="-1" eType="#//AssignedSource">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="self.SyntaxElement_assignmentsBefore()"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="assignmentsAfter" ordered="false" upperBound="-1" eType="#//AssignedSource">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="self.block.assignmentAfter"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="switchClauseAssignmentsBefore" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="switchClauseCaseLocalNames" 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.assignmentsBefore().name->includesAll(self.case.assignmentAfter.name)"/>
+ </eAnnotations>
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="switchClauseCases" 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.case->forAll(upper &lt;= 1)"/>
+ </eAnnotations>
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="case" ordered="false" lowerBound="1"
+ upperBound="-1" eType="#//Expression" containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="block" lowerBound="1" eType="#//Block"
+ containment="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="WhileStatement" eSuperTypes="#//Statement">
+ <eOperations name="enclosingLoopStatement" eType="#//Statement">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="self"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="assignmentsBefore" ordered="false" upperBound="-1" eType="#//AssignedSource">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="&#xA; if self.body &lt;> element then self.assignmentBefore&#xA; else self.condition.assignmentAfter &#xA; endif"/>
+ </eAnnotations>
+ <eParameters name="element" lowerBound="1" eType="#//SyntaxElement"/>
+ </eOperations>
+ <eOperations name="assignmentsAfter" ordered="false" upperBound="-1" eType="#//AssignedSource">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="&#xA; let assignmentsBeforeBlock = self.body.assignmentBefore in&#xA; self.body.newAssignments()->&#xA; reject(a | assignmentsBeforeBlock.name->excludes(a.name))->&#xA; iterate(a, assignments : Set(AssignedSource) = assignmentsBeforeBlock |&#xA; AssignedSource{&#xA; name = a.name,&#xA; source = self,&#xA; type = a.type,&#xA; lower = a.lower,&#xA; upper = a.upper&#xA; }.update(assignments)&#xA; )"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="whileStatementAssignmentsBefore" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="whileStatementAssignmentsAfter" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="whileStatementCondition" 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="&#xA; let type = self.condition.type in&#xA; type &lt;> null and self.isBooleanType(type) and self.condition.upper = 1"/>
+ </eAnnotations>
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="whileStatementEnclosedStatements" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="body" lowerBound="1" eType="#//Block"
+ containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="condition" lowerBound="1"
+ eType="#//Expression" containment="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="ReturnStatement" eSuperTypes="#//Statement">
+ <eOperations name="assignmentsAfter" ordered="false" upperBound="-1" eType="#//AssignedSource">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="&#xA; if self.expression = null then self.assignmentBefore&#xA; else self.expression.assignmentAfter&#xA; endif"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="returnStatementContext" 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="&#xA; let behavior = self.behavior in&#xA; if behavior = null then false&#xA; else&#xA; let returnParameter = behavior.returnParameter() in&#xA; self.expression = null and returnParameter = null or&#xA; self.expression &lt;> null and returnParameter &lt;> null and&#xA; returnParameter.isAssignableFrom(self.expression)&#xA; endif"/>
+ </eAnnotations>
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="returnStatementAssignmentsBefore" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="returnStatementAssignmentsAfter" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="expression" eType="#//Expression"
+ containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="behavior" eType="#//ElementReference"
+ volatile="true" transient="true" derived="true">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="derivation" value="self.currentScope()"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="InLineStatement" eSuperTypes="#//Statement">
+ <eOperations name="inLineStatementAssignmentsAfter" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="language" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">
+ <eAnnotations source="http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeRoleName">
+ <details key="body" value="AcceptStatement"/>
+ </eAnnotations>
+ <eAnnotations source="http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeRoleName">
+ <details key="body" value="AcceptStatement"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="code" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">
+ <eAnnotations source="http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeRoleName">
+ <details key="body" value="AcceptStatement"/>
+ <details key="unique" value="false"/>
+ <details key="upper" value="*"/>
+ </eAnnotations>
+ <eAnnotations source="http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeRoleName">
+ <details key="body" value="AcceptStatement"/>
+ <details key="unique" value="false"/>
+ <details key="upper" value="*"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="AcceptStatement" eSuperTypes="#//Statement">
+ <eOperations name="assignmentsAfter" ordered="false" upperBound="-1" eType="#//AssignedSource">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="let assignmentsAfter = self.Statement_assignmentsAfter() in&#xA; if self.isSimple then&#xA; let acceptBlock : AcceptBlock = self.acceptBlock->any(true) in&#xA; let name = acceptBlock.actualName() in&#xA; if (name = null) then assignmentsAfter&#xA; else &#xA; AssignedSource{&#xA; name = name,&#xA; source = self,&#xA; type = self.commonAncestor(acceptBlock.signal),&#xA; lower = 1,&#xA; upper = 1&#xA; }.update(assignmentsAfter)&#xA; endif&#xA; else&#xA; self.mergeAssignments(self.acceptBlock.block)->&#xA; iterate(&#xA; assignment : AssignedSource; &#xA; assignments : Set(AssignedSource) = assignmentsAfter |&#xA; if self.acceptBlock.actualName()->includes(assignment.name) then &#xA; assignments&#xA; else &#xA; assignment.update(assignments)&#xA; endif&#xA; )&#xA; endif"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="effectiveBehavior" lowerBound="1" eType="#//ElementReference"/>
+ <eOperations name="effectiveBehavior_" lowerBound="1" eType="#//ElementReference">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="&#xA; let behavior = self.behavior in&#xA; if behavior = null then null&#xA; else&#xA; let stub = behavior.stub() in&#xA; if stub = null then behavior&#xA; else stub&#xA; endif&#xA; endif"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="acceptStatementContext" 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="&#xA; let behavior = self.effectiveBehavior() in&#xA; behavior &lt;> null and behavior.isActiveBehavior()"/>
+ </eAnnotations>
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="acceptStatementSignals" 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="&#xA; let signals : Bag(ElementReference) = self.acceptBlock.signal in&#xA; let behavior = self.effectiveBehavior() in&#xA; let activeClass = &#xA; if behavior = null then null &#xA; else behavior.activeClass() &#xA; endif &#xA; in&#xA; signals->forAll(s | signals->select(equals(s))->size() = 1) and&#xA; (activeClass = null or -- Let the acceptStatementContext constraint catch a null active class.&#xA; signals->forAll(containedIn(self.receivedSignals(activeClass))))"/>
+ </eAnnotations>
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="receivedSignals" ordered="false" unique="false" upperBound="-1"
+ eType="#//ElementReference">
+ <eParameters name="activeClass" lowerBound="1" eType="#//ElementReference"/>
+ </eOperations>
+ <eOperations name="receivedSignals_" ordered="false" unique="false" upperBound="-1"
+ eType="#//ElementReference">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="activeClass.receptions().signal()"/>
+ </eAnnotations>
+ <eParameters name="activeClass" lowerBound="1" eType="#//ElementReference"/>
+ </eOperations>
+ <eOperations name="acceptStatementNames" 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="&#xA; let namesBefore = self.assignmentBefore.name in&#xA; self.acceptBlock.actualName()->excludesAll(namesBefore)"/>
+ </eAnnotations>
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="acceptStatementSimpleAcceptLocalName" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="acceptStatementCompoundAcceptLocalName" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="acceptStatementAssignmentsBefore" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="acceptStatementAssignmentsAfter" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="acceptStatementNewAssignments" 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="&#xA; if self.acceptBlock->size() = 1 then true&#xA; else&#xA; let namesBefore = self.assignmentBefore.name in&#xA; let newNames : Bag(String) = &#xA; self.acceptBlock.block.newAssignments().name in&#xA; newNames->forAll(name | &#xA; namesBefore->excludes(name) implies &#xA; newNames->count(name) = self.acceptBlock->size()&#xA; )&#xA; endif"/>
+ </eAnnotations>
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="acceptStatementIsSimpleDerivation" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="acceptStatementEnclosedStatements" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="acceptBlock" ordered="false"
+ lowerBound="1" upperBound="-1" eType="#//AcceptBlock" containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="behavior" eType="#//ElementReference"
+ volatile="true" transient="true" derived="true">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="derivation" value="self.currentScope()"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="isSimple" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"
+ volatile="true" transient="true" derived="true">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="derivation" value="let acceptBlocks = self.acceptBlock in&#xA; acceptBlocks->size() = 1 and acceptBlocks->forAll(block = null)"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="AcceptBlock" eSuperTypes="#//SyntaxElement">
+ <eOperations name="actualName" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="NameBinding{name = self.name}.toName()"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="assignmentsBefore" ordered="false" upperBound="-1" eType="#//AssignedSource">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="&#xA; let name = self.actualName() in&#xA; if name = null or element &lt;> self.block then&#xA; self.assignmentsBefore()&#xA; else&#xA; AssignedSource{&#xA; name = name,&#xA; source = self,&#xA; type = self.commonAncestor(self.signal),&#xA; lower = 1,&#xA; upper = 1&#xA; }.update(self.assignmentsBefore())&#xA; endif"/>
+ </eAnnotations>
+ <eParameters name="element" lowerBound="1" eType="#//SyntaxElement"/>
+ </eOperations>
+ <eOperations name="acceptBlockSignalDerivation" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="acceptBlockSignalNames" 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="&#xA; self.signalNames.name->forAll(&#xA; referent->select(isSignal())->size() = 1&#xA; )"/>
+ </eAnnotations>
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="block" eType="#//Block"
+ containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="signalNames" lowerBound="1"
+ eType="#//QualifiedNameList" containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="signal" ordered="false"
+ upperBound="-1" eType="#//ElementReference" volatile="true" transient="true"
+ derived="true">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="derivation" value="&#xA; self.signalNames.name.referent->select(isSignal())->asSet()"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="EmptyStatement" eSuperTypes="#//Statement">
+ <eOperations name="emptyStatementAssignmentsAfter" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="ModelNamespace" eSuperTypes="#//PackageDefinition">
+ <eOperations name="outerScope" eType="#//ElementReference">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="null"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="modelScope" eType="#//ElementReference">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="self.toReference()"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="qualifiedName" eType="#//QualifiedName">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="QualifiedName{nameBinding = OrderedSet(NameBinding){}}"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="resolveInScope" ordered="false" upperBound="-1" eType="#//Member">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="self.resolveInRoot(name)"/>
+ </eAnnotations>
+ <eParameters name="name" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eOperations>
+ <eOperations name="resolveInRoot" ordered="false" upperBound="-1" eType="#//Member">
+ <eParameters name="name" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eOperations>
+ <eOperations name="resolvePathName" ordered="false" upperBound="-1" eType="#//ElementReference">
+ <eParameters name="pathName" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eOperations>
+ <eOperations name="resolveAssociationEnd" ordered="false" upperBound="-1" eType="#//ElementReference">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="Set(ElementReference){}"/>
+ </eAnnotations>
+ <eParameters name="oppositeEndType" lowerBound="1" eType="#//ElementReference"/>
+ <eParameters name="name" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eOperations>
+ <eOperations name="appliedProfiles" ordered="false" upperBound="-1" eType="#//ElementReference">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="ModelNamespace_appliedProfiles()"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="stubFor" eType="#//ElementReference">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="ModelNamespace_stubFor(unit)"/>
+ </eAnnotations>
+ <eParameters name="unit" lowerBound="1" eType="#//UnitDefinition"/>
+ </eOperations>
+ <eOperations name="ModelNamespace_stubFor" eType="#//ElementReference">
+ <eParameters name="unit" lowerBound="1" eType="#//UnitDefinition"/>
+ </eOperations>
+ <eOperations name="ModelNamespace_appliedProfiles" ordered="false" upperBound="-1"
+ eType="#//ElementReference"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="NamespaceDefinition" eSuperTypes="#//MemberDefinition">
+ <eOperations name="currentScope" eType="#//ElementReference">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="self.toReference()"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="outerScope" eType="#//ElementReference">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="self.NamespaceDefinition_outerScope()"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="NamespaceDefinition_outerScope" eType="#//ElementReference">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="&#xA; let outerScope = self.MemberDefinition_outerScope() in&#xA; if outerScope &lt;> null then&#xA; outerScope&#xA; else if self.unit = null then&#xA; null&#xA; else if unit.namespace = null then&#xA; self.modelNamespace().toReference()&#xA; else&#xA; unit.namespace&#xA; endif endif endif"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="modelNamespace" lowerBound="1" eType="#//NamespaceDefinition"/>
+ <eOperations name="modelScope" eType="#//ElementReference">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="&#xA; let outerScope = self.outerScope() in&#xA; if outerScope = null then&#xA; self.modelNamespace().toReference()&#xA; else&#xA; outerScope.modelScope()&#xA; endif"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="resolveInScope" ordered="false" upperBound="-1" eType="#//Member">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="&#xA; self.member->select(m | m.definition.actualName() = name)"/>
+ </eAnnotations>
+ <eParameters name="name" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eOperations>
+ <eOperations name="appliedProfiles" ordered="false" upperBound="-1" eType="#//ElementReference">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="self.NamespaceDefinition_appliedProfiles()"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="NamespaceDefinition_appliedProfiles" ordered="false" upperBound="-1"
+ eType="#//ElementReference">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="&#xA; let outerScope = self.outerScope() in&#xA; if outerScope = null then null&#xA; else outerScope.appliedProfiles()&#xA; endif"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="parameters" upperBound="-1" eType="#//FormalParameter">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="&#xA; self.ownedMember.definition->&#xA; select(oclIsKindOf(FormalParameter)).oclAsType(FormalParameter)->&#xA; reject(direction = 'return')->asOrderedSet()"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="returnParameter" eType="#//FormalParameter">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="self.NamespaceDefinition_returnParameter()"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="NamespaceDefinition_returnParameter" eType="#//FormalParameter">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="&#xA; let returnParameters = self.ownedMember.definition->&#xA; select(oclIsKindOf(FormalParameter)).oclAsType(FormalParameter)->&#xA; select(direction = 'return') &#xA; in&#xA; if returnParameters->isEmpty() then null&#xA; else returnParameters->any(true)&#xA; endif"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="subunitOwnedMembers" upperBound="-1" eType="#//Member">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="&#xA; let subunit = self.subunit in&#xA; if subunit = null or subunit.definition = null then self.ownedMember&#xA; else subunit.definition.ownedMember&#xA; endif"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="annotationAllowed" lowerBound="1" 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="NamespaceDefinition_annotationAllowed(annotation)"/>
+ </eAnnotations>
+ <eParameters name="annotation" lowerBound="1" eType="#//StereotypeAnnotation"/>
+ </eOperations>
+ <eOperations name="NamespaceDefinition_annotationAllowed" lowerBound="1" 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="&#xA; self.annotation().stereotypeName.pathName = 'external' or&#xA;&#xA; /* TODO: Allow real stereotype application. */&#xA; self.annotation().stereotypeName.pathName = 'ModelLibrary'"/>
+ </eAnnotations>
+ <eParameters name="annotation" lowerBound="1" eType="#//StereotypeAnnotation"/>
+ </eOperations>
+ <eOperations name="templateParameters" upperBound="-1" eType="#//ClassifierTemplateParameter">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="&#xA; self.ownedMember.definition->select(oclIsKindOf(ClassifierTemplateParameter)).&#xA; oclAsType(ClassifierTemplateParameter)"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="membersCached" upperBound="-1" eType="#//Member"/>
+ <eOperations name="members" upperBound="-1" eType="#//Member">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="self.NamespaceDefinition_members()"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="NamespaceDefinition_members" upperBound="-1" eType="#//Member">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="self.ownedMember->includingAll(self.importedMembers())->asOrderedSet()"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="importedMembers" ordered="false" upperBound="-1" eType="#//Member">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="&#xA; if self.unit = null then &#xA; Set(Member){}&#xA; else &#xA; self.importMembers(self.unit.imports().importedMembers()->asSet())&#xA; endif"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="importMembers" ordered="false" upperBound="-1" eType="#//Member">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="&#xA; self.includeDistinguishableCaching(self.excludeCollisions(importedMembers))"/>
+ </eAnnotations>
+ <eParameters name="importedMembers" ordered="false" upperBound="-1" eType="#//Member"/>
+ </eOperations>
+ <eOperations name="excludeCollisions" ordered="false" upperBound="-1" eType="#//Member">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="&#xA; let remainingMembers = self.removeDuplicates(importedMembers) in&#xA; remainingMembers->reject(imp1 | &#xA; remainingMembers->exists(imp2 | imp1 &lt;> imp2 and &#xA; not imp1.definition.isDistinguishableFrom(imp2.definition)&#xA; )&#xA; )"/>
+ </eAnnotations>
+ <eParameters name="importedMembers" ordered="false" upperBound="-1" eType="#//Member"/>
+ </eOperations>
+ <eOperations name="removeDuplicates" ordered="false" upperBound="-1" eType="#//Member">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="&#xA; importedMembers->iterate(m1; result : Set(Member) = Set(Member){} | &#xA; if result->exists(m2 | m1.toReference().equals(m2.toReference())) then&#xA; result&#xA; else&#xA; result->including(m1)&#xA; endif&#xA; )"/>
+ </eAnnotations>
+ <eParameters name="importedMembers" ordered="false" upperBound="-1" eType="#//Member"/>
+ </eOperations>
+ <eOperations name="includeDistinguishableCaching" ordered="false" upperBound="-1"
+ eType="#//Member">
+ <eParameters name="importedMembers" ordered="false" upperBound="-1" eType="#//Member"/>
+ </eOperations>
+ <eOperations name="includeDistinguishable" ordered="false" upperBound="-1" eType="#//Member">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="&#xA; importedMembers->select(imp | self.ownedMember->forAll(m | &#xA; imp.definition.isDistinguishableFrom(m.definition)&#xA; ))"/>
+ </eAnnotations>
+ <eParameters name="importedMembers" ordered="false" upperBound="-1" eType="#//Member"/>
+ </eOperations>
+ <eOperations name="stub" eType="#//ElementReference">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="&#xA; let unit = self.unit in&#xA; if unit = null then null&#xA; else&#xA; let namespace = self.outerScope() in&#xA; if namespace = null then null&#xA; else namespace.stubFor(unit)&#xA; endif&#xA; endif"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="stubFor" eType="#//ElementReference">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="&#xA; if unit = null or unit.definition = null then null&#xA; else&#xA; let members = self.ownedMember.definition->select(m |&#xA; m.actualName() = unit.definition.actualName() and &#xA; m.isStub and m.matchForStub(unit)&#xA; ) in&#xA; if members->isEmpty() then null&#xA; else members->any(true).oclAsType(Member).toReference()&#xA; endif&#xA; endif"/>
+ </eAnnotations>
+ <eParameters name="unit" lowerBound="1" eType="#//UnitDefinition"/>
+ </eOperations>
+ <eOperations name="namespaceDefinitionMemberDerivation" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="namespaceDefinitionMemberDistinguishability" 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="&#xA; self.member->forAll(m1 | &#xA; self.member->forAll(m2 | &#xA; m1 = m2 or m1.definition.isDistinguishableFrom(m2.definition)&#xA; )&#xA; )"/>
+ </eAnnotations>
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="ownedMember" upperBound="-1"
+ eType="#//Member" containment="true" eOpposite="#//Member/namespace"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="unit" eType="#//UnitDefinition"
+ eOpposite="#//UnitDefinition/definition"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="member" upperBound="-1"
+ eType="#//Member" volatile="true" transient="true" derived="true">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="derivation" value="self.membersCached()"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="MemberDefinition" abstract="true" eSuperTypes="#//SyntaxElement">
+ <eOperations name="annotation" ordered="false" upperBound="-1" eType="#//StereotypeAnnotation">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="&#xA; let container = self.oclContainer() in &#xA; if container.oclIsKindOf(Member) then &#xA; container.oclAsType(Member).annotation&#xA; else if container.oclIsKindOf(UnitDefinition) then &#xA; container.oclAsType(UnitDefinition).annotation&#xA; else if container.oclIsKindOf(MemberDefinition) then&#xA; container.oclAsType(MemberDefinition).annotation()&#xA; else &#xA; Set{}&#xA; endif endif endif"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="actualName" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="&#xA; NameBinding{name = self.name}.toName()"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="outerScope" eType="#//ElementReference">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="self.MemberDefinition_outerScope()"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="MemberDefinition_outerScope" eType="#//ElementReference">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="&#xA; let container = self.containingMember() in&#xA; if container &lt;> null then&#xA; let namespace = container.namespace in&#xA; if namespace = null then null else namespace.toReference() endif&#xA; else&#xA; null&#xA; endif"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="qualifiedName" eType="#//QualifiedName">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="&#xA; if self.name = null then&#xA; null&#xA; else&#xA; let nameBinding = NameBinding{name = self.name} in&#xA; let outerScope = self.outerScope() in&#xA; if outerScope = null then&#xA; QualifiedName{nameBinding = nameBinding}&#xA; else&#xA; let qualificationName = outerScope.qualifiedName() in&#xA; if qualificationName = null then&#xA; null&#xA; else&#xA; QualifiedName{&#xA; nameBinding = qualificationName.nameBinding->append(nameBinding)&#xA; }&#xA; endif&#xA; endif&#xA; endif"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="namespaceReference" eType="#//ElementReference">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="&#xA; let container = self.oclContainer() in&#xA; if container.oclIsKindOf(Member) then&#xA; let namespace = container.oclAsType(Member).namespace in&#xA; if namespace = null then null&#xA; else namespace.toReference()&#xA; endif&#xA; else if container.oclIsKindOf(NamespaceDefinition) then&#xA; container.oclAsType(NamespaceDefinition).toReference()&#xA; else if container.oclIsKindOf(UnitDefinition) then&#xA; container.oclAsType(UnitDefinition).namespace&#xA; else if container.oclIsKindOf(MemberDefinition) then&#xA; -- NOTE: This is a workaround to handle an Xtext&#xA; -- editor bug in which the syntax tree is built wrong.&#xA; container.oclAsType(MemberDefinition).namespaceReference()&#xA; else&#xA; null&#xA; endif endif endif endif"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="addToModel" lowerBound="1" eType="#//Member"/>
+ <eOperations name="annotationAllowed" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eParameters name="annotation" lowerBound="1" eType="#//StereotypeAnnotation"/>
+ </eOperations>
+ <eOperations name="matchForStub" lowerBound="1" 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="false"/>
+ </eAnnotations>
+ <eParameters name="unit" lowerBound="1" eType="#//UnitDefinition"/>
+ </eOperations>
+ <eOperations name="isDistinguishableFrom" lowerBound="1" 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="MemberDefinition_isDistinguishableFrom(member)"/>
+ </eAnnotations>
+ <eParameters name="member" lowerBound="1" eType="#//MemberDefinition"/>
+ </eOperations>
+ <eOperations name="MemberDefinition_isDistinguishableFrom" lowerBound="1" 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.actualName() &lt;> member.actualName() or not self.isSameKindAs(member.toReference())"/>
+ </eAnnotations>
+ <eParameters name="member" lowerBound="1" eType="#//MemberDefinition"/>
+ </eOperations>
+ <eOperations name="isSameKindAs" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eParameters name="member" lowerBound="1" eType="#//ElementReference"/>
+ </eOperations>
+ <eOperations name="templateParameters" upperBound="-1" eType="#//ClassifierTemplateParameter">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="OrderedSet{}"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="isTemplate" lowerBound="1" 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.templateParameters()->notEmpty()"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="isFeature" lowerBound="1" 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="false"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="memberAnnotations" 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="&#xA; self.annotation()->forAll(a | self.annotationAllowed(a))"/>
+ </eAnnotations>
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="memberIsPrimitiveDerivation" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="memberIsExternalDerivation" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="memberExternal" 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="&#xA; self.isExternal implies self.isStub"/>
+ </eAnnotations>
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="memberStub" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="memberSubunitDerivation" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="memberStubStereotypes" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="memberPrimitive" 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="&#xA; self.isPrimitive implies not self.isStub and not self.isTemplate()"/>
+ </eAnnotations>
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="containingMember" eType="#//Member">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="&#xA; let container = self.oclContainer() in&#xA; if container = null then null&#xA; else if container.oclIsKindOf(Member) then &#xA; container.oclAsType(Member)&#xA; else if container.oclIsKindOf(MemberDefinition) then &#xA; container.oclAsType(MemberDefinition).containingMember()&#xA; else &#xA; null&#xA; endif endif endif"/>
+ </eAnnotations>
+ </eOperations>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">
+ <eAnnotations source="http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeRoleName">
+ <details key="body" value="StereotypeAnnotation"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="isStub" lowerBound="1"
+ eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean" defaultValueLiteral="false">
+ <eAnnotations source="http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeRoleName">
+ <details key="body" value="StereotypeAnnotation"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="isFeature" 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="StereotypeAnnotation"/>
+ </eAnnotations>
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="derivation" value="self.isFeature()"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="isPrimitive" 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="StereotypeAnnotation"/>
+ <details key="unique" value="false"/>
+ <details key="upper" value="*"/>
+ </eAnnotations>
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="derivation" value="self.annotation().stereotypeName->exists(pathName = 'primitive')"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="isExternal" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"
+ volatile="true" transient="true" derived="true">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="derivation" value="self.annotation().stereotypeName->exists(pathName = 'external')"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="subunit" eType="#//UnitDefinition"
+ volatile="true" transient="true" derived="true">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="derivation" value="null"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="StereotypeAnnotation" eSuperTypes="#//SyntaxElement">
+ <eOperations name="stereotypeAnnotationStereotypeDerivation" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="stereotypeAnnotationStereotypeName" 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="&#xA; let name = self.stereotypeName.pathName in &#xA; name = 'apply' or name = 'primitive' or name = 'external' or&#xA; self.stereotype &lt;> null"/>
+ </eAnnotations>
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="stereotypeAnnotationApply" 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="&#xA; self.stereotypeName.pathName = 'apply' implies names->notEmpty()"/>
+ </eAnnotations>
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="stereotypeAnnotationPrimitive" 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="&#xA; self.stereotypeName.pathName = 'primitive' implies&#xA; (self.taggedValues = null and self.names = null)"/>
+ </eAnnotations>
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="stereotypeAnnotationExternal" 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="&#xA; self.stereotypeName.pathName = 'external' implies&#xA; (self.names = null and &#xA; (self.taggedValues = null or &#xA; self.taggedValues.taggedValue->size() = 1 and &#xA; self.taggedValues.taggedValue->exists(&#xA; name = 'file' and operator = null&#xA; )&#xA; )&#xA; )"/>
+ </eAnnotations>
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="stereotypeAnnotationTaggedValues" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="stereotypeAnnotationNames" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="appliedProfiles" ordered="false" upperBound="-1" eType="#//ElementReference">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="&#xA; let owner = self.owner() in&#xA; if owner.oclIsKindOf(UnitDefinition) then&#xA; owner.oclAsType(UnitDefinition).appliedProfile&#xA; else&#xA; self.currentScope().appliedProfiles()&#xA; endif"/>
+ </eAnnotations>
+ </eOperations>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="taggedValues" eType="#//TaggedValueList"
+ containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="names" eType="#//QualifiedNameList"
+ containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="stereotypeName" lowerBound="1"
+ eType="#//QualifiedName" containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="stereotype" lowerBound="1"
+ eType="#//ElementReference" volatile="true" transient="true" derived="true">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="derivation" value="&#xA; let profiles = self.appliedProfiles() in&#xA; let qualification = self.stereotypeName.qualification in&#xA; let name = self.stereotypeName.unqualifiedName.toName() in&#xA; if self.stereotypeName.qualification = null then&#xA; let standardProfile = profiles->select(name() = 'StandardProfile') in&#xA; let standardStereotype = standardProfile.resolveStereotype(name) in&#xA; if standardStereotype->size() = 1 then&#xA; standardStereotype->any(true)&#xA; else&#xA; let stereotype = profiles.resolveStereotype(name) in&#xA; if stereotype->size() = 1 then&#xA; stereotype->any(true)&#xA; else&#xA; null&#xA; endif&#xA; endif&#xA; else&#xA; let profile = profiles->select(qualifiedName() = qualification.pathName) in&#xA; if profile->size() = 1 then&#xA; let stereotype = profile.resolveStereotype(name) in&#xA; if stereotype->size() = 1 then&#xA; stereotype->any(true)&#xA; else&#xA; null&#xA; endif&#xA; else&#xA; null&#xA; endif&#xA; endif"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="TaggedValueList" eSuperTypes="#//SyntaxElement">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="taggedValue" ordered="false"
+ lowerBound="1" upperBound="-1" eType="#//TaggedValue" containment="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="TaggedValue" eSuperTypes="#//SyntaxElement">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">
+ <eAnnotations source="http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeRoleName">
+ <details key="body" value="UnitDefinition"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="value" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="operator" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="UnitDefinition" eSuperTypes="#//DocumentedElement">
+ <eOperations name="imports" ordered="false" upperBound="-1" eType="#//ImportReference">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="&#xA; if self.isModelLibrary then&#xA; self.import&#xA; else&#xA; self.import->union(self.implicitImports())&#xA; endif"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="implicitImports" ordered="false" upperBound="-1" eType="#//ImportReference">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="&#xA; Set{'PrimitiveTypes', 'PrimitiveBehaviors', 'BasicInputOutput', &#xA; 'CollectionFunctions', 'CollectionClasses'}->&#xA; collect(name | self.implicitImportFor(name))->asSet()"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="implicitImportFor" lowerBound="1" eType="#//ImportReference">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="&#xA; PackageImportReference {&#xA; referentName = QualifiedName{&#xA; nameBinding = Sequence{&#xA; NameBinding{name = 'Alf'},&#xA; NameBinding{name = 'Library'},&#xA; NameBinding{name = name}&#xA; }&#xA; }&#xA; }"/>
+ </eAnnotations>
+ <eParameters name="name" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eOperations>
+ <eOperations name="unitDefinitionNamespaceDerivation" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="unitDefinitionNamespace" 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="&#xA; self.namespaceName &lt;> null implies&#xA; let namespace = self.namespace in&#xA; namespace &lt;> null and namespace.isNamespaceFor(self)"/>
+ </eAnnotations>
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="unitDefinitionIsModelLibraryDerivation" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="unitDefinitionImplicitImports" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="unitDefinitionAppliedProfileDerivation" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="namespaceName" eType="#//QualifiedName"
+ containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="definition" lowerBound="1"
+ eType="#//NamespaceDefinition" containment="true" eOpposite="#//NamespaceDefinition/unit"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="import" ordered="false"
+ upperBound="-1" eType="#//ImportReference" containment="true" eOpposite="#//ImportReference/unit"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="namespace" eType="#//ElementReference"
+ volatile="true" transient="true" derived="true">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="derivation" value="&#xA; if self.namespaceName = null then&#xA; null&#xA; else&#xA; let referents = self.namespaceName.modelReferents() in&#xA; if referents->size() = 1 then&#xA; referents->any(true)&#xA; else&#xA; null&#xA; endif&#xA; endif"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="isModelLibrary" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"
+ volatile="true" transient="true" derived="true">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="derivation" value="&#xA;&#xA; /* TODO: Allow real stereotype application. */&#xA; self.annotation->exists(stereotypeName.pathName = 'ModelLibrary')"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="appliedProfile" ordered="false"
+ upperBound="-1" eType="#//ElementReference" volatile="true" transient="true"
+ derived="true">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="derivation" value="self.definition.appliedProfiles()"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="annotation" ordered="false"
+ upperBound="-1" eType="#//StereotypeAnnotation" containment="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="ImportReference" abstract="true" eSuperTypes="#//SyntaxElement">
+ <eOperations name="importedMembers" ordered="false" upperBound="-1" eType="#//Member"/>
+ <eOperations name="importReferenceReferentDerivation" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="importReferenceReferent" 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="&#xA; self.referent &lt;> null and&#xA; let visibility = self.referent.visibility() in &#xA; visibility = null or visibility = 'public'"/>
+ </eAnnotations>
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="visibility" lowerBound="1"
+ eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">
+ <eAnnotations source="http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeRoleName">
+ <details key="body" value="ImportedMember"/>
+ <details key="unique" value="false"/>
+ <details key="upper" value="*"/>
+ </eAnnotations>
+ <eAnnotations source="http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeRoleName">
+ <details key="body" value="ImportedMember"/>
+ <details key="unique" value="false"/>
+ <details key="upper" value="*"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="referentName" lowerBound="1"
+ eType="#//QualifiedName" containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="referent" eType="#//ElementReference"
+ volatile="true" transient="true" derived="true">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="derivation" value="&#xA; let referents = self.referentName.modelReferents() in &#xA; if referents->size() = 1 then referents->any(true)&#xA; else null&#xA; endif"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="unit" lowerBound="1" eType="#//UnitDefinition"
+ eOpposite="#//UnitDefinition/import"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="ImportedMember" eSuperTypes="#//MemberDefinition">
+ <eOperations name="actualName" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="self.name"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="toReference" lowerBound="1" eType="#//ElementReference">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="self.referent"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="annotationAllowed" lowerBound="1" 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="false"/>
+ </eAnnotations>
+ <eParameters name="annotation" lowerBound="1" eType="#//StereotypeAnnotation"/>
+ </eOperations>
+ <eOperations name="isSameKindAs" lowerBound="1" 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.isSameKindAs(member)"/>
+ </eAnnotations>
+ <eParameters name="member" lowerBound="1" eType="#//ElementReference"/>
+ </eOperations>
+ <eOperations name="isFeature" lowerBound="1" 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.isFeature()"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="importedMemberNotStub" 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="not self.isStub"/>
+ </eAnnotations>
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="importedMemberIsFeatureDerivation" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="referent" lowerBound="1"
+ eType="#//ElementReference"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="EnumerationLiteralName" eSuperTypes="#//MemberDefinition">
+ <eOperations name="annotationAllowed" lowerBound="1" 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="false"/>
+ </eAnnotations>
+ <eParameters name="annotation" lowerBound="1" eType="#//StereotypeAnnotation"/>
+ </eOperations>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="OperationDefinition" eSuperTypes="#//NamespaceDefinition">
+ <eOperations name="assignmentsBefore" ordered="false" upperBound="-1" eType="#//AssignedSource">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="&#xA; if self.body &lt;> element then Set(AssignedSource){}&#xA; else&#xA; self.parameters()->collect(parameter |&#xA; AssignedSource{&#xA; name = parameter.actualName(),&#xA; source = if parameter.direction = 'out' then null else parameter endif,&#xA; type = parameter.typePart.type,&#xA; upper = parameter.typePart.upper,&#xA; lower = parameter.typePart.lower&#xA; }&#xA; )&#xA; endif"/>
+ </eAnnotations>
+ <eParameters name="element" lowerBound="1" eType="#//SyntaxElement"/>
+ </eOperations>
+ <eOperations name="annotationAllowed" lowerBound="1" 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="&#xA; /* TODO: Allow operation stereotype annotations. */&#xA; annotation.stereotypeName.pathName = 'Create' or&#xA; annotation.stereotypeName.pathName = 'Destroy' or&#xA; self.NamespaceDefinition_annotationAllowed(annotation)"/>
+ </eAnnotations>
+ <eParameters name="annotation" lowerBound="1" eType="#//StereotypeAnnotation"/>
+ </eOperations>
+ <eOperations name="matchForStub" lowerBound="1" 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="&#xA; let definition = unit.definition in&#xA; definition.oclIsKindOf(ActivityDefinition) and&#xA; definition.templateParameters()->isEmpty() and&#xA; let operationParameters = self.parameters() in&#xA; let activityParameters = definition.parameters() in&#xA; operationParameters->size() = activityParameters->size() and &#xA; Sequence{1 .. operationParameters->size()}->forAll(i | &#xA; operationParameters->at(i).matches(activityParameters->at(i))&#xA; ) and&#xA; let operationReturnParameter = self.returnParameter() in&#xA; let activityReturnParameter = definition.returnParameter() in&#xA; operationReturnParameter = null and activityReturnParameter = null or&#xA; operationReturnParameter &lt;> null and &#xA; operationReturnParameter.matches(activityReturnParameter)"/>
+ </eAnnotations>
+ <eParameters name="unit" lowerBound="1" eType="#//UnitDefinition"/>
+ </eOperations>
+ <eOperations name="isSameKindAs" lowerBound="1" 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="&#xA; member.isOperation() and self.parametersMatchNameType(member)"/>
+ </eAnnotations>
+ <eParameters name="member" lowerBound="1" eType="#//ElementReference"/>
+ </eOperations>
+ <eOperations name="parametersMatch" lowerBound="1" 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="&#xA; let parameters = self.parameters() in&#xA; let otherParameters = other.parameters() in&#xA; parameters->size() = otherParameters->size() and&#xA; Sequence{1..parameters->size()}->forAll(i |&#xA; parameters->at(i).matchesElement(otherParameters->at(i))&#xA; ) and&#xA; let returnParameter = self.returnParameter() in&#xA; let otherReturnParameter = other.returnParameter() in&#xA; returnParameter = null and otherReturnParameter = null or&#xA; returnParameter &lt;> null and returnParameter.matchesElement(otherReturnParameter)"/>
+ </eAnnotations>
+ <eParameters name="other" lowerBound="1" eType="#//ElementReference"/>
+ </eOperations>
+ <eOperations name="parametersMatchNameType" lowerBound="1" 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="&#xA; let parameters = self.parameters() in&#xA; let otherParameters = other.parameters() in&#xA; parameters->size() = otherParameters->size() and&#xA; Sequence{1..parameters->size()}->forAll(i |&#xA; parameters->at(i).matchesNameType(otherParameters->at(i))&#xA; ) and&#xA; let returnParameter = self.returnParameter() in&#xA; let otherReturnParameter = other.returnParameter() in&#xA; returnParameter = null and otherReturnParameter = null or&#xA; returnParameter &lt;> null and returnParameter.matchesType(otherReturnParameter)"/>
+ </eAnnotations>
+ <eParameters name="other" lowerBound="1" eType="#//ElementReference"/>
+ </eOperations>
+ <eOperations name="returnParameter" eType="#//FormalParameter">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="&#xA; if self.isConstructor then &#xA; let namespace = self.containingMember().namespace.toReference() in&#xA; let returnType =&#xA; if not namespace.isTemplate() then namespace&#xA; else&#xA; namespace.bind(&#xA; namespace.parameteredElements()->asSequence()&#xA; )&#xA; endif&#xA; in&#xA; FormalParameter{&#xA; direction = 'return', &#xA; name = '', &#xA; typePart = TypedElementDefinition{&#xA; actualType = returnType&#xA; }&#xA; }&#xA; else&#xA; self.NamespaceDefinition_returnParameter()&#xA; endif"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="specializationReferents" ordered="false" upperBound="-1" eType="#//ElementReference">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="&#xA; let namespace = self.containingMember().namespace in &#xA; if namespace.oclIsKindOf(ClassDefinition) then &#xA; namespace.oclAsType(ClassDefinition).specializationReferent&#xA; else &#xA; Set{}&#xA; endif"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="operationDefinitionNamespace" 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="&#xA; self.containingMember().namespace.oclIsKindOf(ClassDefinition)"/>
+ </eAnnotations>
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="operationDefinitionRedefinedOperationDerivation" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="operationDefinitionRedefinition" 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="&#xA; self.redefinition = null or&#xA; self.redefinition.name->forAll(&#xA; referent->size() = 1 and &#xA; referent->forAll(&#xA; visibility() &lt;> 'private' and &#xA; containedIn(self.specializationReferents().members()) and &#xA; isOperation()&#xA; )&#xA; )"/>
+ </eAnnotations>
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="operationDefinitionRedefinedOperations" 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="&#xA; self.redefinedOperation->forAll(op | self.parametersMatch(op))"/>
+ </eAnnotations>
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="operationDefinitionIsFeatureDerivation" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="operationDefinitionIsConstructorDerivation" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="operationDefinitionIsDestructorDerivation" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="operationDefinitionConstructorDestructor" 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="&#xA; not (self.isConstructor and self.isDestructor)"/>
+ </eAnnotations>
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="operationDefinitionConstructor" 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="&#xA; self.isConstructor implies&#xA; ( self.redefinedOperation->forAll(isConstructor)) and&#xA; -- NOTE: The following condition is added.&#xA; -- A constructor may not have an explicit return type.&#xA; not self.ownedMember.definition->exists(&#xA; oclIsKindOf(FormalParameter) and &#xA; oclAsType(FormalParameter).direction = 'return'&#xA; )"/>
+ </eAnnotations>
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="operationDefinitionDestructor" 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="&#xA; self.isDestructor implies&#xA; self.redefinedOperation->forAll(isDestructor)"/>
+ </eAnnotations>
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="redefinition" eType="#//QualifiedNameList"
+ containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="isAbstract" lowerBound="1"
+ eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean" defaultValueLiteral="false"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="body" eType="#//Block"
+ containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="redefinedOperation" ordered="false"
+ upperBound="-1" eType="#//ElementReference" volatile="true" transient="true"
+ derived="true">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="derivation" value="&#xA; if self.redefinition &lt;> null then &#xA; -- NOTE: The current scope for the redefinition qualifed name list is&#xA; -- defined to be the outer scope of the class of the operation. This&#xA; -- prevents an infinite loop in resolving the members of the class,&#xA; -- relying on the fact that redefined operations can not be members of&#xA; -- the class with the redefinition.&#xA; self.redefinition.name.referent->asSet()&#xA; else&#xA; let owner = self.containingMember().namespace.oclAsType(ClassDefinition) in &#xA; owner.specializationReferent.members()->&#xA; select(m | m.visibility() &lt;> 'private' and not self.isDistinguishableFrom(m.asMember().definition))->&#xA; asSet()&#xA; endif"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="isConstructor" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"
+ volatile="true" transient="true" derived="true">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="derivation" value="self.annotation()->exists(stereotypeName.pathName = 'Create')"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="isDestructor" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"
+ volatile="true" transient="true" derived="true">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="derivation" value="self.annotation()->exists(stereotypeName.pathName = 'Destroy')"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="AssociationDefinition" eSuperTypes="#//ClassifierDefinition">
+ <eOperations name="matchForStub" lowerBound="1" 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="&#xA; self.ClassifierDefinition_matchForStub(unit) and&#xA; unit.definition.oclIsKindOf(AssociationDefinition)"/>
+ </eAnnotations>
+ <eParameters name="unit" lowerBound="1" eType="#//UnitDefinition"/>
+ </eOperations>
+ <eOperations name="annotationAllowed" lowerBound="1" 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="&#xA; /* TODO: Handle association stereotype annotations. */&#xA; self.ClassifierDefinition_annotationAllowed(annotation)"/>
+ </eAnnotations>
+ <eParameters name="annotation" lowerBound="1" eType="#//StereotypeAnnotation"/>
+ </eOperations>
+ <eOperations name="isSameKindAs" lowerBound="1" 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="member.isAssociation()"/>
+ </eAnnotations>
+ <eParameters name="member" lowerBound="1" eType="#//ElementReference"/>
+ </eOperations>
+ <eOperations name="associationDefinitionSpecializationReferent" 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="&#xA; self.specializationReferent->forAll(isAssociation())"/>
+ </eAnnotations>
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="ClassifierDefinition" abstract="true"
+ eSuperTypes="#//NamespaceDefinition">
+ <eOperations name="ClassifierDefinition_annotationAllowed" lowerBound="1" 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="NamespaceDefinition_annotationAllowed(annotation)"/>
+ </eAnnotations>
+ <eParameters name="annotation" lowerBound="1" eType="#//StereotypeAnnotation"/>
+ </eOperations>
+ <eOperations name="matchForStub" lowerBound="1" 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="ClassifierDefinition_matchForStub(unit)"/>
+ </eAnnotations>
+ <eParameters name="unit" lowerBound="1" eType="#//UnitDefinition"/>
+ </eOperations>
+ <eOperations name="ClassifierDefinition_matchForStub" lowerBound="1" 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="&#xA; unit.definition.oclIsKindOf(ClassifierDefinition) and&#xA; let classifier = unit.definition.oclAsType(ClassifierDefinition) in&#xA; classifier.isAbstract = self.isAbstract and&#xA; classifier.specializationReferent->size() = self.specializationReferent->size() and&#xA; classifier.specializationReferent->forAll(containedIn(self.specializationReferent->asBag())) and&#xA; classifier.templateParameters()->size() = self.templateParameters()->size() and&#xA; Sequence{1..classifier.templateParameters()->size()}->forAll(i |&#xA; classifier.templateParameters()->at(i).matches(self.templateParameters()->at(i))&#xA; )"/>
+ </eAnnotations>
+ <eParameters name="unit" lowerBound="1" eType="#//UnitDefinition"/>
+ </eOperations>
+ <eOperations name="members" upperBound="-1" eType="#//Member">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="self.NamespaceDefinition_members()->&#xA; includingAll(self.inheritedMembers())->asOrderedSet()"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="inheritedMembers" upperBound="-1" eType="#//Member">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="&#xA; self.inherit(&#xA; self.specializationReferent.members()->select(visibility() &lt;> 'private').&#xA; asMember()->asOrderedSet()&#xA; )"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="inherit" upperBound="-1" eType="#//Member">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="members"/>
+ </eAnnotations>
+ <eParameters name="members" upperBound="-1" eType="#//Member"/>
+ </eOperations>
+ <eOperations name="classifierDefinitionSpecialization" 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="&#xA; self.specialization = null or&#xA; self.specialization.name->forAll(&#xA; referent->size() = 1 and&#xA; referent->forAll(isClassifier() and not isTemplate())&#xA; )"/>
+ </eAnnotations>
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="classifierDefinitionSpecializationReferentDerivation" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="classifierDefinitionInheritedMembers" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="isAbstract" lowerBound="1"
+ eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean" defaultValueLiteral="false"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="specialization" eType="#//QualifiedNameList"
+ containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="specializationReferent"
+ upperBound="-1" eType="#//ElementReference" volatile="true" transient="true"
+ derived="true">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="derivation" value="&#xA; if self.specialization = null then OrderedSet{}&#xA; else self.specialization.name.referent->asOrderedSet()&#xA; endif"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="ClassDefinition" eSuperTypes="#//ClassifierDefinition">
+ <eOperations name="annotationAllowed" lowerBound="1" 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="&#xA; /* TODO: Allow class stereotype annotations. */&#xA; self.ClassifierDefinition_annotationAllowed(annotation)"/>
+ </eAnnotations>
+ <eParameters name="annotation" lowerBound="1" eType="#//StereotypeAnnotation"/>
+ </eOperations>
+ <eOperations name="matchForStub" lowerBound="1" 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="&#xA; self.ClassifierDefinition_matchForStub(unit) and&#xA; /* NOTE: Cannot be an ActiveClassDefinition. */&#xA; unit.definition.oclIsTypeOf(ClassDefinition)"/>
+ </eAnnotations>
+ <eParameters name="unit" lowerBound="1" eType="#//UnitDefinition"/>
+ </eOperations>
+ <eOperations name="isSameKindAs" lowerBound="1" 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="member.isClass()"/>
+ </eAnnotations>
+ <eParameters name="member" lowerBound="1" eType="#//ElementReference"/>
+ </eOperations>
+ <eOperations name="needsDefaultConstructor" lowerBound="1" 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="&#xA; not self.ownedMember.definition->exists(&#xA; oclIsKindOf(OperationDefinition) and &#xA; oclAsType(OperationDefinition).isConstructor&#xA; )"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="needsDefaultDestructor" lowerBound="1" 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="&#xA; not self.ownedMember.definition->exists(&#xA; oclIsKindOf(OperationDefinition) and &#xA; oclAsType(OperationDefinition).isDestructor&#xA; )"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="inherit" upperBound="-1" eType="#//Member">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="self.inheritCached(inheritableMembers)"/>
+ </eAnnotations>
+ <eParameters name="inheritableMembers" upperBound="-1" eType="#//Member"/>
+ </eOperations>
+ <eOperations name="inheritCached" upperBound="-1" eType="#//Member">
+ <eParameters name="inheritableMembers" upperBound="-1" eType="#//Member"/>
+ </eOperations>
+ <eOperations name="ClassDefinition_inherit" upperBound="-1" eType="#//Member">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="&#xA; let ownedOperations = self.subunitOwnedMembers().definition->&#xA; select(oclIsKindOf(OperationDefinition)).oclAsType(OperationDefinition)&#xA; in&#xA; inheritableMembers->reject(inheritableMember |&#xA; ownedOperations->exists(operation |&#xA; inheritableMember.toReference().&#xA; containedIn(operation.redefinedOperation->asBag()) or&#xA; not operation.isDistinguishableFrom(inheritableMember.definition)&#xA; )&#xA; )"/>
+ </eAnnotations>
+ <eParameters name="inheritableMembers" upperBound="-1" eType="#//Member"/>
+ </eOperations>
+ <eOperations name="classDefinitionSpecializationReferent" 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="&#xA; self.specializationReferent->forAll(isClass()) and&#xA; (self.specializationReferent->exists(isActiveClass())&#xA; implies self.oclIsKindOf(ActiveClassDefinition)&#xA; )"/>
+ </eAnnotations>
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="classDefinitionAbstractMember" 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="&#xA; if self.isAbstract then true&#xA; else &#xA; self.member.definition->select(oclIsKindOf(OperationDefinition)).&#xA; oclAsType(OperationDefinition)->forAll(not isAbstract)&#xA; endif"/>
+ </eAnnotations>
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="TypedElementDefinition" eSuperTypes="#//AssignableElement">
+ <eOperations name="isOrdered" lowerBound="1" 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.isOrdered or self.isSequence"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="isNonunique" lowerBound="1" 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.isNonunique or self.isSequence"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="typedElementDefinitionLowerDerivation" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="typedElementDefinitionUpperDerivation" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="typedElementDefinitionTypeDerivation" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="typedElementDefinitionTypeName" 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="&#xA; self.typeName = null or self.type &lt;> null and not self.type.isTemplate()"/>
+ </eAnnotations>
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="type" eType="#//ElementReference">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="&#xA; if self.actualType &lt;> null then&#xA; self.actualType&#xA; else if self.typeName = null then&#xA; null&#xA; else&#xA; let types = self.typeName.referent->select(isClassifier()) in &#xA; if types->size() &lt;> 1 then&#xA; null&#xA; else&#xA; types->any(true)&#xA; endif&#xA; endif endif"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="lower" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBigInteger">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="&#xA; if self.lowerBound &lt;> null then&#xA; self.lowerBound.toInteger()&#xA; else if self.isMultiplicity or self.upperBound = '*' then&#xA; 0&#xA; else&#xA; self.upper&#xA; endif endif"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="upper" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBigInteger">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="&#xA; if self.isMultiplicity or self.upperBound = '*' then&#xA; -1&#xA; else &#xA; self.upperBound.toInteger()&#xA; endif"/>
+ </eAnnotations>
+ </eOperations>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="lowerBound" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="upperBound" lowerBound="1"
+ eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString" defaultValueLiteral="1"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="isOrdered" lowerBound="1"
+ eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean" defaultValueLiteral="false"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="isNonunique" lowerBound="1"
+ eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean" defaultValueLiteral="false"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="isSequence" lowerBound="1"
+ eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean" defaultValueLiteral="false"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="typeName" eType="#//QualifiedName"
+ containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="actualType" eType="#//ElementReference"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="isAny" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="isMultiplicity" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="DataTypeDefinition" eSuperTypes="#//ClassifierDefinition">
+ <eOperations name="matchForStub" lowerBound="1" 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="&#xA; self.ClassifierDefinition_matchForStub(unit) and&#xA; unit.definition.oclIsKindOf(DataTypeDefinition)"/>
+ </eAnnotations>
+ <eParameters name="unit" lowerBound="1" eType="#//UnitDefinition"/>
+ </eOperations>
+ <eOperations name="annotationAllowed" lowerBound="1" 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="&#xA; /* TODO: Allow data type stereotype annotations. */&#xA; self.ClassifierDefinition_annotationAllowed(annotation) or&#xA; annotation.stereotypeName.pathName = 'primitive'"/>
+ </eAnnotations>
+ <eParameters name="annotation" lowerBound="1" eType="#//StereotypeAnnotation"/>
+ </eOperations>
+ <eOperations name="isSameKindAs" lowerBound="1" 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="member.isDataType()"/>
+ </eAnnotations>
+ <eParameters name="member" lowerBound="1" eType="#//ElementReference"/>
+ </eOperations>
+ <eOperations name="dataTypeDefinitionPrimitive" 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="&#xA; self.isPrimitive implies self.ownedMember->isEmpty()"/>
+ </eAnnotations>
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="dataTypeDefinitionSpecializationReferent" 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="&#xA; self.specializationReferent->forAll(isDataType())"/>
+ </eAnnotations>
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="PackageDefinition" eSuperTypes="#//NamespaceDefinition">
+ <eOperations name="allowPackageOnly" lowerBound="1" 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="false"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="annotationAllowed" lowerBound="1" 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="&#xA; /* TODO: Allow package stereotype annotations. */&#xA; self.NamespaceDefinition_annotationAllowed(annotation) or&#xA; annotation.stereotypeName.pathName = 'apply' or&#xA; annotation.stereotypeName.pathName = 'ModelLibrary'"/>
+ </eAnnotations>
+ <eParameters name="annotation" lowerBound="1" eType="#//StereotypeAnnotation"/>
+ </eOperations>
+ <eOperations name="matchForStub" lowerBound="1" 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="unit.definition.oclIsKindOf(PackageDefinition)"/>
+ </eAnnotations>
+ <eParameters name="unit" lowerBound="1" eType="#//UnitDefinition"/>
+ </eOperations>
+ <eOperations name="isSameKindAs" lowerBound="1" 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="member.isPackage()"/>
+ </eAnnotations>
+ <eParameters name="member" lowerBound="1" eType="#//ElementReference"/>
+ </eOperations>
+ <eOperations name="packageDefinitionAppliedProfileDerivation" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="appliedProfiles" ordered="false" upperBound="-1" eType="#//ElementReference">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="self.appliedProfile->union(self.NamespaceDefinition_appliedProfiles())"/>
+ </eAnnotations>
+ </eOperations>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="appliedProfile" ordered="false"
+ upperBound="-1" eType="#//ElementReference" volatile="true" transient="true"
+ derived="true">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="derivation" value="&#xA; let applications : Set(StereotypeAnnotation) = &#xA; self.annotation()->select(stereotypeName.pathName = 'apply') &#xA; in&#xA; applications.names.name.referent->select(isProfile())->asSet()"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="PropertyDefinition" eSuperTypes="#//MemberDefinition">
+ <eOperations name="assignmentsBefore" ordered="false" upperBound="-1" eType="#//AssignedSource">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="Set(AssignedSource){}"/>
+ </eAnnotations>
+ <eParameters name="element" lowerBound="1" eType="#//SyntaxElement"/>
+ </eOperations>
+ <eOperations name="annotationAllowed" lowerBound="1" 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="&#xA; /* TODO: Allow property stereotype annotations. */&#xA; false"/>
+ </eAnnotations>
+ <eParameters name="annotation" lowerBound="1" eType="#//StereotypeAnnotation"/>
+ </eOperations>
+ <eOperations name="isSameKindAs" lowerBound="1" 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="member.isProperty()"/>
+ </eAnnotations>
+ <eParameters name="member" lowerBound="1" eType="#//ElementReference"/>
+ </eOperations>
+ <eOperations name="isFeature" lowerBound="1" 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="true"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="propertyDefinitionInitializer" 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="&#xA; self.initializer &lt;> null implies &#xA; self.typePart.isAssignableFrom(self.initializer)"/>
+ </eAnnotations>
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="propertyDefinitionIsCollectionConversionDerivation" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="propertyDefinitionIsBitStringConversionDerivation" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="propertyDefinitionIsFeatureDerivation" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="isComposite" lowerBound="1"
+ eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean" defaultValueLiteral="false"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="initializer" eType="#//Expression"
+ containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="isCollectionConversion"
+ eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean" volatile="true"
+ transient="true" derived="true">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="derivation" value="&#xA; self.initializer &lt;> null and &#xA; self.initializer.type &lt;> null and&#xA; self.isCollectionClass(self.initializer.type) and&#xA; (self.typePart.type = null or &#xA; not self.isCollectionClass(self.typePart.type)&#xA; )"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <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://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="derivation" value="&#xA; self.typePart.type &lt;> null and&#xA; self.isIntegerType(self.typePart.type) and&#xA; self.initializer.type &lt;> null and&#xA; (self.isIntegerType(self.initializer.type) or&#xA; self.isIntegerCollectionClass(self.initializer.type)&#xA; )"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="typePart" eType="#//TypedElementDefinition"
+ containment="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="SignalDefinition" eSuperTypes="#//ClassifierDefinition">
+ <eOperations name="matchForStub" lowerBound="1" 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="&#xA; self.ClassifierDefinition_matchForStub(unit) and&#xA; unit.definition.oclIsKindOf(SignalDefinition)"/>
+ </eAnnotations>
+ <eParameters name="unit" lowerBound="1" eType="#//UnitDefinition"/>
+ </eOperations>
+ <eOperations name="annotationAllowed" lowerBound="1" 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="&#xA; /* TODO: Allow signal stereotype annotations */&#xA; self.ClassifierDefinition_annotationAllowed(annotation)"/>
+ </eAnnotations>
+ <eParameters name="annotation" lowerBound="1" eType="#//StereotypeAnnotation"/>
+ </eOperations>
+ <eOperations name="isSameKindAs" lowerBound="1" 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="member.isSignal()"/>
+ </eAnnotations>
+ <eParameters name="member" lowerBound="1" eType="#//ElementReference"/>
+ </eOperations>
+ <eOperations name="signalDefinitionSpecializationReferent" 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="&#xA; self.specializationReferent->forAll(isSignal())"/>
+ </eAnnotations>
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="ActiveClassDefinition" eSuperTypes="#//ClassDefinition">
+ <eOperations name="matchForStub" lowerBound="1" 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="&#xA; /* NOTE: ClassDefinition::matchForStub would not allow an ActiveClassDefinition. */&#xA; self.ClassifierDefinition_matchForStub(unit) and&#xA; unit.definition.oclIsKindOf(ActiveClassDefinition)"/>
+ </eAnnotations>
+ <eParameters name="unit" lowerBound="1" eType="#//UnitDefinition"/>
+ </eOperations>
+ <eOperations name="activeClassDefinitionClassifierBehavior" 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="&#xA; not self.isAbstract implies self.classifierBehavior &lt;> null"/>
+ </eAnnotations>
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="classifierBehavior" eType="#//ActivityDefinition"
+ containment="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="ActivityDefinition" eSuperTypes="#//ClassifierDefinition">
+ <eOperations name="assignmentsBefore" ordered="false" upperBound="-1" eType="#//AssignedSource">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="&#xA; if self.body &lt;> element then Set(AssignedSource){}&#xA; else&#xA; self.parameters()->collect(parameter |&#xA; AssignedSource{&#xA; name = parameter.actualName(),&#xA; source = if parameter.direction = 'out' then null else parameter endif,&#xA; type = parameter.typePart.type,&#xA; upper = parameter.typePart.upper,&#xA; lower = parameter.typePart.lower&#xA; }&#xA; )&#xA; endif"/>
+ </eAnnotations>
+ <eParameters name="element" lowerBound="1" eType="#//SyntaxElement"/>
+ </eOperations>
+ <eOperations name="outerScope" eType="#//ElementReference">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="&#xA; let owner = self.oclContainer() in&#xA; if owner.oclIsKindOf(ActiveClassDefinition) and &#xA; owner.oclAsType(ActiveClassDefinition).classifierBehavior = self then&#xA; owner.oclAsType(ActiveClassDefinition).toReference()&#xA; else&#xA; self.NamespaceDefinition_outerScope()&#xA; endif"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="annotationAllowed" lowerBound="1" 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="&#xA; /* TODO: Allow activity stereotype annotations. */&#xA; self.ClassifierDefinition_annotationAllowed(annotation) or&#xA; annotation.stereotypeName.pathName = 'primitive'"/>
+ </eAnnotations>
+ <eParameters name="annotation" lowerBound="1" eType="#//StereotypeAnnotation"/>
+ </eOperations>
+ <eOperations name="matchForStub" lowerBound="1" 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="&#xA; self.ClassifierDefinition_matchForStub(unit) and&#xA; let definition = unit.definition in&#xA; definition.oclIsKindOf(ActivityDefinition) and&#xA; let parameters = self.parameters() in&#xA; let otherParameters = definition.parameters() in&#xA; parameters->size() = otherParameters->size() and &#xA; Sequence{1 .. parameters->size()}->forAll(i | &#xA; parameters->at(i).matches(otherParameters->at(i))&#xA; ) and&#xA; let returnParameter = self.returnParameter() in&#xA; let otherReturnParameter = definition.returnParameter() in&#xA; returnParameter = null and otherReturnParameter = null or&#xA; returnParameter &lt;> null and returnParameter.matches(otherReturnParameter)"/>
+ </eAnnotations>
+ <eParameters name="unit" lowerBound="1" eType="#//UnitDefinition"/>
+ </eOperations>
+ <eOperations name="isSameKindAs" lowerBound="1" 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="member.isActivity()"/>
+ </eAnnotations>
+ <eParameters name="member" lowerBound="1" eType="#//ElementReference"/>
+ </eOperations>
+ <eOperations name="activityDefinitionSpecialization" 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="&#xA; self.specialization = null"/>
+ </eAnnotations>
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="activityDefinitionPrimitive" 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="&#xA; self.isPrimitive implies self.body = null"/>
+ </eAnnotations>
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="body" eType="#//Block"
+ containment="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="ElementImportReference" eSuperTypes="#//ImportReference">
+ <eOperations name="importedMembers" ordered="false" upperBound="-1" eType="#//Member">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="&#xA; if self.referent = null then&#xA; Set(Member){}&#xA; else&#xA; Set{Member{&#xA; visibility = self.visibility,&#xA; definition = ImportedMember{&#xA; name = if self.alias = null then self.referent.name() else self.alias endif,&#xA; referent = self.referent&#xA; }&#xA; }}&#xA; endif"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="elementImportReferenceReferent" 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="&#xA; self.referent &lt;>null and self.referent.isPackageableElement()"/>
+ </eAnnotations>
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="alias" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="SignalReceptionDefinition" eSuperTypes="#//SignalDefinition">
+ <eOperations name="isFeature" lowerBound="1" 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="true"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="signalReceptionDefinitionIsFeatureDerivation" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="EnumerationDefinition" eSuperTypes="#//ClassifierDefinition">
+ <eOperations name="matchForStub" lowerBound="1" 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="&#xA; self.ClassifierDefinition_matchForStub(unit) and&#xA; unit.definition.oclIsKindOf(EnumerationDefinition)"/>
+ </eAnnotations>
+ <eParameters name="unit" lowerBound="1" eType="#//UnitDefinition"/>
+ </eOperations>
+ <eOperations name="annotationAllowed" lowerBound="1" 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="&#xA; /* TODO: Allow enumeration stereotype annotations. */&#xA; self.ClassifierDefinition_annotationAllowed(annotation)"/>
+ </eAnnotations>
+ <eParameters name="annotation" lowerBound="1" eType="#//StereotypeAnnotation"/>
+ </eOperations>
+ <eOperations name="isSameKindAs" lowerBound="1" 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="member.isEnumeration()"/>
+ </eAnnotations>
+ <eParameters name="member" lowerBound="1" eType="#//ElementReference"/>
+ </eOperations>
+ <eOperations name="enumerationDefinitionSpecializationReferent" 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="&#xA; self.specializationReferent->forAll(isEnumeration())"/>
+ </eAnnotations>
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="PackageImportReference" eSuperTypes="#//ImportReference">
+ <eOperations name="importedMembers" ordered="false" upperBound="-1" eType="#//Member">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="&#xA; if self.referent = null then Set(Member){}&#xA; else self.referent.visibleMembers()->collect(m | &#xA; Member{&#xA; visibility = self.visibility,&#xA; definition = ImportedMember{name = m.name(), referent = m}&#xA; }&#xA; )&#xA; endif"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="packageImportReferenceReferent" 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="&#xA; self.referent &lt;> null and self.referent.isPackage()"/>
+ </eAnnotations>
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="ClassifierTemplateParameter" eSuperTypes="#//ClassifierDefinition">
+ <eOperations name="annotationAllowed" lowerBound="1" 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="false"/>
+ </eAnnotations>
+ <eParameters name="annotation" lowerBound="1" eType="#//StereotypeAnnotation"/>
+ </eOperations>
+ <eOperations name="matchForStub" lowerBound="1" 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="not self.isStub"/>
+ </eAnnotations>
+ <eParameters name="unit" lowerBound="1" eType="#//UnitDefinition"/>
+ </eOperations>
+ <eOperations name="isSameKindAs" lowerBound="1" 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="member.isClassifierTemplateParameter()"/>
+ </eAnnotations>
+ <eParameters name="member" lowerBound="1" eType="#//ElementReference"/>
+ </eOperations>
+ <eOperations name="matches" lowerBound="1" 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="&#xA; self.actualName() = other.actualName() and&#xA; self.specializationReferent->size() = other.specializationReferent->size() and&#xA; self.specializationReferent->forAll(containedIn(other.specializationReferent->asBag()))"/>
+ </eAnnotations>
+ <eParameters name="other" lowerBound="1" eType="#//ClassifierTemplateParameter"/>
+ </eOperations>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="FormalParameter" eSuperTypes="#//MemberDefinition">
+ <eOperations name="currentScope" eType="#//ElementReference">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="self.oclContainer().oclContainer().oclAsType(NamespaceDefinition).toReference()"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="annotationAllowed" lowerBound="1" 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="&#xA; /* TODO: Allow formal parameter stereoype annotations. */&#xA; false"/>
+ </eAnnotations>
+ <eParameters name="annotation" lowerBound="1" eType="#//StereotypeAnnotation"/>
+ </eOperations>
+ <eOperations name="isSameKindAs" lowerBound="1" 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="member.isParameter()"/>
+ </eAnnotations>
+ <eParameters name="member" lowerBound="1" eType="#//ElementReference"/>
+ </eOperations>
+ <eOperations name="matches" lowerBound="1" 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="&#xA; other &lt;> null and&#xA; self.direction = other.direction and &#xA; self.actualName() = other.actualName() and &#xA; self.typePart.lower = other.typePart.lower and &#xA; self.typePart.upper = other.typePart.upper and&#xA; self.typePart.isOrdered() = other.typePart.isOrdered() and&#xA; self.typePart.isNonunique() = other.typePart.isNonunique() and &#xA; let type = self.typePart.type in&#xA; let otherType = other.typePart.type in&#xA; type = null and otherType = null or &#xA; type &lt;> null and type.equals(otherType)"/>
+ </eAnnotations>
+ <eParameters name="other" eType="#//FormalParameter"/>
+ </eOperations>
+ <eOperations name="matchesElement" lowerBound="1" 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="&#xA; self.matchesNameType(other) and&#xA; self.direction = other.direction() and &#xA; self.typePart.lower = other.lower() and &#xA; self.typePart.upper = other.upper() and&#xA; self.typePart.isOrdered() = other.isOrdered() and&#xA; self.typePart.isNonunique() = other.isNonunique()"/>
+ </eAnnotations>
+ <eParameters name="other" eType="#//ElementReference"/>
+ </eOperations>
+ <eOperations name="matchesNameType" lowerBound="1" 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="&#xA; self.matchesType(other) and&#xA; self.actualName() = other.name()"/>
+ </eAnnotations>
+ <eParameters name="other" eType="#//ElementReference"/>
+ </eOperations>
+ <eOperations name="matchesType" lowerBound="1" 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="&#xA; other &lt;> null and&#xA; let type = self.typePart.type in&#xA; let otherType = other.type() in&#xA; type = null and otherType = null or&#xA; type &lt;> null and type.equals(otherType)"/>
+ </eAnnotations>
+ <eParameters name="other" eType="#//ElementReference"/>
+ </eOperations>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="direction" lowerBound="1"
+ eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString" defaultValueLiteral="return">
+ <eAnnotations source="http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeRoleName">
+ <details key="body" value="ReceptionDefinition"/>
+ </eAnnotations>
+ <eAnnotations source="http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeRoleName">
+ <details key="body" value="ReceptionDefinition"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="typePart" eType="#//TypedElementDefinition"
+ containment="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="ReceptionDefinition" eSuperTypes="#//MemberDefinition">
+ <eOperations name="actualName" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="self.signalName.unqualifiedName.toName()"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="annotationAllowed" lowerBound="1" 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="&#xA; /* TODO: Allow reception stereoype annotations. */&#xA; false"/>
+ </eAnnotations>
+ <eParameters name="annotation" lowerBound="1" eType="#//StereotypeAnnotation"/>
+ </eOperations>
+ <eOperations name="isSameKindAs" lowerBound="1" 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="member.isReception()"/>
+ </eAnnotations>
+ <eParameters name="member" lowerBound="1" eType="#//ElementReference"/>
+ </eOperations>
+ <eOperations name="isFeature" lowerBound="1" 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="true"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="receptionDefinitionSignalName" 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="&#xA; self.signal &lt;> null and not self.signal.isTemplate()"/>
+ </eAnnotations>
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="receptionDefinitionSignalDerivation" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="receptionDefinitionIsFeatureDerivation" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="signalName" lowerBound="1"
+ eType="#//QualifiedName" containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="signal" eType="#//ElementReference"
+ volatile="true" transient="true" derived="true">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="derivation" value="&#xA; let referents = self.signalName.referent->select(isSignal()) in&#xA; if referents->size() = 1 then&#xA; referents->any(true)&#xA; else&#xA; null&#xA; endif"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="Member" eSuperTypes="#//DocumentedElement">
+ <eOperations name="toReference" lowerBound="1" eType="#//ElementReference">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="&#xA; self.definition.toReference()"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="visibility" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="&#xA; if self.visibility &lt;> null then self.visibility&#xA; else if definition.oclIsKindOf(EnumerationLiteralName) then 'public'&#xA; else 'package'&#xA; endif endif"/>
+ </eAnnotations>
+ </eOperations>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="definition" lowerBound="1"
+ eType="#//MemberDefinition" containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="visibility" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">
+ <eAnnotations source="http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeRoleName">
+ <details key="body" value="AnnotatedStatement"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="namespace" eType="#//NamespaceDefinition"
+ eOpposite="#//NamespaceDefinition/ownedMember"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="annotation" ordered="false"
+ upperBound="-1" eType="#//StereotypeAnnotation" containment="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="AnnotatedStatement" eSuperTypes="#//DocumentedElement">
+ <eOperations name="annotations" ordered="false" upperBound="-1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="annotation" ordered="false"
+ upperBound="-1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">
+ <eAnnotations source="http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeRoleName">
+ <details key="body" value="BoundClassifier"/>
+ <details key="unique" value="false"/>
+ <details key="upper" value="*"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="statement" lowerBound="1"
+ eType="#//Statement" containment="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="BoundClassifier" eSuperTypes="#//ClassifierDefinition">
+ <eOperations name="toReference" lowerBound="1" eType="#//ElementReference">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="&#xA; BoundElementReference{&#xA; referent = self.template,&#xA; namespace = self.template.namespace(),&#xA; templateBinding = InternalElementReference{element = self}&#xA; }"/>
+ </eAnnotations>
+ </eOperations>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="template" lowerBound="1"
+ eType="#//ElementReference"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="actual" unique="false"
+ upperBound="-1" eType="#//ElementReference"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="ReturnParameter" eSuperTypes="#//FormalParameter"/>
+ <eClassifiers xsi:type="ecore:EClass" name="NonReturnParameter" eSuperTypes="#//FormalParameter"/>
+ <eClassifiers xsi:type="ecore:EClass" name="AnyType" eSuperTypes="#//ClassifierDefinition">
+ <eOperations name="actualName" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="body" value="'any'"/>
+ </eAnnotations>
+ </eOperations>
+ </eClassifiers>
+</ecore:EPackage>
diff --git a/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/util/AlfAdapterFactory.java b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/util/AlfAdapterFactory.java
new file mode 100644
index 00000000000..8db0175969a
--- /dev/null
+++ b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/util/AlfAdapterFactory.java
@@ -0,0 +1,2730 @@
+/**
+ */
+package org.eclipse.papyrus.uml.alf.util;
+
+import org.eclipse.emf.common.notify.Adapter;
+import org.eclipse.emf.common.notify.Notifier;
+
+import org.eclipse.emf.common.notify.impl.AdapterFactoryImpl;
+
+import org.eclipse.emf.ecore.EObject;
+
+import org.eclipse.papyrus.uml.alf.*;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Adapter Factory</b> for the model.
+ * It provides an adapter <code>createXXX</code> method for each class of the model.
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage
+ * @generated
+ */
+public class AlfAdapterFactory extends AdapterFactoryImpl {
+ /**
+ * The cached model package.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected static AlfPackage modelPackage;
+
+ /**
+ * Creates an instance of the adapter factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public AlfAdapterFactory() {
+ if (modelPackage == null) {
+ modelPackage = AlfPackage.eINSTANCE;
+ }
+ }
+
+ /**
+ * Returns whether this factory is applicable for the type of the object.
+ * <!-- begin-user-doc -->
+ * This implementation returns <code>true</code> if the object is either the model's package or is an instance object of the model.
+ * <!-- end-user-doc -->
+ *
+ * @return whether this factory is applicable for the type of the object.
+ * @generated
+ */
+ @Override
+ public boolean isFactoryForType(Object object) {
+ if (object == modelPackage) {
+ return true;
+ }
+ if (object instanceof EObject) {
+ return ((EObject) object).eClass().getEPackage() == modelPackage;
+ }
+ return false;
+ }
+
+ /**
+ * The switch that delegates to the <code>createXXX</code> methods.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected AlfSwitch<Adapter> modelSwitch =
+ new AlfSwitch<Adapter>() {
+ @Override
+ public Adapter caseAssignedSource(AssignedSource object) {
+ return createAssignedSourceAdapter();
+ }
+
+ @Override
+ public Adapter caseSyntaxElement(SyntaxElement object) {
+ return createSyntaxElementAdapter();
+ }
+
+ @Override
+ public Adapter caseElementReference(ElementReference object) {
+ return createElementReferenceAdapter();
+ }
+
+ @Override
+ public Adapter caseInternalElementReference(InternalElementReference object) {
+ return createInternalElementReferenceAdapter();
+ }
+
+ @Override
+ public Adapter caseExternalElementReference(ExternalElementReference object) {
+ return createExternalElementReferenceAdapter();
+ }
+
+ @Override
+ public Adapter caseExternalEnumerationLiteralReference(ExternalEnumerationLiteralReference object) {
+ return createExternalEnumerationLiteralReferenceAdapter();
+ }
+
+ @Override
+ public Adapter caseBoundElementReference(BoundElementReference object) {
+ return createBoundElementReferenceAdapter();
+ }
+
+ @Override
+ public Adapter caseDocumentedElement(DocumentedElement object) {
+ return createDocumentedElementAdapter();
+ }
+
+ @Override
+ public Adapter caseSequenceExpansionExpression(SequenceExpansionExpression object) {
+ return createSequenceExpansionExpressionAdapter();
+ }
+
+ @Override
+ public Adapter caseAssignableElement(AssignableElement object) {
+ return createAssignableElementAdapter();
+ }
+
+ @Override
+ public Adapter caseAssignableElementReference(AssignableElementReference object) {
+ return createAssignableElementReferenceAdapter();
+ }
+
+ @Override
+ public Adapter caseExpression(Expression object) {
+ return createExpressionAdapter();
+ }
+
+ @Override
+ public Adapter caseExtentOrExpression(ExtentOrExpression object) {
+ return createExtentOrExpressionAdapter();
+ }
+
+ @Override
+ public Adapter caseQualifiedName(QualifiedName object) {
+ return createQualifiedNameAdapter();
+ }
+
+ @Override
+ public Adapter caseFeatureReference(FeatureReference object) {
+ return createFeatureReferenceAdapter();
+ }
+
+ @Override
+ public Adapter caseNameBinding(NameBinding object) {
+ return createNameBindingAdapter();
+ }
+
+ @Override
+ public Adapter caseTemplateBinding(TemplateBinding object) {
+ return createTemplateBindingAdapter();
+ }
+
+ @Override
+ public Adapter caseNamedTemplateBinding(NamedTemplateBinding object) {
+ return createNamedTemplateBindingAdapter();
+ }
+
+ @Override
+ public Adapter caseTemplateParameterSubstitution(TemplateParameterSubstitution object) {
+ return createTemplateParameterSubstitutionAdapter();
+ }
+
+ @Override
+ public Adapter caseNumericUnaryExpression(NumericUnaryExpression object) {
+ return createNumericUnaryExpressionAdapter();
+ }
+
+ @Override
+ public Adapter caseUnaryExpression(UnaryExpression object) {
+ return createUnaryExpressionAdapter();
+ }
+
+ @Override
+ public Adapter caseForAllOrExistsOrOneExpression(ForAllOrExistsOrOneExpression object) {
+ return createForAllOrExistsOrOneExpressionAdapter();
+ }
+
+ @Override
+ public Adapter caseIsolationExpression(IsolationExpression object) {
+ return createIsolationExpressionAdapter();
+ }
+
+ @Override
+ public Adapter caseBinaryExpression(BinaryExpression object) {
+ return createBinaryExpressionAdapter();
+ }
+
+ @Override
+ public Adapter caseBooleanUnaryExpression(BooleanUnaryExpression object) {
+ return createBooleanUnaryExpressionAdapter();
+ }
+
+ @Override
+ public Adapter caseCastExpression(CastExpression object) {
+ return createCastExpressionAdapter();
+ }
+
+ @Override
+ public Adapter casePositionalTuple(PositionalTuple object) {
+ return createPositionalTupleAdapter();
+ }
+
+ @Override
+ public Adapter caseTuple(Tuple object) {
+ return createTupleAdapter();
+ }
+
+ @Override
+ public Adapter caseNamedExpression(NamedExpression object) {
+ return createNamedExpressionAdapter();
+ }
+
+ @Override
+ public Adapter caseInputNamedExpression(InputNamedExpression object) {
+ return createInputNamedExpressionAdapter();
+ }
+
+ @Override
+ public Adapter caseInvocationExpression(InvocationExpression object) {
+ return createInvocationExpressionAdapter();
+ }
+
+ @Override
+ public Adapter caseOutputNamedExpression(OutputNamedExpression object) {
+ return createOutputNamedExpressionAdapter();
+ }
+
+ @Override
+ public Adapter caseLeftHandSide(LeftHandSide object) {
+ return createLeftHandSideAdapter();
+ }
+
+ @Override
+ public Adapter caseSequenceAccessExpression(SequenceAccessExpression object) {
+ return createSequenceAccessExpressionAdapter();
+ }
+
+ @Override
+ public Adapter caseStringLiteralExpression(StringLiteralExpression object) {
+ return createStringLiteralExpressionAdapter();
+ }
+
+ @Override
+ public Adapter caseLiteralExpression(LiteralExpression object) {
+ return createLiteralExpressionAdapter();
+ }
+
+ @Override
+ public Adapter caseSequenceOperationExpression(SequenceOperationExpression object) {
+ return createSequenceOperationExpressionAdapter();
+ }
+
+ @Override
+ public Adapter caseSelectOrRejectExpression(SelectOrRejectExpression object) {
+ return createSelectOrRejectExpressionAdapter();
+ }
+
+ @Override
+ public Adapter caseClassExtentExpression(ClassExtentExpression object) {
+ return createClassExtentExpressionAdapter();
+ }
+
+ @Override
+ public Adapter casePositionalTemplateBinding(PositionalTemplateBinding object) {
+ return createPositionalTemplateBindingAdapter();
+ }
+
+ @Override
+ public Adapter caseConditionalLogicalExpression(ConditionalLogicalExpression object) {
+ return createConditionalLogicalExpressionAdapter();
+ }
+
+ @Override
+ public Adapter caseLinkOperationExpression(LinkOperationExpression object) {
+ return createLinkOperationExpressionAdapter();
+ }
+
+ @Override
+ public Adapter caseEqualityExpression(EqualityExpression object) {
+ return createEqualityExpressionAdapter();
+ }
+
+ @Override
+ public Adapter caseAssignmentExpression(AssignmentExpression object) {
+ return createAssignmentExpressionAdapter();
+ }
+
+ @Override
+ public Adapter caseLogicalExpression(LogicalExpression object) {
+ return createLogicalExpressionAdapter();
+ }
+
+ @Override
+ public Adapter caseSequenceConstructionExpression(SequenceConstructionExpression object) {
+ return createSequenceConstructionExpressionAdapter();
+ }
+
+ @Override
+ public Adapter caseSequenceElements(SequenceElements object) {
+ return createSequenceElementsAdapter();
+ }
+
+ @Override
+ public Adapter caseCollectOrIterateExpression(CollectOrIterateExpression object) {
+ return createCollectOrIterateExpressionAdapter();
+ }
+
+ @Override
+ public Adapter caseIsUniqueExpression(IsUniqueExpression object) {
+ return createIsUniqueExpressionAdapter();
+ }
+
+ @Override
+ public Adapter caseArithmeticExpression(ArithmeticExpression object) {
+ return createArithmeticExpressionAdapter();
+ }
+
+ @Override
+ public Adapter caseFeatureLeftHandSide(FeatureLeftHandSide object) {
+ return createFeatureLeftHandSideAdapter();
+ }
+
+ @Override
+ public Adapter caseConditionalTestExpression(ConditionalTestExpression object) {
+ return createConditionalTestExpressionAdapter();
+ }
+
+ @Override
+ public Adapter caseInstanceCreationExpression(InstanceCreationExpression object) {
+ return createInstanceCreationExpressionAdapter();
+ }
+
+ @Override
+ public Adapter casePropertyAccessExpression(PropertyAccessExpression object) {
+ return createPropertyAccessExpressionAdapter();
+ }
+
+ @Override
+ public Adapter caseNameExpression(NameExpression object) {
+ return createNameExpressionAdapter();
+ }
+
+ @Override
+ public Adapter caseBitStringUnaryExpression(BitStringUnaryExpression object) {
+ return createBitStringUnaryExpressionAdapter();
+ }
+
+ @Override
+ public Adapter caseFeatureInvocationExpression(FeatureInvocationExpression object) {
+ return createFeatureInvocationExpressionAdapter();
+ }
+
+ @Override
+ public Adapter caseBehaviorInvocationExpression(BehaviorInvocationExpression object) {
+ return createBehaviorInvocationExpressionAdapter();
+ }
+
+ @Override
+ public Adapter caseShiftExpression(ShiftExpression object) {
+ return createShiftExpressionAdapter();
+ }
+
+ @Override
+ public Adapter caseUnboundedLiteralExpression(UnboundedLiteralExpression object) {
+ return createUnboundedLiteralExpressionAdapter();
+ }
+
+ @Override
+ public Adapter caseThisExpression(ThisExpression object) {
+ return createThisExpressionAdapter();
+ }
+
+ @Override
+ public Adapter caseClassificationExpression(ClassificationExpression object) {
+ return createClassificationExpressionAdapter();
+ }
+
+ @Override
+ public Adapter caseSuperInvocationExpression(SuperInvocationExpression object) {
+ return createSuperInvocationExpressionAdapter();
+ }
+
+ @Override
+ public Adapter caseIncrementOrDecrementExpression(IncrementOrDecrementExpression object) {
+ return createIncrementOrDecrementExpressionAdapter();
+ }
+
+ @Override
+ public Adapter caseBooleanLiteralExpression(BooleanLiteralExpression object) {
+ return createBooleanLiteralExpressionAdapter();
+ }
+
+ @Override
+ public Adapter caseNamedTuple(NamedTuple object) {
+ return createNamedTupleAdapter();
+ }
+
+ @Override
+ public Adapter caseNaturalLiteralExpression(NaturalLiteralExpression object) {
+ return createNaturalLiteralExpressionAdapter();
+ }
+
+ @Override
+ public Adapter caseSequenceRange(SequenceRange object) {
+ return createSequenceRangeAdapter();
+ }
+
+ @Override
+ public Adapter caseNameLeftHandSide(NameLeftHandSide object) {
+ return createNameLeftHandSideAdapter();
+ }
+
+ @Override
+ public Adapter caseEffectiveLeftHandSide(EffectiveLeftHandSide object) {
+ return createEffectiveLeftHandSideAdapter();
+ }
+
+ @Override
+ public Adapter caseSequenceReductionExpression(SequenceReductionExpression object) {
+ return createSequenceReductionExpressionAdapter();
+ }
+
+ @Override
+ public Adapter caseSequenceExpressionList(SequenceExpressionList object) {
+ return createSequenceExpressionListAdapter();
+ }
+
+ @Override
+ public Adapter caseRelationalExpression(RelationalExpression object) {
+ return createRelationalExpressionAdapter();
+ }
+
+ @Override
+ public Adapter caseLocalNameDeclarationStatement(LocalNameDeclarationStatement object) {
+ return createLocalNameDeclarationStatementAdapter();
+ }
+
+ @Override
+ public Adapter caseAssignableLocalNameDeclaration(AssignableLocalNameDeclaration object) {
+ return createAssignableLocalNameDeclarationAdapter();
+ }
+
+ @Override
+ public Adapter caseStatement(Statement object) {
+ return createStatementAdapter();
+ }
+
+ @Override
+ public Adapter caseAnnotation(Annotation object) {
+ return createAnnotationAdapter();
+ }
+
+ @Override
+ public Adapter caseQualifiedNameList(QualifiedNameList object) {
+ return createQualifiedNameListAdapter();
+ }
+
+ @Override
+ public Adapter caseNonFinalClause(NonFinalClause object) {
+ return createNonFinalClauseAdapter();
+ }
+
+ @Override
+ public Adapter caseBlock(Block object) {
+ return createBlockAdapter();
+ }
+
+ @Override
+ public Adapter caseBlockStatement(BlockStatement object) {
+ return createBlockStatementAdapter();
+ }
+
+ @Override
+ public Adapter caseDoStatement(DoStatement object) {
+ return createDoStatementAdapter();
+ }
+
+ @Override
+ public Adapter caseConcurrentClauses(ConcurrentClauses object) {
+ return createConcurrentClausesAdapter();
+ }
+
+ @Override
+ public Adapter caseBreakStatement(BreakStatement object) {
+ return createBreakStatementAdapter();
+ }
+
+ @Override
+ public Adapter caseExpressionStatement(ExpressionStatement object) {
+ return createExpressionStatementAdapter();
+ }
+
+ @Override
+ public Adapter caseClassifyStatement(ClassifyStatement object) {
+ return createClassifyStatementAdapter();
+ }
+
+ @Override
+ public Adapter caseForStatement(ForStatement object) {
+ return createForStatementAdapter();
+ }
+
+ @Override
+ public Adapter caseLoopVariableDefinition(LoopVariableDefinition object) {
+ return createLoopVariableDefinitionAdapter();
+ }
+
+ @Override
+ public Adapter caseIfStatement(IfStatement object) {
+ return createIfStatementAdapter();
+ }
+
+ @Override
+ public Adapter caseSwitchStatement(SwitchStatement object) {
+ return createSwitchStatementAdapter();
+ }
+
+ @Override
+ public Adapter caseSwitchClause(SwitchClause object) {
+ return createSwitchClauseAdapter();
+ }
+
+ @Override
+ public Adapter caseWhileStatement(WhileStatement object) {
+ return createWhileStatementAdapter();
+ }
+
+ @Override
+ public Adapter caseReturnStatement(ReturnStatement object) {
+ return createReturnStatementAdapter();
+ }
+
+ @Override
+ public Adapter caseInLineStatement(InLineStatement object) {
+ return createInLineStatementAdapter();
+ }
+
+ @Override
+ public Adapter caseAcceptStatement(AcceptStatement object) {
+ return createAcceptStatementAdapter();
+ }
+
+ @Override
+ public Adapter caseAcceptBlock(AcceptBlock object) {
+ return createAcceptBlockAdapter();
+ }
+
+ @Override
+ public Adapter caseEmptyStatement(EmptyStatement object) {
+ return createEmptyStatementAdapter();
+ }
+
+ @Override
+ public Adapter caseModelNamespace(ModelNamespace object) {
+ return createModelNamespaceAdapter();
+ }
+
+ @Override
+ public Adapter caseNamespaceDefinition(NamespaceDefinition object) {
+ return createNamespaceDefinitionAdapter();
+ }
+
+ @Override
+ public Adapter caseMemberDefinition(MemberDefinition object) {
+ return createMemberDefinitionAdapter();
+ }
+
+ @Override
+ public Adapter caseStereotypeAnnotation(StereotypeAnnotation object) {
+ return createStereotypeAnnotationAdapter();
+ }
+
+ @Override
+ public Adapter caseTaggedValueList(TaggedValueList object) {
+ return createTaggedValueListAdapter();
+ }
+
+ @Override
+ public Adapter caseTaggedValue(TaggedValue object) {
+ return createTaggedValueAdapter();
+ }
+
+ @Override
+ public Adapter caseUnitDefinition(UnitDefinition object) {
+ return createUnitDefinitionAdapter();
+ }
+
+ @Override
+ public Adapter caseImportReference(ImportReference object) {
+ return createImportReferenceAdapter();
+ }
+
+ @Override
+ public Adapter caseImportedMember(ImportedMember object) {
+ return createImportedMemberAdapter();
+ }
+
+ @Override
+ public Adapter caseEnumerationLiteralName(EnumerationLiteralName object) {
+ return createEnumerationLiteralNameAdapter();
+ }
+
+ @Override
+ public Adapter caseOperationDefinition(OperationDefinition object) {
+ return createOperationDefinitionAdapter();
+ }
+
+ @Override
+ public Adapter caseAssociationDefinition(AssociationDefinition object) {
+ return createAssociationDefinitionAdapter();
+ }
+
+ @Override
+ public Adapter caseClassifierDefinition(ClassifierDefinition object) {
+ return createClassifierDefinitionAdapter();
+ }
+
+ @Override
+ public Adapter caseClassDefinition(ClassDefinition object) {
+ return createClassDefinitionAdapter();
+ }
+
+ @Override
+ public Adapter caseTypedElementDefinition(TypedElementDefinition object) {
+ return createTypedElementDefinitionAdapter();
+ }
+
+ @Override
+ public Adapter caseDataTypeDefinition(DataTypeDefinition object) {
+ return createDataTypeDefinitionAdapter();
+ }
+
+ @Override
+ public Adapter casePackageDefinition(PackageDefinition object) {
+ return createPackageDefinitionAdapter();
+ }
+
+ @Override
+ public Adapter casePropertyDefinition(PropertyDefinition object) {
+ return createPropertyDefinitionAdapter();
+ }
+
+ @Override
+ public Adapter caseSignalDefinition(SignalDefinition object) {
+ return createSignalDefinitionAdapter();
+ }
+
+ @Override
+ public Adapter caseActiveClassDefinition(ActiveClassDefinition object) {
+ return createActiveClassDefinitionAdapter();
+ }
+
+ @Override
+ public Adapter caseActivityDefinition(ActivityDefinition object) {
+ return createActivityDefinitionAdapter();
+ }
+
+ @Override
+ public Adapter caseElementImportReference(ElementImportReference object) {
+ return createElementImportReferenceAdapter();
+ }
+
+ @Override
+ public Adapter caseSignalReceptionDefinition(SignalReceptionDefinition object) {
+ return createSignalReceptionDefinitionAdapter();
+ }
+
+ @Override
+ public Adapter caseEnumerationDefinition(EnumerationDefinition object) {
+ return createEnumerationDefinitionAdapter();
+ }
+
+ @Override
+ public Adapter casePackageImportReference(PackageImportReference object) {
+ return createPackageImportReferenceAdapter();
+ }
+
+ @Override
+ public Adapter caseClassifierTemplateParameter(ClassifierTemplateParameter object) {
+ return createClassifierTemplateParameterAdapter();
+ }
+
+ @Override
+ public Adapter caseFormalParameter(FormalParameter object) {
+ return createFormalParameterAdapter();
+ }
+
+ @Override
+ public Adapter caseReceptionDefinition(ReceptionDefinition object) {
+ return createReceptionDefinitionAdapter();
+ }
+
+ @Override
+ public Adapter caseMember(Member object) {
+ return createMemberAdapter();
+ }
+
+ @Override
+ public Adapter caseAnnotatedStatement(AnnotatedStatement object) {
+ return createAnnotatedStatementAdapter();
+ }
+
+ @Override
+ public Adapter caseBoundClassifier(BoundClassifier object) {
+ return createBoundClassifierAdapter();
+ }
+
+ @Override
+ public Adapter caseReturnParameter(ReturnParameter object) {
+ return createReturnParameterAdapter();
+ }
+
+ @Override
+ public Adapter caseNonReturnParameter(NonReturnParameter object) {
+ return createNonReturnParameterAdapter();
+ }
+
+ @Override
+ public Adapter caseAnyType(AnyType object) {
+ return createAnyTypeAdapter();
+ }
+
+ @Override
+ public Adapter defaultCase(EObject object) {
+ return createEObjectAdapter();
+ }
+ };
+
+ /**
+ * Creates an adapter for the <code>target</code>.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param target
+ * the object to adapt.
+ * @return the adapter for the <code>target</code>.
+ * @generated
+ */
+ @Override
+ public Adapter createAdapter(Notifier target) {
+ return modelSwitch.doSwitch((EObject) target);
+ }
+
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.uml.alf.AssignedSource <em>Assigned Source</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ *
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.uml.alf.AssignedSource
+ * @generated
+ */
+ public Adapter createAssignedSourceAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.uml.alf.SyntaxElement <em>Syntax Element</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ *
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.uml.alf.SyntaxElement
+ * @generated
+ */
+ public Adapter createSyntaxElementAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.uml.alf.ElementReference <em>Element Reference</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ *
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.uml.alf.ElementReference
+ * @generated
+ */
+ public Adapter createElementReferenceAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.uml.alf.InternalElementReference <em>Internal Element Reference</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ *
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.uml.alf.InternalElementReference
+ * @generated
+ */
+ public Adapter createInternalElementReferenceAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.uml.alf.ExternalElementReference <em>External Element Reference</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ *
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.uml.alf.ExternalElementReference
+ * @generated
+ */
+ public Adapter createExternalElementReferenceAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.uml.alf.ExternalEnumerationLiteralReference <em>External Enumeration Literal Reference</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ *
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.uml.alf.ExternalEnumerationLiteralReference
+ * @generated
+ */
+ public Adapter createExternalEnumerationLiteralReferenceAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.uml.alf.BoundElementReference <em>Bound Element Reference</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ *
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.uml.alf.BoundElementReference
+ * @generated
+ */
+ public Adapter createBoundElementReferenceAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.uml.alf.DocumentedElement <em>Documented Element</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ *
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.uml.alf.DocumentedElement
+ * @generated
+ */
+ public Adapter createDocumentedElementAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.uml.alf.SequenceExpansionExpression <em>Sequence Expansion Expression</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ *
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.uml.alf.SequenceExpansionExpression
+ * @generated
+ */
+ public Adapter createSequenceExpansionExpressionAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.uml.alf.AssignableElement <em>Assignable Element</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ *
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.uml.alf.AssignableElement
+ * @generated
+ */
+ public Adapter createAssignableElementAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.uml.alf.AssignableElementReference <em>Assignable Element Reference</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ *
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.uml.alf.AssignableElementReference
+ * @generated
+ */
+ public Adapter createAssignableElementReferenceAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.uml.alf.Expression <em>Expression</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ *
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.uml.alf.Expression
+ * @generated
+ */
+ public Adapter createExpressionAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.uml.alf.ExtentOrExpression <em>Extent Or Expression</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ *
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.uml.alf.ExtentOrExpression
+ * @generated
+ */
+ public Adapter createExtentOrExpressionAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.uml.alf.QualifiedName <em>Qualified Name</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ *
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.uml.alf.QualifiedName
+ * @generated
+ */
+ public Adapter createQualifiedNameAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.uml.alf.FeatureReference <em>Feature Reference</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ *
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.uml.alf.FeatureReference
+ * @generated
+ */
+ public Adapter createFeatureReferenceAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.uml.alf.NameBinding <em>Name Binding</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ *
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.uml.alf.NameBinding
+ * @generated
+ */
+ public Adapter createNameBindingAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.uml.alf.TemplateBinding <em>Template Binding</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ *
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.uml.alf.TemplateBinding
+ * @generated
+ */
+ public Adapter createTemplateBindingAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.uml.alf.NamedTemplateBinding <em>Named Template Binding</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ *
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.uml.alf.NamedTemplateBinding
+ * @generated
+ */
+ public Adapter createNamedTemplateBindingAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.uml.alf.TemplateParameterSubstitution <em>Template Parameter Substitution</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ *
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.uml.alf.TemplateParameterSubstitution
+ * @generated
+ */
+ public Adapter createTemplateParameterSubstitutionAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.uml.alf.NumericUnaryExpression <em>Numeric Unary Expression</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ *
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.uml.alf.NumericUnaryExpression
+ * @generated
+ */
+ public Adapter createNumericUnaryExpressionAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.uml.alf.UnaryExpression <em>Unary Expression</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ *
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.uml.alf.UnaryExpression
+ * @generated
+ */
+ public Adapter createUnaryExpressionAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.uml.alf.ForAllOrExistsOrOneExpression <em>For All Or Exists Or One Expression</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ *
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.uml.alf.ForAllOrExistsOrOneExpression
+ * @generated
+ */
+ public Adapter createForAllOrExistsOrOneExpressionAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.uml.alf.IsolationExpression <em>Isolation Expression</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ *
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.uml.alf.IsolationExpression
+ * @generated
+ */
+ public Adapter createIsolationExpressionAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.uml.alf.BinaryExpression <em>Binary Expression</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ *
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.uml.alf.BinaryExpression
+ * @generated
+ */
+ public Adapter createBinaryExpressionAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.uml.alf.BooleanUnaryExpression <em>Boolean Unary Expression</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ *
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.uml.alf.BooleanUnaryExpression
+ * @generated
+ */
+ public Adapter createBooleanUnaryExpressionAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.uml.alf.CastExpression <em>Cast Expression</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ *
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.uml.alf.CastExpression
+ * @generated
+ */
+ public Adapter createCastExpressionAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.uml.alf.PositionalTuple <em>Positional Tuple</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ *
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.uml.alf.PositionalTuple
+ * @generated
+ */
+ public Adapter createPositionalTupleAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.uml.alf.Tuple <em>Tuple</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ *
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.uml.alf.Tuple
+ * @generated
+ */
+ public Adapter createTupleAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.uml.alf.NamedExpression <em>Named Expression</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ *
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.uml.alf.NamedExpression
+ * @generated
+ */
+ public Adapter createNamedExpressionAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.uml.alf.InputNamedExpression <em>Input Named Expression</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ *
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.uml.alf.InputNamedExpression
+ * @generated
+ */
+ public Adapter createInputNamedExpressionAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.uml.alf.InvocationExpression <em>Invocation Expression</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ *
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.uml.alf.InvocationExpression
+ * @generated
+ */
+ public Adapter createInvocationExpressionAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.uml.alf.OutputNamedExpression <em>Output Named Expression</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ *
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.uml.alf.OutputNamedExpression
+ * @generated
+ */
+ public Adapter createOutputNamedExpressionAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.uml.alf.LeftHandSide <em>Left Hand Side</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ *
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.uml.alf.LeftHandSide
+ * @generated
+ */
+ public Adapter createLeftHandSideAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.uml.alf.SequenceAccessExpression <em>Sequence Access Expression</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ *
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.uml.alf.SequenceAccessExpression
+ * @generated
+ */
+ public Adapter createSequenceAccessExpressionAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.uml.alf.StringLiteralExpression <em>String Literal Expression</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ *
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.uml.alf.StringLiteralExpression
+ * @generated
+ */
+ public Adapter createStringLiteralExpressionAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.uml.alf.LiteralExpression <em>Literal Expression</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ *
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.uml.alf.LiteralExpression
+ * @generated
+ */
+ public Adapter createLiteralExpressionAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.uml.alf.SequenceOperationExpression <em>Sequence Operation Expression</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ *
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.uml.alf.SequenceOperationExpression
+ * @generated
+ */
+ public Adapter createSequenceOperationExpressionAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.uml.alf.SelectOrRejectExpression <em>Select Or Reject Expression</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ *
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.uml.alf.SelectOrRejectExpression
+ * @generated
+ */
+ public Adapter createSelectOrRejectExpressionAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.uml.alf.ClassExtentExpression <em>Class Extent Expression</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ *
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.uml.alf.ClassExtentExpression
+ * @generated
+ */
+ public Adapter createClassExtentExpressionAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.uml.alf.PositionalTemplateBinding <em>Positional Template Binding</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ *
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.uml.alf.PositionalTemplateBinding
+ * @generated
+ */
+ public Adapter createPositionalTemplateBindingAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.uml.alf.ConditionalLogicalExpression <em>Conditional Logical Expression</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ *
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.uml.alf.ConditionalLogicalExpression
+ * @generated
+ */
+ public Adapter createConditionalLogicalExpressionAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.uml.alf.LinkOperationExpression <em>Link Operation Expression</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ *
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.uml.alf.LinkOperationExpression
+ * @generated
+ */
+ public Adapter createLinkOperationExpressionAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.uml.alf.EqualityExpression <em>Equality Expression</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ *
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.uml.alf.EqualityExpression
+ * @generated
+ */
+ public Adapter createEqualityExpressionAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.uml.alf.AssignmentExpression <em>Assignment Expression</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ *
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.uml.alf.AssignmentExpression
+ * @generated
+ */
+ public Adapter createAssignmentExpressionAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.uml.alf.LogicalExpression <em>Logical Expression</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ *
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.uml.alf.LogicalExpression
+ * @generated
+ */
+ public Adapter createLogicalExpressionAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.uml.alf.SequenceConstructionExpression <em>Sequence Construction Expression</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ *
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.uml.alf.SequenceConstructionExpression
+ * @generated
+ */
+ public Adapter createSequenceConstructionExpressionAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.uml.alf.SequenceElements <em>Sequence Elements</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ *
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.uml.alf.SequenceElements
+ * @generated
+ */
+ public Adapter createSequenceElementsAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.uml.alf.CollectOrIterateExpression <em>Collect Or Iterate Expression</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ *
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.uml.alf.CollectOrIterateExpression
+ * @generated
+ */
+ public Adapter createCollectOrIterateExpressionAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.uml.alf.IsUniqueExpression <em>Is Unique Expression</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ *
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.uml.alf.IsUniqueExpression
+ * @generated
+ */
+ public Adapter createIsUniqueExpressionAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.uml.alf.ArithmeticExpression <em>Arithmetic Expression</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ *
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.uml.alf.ArithmeticExpression
+ * @generated
+ */
+ public Adapter createArithmeticExpressionAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.uml.alf.FeatureLeftHandSide <em>Feature Left Hand Side</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ *
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.uml.alf.FeatureLeftHandSide
+ * @generated
+ */
+ public Adapter createFeatureLeftHandSideAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.uml.alf.ConditionalTestExpression <em>Conditional Test Expression</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ *
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.uml.alf.ConditionalTestExpression
+ * @generated
+ */
+ public Adapter createConditionalTestExpressionAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.uml.alf.InstanceCreationExpression <em>Instance Creation Expression</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ *
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.uml.alf.InstanceCreationExpression
+ * @generated
+ */
+ public Adapter createInstanceCreationExpressionAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.uml.alf.PropertyAccessExpression <em>Property Access Expression</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ *
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.uml.alf.PropertyAccessExpression
+ * @generated
+ */
+ public Adapter createPropertyAccessExpressionAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.uml.alf.NameExpression <em>Name Expression</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ *
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.uml.alf.NameExpression
+ * @generated
+ */
+ public Adapter createNameExpressionAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.uml.alf.BitStringUnaryExpression <em>Bit String Unary Expression</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ *
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.uml.alf.BitStringUnaryExpression
+ * @generated
+ */
+ public Adapter createBitStringUnaryExpressionAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.uml.alf.FeatureInvocationExpression <em>Feature Invocation Expression</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ *
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.uml.alf.FeatureInvocationExpression
+ * @generated
+ */
+ public Adapter createFeatureInvocationExpressionAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.uml.alf.BehaviorInvocationExpression <em>Behavior Invocation Expression</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ *
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.uml.alf.BehaviorInvocationExpression
+ * @generated
+ */
+ public Adapter createBehaviorInvocationExpressionAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.uml.alf.ShiftExpression <em>Shift Expression</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ *
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.uml.alf.ShiftExpression
+ * @generated
+ */
+ public Adapter createShiftExpressionAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.uml.alf.UnboundedLiteralExpression <em>Unbounded Literal Expression</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ *
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.uml.alf.UnboundedLiteralExpression
+ * @generated
+ */
+ public Adapter createUnboundedLiteralExpressionAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.uml.alf.ThisExpression <em>This Expression</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ *
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.uml.alf.ThisExpression
+ * @generated
+ */
+ public Adapter createThisExpressionAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.uml.alf.ClassificationExpression <em>Classification Expression</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ *
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.uml.alf.ClassificationExpression
+ * @generated
+ */
+ public Adapter createClassificationExpressionAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.uml.alf.SuperInvocationExpression <em>Super Invocation Expression</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ *
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.uml.alf.SuperInvocationExpression
+ * @generated
+ */
+ public Adapter createSuperInvocationExpressionAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.uml.alf.IncrementOrDecrementExpression <em>Increment Or Decrement Expression</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ *
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.uml.alf.IncrementOrDecrementExpression
+ * @generated
+ */
+ public Adapter createIncrementOrDecrementExpressionAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.uml.alf.BooleanLiteralExpression <em>Boolean Literal Expression</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ *
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.uml.alf.BooleanLiteralExpression
+ * @generated
+ */
+ public Adapter createBooleanLiteralExpressionAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.uml.alf.NamedTuple <em>Named Tuple</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ *
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.uml.alf.NamedTuple
+ * @generated
+ */
+ public Adapter createNamedTupleAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.uml.alf.NaturalLiteralExpression <em>Natural Literal Expression</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ *
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.uml.alf.NaturalLiteralExpression
+ * @generated
+ */
+ public Adapter createNaturalLiteralExpressionAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.uml.alf.SequenceRange <em>Sequence Range</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ *
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.uml.alf.SequenceRange
+ * @generated
+ */
+ public Adapter createSequenceRangeAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.uml.alf.NameLeftHandSide <em>Name Left Hand Side</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ *
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.uml.alf.NameLeftHandSide
+ * @generated
+ */
+ public Adapter createNameLeftHandSideAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.uml.alf.EffectiveLeftHandSide <em>Effective Left Hand Side</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ *
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.uml.alf.EffectiveLeftHandSide
+ * @generated
+ */
+ public Adapter createEffectiveLeftHandSideAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.uml.alf.SequenceReductionExpression <em>Sequence Reduction Expression</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ *
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.uml.alf.SequenceReductionExpression
+ * @generated
+ */
+ public Adapter createSequenceReductionExpressionAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.uml.alf.SequenceExpressionList <em>Sequence Expression List</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ *
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.uml.alf.SequenceExpressionList
+ * @generated
+ */
+ public Adapter createSequenceExpressionListAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.uml.alf.RelationalExpression <em>Relational Expression</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ *
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.uml.alf.RelationalExpression
+ * @generated
+ */
+ public Adapter createRelationalExpressionAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.uml.alf.LocalNameDeclarationStatement <em>Local Name Declaration Statement</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ *
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.uml.alf.LocalNameDeclarationStatement
+ * @generated
+ */
+ public Adapter createLocalNameDeclarationStatementAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.uml.alf.AssignableLocalNameDeclaration <em>Assignable Local Name Declaration</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ *
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.uml.alf.AssignableLocalNameDeclaration
+ * @generated
+ */
+ public Adapter createAssignableLocalNameDeclarationAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.uml.alf.Statement <em>Statement</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ *
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.uml.alf.Statement
+ * @generated
+ */
+ public Adapter createStatementAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.uml.alf.Annotation <em>Annotation</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ *
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.uml.alf.Annotation
+ * @generated
+ */
+ public Adapter createAnnotationAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.uml.alf.QualifiedNameList <em>Qualified Name List</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ *
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.uml.alf.QualifiedNameList
+ * @generated
+ */
+ public Adapter createQualifiedNameListAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.uml.alf.NonFinalClause <em>Non Final Clause</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ *
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.uml.alf.NonFinalClause
+ * @generated
+ */
+ public Adapter createNonFinalClauseAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.uml.alf.Block <em>Block</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ *
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.uml.alf.Block
+ * @generated
+ */
+ public Adapter createBlockAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.uml.alf.BlockStatement <em>Block Statement</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ *
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.uml.alf.BlockStatement
+ * @generated
+ */
+ public Adapter createBlockStatementAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.uml.alf.DoStatement <em>Do Statement</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ *
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.uml.alf.DoStatement
+ * @generated
+ */
+ public Adapter createDoStatementAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.uml.alf.ConcurrentClauses <em>Concurrent Clauses</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ *
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.uml.alf.ConcurrentClauses
+ * @generated
+ */
+ public Adapter createConcurrentClausesAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.uml.alf.BreakStatement <em>Break Statement</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ *
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.uml.alf.BreakStatement
+ * @generated
+ */
+ public Adapter createBreakStatementAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.uml.alf.ExpressionStatement <em>Expression Statement</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ *
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.uml.alf.ExpressionStatement
+ * @generated
+ */
+ public Adapter createExpressionStatementAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.uml.alf.ClassifyStatement <em>Classify Statement</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ *
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.uml.alf.ClassifyStatement
+ * @generated
+ */
+ public Adapter createClassifyStatementAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.uml.alf.ForStatement <em>For Statement</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ *
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.uml.alf.ForStatement
+ * @generated
+ */
+ public Adapter createForStatementAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.uml.alf.LoopVariableDefinition <em>Loop Variable Definition</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ *
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.uml.alf.LoopVariableDefinition
+ * @generated
+ */
+ public Adapter createLoopVariableDefinitionAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.uml.alf.IfStatement <em>If Statement</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ *
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.uml.alf.IfStatement
+ * @generated
+ */
+ public Adapter createIfStatementAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.uml.alf.SwitchStatement <em>Switch Statement</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ *
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.uml.alf.SwitchStatement
+ * @generated
+ */
+ public Adapter createSwitchStatementAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.uml.alf.SwitchClause <em>Switch Clause</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ *
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.uml.alf.SwitchClause
+ * @generated
+ */
+ public Adapter createSwitchClauseAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.uml.alf.WhileStatement <em>While Statement</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ *
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.uml.alf.WhileStatement
+ * @generated
+ */
+ public Adapter createWhileStatementAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.uml.alf.ReturnStatement <em>Return Statement</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ *
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.uml.alf.ReturnStatement
+ * @generated
+ */
+ public Adapter createReturnStatementAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.uml.alf.InLineStatement <em>In Line Statement</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ *
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.uml.alf.InLineStatement
+ * @generated
+ */
+ public Adapter createInLineStatementAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.uml.alf.AcceptStatement <em>Accept Statement</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ *
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.uml.alf.AcceptStatement
+ * @generated
+ */
+ public Adapter createAcceptStatementAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.uml.alf.AcceptBlock <em>Accept Block</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ *
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.uml.alf.AcceptBlock
+ * @generated
+ */
+ public Adapter createAcceptBlockAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.uml.alf.EmptyStatement <em>Empty Statement</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ *
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.uml.alf.EmptyStatement
+ * @generated
+ */
+ public Adapter createEmptyStatementAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.uml.alf.ModelNamespace <em>Model Namespace</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ *
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.uml.alf.ModelNamespace
+ * @generated
+ */
+ public Adapter createModelNamespaceAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.uml.alf.NamespaceDefinition <em>Namespace Definition</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ *
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.uml.alf.NamespaceDefinition
+ * @generated
+ */
+ public Adapter createNamespaceDefinitionAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.uml.alf.MemberDefinition <em>Member Definition</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ *
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.uml.alf.MemberDefinition
+ * @generated
+ */
+ public Adapter createMemberDefinitionAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.uml.alf.StereotypeAnnotation <em>Stereotype Annotation</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ *
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.uml.alf.StereotypeAnnotation
+ * @generated
+ */
+ public Adapter createStereotypeAnnotationAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.uml.alf.TaggedValueList <em>Tagged Value List</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ *
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.uml.alf.TaggedValueList
+ * @generated
+ */
+ public Adapter createTaggedValueListAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.uml.alf.TaggedValue <em>Tagged Value</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ *
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.uml.alf.TaggedValue
+ * @generated
+ */
+ public Adapter createTaggedValueAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.uml.alf.UnitDefinition <em>Unit Definition</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ *
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.uml.alf.UnitDefinition
+ * @generated
+ */
+ public Adapter createUnitDefinitionAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.uml.alf.ImportReference <em>Import Reference</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ *
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.uml.alf.ImportReference
+ * @generated
+ */
+ public Adapter createImportReferenceAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.uml.alf.ImportedMember <em>Imported Member</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ *
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.uml.alf.ImportedMember
+ * @generated
+ */
+ public Adapter createImportedMemberAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.uml.alf.EnumerationLiteralName <em>Enumeration Literal Name</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ *
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.uml.alf.EnumerationLiteralName
+ * @generated
+ */
+ public Adapter createEnumerationLiteralNameAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.uml.alf.OperationDefinition <em>Operation Definition</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ *
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.uml.alf.OperationDefinition
+ * @generated
+ */
+ public Adapter createOperationDefinitionAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.uml.alf.AssociationDefinition <em>Association Definition</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ *
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.uml.alf.AssociationDefinition
+ * @generated
+ */
+ public Adapter createAssociationDefinitionAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.uml.alf.ClassifierDefinition <em>Classifier Definition</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ *
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.uml.alf.ClassifierDefinition
+ * @generated
+ */
+ public Adapter createClassifierDefinitionAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.uml.alf.ClassDefinition <em>Class Definition</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ *
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.uml.alf.ClassDefinition
+ * @generated
+ */
+ public Adapter createClassDefinitionAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.uml.alf.TypedElementDefinition <em>Typed Element Definition</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ *
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.uml.alf.TypedElementDefinition
+ * @generated
+ */
+ public Adapter createTypedElementDefinitionAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.uml.alf.DataTypeDefinition <em>Data Type Definition</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ *
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.uml.alf.DataTypeDefinition
+ * @generated
+ */
+ public Adapter createDataTypeDefinitionAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.uml.alf.PackageDefinition <em>Package Definition</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ *
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.uml.alf.PackageDefinition
+ * @generated
+ */
+ public Adapter createPackageDefinitionAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.uml.alf.PropertyDefinition <em>Property Definition</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ *
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.uml.alf.PropertyDefinition
+ * @generated
+ */
+ public Adapter createPropertyDefinitionAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.uml.alf.SignalDefinition <em>Signal Definition</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ *
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.uml.alf.SignalDefinition
+ * @generated
+ */
+ public Adapter createSignalDefinitionAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.uml.alf.ActiveClassDefinition <em>Active Class Definition</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ *
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.uml.alf.ActiveClassDefinition
+ * @generated
+ */
+ public Adapter createActiveClassDefinitionAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.uml.alf.ActivityDefinition <em>Activity Definition</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ *
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.uml.alf.ActivityDefinition
+ * @generated
+ */
+ public Adapter createActivityDefinitionAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.uml.alf.ElementImportReference <em>Element Import Reference</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ *
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.uml.alf.ElementImportReference
+ * @generated
+ */
+ public Adapter createElementImportReferenceAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.uml.alf.SignalReceptionDefinition <em>Signal Reception Definition</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ *
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.uml.alf.SignalReceptionDefinition
+ * @generated
+ */
+ public Adapter createSignalReceptionDefinitionAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.uml.alf.EnumerationDefinition <em>Enumeration Definition</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ *
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.uml.alf.EnumerationDefinition
+ * @generated
+ */
+ public Adapter createEnumerationDefinitionAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.uml.alf.PackageImportReference <em>Package Import Reference</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ *
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.uml.alf.PackageImportReference
+ * @generated
+ */
+ public Adapter createPackageImportReferenceAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.uml.alf.ClassifierTemplateParameter <em>Classifier Template Parameter</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ *
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.uml.alf.ClassifierTemplateParameter
+ * @generated
+ */
+ public Adapter createClassifierTemplateParameterAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.uml.alf.FormalParameter <em>Formal Parameter</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ *
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.uml.alf.FormalParameter
+ * @generated
+ */
+ public Adapter createFormalParameterAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.uml.alf.ReceptionDefinition <em>Reception Definition</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ *
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.uml.alf.ReceptionDefinition
+ * @generated
+ */
+ public Adapter createReceptionDefinitionAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.uml.alf.Member <em>Member</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ *
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.uml.alf.Member
+ * @generated
+ */
+ public Adapter createMemberAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.uml.alf.AnnotatedStatement <em>Annotated Statement</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ *
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.uml.alf.AnnotatedStatement
+ * @generated
+ */
+ public Adapter createAnnotatedStatementAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.uml.alf.BoundClassifier <em>Bound Classifier</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ *
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.uml.alf.BoundClassifier
+ * @generated
+ */
+ public Adapter createBoundClassifierAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.uml.alf.ReturnParameter <em>Return Parameter</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ *
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.uml.alf.ReturnParameter
+ * @generated
+ */
+ public Adapter createReturnParameterAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.uml.alf.NonReturnParameter <em>Non Return Parameter</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ *
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.uml.alf.NonReturnParameter
+ * @generated
+ */
+ public Adapter createNonReturnParameterAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.uml.alf.AnyType <em>Any Type</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ *
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.uml.alf.AnyType
+ * @generated
+ */
+ public Adapter createAnyTypeAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for the default case.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null.
+ * <!-- end-user-doc -->
+ *
+ * @return the new adapter.
+ * @generated
+ */
+ public Adapter createEObjectAdapter() {
+ return null;
+ }
+
+} // AlfAdapterFactory
diff --git a/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/util/AlfResourceFactoryImpl.java b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/util/AlfResourceFactoryImpl.java
new file mode 100644
index 00000000000..a434ee6ed0f
--- /dev/null
+++ b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/util/AlfResourceFactoryImpl.java
@@ -0,0 +1,44 @@
+/**
+ */
+package org.eclipse.papyrus.uml.alf.util;
+
+import org.eclipse.emf.common.util.URI;
+
+import org.eclipse.emf.ecore.resource.Resource;
+
+import org.eclipse.emf.ecore.resource.impl.ResourceFactoryImpl;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Resource Factory</b> associated with the package.
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.uml.alf.util.AlfResourceImpl
+ * @generated
+ */
+public class AlfResourceFactoryImpl extends ResourceFactoryImpl {
+ /**
+ * Creates an instance of the resource factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public AlfResourceFactoryImpl() {
+ super();
+ }
+
+ /**
+ * Creates an instance of the resource.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Resource createResource(URI uri) {
+ Resource result = new AlfResourceImpl(uri);
+ return result;
+ }
+
+} // AlfResourceFactoryImpl
diff --git a/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/util/AlfResourceImpl.java b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/util/AlfResourceImpl.java
new file mode 100644
index 00000000000..f13c4ca6265
--- /dev/null
+++ b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/util/AlfResourceImpl.java
@@ -0,0 +1,31 @@
+/**
+ */
+package org.eclipse.papyrus.uml.alf.util;
+
+import org.eclipse.emf.common.util.URI;
+
+import org.eclipse.emf.ecore.xmi.impl.XMLResourceImpl;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Resource </b> associated with the package.
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.uml.alf.util.AlfResourceFactoryImpl
+ * @generated
+ */
+public class AlfResourceImpl extends XMLResourceImpl {
+ /**
+ * Creates an instance of the resource.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param uri
+ * the URI of the new resource.
+ * @generated
+ */
+ public AlfResourceImpl(URI uri) {
+ super(uri);
+ }
+
+} // AlfResourceImpl
diff --git a/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/util/AlfSwitch.java b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/util/AlfSwitch.java
new file mode 100644
index 00000000000..a18fa8c07da
--- /dev/null
+++ b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/util/AlfSwitch.java
@@ -0,0 +1,3905 @@
+/**
+ */
+package org.eclipse.papyrus.uml.alf.util;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EPackage;
+
+import org.eclipse.emf.ecore.util.Switch;
+
+import org.eclipse.papyrus.uml.alf.*;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Switch</b> for the model's inheritance hierarchy.
+ * It supports the call {@link #doSwitch(EObject) doSwitch(object)} to invoke the <code>caseXXX</code> method for each class of the model,
+ * starting with the actual class of the object
+ * and proceeding up the inheritance hierarchy
+ * until a non-null result is returned,
+ * which is the result of the switch.
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage
+ * @generated
+ */
+public class AlfSwitch<T> extends Switch<T> {
+ /**
+ * The cached model package
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected static AlfPackage modelPackage;
+
+ /**
+ * Creates an instance of the switch.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public AlfSwitch() {
+ if (modelPackage == null) {
+ modelPackage = AlfPackage.eINSTANCE;
+ }
+ }
+
+ /**
+ * Checks whether this is a switch for the given package.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param ePackage
+ * the package in question.
+ * @return whether this is a switch for the given package.
+ * @generated
+ */
+ @Override
+ protected boolean isSwitchFor(EPackage ePackage) {
+ return ePackage == modelPackage;
+ }
+
+ /**
+ * Calls <code>caseXXX</code> for each class of the model until one returns a non null result; it yields that result.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the first non-null result returned by a <code>caseXXX</code> call.
+ * @generated
+ */
+ @Override
+ protected T doSwitch(int classifierID, EObject theEObject) {
+ switch (classifierID) {
+ case AlfPackage.ASSIGNED_SOURCE: {
+ AssignedSource assignedSource = (AssignedSource) theEObject;
+ T result = caseAssignedSource(assignedSource);
+ if (result == null)
+ result = defaultCase(theEObject);
+ return result;
+ }
+ case AlfPackage.SYNTAX_ELEMENT: {
+ SyntaxElement syntaxElement = (SyntaxElement) theEObject;
+ T result = caseSyntaxElement(syntaxElement);
+ if (result == null)
+ result = defaultCase(theEObject);
+ return result;
+ }
+ case AlfPackage.ELEMENT_REFERENCE: {
+ ElementReference elementReference = (ElementReference) theEObject;
+ T result = caseElementReference(elementReference);
+ if (result == null)
+ result = defaultCase(theEObject);
+ return result;
+ }
+ case AlfPackage.INTERNAL_ELEMENT_REFERENCE: {
+ InternalElementReference internalElementReference = (InternalElementReference) theEObject;
+ T result = caseInternalElementReference(internalElementReference);
+ if (result == null)
+ result = caseElementReference(internalElementReference);
+ if (result == null)
+ result = defaultCase(theEObject);
+ return result;
+ }
+ case AlfPackage.EXTERNAL_ELEMENT_REFERENCE: {
+ ExternalElementReference externalElementReference = (ExternalElementReference) theEObject;
+ T result = caseExternalElementReference(externalElementReference);
+ if (result == null)
+ result = caseElementReference(externalElementReference);
+ if (result == null)
+ result = defaultCase(theEObject);
+ return result;
+ }
+ case AlfPackage.EXTERNAL_ENUMERATION_LITERAL_REFERENCE: {
+ ExternalEnumerationLiteralReference externalEnumerationLiteralReference = (ExternalEnumerationLiteralReference) theEObject;
+ T result = caseExternalEnumerationLiteralReference(externalEnumerationLiteralReference);
+ if (result == null)
+ result = caseExternalElementReference(externalEnumerationLiteralReference);
+ if (result == null)
+ result = caseElementReference(externalEnumerationLiteralReference);
+ if (result == null)
+ result = defaultCase(theEObject);
+ return result;
+ }
+ case AlfPackage.BOUND_ELEMENT_REFERENCE: {
+ BoundElementReference boundElementReference = (BoundElementReference) theEObject;
+ T result = caseBoundElementReference(boundElementReference);
+ if (result == null)
+ result = caseElementReference(boundElementReference);
+ if (result == null)
+ result = defaultCase(theEObject);
+ return result;
+ }
+ case AlfPackage.DOCUMENTED_ELEMENT: {
+ DocumentedElement documentedElement = (DocumentedElement) theEObject;
+ T result = caseDocumentedElement(documentedElement);
+ if (result == null)
+ result = caseSyntaxElement(documentedElement);
+ if (result == null)
+ result = defaultCase(theEObject);
+ return result;
+ }
+ case AlfPackage.SEQUENCE_EXPANSION_EXPRESSION: {
+ SequenceExpansionExpression sequenceExpansionExpression = (SequenceExpansionExpression) theEObject;
+ T result = caseSequenceExpansionExpression(sequenceExpansionExpression);
+ if (result == null)
+ result = caseExpression(sequenceExpansionExpression);
+ if (result == null)
+ result = caseAssignableElement(sequenceExpansionExpression);
+ if (result == null)
+ result = caseSyntaxElement(sequenceExpansionExpression);
+ if (result == null)
+ result = defaultCase(theEObject);
+ return result;
+ }
+ case AlfPackage.ASSIGNABLE_ELEMENT: {
+ AssignableElement assignableElement = (AssignableElement) theEObject;
+ T result = caseAssignableElement(assignableElement);
+ if (result == null)
+ result = caseSyntaxElement(assignableElement);
+ if (result == null)
+ result = defaultCase(theEObject);
+ return result;
+ }
+ case AlfPackage.ASSIGNABLE_ELEMENT_REFERENCE: {
+ AssignableElementReference assignableElementReference = (AssignableElementReference) theEObject;
+ T result = caseAssignableElementReference(assignableElementReference);
+ if (result == null)
+ result = caseAssignableElement(assignableElementReference);
+ if (result == null)
+ result = caseSyntaxElement(assignableElementReference);
+ if (result == null)
+ result = defaultCase(theEObject);
+ return result;
+ }
+ case AlfPackage.EXPRESSION: {
+ Expression expression = (Expression) theEObject;
+ T result = caseExpression(expression);
+ if (result == null)
+ result = caseAssignableElement(expression);
+ if (result == null)
+ result = caseSyntaxElement(expression);
+ if (result == null)
+ result = defaultCase(theEObject);
+ return result;
+ }
+ case AlfPackage.EXTENT_OR_EXPRESSION: {
+ ExtentOrExpression extentOrExpression = (ExtentOrExpression) theEObject;
+ T result = caseExtentOrExpression(extentOrExpression);
+ if (result == null)
+ result = caseExpression(extentOrExpression);
+ if (result == null)
+ result = caseAssignableElement(extentOrExpression);
+ if (result == null)
+ result = caseSyntaxElement(extentOrExpression);
+ if (result == null)
+ result = defaultCase(theEObject);
+ return result;
+ }
+ case AlfPackage.QUALIFIED_NAME: {
+ QualifiedName qualifiedName = (QualifiedName) theEObject;
+ T result = caseQualifiedName(qualifiedName);
+ if (result == null)
+ result = caseSyntaxElement(qualifiedName);
+ if (result == null)
+ result = defaultCase(theEObject);
+ return result;
+ }
+ case AlfPackage.FEATURE_REFERENCE: {
+ FeatureReference featureReference = (FeatureReference) theEObject;
+ T result = caseFeatureReference(featureReference);
+ if (result == null)
+ result = caseExpression(featureReference);
+ if (result == null)
+ result = caseAssignableElement(featureReference);
+ if (result == null)
+ result = caseSyntaxElement(featureReference);
+ if (result == null)
+ result = defaultCase(theEObject);
+ return result;
+ }
+ case AlfPackage.NAME_BINDING: {
+ NameBinding nameBinding = (NameBinding) theEObject;
+ T result = caseNameBinding(nameBinding);
+ if (result == null)
+ result = caseSyntaxElement(nameBinding);
+ if (result == null)
+ result = defaultCase(theEObject);
+ return result;
+ }
+ case AlfPackage.TEMPLATE_BINDING: {
+ TemplateBinding templateBinding = (TemplateBinding) theEObject;
+ T result = caseTemplateBinding(templateBinding);
+ if (result == null)
+ result = caseSyntaxElement(templateBinding);
+ if (result == null)
+ result = defaultCase(theEObject);
+ return result;
+ }
+ case AlfPackage.NAMED_TEMPLATE_BINDING: {
+ NamedTemplateBinding namedTemplateBinding = (NamedTemplateBinding) theEObject;
+ T result = caseNamedTemplateBinding(namedTemplateBinding);
+ if (result == null)
+ result = caseTemplateBinding(namedTemplateBinding);
+ if (result == null)
+ result = caseSyntaxElement(namedTemplateBinding);
+ if (result == null)
+ result = defaultCase(theEObject);
+ return result;
+ }
+ case AlfPackage.TEMPLATE_PARAMETER_SUBSTITUTION: {
+ TemplateParameterSubstitution templateParameterSubstitution = (TemplateParameterSubstitution) theEObject;
+ T result = caseTemplateParameterSubstitution(templateParameterSubstitution);
+ if (result == null)
+ result = caseSyntaxElement(templateParameterSubstitution);
+ if (result == null)
+ result = defaultCase(theEObject);
+ return result;
+ }
+ case AlfPackage.NUMERIC_UNARY_EXPRESSION: {
+ NumericUnaryExpression numericUnaryExpression = (NumericUnaryExpression) theEObject;
+ T result = caseNumericUnaryExpression(numericUnaryExpression);
+ if (result == null)
+ result = caseUnaryExpression(numericUnaryExpression);
+ if (result == null)
+ result = caseExpression(numericUnaryExpression);
+ if (result == null)
+ result = caseAssignableElement(numericUnaryExpression);
+ if (result == null)
+ result = caseSyntaxElement(numericUnaryExpression);
+ if (result == null)
+ result = defaultCase(theEObject);
+ return result;
+ }
+ case AlfPackage.UNARY_EXPRESSION: {
+ UnaryExpression unaryExpression = (UnaryExpression) theEObject;
+ T result = caseUnaryExpression(unaryExpression);
+ if (result == null)
+ result = caseExpression(unaryExpression);
+ if (result == null)
+ result = caseAssignableElement(unaryExpression);
+ if (result == null)
+ result = caseSyntaxElement(unaryExpression);
+ if (result == null)
+ result = defaultCase(theEObject);
+ return result;
+ }
+ case AlfPackage.FOR_ALL_OR_EXISTS_OR_ONE_EXPRESSION: {
+ ForAllOrExistsOrOneExpression forAllOrExistsOrOneExpression = (ForAllOrExistsOrOneExpression) theEObject;
+ T result = caseForAllOrExistsOrOneExpression(forAllOrExistsOrOneExpression);
+ if (result == null)
+ result = caseSequenceExpansionExpression(forAllOrExistsOrOneExpression);
+ if (result == null)
+ result = caseExpression(forAllOrExistsOrOneExpression);
+ if (result == null)
+ result = caseAssignableElement(forAllOrExistsOrOneExpression);
+ if (result == null)
+ result = caseSyntaxElement(forAllOrExistsOrOneExpression);
+ if (result == null)
+ result = defaultCase(theEObject);
+ return result;
+ }
+ case AlfPackage.ISOLATION_EXPRESSION: {
+ IsolationExpression isolationExpression = (IsolationExpression) theEObject;
+ T result = caseIsolationExpression(isolationExpression);
+ if (result == null)
+ result = caseUnaryExpression(isolationExpression);
+ if (result == null)
+ result = caseExpression(isolationExpression);
+ if (result == null)
+ result = caseAssignableElement(isolationExpression);
+ if (result == null)
+ result = caseSyntaxElement(isolationExpression);
+ if (result == null)
+ result = defaultCase(theEObject);
+ return result;
+ }
+ case AlfPackage.BINARY_EXPRESSION: {
+ BinaryExpression binaryExpression = (BinaryExpression) theEObject;
+ T result = caseBinaryExpression(binaryExpression);
+ if (result == null)
+ result = caseExpression(binaryExpression);
+ if (result == null)
+ result = caseAssignableElement(binaryExpression);
+ if (result == null)
+ result = caseSyntaxElement(binaryExpression);
+ if (result == null)
+ result = defaultCase(theEObject);
+ return result;
+ }
+ case AlfPackage.BOOLEAN_UNARY_EXPRESSION: {
+ BooleanUnaryExpression booleanUnaryExpression = (BooleanUnaryExpression) theEObject;
+ T result = caseBooleanUnaryExpression(booleanUnaryExpression);
+ if (result == null)
+ result = caseUnaryExpression(booleanUnaryExpression);
+ if (result == null)
+ result = caseExpression(booleanUnaryExpression);
+ if (result == null)
+ result = caseAssignableElement(booleanUnaryExpression);
+ if (result == null)
+ result = caseSyntaxElement(booleanUnaryExpression);
+ if (result == null)
+ result = defaultCase(theEObject);
+ return result;
+ }
+ case AlfPackage.CAST_EXPRESSION: {
+ CastExpression castExpression = (CastExpression) theEObject;
+ T result = caseCastExpression(castExpression);
+ if (result == null)
+ result = caseExpression(castExpression);
+ if (result == null)
+ result = caseAssignableElement(castExpression);
+ if (result == null)
+ result = caseSyntaxElement(castExpression);
+ if (result == null)
+ result = defaultCase(theEObject);
+ return result;
+ }
+ case AlfPackage.POSITIONAL_TUPLE: {
+ PositionalTuple positionalTuple = (PositionalTuple) theEObject;
+ T result = casePositionalTuple(positionalTuple);
+ if (result == null)
+ result = caseTuple(positionalTuple);
+ if (result == null)
+ result = caseSyntaxElement(positionalTuple);
+ if (result == null)
+ result = defaultCase(theEObject);
+ return result;
+ }
+ case AlfPackage.TUPLE: {
+ Tuple tuple = (Tuple) theEObject;
+ T result = caseTuple(tuple);
+ if (result == null)
+ result = caseSyntaxElement(tuple);
+ if (result == null)
+ result = defaultCase(theEObject);
+ return result;
+ }
+ case AlfPackage.NAMED_EXPRESSION: {
+ NamedExpression namedExpression = (NamedExpression) theEObject;
+ T result = caseNamedExpression(namedExpression);
+ if (result == null)
+ result = caseSyntaxElement(namedExpression);
+ if (result == null)
+ result = defaultCase(theEObject);
+ return result;
+ }
+ case AlfPackage.INPUT_NAMED_EXPRESSION: {
+ InputNamedExpression inputNamedExpression = (InputNamedExpression) theEObject;
+ T result = caseInputNamedExpression(inputNamedExpression);
+ if (result == null)
+ result = caseSyntaxElement(inputNamedExpression);
+ if (result == null)
+ result = defaultCase(theEObject);
+ return result;
+ }
+ case AlfPackage.INVOCATION_EXPRESSION: {
+ InvocationExpression invocationExpression = (InvocationExpression) theEObject;
+ T result = caseInvocationExpression(invocationExpression);
+ if (result == null)
+ result = caseExpression(invocationExpression);
+ if (result == null)
+ result = caseAssignableElement(invocationExpression);
+ if (result == null)
+ result = caseSyntaxElement(invocationExpression);
+ if (result == null)
+ result = defaultCase(theEObject);
+ return result;
+ }
+ case AlfPackage.OUTPUT_NAMED_EXPRESSION: {
+ OutputNamedExpression outputNamedExpression = (OutputNamedExpression) theEObject;
+ T result = caseOutputNamedExpression(outputNamedExpression);
+ if (result == null)
+ result = caseInputNamedExpression(outputNamedExpression);
+ if (result == null)
+ result = caseSyntaxElement(outputNamedExpression);
+ if (result == null)
+ result = defaultCase(theEObject);
+ return result;
+ }
+ case AlfPackage.LEFT_HAND_SIDE: {
+ LeftHandSide leftHandSide = (LeftHandSide) theEObject;
+ T result = caseLeftHandSide(leftHandSide);
+ if (result == null)
+ result = caseAssignableElement(leftHandSide);
+ if (result == null)
+ result = caseSyntaxElement(leftHandSide);
+ if (result == null)
+ result = defaultCase(theEObject);
+ return result;
+ }
+ case AlfPackage.SEQUENCE_ACCESS_EXPRESSION: {
+ SequenceAccessExpression sequenceAccessExpression = (SequenceAccessExpression) theEObject;
+ T result = caseSequenceAccessExpression(sequenceAccessExpression);
+ if (result == null)
+ result = caseExpression(sequenceAccessExpression);
+ if (result == null)
+ result = caseAssignableElement(sequenceAccessExpression);
+ if (result == null)
+ result = caseSyntaxElement(sequenceAccessExpression);
+ if (result == null)
+ result = defaultCase(theEObject);
+ return result;
+ }
+ case AlfPackage.STRING_LITERAL_EXPRESSION: {
+ StringLiteralExpression stringLiteralExpression = (StringLiteralExpression) theEObject;
+ T result = caseStringLiteralExpression(stringLiteralExpression);
+ if (result == null)
+ result = caseLiteralExpression(stringLiteralExpression);
+ if (result == null)
+ result = caseExpression(stringLiteralExpression);
+ if (result == null)
+ result = caseAssignableElement(stringLiteralExpression);
+ if (result == null)
+ result = caseSyntaxElement(stringLiteralExpression);
+ if (result == null)
+ result = defaultCase(theEObject);
+ return result;
+ }
+ case AlfPackage.LITERAL_EXPRESSION: {
+ LiteralExpression literalExpression = (LiteralExpression) theEObject;
+ T result = caseLiteralExpression(literalExpression);
+ if (result == null)
+ result = caseExpression(literalExpression);
+ if (result == null)
+ result = caseAssignableElement(literalExpression);
+ if (result == null)
+ result = caseSyntaxElement(literalExpression);
+ if (result == null)
+ result = defaultCase(theEObject);
+ return result;
+ }
+ case AlfPackage.SEQUENCE_OPERATION_EXPRESSION: {
+ SequenceOperationExpression sequenceOperationExpression = (SequenceOperationExpression) theEObject;
+ T result = caseSequenceOperationExpression(sequenceOperationExpression);
+ if (result == null)
+ result = caseInvocationExpression(sequenceOperationExpression);
+ if (result == null)
+ result = caseExpression(sequenceOperationExpression);
+ if (result == null)
+ result = caseAssignableElement(sequenceOperationExpression);
+ if (result == null)
+ result = caseSyntaxElement(sequenceOperationExpression);
+ if (result == null)
+ result = defaultCase(theEObject);
+ return result;
+ }
+ case AlfPackage.SELECT_OR_REJECT_EXPRESSION: {
+ SelectOrRejectExpression selectOrRejectExpression = (SelectOrRejectExpression) theEObject;
+ T result = caseSelectOrRejectExpression(selectOrRejectExpression);
+ if (result == null)
+ result = caseSequenceExpansionExpression(selectOrRejectExpression);
+ if (result == null)
+ result = caseExpression(selectOrRejectExpression);
+ if (result == null)
+ result = caseAssignableElement(selectOrRejectExpression);
+ if (result == null)
+ result = caseSyntaxElement(selectOrRejectExpression);
+ if (result == null)
+ result = defaultCase(theEObject);
+ return result;
+ }
+ case AlfPackage.CLASS_EXTENT_EXPRESSION: {
+ ClassExtentExpression classExtentExpression = (ClassExtentExpression) theEObject;
+ T result = caseClassExtentExpression(classExtentExpression);
+ if (result == null)
+ result = caseExpression(classExtentExpression);
+ if (result == null)
+ result = caseAssignableElement(classExtentExpression);
+ if (result == null)
+ result = caseSyntaxElement(classExtentExpression);
+ if (result == null)
+ result = defaultCase(theEObject);
+ return result;
+ }
+ case AlfPackage.POSITIONAL_TEMPLATE_BINDING: {
+ PositionalTemplateBinding positionalTemplateBinding = (PositionalTemplateBinding) theEObject;
+ T result = casePositionalTemplateBinding(positionalTemplateBinding);
+ if (result == null)
+ result = caseTemplateBinding(positionalTemplateBinding);
+ if (result == null)
+ result = caseSyntaxElement(positionalTemplateBinding);
+ if (result == null)
+ result = defaultCase(theEObject);
+ return result;
+ }
+ case AlfPackage.CONDITIONAL_LOGICAL_EXPRESSION: {
+ ConditionalLogicalExpression conditionalLogicalExpression = (ConditionalLogicalExpression) theEObject;
+ T result = caseConditionalLogicalExpression(conditionalLogicalExpression);
+ if (result == null)
+ result = caseBinaryExpression(conditionalLogicalExpression);
+ if (result == null)
+ result = caseExpression(conditionalLogicalExpression);
+ if (result == null)
+ result = caseAssignableElement(conditionalLogicalExpression);
+ if (result == null)
+ result = caseSyntaxElement(conditionalLogicalExpression);
+ if (result == null)
+ result = defaultCase(theEObject);
+ return result;
+ }
+ case AlfPackage.LINK_OPERATION_EXPRESSION: {
+ LinkOperationExpression linkOperationExpression = (LinkOperationExpression) theEObject;
+ T result = caseLinkOperationExpression(linkOperationExpression);
+ if (result == null)
+ result = caseInvocationExpression(linkOperationExpression);
+ if (result == null)
+ result = caseExpression(linkOperationExpression);
+ if (result == null)
+ result = caseAssignableElement(linkOperationExpression);
+ if (result == null)
+ result = caseSyntaxElement(linkOperationExpression);
+ if (result == null)
+ result = defaultCase(theEObject);
+ return result;
+ }
+ case AlfPackage.EQUALITY_EXPRESSION: {
+ EqualityExpression equalityExpression = (EqualityExpression) theEObject;
+ T result = caseEqualityExpression(equalityExpression);
+ if (result == null)
+ result = caseBinaryExpression(equalityExpression);
+ if (result == null)
+ result = caseExpression(equalityExpression);
+ if (result == null)
+ result = caseAssignableElement(equalityExpression);
+ if (result == null)
+ result = caseSyntaxElement(equalityExpression);
+ if (result == null)
+ result = defaultCase(theEObject);
+ return result;
+ }
+ case AlfPackage.ASSIGNMENT_EXPRESSION: {
+ AssignmentExpression assignmentExpression = (AssignmentExpression) theEObject;
+ T result = caseAssignmentExpression(assignmentExpression);
+ if (result == null)
+ result = caseExpression(assignmentExpression);
+ if (result == null)
+ result = caseAssignableElement(assignmentExpression);
+ if (result == null)
+ result = caseSyntaxElement(assignmentExpression);
+ if (result == null)
+ result = defaultCase(theEObject);
+ return result;
+ }
+ case AlfPackage.LOGICAL_EXPRESSION: {
+ LogicalExpression logicalExpression = (LogicalExpression) theEObject;
+ T result = caseLogicalExpression(logicalExpression);
+ if (result == null)
+ result = caseBinaryExpression(logicalExpression);
+ if (result == null)
+ result = caseExpression(logicalExpression);
+ if (result == null)
+ result = caseAssignableElement(logicalExpression);
+ if (result == null)
+ result = caseSyntaxElement(logicalExpression);
+ if (result == null)
+ result = defaultCase(theEObject);
+ return result;
+ }
+ case AlfPackage.SEQUENCE_CONSTRUCTION_EXPRESSION: {
+ SequenceConstructionExpression sequenceConstructionExpression = (SequenceConstructionExpression) theEObject;
+ T result = caseSequenceConstructionExpression(sequenceConstructionExpression);
+ if (result == null)
+ result = caseExpression(sequenceConstructionExpression);
+ if (result == null)
+ result = caseAssignableElement(sequenceConstructionExpression);
+ if (result == null)
+ result = caseSyntaxElement(sequenceConstructionExpression);
+ if (result == null)
+ result = defaultCase(theEObject);
+ return result;
+ }
+ case AlfPackage.SEQUENCE_ELEMENTS: {
+ SequenceElements sequenceElements = (SequenceElements) theEObject;
+ T result = caseSequenceElements(sequenceElements);
+ if (result == null)
+ result = caseSyntaxElement(sequenceElements);
+ if (result == null)
+ result = defaultCase(theEObject);
+ return result;
+ }
+ case AlfPackage.COLLECT_OR_ITERATE_EXPRESSION: {
+ CollectOrIterateExpression collectOrIterateExpression = (CollectOrIterateExpression) theEObject;
+ T result = caseCollectOrIterateExpression(collectOrIterateExpression);
+ if (result == null)
+ result = caseSequenceExpansionExpression(collectOrIterateExpression);
+ if (result == null)
+ result = caseExpression(collectOrIterateExpression);
+ if (result == null)
+ result = caseAssignableElement(collectOrIterateExpression);
+ if (result == null)
+ result = caseSyntaxElement(collectOrIterateExpression);
+ if (result == null)
+ result = defaultCase(theEObject);
+ return result;
+ }
+ case AlfPackage.IS_UNIQUE_EXPRESSION: {
+ IsUniqueExpression isUniqueExpression = (IsUniqueExpression) theEObject;
+ T result = caseIsUniqueExpression(isUniqueExpression);
+ if (result == null)
+ result = caseSequenceExpansionExpression(isUniqueExpression);
+ if (result == null)
+ result = caseExpression(isUniqueExpression);
+ if (result == null)
+ result = caseAssignableElement(isUniqueExpression);
+ if (result == null)
+ result = caseSyntaxElement(isUniqueExpression);
+ if (result == null)
+ result = defaultCase(theEObject);
+ return result;
+ }
+ case AlfPackage.ARITHMETIC_EXPRESSION: {
+ ArithmeticExpression arithmeticExpression = (ArithmeticExpression) theEObject;
+ T result = caseArithmeticExpression(arithmeticExpression);
+ if (result == null)
+ result = caseBinaryExpression(arithmeticExpression);
+ if (result == null)
+ result = caseExpression(arithmeticExpression);
+ if (result == null)
+ result = caseAssignableElement(arithmeticExpression);
+ if (result == null)
+ result = caseSyntaxElement(arithmeticExpression);
+ if (result == null)
+ result = defaultCase(theEObject);
+ return result;
+ }
+ case AlfPackage.FEATURE_LEFT_HAND_SIDE: {
+ FeatureLeftHandSide featureLeftHandSide = (FeatureLeftHandSide) theEObject;
+ T result = caseFeatureLeftHandSide(featureLeftHandSide);
+ if (result == null)
+ result = caseLeftHandSide(featureLeftHandSide);
+ if (result == null)
+ result = caseAssignableElement(featureLeftHandSide);
+ if (result == null)
+ result = caseSyntaxElement(featureLeftHandSide);
+ if (result == null)
+ result = defaultCase(theEObject);
+ return result;
+ }
+ case AlfPackage.CONDITIONAL_TEST_EXPRESSION: {
+ ConditionalTestExpression conditionalTestExpression = (ConditionalTestExpression) theEObject;
+ T result = caseConditionalTestExpression(conditionalTestExpression);
+ if (result == null)
+ result = caseExpression(conditionalTestExpression);
+ if (result == null)
+ result = caseAssignableElement(conditionalTestExpression);
+ if (result == null)
+ result = caseSyntaxElement(conditionalTestExpression);
+ if (result == null)
+ result = defaultCase(theEObject);
+ return result;
+ }
+ case AlfPackage.INSTANCE_CREATION_EXPRESSION: {
+ InstanceCreationExpression instanceCreationExpression = (InstanceCreationExpression) theEObject;
+ T result = caseInstanceCreationExpression(instanceCreationExpression);
+ if (result == null)
+ result = caseInvocationExpression(instanceCreationExpression);
+ if (result == null)
+ result = caseExpression(instanceCreationExpression);
+ if (result == null)
+ result = caseAssignableElement(instanceCreationExpression);
+ if (result == null)
+ result = caseSyntaxElement(instanceCreationExpression);
+ if (result == null)
+ result = defaultCase(theEObject);
+ return result;
+ }
+ case AlfPackage.PROPERTY_ACCESS_EXPRESSION: {
+ PropertyAccessExpression propertyAccessExpression = (PropertyAccessExpression) theEObject;
+ T result = casePropertyAccessExpression(propertyAccessExpression);
+ if (result == null)
+ result = caseExpression(propertyAccessExpression);
+ if (result == null)
+ result = caseAssignableElement(propertyAccessExpression);
+ if (result == null)
+ result = caseSyntaxElement(propertyAccessExpression);
+ if (result == null)
+ result = defaultCase(theEObject);
+ return result;
+ }
+ case AlfPackage.NAME_EXPRESSION: {
+ NameExpression nameExpression = (NameExpression) theEObject;
+ T result = caseNameExpression(nameExpression);
+ if (result == null)
+ result = caseExpression(nameExpression);
+ if (result == null)
+ result = caseAssignableElement(nameExpression);
+ if (result == null)
+ result = caseSyntaxElement(nameExpression);
+ if (result == null)
+ result = defaultCase(theEObject);
+ return result;
+ }
+ case AlfPackage.BIT_STRING_UNARY_EXPRESSION: {
+ BitStringUnaryExpression bitStringUnaryExpression = (BitStringUnaryExpression) theEObject;
+ T result = caseBitStringUnaryExpression(bitStringUnaryExpression);
+ if (result == null)
+ result = caseUnaryExpression(bitStringUnaryExpression);
+ if (result == null)
+ result = caseExpression(bitStringUnaryExpression);
+ if (result == null)
+ result = caseAssignableElement(bitStringUnaryExpression);
+ if (result == null)
+ result = caseSyntaxElement(bitStringUnaryExpression);
+ if (result == null)
+ result = defaultCase(theEObject);
+ return result;
+ }
+ case AlfPackage.FEATURE_INVOCATION_EXPRESSION: {
+ FeatureInvocationExpression featureInvocationExpression = (FeatureInvocationExpression) theEObject;
+ T result = caseFeatureInvocationExpression(featureInvocationExpression);
+ if (result == null)
+ result = caseInvocationExpression(featureInvocationExpression);
+ if (result == null)
+ result = caseExpression(featureInvocationExpression);
+ if (result == null)
+ result = caseAssignableElement(featureInvocationExpression);
+ if (result == null)
+ result = caseSyntaxElement(featureInvocationExpression);
+ if (result == null)
+ result = defaultCase(theEObject);
+ return result;
+ }
+ case AlfPackage.BEHAVIOR_INVOCATION_EXPRESSION: {
+ BehaviorInvocationExpression behaviorInvocationExpression = (BehaviorInvocationExpression) theEObject;
+ T result = caseBehaviorInvocationExpression(behaviorInvocationExpression);
+ if (result == null)
+ result = caseInvocationExpression(behaviorInvocationExpression);
+ if (result == null)
+ result = caseExpression(behaviorInvocationExpression);
+ if (result == null)
+ result = caseAssignableElement(behaviorInvocationExpression);
+ if (result == null)
+ result = caseSyntaxElement(behaviorInvocationExpression);
+ if (result == null)
+ result = defaultCase(theEObject);
+ return result;
+ }
+ case AlfPackage.SHIFT_EXPRESSION: {
+ ShiftExpression shiftExpression = (ShiftExpression) theEObject;
+ T result = caseShiftExpression(shiftExpression);
+ if (result == null)
+ result = caseBinaryExpression(shiftExpression);
+ if (result == null)
+ result = caseExpression(shiftExpression);
+ if (result == null)
+ result = caseAssignableElement(shiftExpression);
+ if (result == null)
+ result = caseSyntaxElement(shiftExpression);
+ if (result == null)
+ result = defaultCase(theEObject);
+ return result;
+ }
+ case AlfPackage.UNBOUNDED_LITERAL_EXPRESSION: {
+ UnboundedLiteralExpression unboundedLiteralExpression = (UnboundedLiteralExpression) theEObject;
+ T result = caseUnboundedLiteralExpression(unboundedLiteralExpression);
+ if (result == null)
+ result = caseLiteralExpression(unboundedLiteralExpression);
+ if (result == null)
+ result = caseExpression(unboundedLiteralExpression);
+ if (result == null)
+ result = caseAssignableElement(unboundedLiteralExpression);
+ if (result == null)
+ result = caseSyntaxElement(unboundedLiteralExpression);
+ if (result == null)
+ result = defaultCase(theEObject);
+ return result;
+ }
+ case AlfPackage.THIS_EXPRESSION: {
+ ThisExpression thisExpression = (ThisExpression) theEObject;
+ T result = caseThisExpression(thisExpression);
+ if (result == null)
+ result = caseExpression(thisExpression);
+ if (result == null)
+ result = caseAssignableElement(thisExpression);
+ if (result == null)
+ result = caseSyntaxElement(thisExpression);
+ if (result == null)
+ result = defaultCase(theEObject);
+ return result;
+ }
+ case AlfPackage.CLASSIFICATION_EXPRESSION: {
+ ClassificationExpression classificationExpression = (ClassificationExpression) theEObject;
+ T result = caseClassificationExpression(classificationExpression);
+ if (result == null)
+ result = caseUnaryExpression(classificationExpression);
+ if (result == null)
+ result = caseExpression(classificationExpression);
+ if (result == null)
+ result = caseAssignableElement(classificationExpression);
+ if (result == null)
+ result = caseSyntaxElement(classificationExpression);
+ if (result == null)
+ result = defaultCase(theEObject);
+ return result;
+ }
+ case AlfPackage.SUPER_INVOCATION_EXPRESSION: {
+ SuperInvocationExpression superInvocationExpression = (SuperInvocationExpression) theEObject;
+ T result = caseSuperInvocationExpression(superInvocationExpression);
+ if (result == null)
+ result = caseInvocationExpression(superInvocationExpression);
+ if (result == null)
+ result = caseExpression(superInvocationExpression);
+ if (result == null)
+ result = caseAssignableElement(superInvocationExpression);
+ if (result == null)
+ result = caseSyntaxElement(superInvocationExpression);
+ if (result == null)
+ result = defaultCase(theEObject);
+ return result;
+ }
+ case AlfPackage.INCREMENT_OR_DECREMENT_EXPRESSION: {
+ IncrementOrDecrementExpression incrementOrDecrementExpression = (IncrementOrDecrementExpression) theEObject;
+ T result = caseIncrementOrDecrementExpression(incrementOrDecrementExpression);
+ if (result == null)
+ result = caseExpression(incrementOrDecrementExpression);
+ if (result == null)
+ result = caseAssignableElement(incrementOrDecrementExpression);
+ if (result == null)
+ result = caseSyntaxElement(incrementOrDecrementExpression);
+ if (result == null)
+ result = defaultCase(theEObject);
+ return result;
+ }
+ case AlfPackage.BOOLEAN_LITERAL_EXPRESSION: {
+ BooleanLiteralExpression booleanLiteralExpression = (BooleanLiteralExpression) theEObject;
+ T result = caseBooleanLiteralExpression(booleanLiteralExpression);
+ if (result == null)
+ result = caseLiteralExpression(booleanLiteralExpression);
+ if (result == null)
+ result = caseExpression(booleanLiteralExpression);
+ if (result == null)
+ result = caseAssignableElement(booleanLiteralExpression);
+ if (result == null)
+ result = caseSyntaxElement(booleanLiteralExpression);
+ if (result == null)
+ result = defaultCase(theEObject);
+ return result;
+ }
+ case AlfPackage.NAMED_TUPLE: {
+ NamedTuple namedTuple = (NamedTuple) theEObject;
+ T result = caseNamedTuple(namedTuple);
+ if (result == null)
+ result = caseTuple(namedTuple);
+ if (result == null)
+ result = caseSyntaxElement(namedTuple);
+ if (result == null)
+ result = defaultCase(theEObject);
+ return result;
+ }
+ case AlfPackage.NATURAL_LITERAL_EXPRESSION: {
+ NaturalLiteralExpression naturalLiteralExpression = (NaturalLiteralExpression) theEObject;
+ T result = caseNaturalLiteralExpression(naturalLiteralExpression);
+ if (result == null)
+ result = caseLiteralExpression(naturalLiteralExpression);
+ if (result == null)
+ result = caseExpression(naturalLiteralExpression);
+ if (result == null)
+ result = caseAssignableElement(naturalLiteralExpression);
+ if (result == null)
+ result = caseSyntaxElement(naturalLiteralExpression);
+ if (result == null)
+ result = defaultCase(theEObject);
+ return result;
+ }
+ case AlfPackage.SEQUENCE_RANGE: {
+ SequenceRange sequenceRange = (SequenceRange) theEObject;
+ T result = caseSequenceRange(sequenceRange);
+ if (result == null)
+ result = caseSequenceElements(sequenceRange);
+ if (result == null)
+ result = caseSyntaxElement(sequenceRange);
+ if (result == null)
+ result = defaultCase(theEObject);
+ return result;
+ }
+ case AlfPackage.NAME_LEFT_HAND_SIDE: {
+ NameLeftHandSide nameLeftHandSide = (NameLeftHandSide) theEObject;
+ T result = caseNameLeftHandSide(nameLeftHandSide);
+ if (result == null)
+ result = caseLeftHandSide(nameLeftHandSide);
+ if (result == null)
+ result = caseAssignableElement(nameLeftHandSide);
+ if (result == null)
+ result = caseSyntaxElement(nameLeftHandSide);
+ if (result == null)
+ result = defaultCase(theEObject);
+ return result;
+ }
+ case AlfPackage.EFFECTIVE_LEFT_HAND_SIDE: {
+ EffectiveLeftHandSide effectiveLeftHandSide = (EffectiveLeftHandSide) theEObject;
+ T result = caseEffectiveLeftHandSide(effectiveLeftHandSide);
+ if (result == null)
+ result = caseNameLeftHandSide(effectiveLeftHandSide);
+ if (result == null)
+ result = caseLeftHandSide(effectiveLeftHandSide);
+ if (result == null)
+ result = caseAssignableElement(effectiveLeftHandSide);
+ if (result == null)
+ result = caseSyntaxElement(effectiveLeftHandSide);
+ if (result == null)
+ result = defaultCase(theEObject);
+ return result;
+ }
+ case AlfPackage.SEQUENCE_REDUCTION_EXPRESSION: {
+ SequenceReductionExpression sequenceReductionExpression = (SequenceReductionExpression) theEObject;
+ T result = caseSequenceReductionExpression(sequenceReductionExpression);
+ if (result == null)
+ result = caseExpression(sequenceReductionExpression);
+ if (result == null)
+ result = caseAssignableElement(sequenceReductionExpression);
+ if (result == null)
+ result = caseSyntaxElement(sequenceReductionExpression);
+ if (result == null)
+ result = defaultCase(theEObject);
+ return result;
+ }
+ case AlfPackage.SEQUENCE_EXPRESSION_LIST: {
+ SequenceExpressionList sequenceExpressionList = (SequenceExpressionList) theEObject;
+ T result = caseSequenceExpressionList(sequenceExpressionList);
+ if (result == null)
+ result = caseSequenceElements(sequenceExpressionList);
+ if (result == null)
+ result = caseSyntaxElement(sequenceExpressionList);
+ if (result == null)
+ result = defaultCase(theEObject);
+ return result;
+ }
+ case AlfPackage.RELATIONAL_EXPRESSION: {
+ RelationalExpression relationalExpression = (RelationalExpression) theEObject;
+ T result = caseRelationalExpression(relationalExpression);
+ if (result == null)
+ result = caseBinaryExpression(relationalExpression);
+ if (result == null)
+ result = caseExpression(relationalExpression);
+ if (result == null)
+ result = caseAssignableElement(relationalExpression);
+ if (result == null)
+ result = caseSyntaxElement(relationalExpression);
+ if (result == null)
+ result = defaultCase(theEObject);
+ return result;
+ }
+ case AlfPackage.LOCAL_NAME_DECLARATION_STATEMENT: {
+ LocalNameDeclarationStatement localNameDeclarationStatement = (LocalNameDeclarationStatement) theEObject;
+ T result = caseLocalNameDeclarationStatement(localNameDeclarationStatement);
+ if (result == null)
+ result = caseStatement(localNameDeclarationStatement);
+ if (result == null)
+ result = caseSyntaxElement(localNameDeclarationStatement);
+ if (result == null)
+ result = defaultCase(theEObject);
+ return result;
+ }
+ case AlfPackage.ASSIGNABLE_LOCAL_NAME_DECLARATION: {
+ AssignableLocalNameDeclaration assignableLocalNameDeclaration = (AssignableLocalNameDeclaration) theEObject;
+ T result = caseAssignableLocalNameDeclaration(assignableLocalNameDeclaration);
+ if (result == null)
+ result = caseAssignableElement(assignableLocalNameDeclaration);
+ if (result == null)
+ result = caseSyntaxElement(assignableLocalNameDeclaration);
+ if (result == null)
+ result = defaultCase(theEObject);
+ return result;
+ }
+ case AlfPackage.STATEMENT: {
+ Statement statement = (Statement) theEObject;
+ T result = caseStatement(statement);
+ if (result == null)
+ result = caseSyntaxElement(statement);
+ if (result == null)
+ result = defaultCase(theEObject);
+ return result;
+ }
+ case AlfPackage.ANNOTATION: {
+ Annotation annotation = (Annotation) theEObject;
+ T result = caseAnnotation(annotation);
+ if (result == null)
+ result = caseSyntaxElement(annotation);
+ if (result == null)
+ result = defaultCase(theEObject);
+ return result;
+ }
+ case AlfPackage.QUALIFIED_NAME_LIST: {
+ QualifiedNameList qualifiedNameList = (QualifiedNameList) theEObject;
+ T result = caseQualifiedNameList(qualifiedNameList);
+ if (result == null)
+ result = caseSyntaxElement(qualifiedNameList);
+ if (result == null)
+ result = defaultCase(theEObject);
+ return result;
+ }
+ case AlfPackage.NON_FINAL_CLAUSE: {
+ NonFinalClause nonFinalClause = (NonFinalClause) theEObject;
+ T result = caseNonFinalClause(nonFinalClause);
+ if (result == null)
+ result = caseSyntaxElement(nonFinalClause);
+ if (result == null)
+ result = defaultCase(theEObject);
+ return result;
+ }
+ case AlfPackage.BLOCK: {
+ Block block = (Block) theEObject;
+ T result = caseBlock(block);
+ if (result == null)
+ result = caseSyntaxElement(block);
+ if (result == null)
+ result = defaultCase(theEObject);
+ return result;
+ }
+ case AlfPackage.BLOCK_STATEMENT: {
+ BlockStatement blockStatement = (BlockStatement) theEObject;
+ T result = caseBlockStatement(blockStatement);
+ if (result == null)
+ result = caseStatement(blockStatement);
+ if (result == null)
+ result = caseSyntaxElement(blockStatement);
+ if (result == null)
+ result = defaultCase(theEObject);
+ return result;
+ }
+ case AlfPackage.DO_STATEMENT: {
+ DoStatement doStatement = (DoStatement) theEObject;
+ T result = caseDoStatement(doStatement);
+ if (result == null)
+ result = caseStatement(doStatement);
+ if (result == null)
+ result = caseSyntaxElement(doStatement);
+ if (result == null)
+ result = defaultCase(theEObject);
+ return result;
+ }
+ case AlfPackage.CONCURRENT_CLAUSES: {
+ ConcurrentClauses concurrentClauses = (ConcurrentClauses) theEObject;
+ T result = caseConcurrentClauses(concurrentClauses);
+ if (result == null)
+ result = caseSyntaxElement(concurrentClauses);
+ if (result == null)
+ result = defaultCase(theEObject);
+ return result;
+ }
+ case AlfPackage.BREAK_STATEMENT: {
+ BreakStatement breakStatement = (BreakStatement) theEObject;
+ T result = caseBreakStatement(breakStatement);
+ if (result == null)
+ result = caseStatement(breakStatement);
+ if (result == null)
+ result = caseSyntaxElement(breakStatement);
+ if (result == null)
+ result = defaultCase(theEObject);
+ return result;
+ }
+ case AlfPackage.EXPRESSION_STATEMENT: {
+ ExpressionStatement expressionStatement = (ExpressionStatement) theEObject;
+ T result = caseExpressionStatement(expressionStatement);
+ if (result == null)
+ result = caseStatement(expressionStatement);
+ if (result == null)
+ result = caseSyntaxElement(expressionStatement);
+ if (result == null)
+ result = defaultCase(theEObject);
+ return result;
+ }
+ case AlfPackage.CLASSIFY_STATEMENT: {
+ ClassifyStatement classifyStatement = (ClassifyStatement) theEObject;
+ T result = caseClassifyStatement(classifyStatement);
+ if (result == null)
+ result = caseStatement(classifyStatement);
+ if (result == null)
+ result = caseSyntaxElement(classifyStatement);
+ if (result == null)
+ result = defaultCase(theEObject);
+ return result;
+ }
+ case AlfPackage.FOR_STATEMENT: {
+ ForStatement forStatement = (ForStatement) theEObject;
+ T result = caseForStatement(forStatement);
+ if (result == null)
+ result = caseStatement(forStatement);
+ if (result == null)
+ result = caseSyntaxElement(forStatement);
+ if (result == null)
+ result = defaultCase(theEObject);
+ return result;
+ }
+ case AlfPackage.LOOP_VARIABLE_DEFINITION: {
+ LoopVariableDefinition loopVariableDefinition = (LoopVariableDefinition) theEObject;
+ T result = caseLoopVariableDefinition(loopVariableDefinition);
+ if (result == null)
+ result = caseSyntaxElement(loopVariableDefinition);
+ if (result == null)
+ result = defaultCase(theEObject);
+ return result;
+ }
+ case AlfPackage.IF_STATEMENT: {
+ IfStatement ifStatement = (IfStatement) theEObject;
+ T result = caseIfStatement(ifStatement);
+ if (result == null)
+ result = caseStatement(ifStatement);
+ if (result == null)
+ result = caseSyntaxElement(ifStatement);
+ if (result == null)
+ result = defaultCase(theEObject);
+ return result;
+ }
+ case AlfPackage.SWITCH_STATEMENT: {
+ SwitchStatement switchStatement = (SwitchStatement) theEObject;
+ T result = caseSwitchStatement(switchStatement);
+ if (result == null)
+ result = caseStatement(switchStatement);
+ if (result == null)
+ result = caseSyntaxElement(switchStatement);
+ if (result == null)
+ result = defaultCase(theEObject);
+ return result;
+ }
+ case AlfPackage.SWITCH_CLAUSE: {
+ SwitchClause switchClause = (SwitchClause) theEObject;
+ T result = caseSwitchClause(switchClause);
+ if (result == null)
+ result = caseSyntaxElement(switchClause);
+ if (result == null)
+ result = defaultCase(theEObject);
+ return result;
+ }
+ case AlfPackage.WHILE_STATEMENT: {
+ WhileStatement whileStatement = (WhileStatement) theEObject;
+ T result = caseWhileStatement(whileStatement);
+ if (result == null)
+ result = caseStatement(whileStatement);
+ if (result == null)
+ result = caseSyntaxElement(whileStatement);
+ if (result == null)
+ result = defaultCase(theEObject);
+ return result;
+ }
+ case AlfPackage.RETURN_STATEMENT: {
+ ReturnStatement returnStatement = (ReturnStatement) theEObject;
+ T result = caseReturnStatement(returnStatement);
+ if (result == null)
+ result = caseStatement(returnStatement);
+ if (result == null)
+ result = caseSyntaxElement(returnStatement);
+ if (result == null)
+ result = defaultCase(theEObject);
+ return result;
+ }
+ case AlfPackage.IN_LINE_STATEMENT: {
+ InLineStatement inLineStatement = (InLineStatement) theEObject;
+ T result = caseInLineStatement(inLineStatement);
+ if (result == null)
+ result = caseStatement(inLineStatement);
+ if (result == null)
+ result = caseSyntaxElement(inLineStatement);
+ if (result == null)
+ result = defaultCase(theEObject);
+ return result;
+ }
+ case AlfPackage.ACCEPT_STATEMENT: {
+ AcceptStatement acceptStatement = (AcceptStatement) theEObject;
+ T result = caseAcceptStatement(acceptStatement);
+ if (result == null)
+ result = caseStatement(acceptStatement);
+ if (result == null)
+ result = caseSyntaxElement(acceptStatement);
+ if (result == null)
+ result = defaultCase(theEObject);
+ return result;
+ }
+ case AlfPackage.ACCEPT_BLOCK: {
+ AcceptBlock acceptBlock = (AcceptBlock) theEObject;
+ T result = caseAcceptBlock(acceptBlock);
+ if (result == null)
+ result = caseSyntaxElement(acceptBlock);
+ if (result == null)
+ result = defaultCase(theEObject);
+ return result;
+ }
+ case AlfPackage.EMPTY_STATEMENT: {
+ EmptyStatement emptyStatement = (EmptyStatement) theEObject;
+ T result = caseEmptyStatement(emptyStatement);
+ if (result == null)
+ result = caseStatement(emptyStatement);
+ if (result == null)
+ result = caseSyntaxElement(emptyStatement);
+ if (result == null)
+ result = defaultCase(theEObject);
+ return result;
+ }
+ case AlfPackage.MODEL_NAMESPACE: {
+ ModelNamespace modelNamespace = (ModelNamespace) theEObject;
+ T result = caseModelNamespace(modelNamespace);
+ if (result == null)
+ result = casePackageDefinition(modelNamespace);
+ if (result == null)
+ result = caseNamespaceDefinition(modelNamespace);
+ if (result == null)
+ result = caseMemberDefinition(modelNamespace);
+ if (result == null)
+ result = caseSyntaxElement(modelNamespace);
+ if (result == null)
+ result = defaultCase(theEObject);
+ return result;
+ }
+ case AlfPackage.NAMESPACE_DEFINITION: {
+ NamespaceDefinition namespaceDefinition = (NamespaceDefinition) theEObject;
+ T result = caseNamespaceDefinition(namespaceDefinition);
+ if (result == null)
+ result = caseMemberDefinition(namespaceDefinition);
+ if (result == null)
+ result = caseSyntaxElement(namespaceDefinition);
+ if (result == null)
+ result = defaultCase(theEObject);
+ return result;
+ }
+ case AlfPackage.MEMBER_DEFINITION: {
+ MemberDefinition memberDefinition = (MemberDefinition) theEObject;
+ T result = caseMemberDefinition(memberDefinition);
+ if (result == null)
+ result = caseSyntaxElement(memberDefinition);
+ if (result == null)
+ result = defaultCase(theEObject);
+ return result;
+ }
+ case AlfPackage.STEREOTYPE_ANNOTATION: {
+ StereotypeAnnotation stereotypeAnnotation = (StereotypeAnnotation) theEObject;
+ T result = caseStereotypeAnnotation(stereotypeAnnotation);
+ if (result == null)
+ result = caseSyntaxElement(stereotypeAnnotation);
+ if (result == null)
+ result = defaultCase(theEObject);
+ return result;
+ }
+ case AlfPackage.TAGGED_VALUE_LIST: {
+ TaggedValueList taggedValueList = (TaggedValueList) theEObject;
+ T result = caseTaggedValueList(taggedValueList);
+ if (result == null)
+ result = caseSyntaxElement(taggedValueList);
+ if (result == null)
+ result = defaultCase(theEObject);
+ return result;
+ }
+ case AlfPackage.TAGGED_VALUE: {
+ TaggedValue taggedValue = (TaggedValue) theEObject;
+ T result = caseTaggedValue(taggedValue);
+ if (result == null)
+ result = caseSyntaxElement(taggedValue);
+ if (result == null)
+ result = defaultCase(theEObject);
+ return result;
+ }
+ case AlfPackage.UNIT_DEFINITION: {
+ UnitDefinition unitDefinition = (UnitDefinition) theEObject;
+ T result = caseUnitDefinition(unitDefinition);
+ if (result == null)
+ result = caseDocumentedElement(unitDefinition);
+ if (result == null)
+ result = caseSyntaxElement(unitDefinition);
+ if (result == null)
+ result = defaultCase(theEObject);
+ return result;
+ }
+ case AlfPackage.IMPORT_REFERENCE: {
+ ImportReference importReference = (ImportReference) theEObject;
+ T result = caseImportReference(importReference);
+ if (result == null)
+ result = caseSyntaxElement(importReference);
+ if (result == null)
+ result = defaultCase(theEObject);
+ return result;
+ }
+ case AlfPackage.IMPORTED_MEMBER: {
+ ImportedMember importedMember = (ImportedMember) theEObject;
+ T result = caseImportedMember(importedMember);
+ if (result == null)
+ result = caseMemberDefinition(importedMember);
+ if (result == null)
+ result = caseSyntaxElement(importedMember);
+ if (result == null)
+ result = defaultCase(theEObject);
+ return result;
+ }
+ case AlfPackage.ENUMERATION_LITERAL_NAME: {
+ EnumerationLiteralName enumerationLiteralName = (EnumerationLiteralName) theEObject;
+ T result = caseEnumerationLiteralName(enumerationLiteralName);
+ if (result == null)
+ result = caseMemberDefinition(enumerationLiteralName);
+ if (result == null)
+ result = caseSyntaxElement(enumerationLiteralName);
+ if (result == null)
+ result = defaultCase(theEObject);
+ return result;
+ }
+ case AlfPackage.OPERATION_DEFINITION: {
+ OperationDefinition operationDefinition = (OperationDefinition) theEObject;
+ T result = caseOperationDefinition(operationDefinition);
+ if (result == null)
+ result = caseNamespaceDefinition(operationDefinition);
+ if (result == null)
+ result = caseMemberDefinition(operationDefinition);
+ if (result == null)
+ result = caseSyntaxElement(operationDefinition);
+ if (result == null)
+ result = defaultCase(theEObject);
+ return result;
+ }
+ case AlfPackage.ASSOCIATION_DEFINITION: {
+ AssociationDefinition associationDefinition = (AssociationDefinition) theEObject;
+ T result = caseAssociationDefinition(associationDefinition);
+ if (result == null)
+ result = caseClassifierDefinition(associationDefinition);
+ if (result == null)
+ result = caseNamespaceDefinition(associationDefinition);
+ if (result == null)
+ result = caseMemberDefinition(associationDefinition);
+ if (result == null)
+ result = caseSyntaxElement(associationDefinition);
+ if (result == null)
+ result = defaultCase(theEObject);
+ return result;
+ }
+ case AlfPackage.CLASSIFIER_DEFINITION: {
+ ClassifierDefinition classifierDefinition = (ClassifierDefinition) theEObject;
+ T result = caseClassifierDefinition(classifierDefinition);
+ if (result == null)
+ result = caseNamespaceDefinition(classifierDefinition);
+ if (result == null)
+ result = caseMemberDefinition(classifierDefinition);
+ if (result == null)
+ result = caseSyntaxElement(classifierDefinition);
+ if (result == null)
+ result = defaultCase(theEObject);
+ return result;
+ }
+ case AlfPackage.CLASS_DEFINITION: {
+ ClassDefinition classDefinition = (ClassDefinition) theEObject;
+ T result = caseClassDefinition(classDefinition);
+ if (result == null)
+ result = caseClassifierDefinition(classDefinition);
+ if (result == null)
+ result = caseNamespaceDefinition(classDefinition);
+ if (result == null)
+ result = caseMemberDefinition(classDefinition);
+ if (result == null)
+ result = caseSyntaxElement(classDefinition);
+ if (result == null)
+ result = defaultCase(theEObject);
+ return result;
+ }
+ case AlfPackage.TYPED_ELEMENT_DEFINITION: {
+ TypedElementDefinition typedElementDefinition = (TypedElementDefinition) theEObject;
+ T result = caseTypedElementDefinition(typedElementDefinition);
+ if (result == null)
+ result = caseAssignableElement(typedElementDefinition);
+ if (result == null)
+ result = caseSyntaxElement(typedElementDefinition);
+ if (result == null)
+ result = defaultCase(theEObject);
+ return result;
+ }
+ case AlfPackage.DATA_TYPE_DEFINITION: {
+ DataTypeDefinition dataTypeDefinition = (DataTypeDefinition) theEObject;
+ T result = caseDataTypeDefinition(dataTypeDefinition);
+ if (result == null)
+ result = caseClassifierDefinition(dataTypeDefinition);
+ if (result == null)
+ result = caseNamespaceDefinition(dataTypeDefinition);
+ if (result == null)
+ result = caseMemberDefinition(dataTypeDefinition);
+ if (result == null)
+ result = caseSyntaxElement(dataTypeDefinition);
+ if (result == null)
+ result = defaultCase(theEObject);
+ return result;
+ }
+ case AlfPackage.PACKAGE_DEFINITION: {
+ PackageDefinition packageDefinition = (PackageDefinition) theEObject;
+ T result = casePackageDefinition(packageDefinition);
+ if (result == null)
+ result = caseNamespaceDefinition(packageDefinition);
+ if (result == null)
+ result = caseMemberDefinition(packageDefinition);
+ if (result == null)
+ result = caseSyntaxElement(packageDefinition);
+ if (result == null)
+ result = defaultCase(theEObject);
+ return result;
+ }
+ case AlfPackage.PROPERTY_DEFINITION: {
+ PropertyDefinition propertyDefinition = (PropertyDefinition) theEObject;
+ T result = casePropertyDefinition(propertyDefinition);
+ if (result == null)
+ result = caseMemberDefinition(propertyDefinition);
+ if (result == null)
+ result = caseSyntaxElement(propertyDefinition);
+ if (result == null)
+ result = defaultCase(theEObject);
+ return result;
+ }
+ case AlfPackage.SIGNAL_DEFINITION: {
+ SignalDefinition signalDefinition = (SignalDefinition) theEObject;
+ T result = caseSignalDefinition(signalDefinition);
+ if (result == null)
+ result = caseClassifierDefinition(signalDefinition);
+ if (result == null)
+ result = caseNamespaceDefinition(signalDefinition);
+ if (result == null)
+ result = caseMemberDefinition(signalDefinition);
+ if (result == null)
+ result = caseSyntaxElement(signalDefinition);
+ if (result == null)
+ result = defaultCase(theEObject);
+ return result;
+ }
+ case AlfPackage.ACTIVE_CLASS_DEFINITION: {
+ ActiveClassDefinition activeClassDefinition = (ActiveClassDefinition) theEObject;
+ T result = caseActiveClassDefinition(activeClassDefinition);
+ if (result == null)
+ result = caseClassDefinition(activeClassDefinition);
+ if (result == null)
+ result = caseClassifierDefinition(activeClassDefinition);
+ if (result == null)
+ result = caseNamespaceDefinition(activeClassDefinition);
+ if (result == null)
+ result = caseMemberDefinition(activeClassDefinition);
+ if (result == null)
+ result = caseSyntaxElement(activeClassDefinition);
+ if (result == null)
+ result = defaultCase(theEObject);
+ return result;
+ }
+ case AlfPackage.ACTIVITY_DEFINITION: {
+ ActivityDefinition activityDefinition = (ActivityDefinition) theEObject;
+ T result = caseActivityDefinition(activityDefinition);
+ if (result == null)
+ result = caseClassifierDefinition(activityDefinition);
+ if (result == null)
+ result = caseNamespaceDefinition(activityDefinition);
+ if (result == null)
+ result = caseMemberDefinition(activityDefinition);
+ if (result == null)
+ result = caseSyntaxElement(activityDefinition);
+ if (result == null)
+ result = defaultCase(theEObject);
+ return result;
+ }
+ case AlfPackage.ELEMENT_IMPORT_REFERENCE: {
+ ElementImportReference elementImportReference = (ElementImportReference) theEObject;
+ T result = caseElementImportReference(elementImportReference);
+ if (result == null)
+ result = caseImportReference(elementImportReference);
+ if (result == null)
+ result = caseSyntaxElement(elementImportReference);
+ if (result == null)
+ result = defaultCase(theEObject);
+ return result;
+ }
+ case AlfPackage.SIGNAL_RECEPTION_DEFINITION: {
+ SignalReceptionDefinition signalReceptionDefinition = (SignalReceptionDefinition) theEObject;
+ T result = caseSignalReceptionDefinition(signalReceptionDefinition);
+ if (result == null)
+ result = caseSignalDefinition(signalReceptionDefinition);
+ if (result == null)
+ result = caseClassifierDefinition(signalReceptionDefinition);
+ if (result == null)
+ result = caseNamespaceDefinition(signalReceptionDefinition);
+ if (result == null)
+ result = caseMemberDefinition(signalReceptionDefinition);
+ if (result == null)
+ result = caseSyntaxElement(signalReceptionDefinition);
+ if (result == null)
+ result = defaultCase(theEObject);
+ return result;
+ }
+ case AlfPackage.ENUMERATION_DEFINITION: {
+ EnumerationDefinition enumerationDefinition = (EnumerationDefinition) theEObject;
+ T result = caseEnumerationDefinition(enumerationDefinition);
+ if (result == null)
+ result = caseClassifierDefinition(enumerationDefinition);
+ if (result == null)
+ result = caseNamespaceDefinition(enumerationDefinition);
+ if (result == null)
+ result = caseMemberDefinition(enumerationDefinition);
+ if (result == null)
+ result = caseSyntaxElement(enumerationDefinition);
+ if (result == null)
+ result = defaultCase(theEObject);
+ return result;
+ }
+ case AlfPackage.PACKAGE_IMPORT_REFERENCE: {
+ PackageImportReference packageImportReference = (PackageImportReference) theEObject;
+ T result = casePackageImportReference(packageImportReference);
+ if (result == null)
+ result = caseImportReference(packageImportReference);
+ if (result == null)
+ result = caseSyntaxElement(packageImportReference);
+ if (result == null)
+ result = defaultCase(theEObject);
+ return result;
+ }
+ case AlfPackage.CLASSIFIER_TEMPLATE_PARAMETER: {
+ ClassifierTemplateParameter classifierTemplateParameter = (ClassifierTemplateParameter) theEObject;
+ T result = caseClassifierTemplateParameter(classifierTemplateParameter);
+ if (result == null)
+ result = caseClassifierDefinition(classifierTemplateParameter);
+ if (result == null)
+ result = caseNamespaceDefinition(classifierTemplateParameter);
+ if (result == null)
+ result = caseMemberDefinition(classifierTemplateParameter);
+ if (result == null)
+ result = caseSyntaxElement(classifierTemplateParameter);
+ if (result == null)
+ result = defaultCase(theEObject);
+ return result;
+ }
+ case AlfPackage.FORMAL_PARAMETER: {
+ FormalParameter formalParameter = (FormalParameter) theEObject;
+ T result = caseFormalParameter(formalParameter);
+ if (result == null)
+ result = caseMemberDefinition(formalParameter);
+ if (result == null)
+ result = caseSyntaxElement(formalParameter);
+ if (result == null)
+ result = defaultCase(theEObject);
+ return result;
+ }
+ case AlfPackage.RECEPTION_DEFINITION: {
+ ReceptionDefinition receptionDefinition = (ReceptionDefinition) theEObject;
+ T result = caseReceptionDefinition(receptionDefinition);
+ if (result == null)
+ result = caseMemberDefinition(receptionDefinition);
+ if (result == null)
+ result = caseSyntaxElement(receptionDefinition);
+ if (result == null)
+ result = defaultCase(theEObject);
+ return result;
+ }
+ case AlfPackage.MEMBER: {
+ Member member = (Member) theEObject;
+ T result = caseMember(member);
+ if (result == null)
+ result = caseDocumentedElement(member);
+ if (result == null)
+ result = caseSyntaxElement(member);
+ if (result == null)
+ result = defaultCase(theEObject);
+ return result;
+ }
+ case AlfPackage.ANNOTATED_STATEMENT: {
+ AnnotatedStatement annotatedStatement = (AnnotatedStatement) theEObject;
+ T result = caseAnnotatedStatement(annotatedStatement);
+ if (result == null)
+ result = caseDocumentedElement(annotatedStatement);
+ if (result == null)
+ result = caseSyntaxElement(annotatedStatement);
+ if (result == null)
+ result = defaultCase(theEObject);
+ return result;
+ }
+ case AlfPackage.BOUND_CLASSIFIER: {
+ BoundClassifier boundClassifier = (BoundClassifier) theEObject;
+ T result = caseBoundClassifier(boundClassifier);
+ if (result == null)
+ result = caseClassifierDefinition(boundClassifier);
+ if (result == null)
+ result = caseNamespaceDefinition(boundClassifier);
+ if (result == null)
+ result = caseMemberDefinition(boundClassifier);
+ if (result == null)
+ result = caseSyntaxElement(boundClassifier);
+ if (result == null)
+ result = defaultCase(theEObject);
+ return result;
+ }
+ case AlfPackage.RETURN_PARAMETER: {
+ ReturnParameter returnParameter = (ReturnParameter) theEObject;
+ T result = caseReturnParameter(returnParameter);
+ if (result == null)
+ result = caseFormalParameter(returnParameter);
+ if (result == null)
+ result = caseMemberDefinition(returnParameter);
+ if (result == null)
+ result = caseSyntaxElement(returnParameter);
+ if (result == null)
+ result = defaultCase(theEObject);
+ return result;
+ }
+ case AlfPackage.NON_RETURN_PARAMETER: {
+ NonReturnParameter nonReturnParameter = (NonReturnParameter) theEObject;
+ T result = caseNonReturnParameter(nonReturnParameter);
+ if (result == null)
+ result = caseFormalParameter(nonReturnParameter);
+ if (result == null)
+ result = caseMemberDefinition(nonReturnParameter);
+ if (result == null)
+ result = caseSyntaxElement(nonReturnParameter);
+ if (result == null)
+ result = defaultCase(theEObject);
+ return result;
+ }
+ case AlfPackage.ANY_TYPE: {
+ AnyType anyType = (AnyType) theEObject;
+ T result = caseAnyType(anyType);
+ if (result == null)
+ result = caseClassifierDefinition(anyType);
+ if (result == null)
+ result = caseNamespaceDefinition(anyType);
+ if (result == null)
+ result = caseMemberDefinition(anyType);
+ if (result == null)
+ result = caseSyntaxElement(anyType);
+ if (result == null)
+ result = defaultCase(theEObject);
+ return result;
+ }
+ default:
+ return defaultCase(theEObject);
+ }
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Assigned Source</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ *
+ * @param object
+ * the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Assigned Source</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseAssignedSource(AssignedSource object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Syntax Element</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ *
+ * @param object
+ * the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Syntax Element</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseSyntaxElement(SyntaxElement object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Element Reference</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ *
+ * @param object
+ * the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Element Reference</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseElementReference(ElementReference object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Internal Element Reference</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ *
+ * @param object
+ * the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Internal Element Reference</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseInternalElementReference(InternalElementReference object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>External Element Reference</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ *
+ * @param object
+ * the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>External Element Reference</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseExternalElementReference(ExternalElementReference object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>External Enumeration Literal Reference</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ *
+ * @param object
+ * the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>External Enumeration Literal Reference</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseExternalEnumerationLiteralReference(ExternalEnumerationLiteralReference object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Bound Element Reference</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ *
+ * @param object
+ * the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Bound Element Reference</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseBoundElementReference(BoundElementReference object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Documented Element</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ *
+ * @param object
+ * the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Documented Element</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseDocumentedElement(DocumentedElement object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Sequence Expansion Expression</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ *
+ * @param object
+ * the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Sequence Expansion Expression</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseSequenceExpansionExpression(SequenceExpansionExpression object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Assignable Element</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ *
+ * @param object
+ * the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Assignable Element</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseAssignableElement(AssignableElement object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Assignable Element Reference</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ *
+ * @param object
+ * the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Assignable Element Reference</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseAssignableElementReference(AssignableElementReference object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Expression</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ *
+ * @param object
+ * the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Expression</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseExpression(Expression object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Extent Or Expression</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ *
+ * @param object
+ * the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Extent Or Expression</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseExtentOrExpression(ExtentOrExpression object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Qualified Name</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ *
+ * @param object
+ * the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Qualified Name</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseQualifiedName(QualifiedName object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Feature Reference</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ *
+ * @param object
+ * the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Feature Reference</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseFeatureReference(FeatureReference object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Name Binding</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ *
+ * @param object
+ * the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Name Binding</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseNameBinding(NameBinding object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Template Binding</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ *
+ * @param object
+ * the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Template Binding</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseTemplateBinding(TemplateBinding object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Named Template Binding</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ *
+ * @param object
+ * the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Named Template Binding</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseNamedTemplateBinding(NamedTemplateBinding object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Template Parameter Substitution</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ *
+ * @param object
+ * the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Template Parameter Substitution</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseTemplateParameterSubstitution(TemplateParameterSubstitution object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Numeric Unary Expression</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ *
+ * @param object
+ * the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Numeric Unary Expression</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseNumericUnaryExpression(NumericUnaryExpression object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Unary Expression</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ *
+ * @param object
+ * the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Unary Expression</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseUnaryExpression(UnaryExpression object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>For All Or Exists Or One Expression</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ *
+ * @param object
+ * the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>For All Or Exists Or One Expression</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseForAllOrExistsOrOneExpression(ForAllOrExistsOrOneExpression object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Isolation Expression</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ *
+ * @param object
+ * the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Isolation Expression</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseIsolationExpression(IsolationExpression object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Binary Expression</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ *
+ * @param object
+ * the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Binary Expression</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseBinaryExpression(BinaryExpression object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Boolean Unary Expression</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ *
+ * @param object
+ * the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Boolean Unary Expression</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseBooleanUnaryExpression(BooleanUnaryExpression object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Cast Expression</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ *
+ * @param object
+ * the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Cast Expression</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseCastExpression(CastExpression object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Positional Tuple</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ *
+ * @param object
+ * the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Positional Tuple</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T casePositionalTuple(PositionalTuple object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Tuple</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ *
+ * @param object
+ * the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Tuple</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseTuple(Tuple object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Named Expression</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ *
+ * @param object
+ * the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Named Expression</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseNamedExpression(NamedExpression object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Input Named Expression</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ *
+ * @param object
+ * the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Input Named Expression</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseInputNamedExpression(InputNamedExpression object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Invocation Expression</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ *
+ * @param object
+ * the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Invocation Expression</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseInvocationExpression(InvocationExpression object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Output Named Expression</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ *
+ * @param object
+ * the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Output Named Expression</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseOutputNamedExpression(OutputNamedExpression object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Left Hand Side</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ *
+ * @param object
+ * the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Left Hand Side</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseLeftHandSide(LeftHandSide object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Sequence Access Expression</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ *
+ * @param object
+ * the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Sequence Access Expression</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseSequenceAccessExpression(SequenceAccessExpression object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>String Literal Expression</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ *
+ * @param object
+ * the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>String Literal Expression</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseStringLiteralExpression(StringLiteralExpression object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Literal Expression</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ *
+ * @param object
+ * the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Literal Expression</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseLiteralExpression(LiteralExpression object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Sequence Operation Expression</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ *
+ * @param object
+ * the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Sequence Operation Expression</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseSequenceOperationExpression(SequenceOperationExpression object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Select Or Reject Expression</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ *
+ * @param object
+ * the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Select Or Reject Expression</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseSelectOrRejectExpression(SelectOrRejectExpression object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Class Extent Expression</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ *
+ * @param object
+ * the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Class Extent Expression</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseClassExtentExpression(ClassExtentExpression object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Positional Template Binding</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ *
+ * @param object
+ * the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Positional Template Binding</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T casePositionalTemplateBinding(PositionalTemplateBinding object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Conditional Logical Expression</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ *
+ * @param object
+ * the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Conditional Logical Expression</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseConditionalLogicalExpression(ConditionalLogicalExpression object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Link Operation Expression</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ *
+ * @param object
+ * the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Link Operation Expression</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseLinkOperationExpression(LinkOperationExpression object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Equality Expression</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ *
+ * @param object
+ * the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Equality Expression</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseEqualityExpression(EqualityExpression object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Assignment Expression</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ *
+ * @param object
+ * the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Assignment Expression</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseAssignmentExpression(AssignmentExpression object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Logical Expression</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ *
+ * @param object
+ * the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Logical Expression</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseLogicalExpression(LogicalExpression object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Sequence Construction Expression</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ *
+ * @param object
+ * the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Sequence Construction Expression</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseSequenceConstructionExpression(SequenceConstructionExpression object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Sequence Elements</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ *
+ * @param object
+ * the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Sequence Elements</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseSequenceElements(SequenceElements object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Collect Or Iterate Expression</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ *
+ * @param object
+ * the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Collect Or Iterate Expression</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseCollectOrIterateExpression(CollectOrIterateExpression object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Is Unique Expression</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ *
+ * @param object
+ * the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Is Unique Expression</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseIsUniqueExpression(IsUniqueExpression object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Arithmetic Expression</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ *
+ * @param object
+ * the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Arithmetic Expression</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseArithmeticExpression(ArithmeticExpression object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Feature Left Hand Side</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ *
+ * @param object
+ * the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Feature Left Hand Side</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseFeatureLeftHandSide(FeatureLeftHandSide object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Conditional Test Expression</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ *
+ * @param object
+ * the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Conditional Test Expression</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseConditionalTestExpression(ConditionalTestExpression object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Instance Creation Expression</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ *
+ * @param object
+ * the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Instance Creation Expression</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseInstanceCreationExpression(InstanceCreationExpression object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Property Access Expression</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ *
+ * @param object
+ * the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Property Access Expression</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T casePropertyAccessExpression(PropertyAccessExpression object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Name Expression</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ *
+ * @param object
+ * the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Name Expression</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseNameExpression(NameExpression object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Bit String Unary Expression</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ *
+ * @param object
+ * the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Bit String Unary Expression</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseBitStringUnaryExpression(BitStringUnaryExpression object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Feature Invocation Expression</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ *
+ * @param object
+ * the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Feature Invocation Expression</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseFeatureInvocationExpression(FeatureInvocationExpression object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Behavior Invocation Expression</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ *
+ * @param object
+ * the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Behavior Invocation Expression</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseBehaviorInvocationExpression(BehaviorInvocationExpression object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Shift Expression</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ *
+ * @param object
+ * the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Shift Expression</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseShiftExpression(ShiftExpression object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Unbounded Literal Expression</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ *
+ * @param object
+ * the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Unbounded Literal Expression</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseUnboundedLiteralExpression(UnboundedLiteralExpression object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>This Expression</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ *
+ * @param object
+ * the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>This Expression</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseThisExpression(ThisExpression object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Classification Expression</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ *
+ * @param object
+ * the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Classification Expression</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseClassificationExpression(ClassificationExpression object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Super Invocation Expression</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ *
+ * @param object
+ * the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Super Invocation Expression</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseSuperInvocationExpression(SuperInvocationExpression object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Increment Or Decrement Expression</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ *
+ * @param object
+ * the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Increment Or Decrement Expression</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseIncrementOrDecrementExpression(IncrementOrDecrementExpression object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Boolean Literal Expression</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ *
+ * @param object
+ * the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Boolean Literal Expression</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseBooleanLiteralExpression(BooleanLiteralExpression object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Named Tuple</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ *
+ * @param object
+ * the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Named Tuple</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseNamedTuple(NamedTuple object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Natural Literal Expression</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ *
+ * @param object
+ * the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Natural Literal Expression</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseNaturalLiteralExpression(NaturalLiteralExpression object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Sequence Range</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ *
+ * @param object
+ * the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Sequence Range</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseSequenceRange(SequenceRange object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Name Left Hand Side</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ *
+ * @param object
+ * the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Name Left Hand Side</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseNameLeftHandSide(NameLeftHandSide object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Effective Left Hand Side</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ *
+ * @param object
+ * the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Effective Left Hand Side</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseEffectiveLeftHandSide(EffectiveLeftHandSide object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Sequence Reduction Expression</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ *
+ * @param object
+ * the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Sequence Reduction Expression</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseSequenceReductionExpression(SequenceReductionExpression object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Sequence Expression List</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ *
+ * @param object
+ * the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Sequence Expression List</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseSequenceExpressionList(SequenceExpressionList object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Relational Expression</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ *
+ * @param object
+ * the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Relational Expression</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseRelationalExpression(RelationalExpression object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Local Name Declaration Statement</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ *
+ * @param object
+ * the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Local Name Declaration Statement</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseLocalNameDeclarationStatement(LocalNameDeclarationStatement object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Assignable Local Name Declaration</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ *
+ * @param object
+ * the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Assignable Local Name Declaration</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseAssignableLocalNameDeclaration(AssignableLocalNameDeclaration object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Statement</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ *
+ * @param object
+ * the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Statement</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseStatement(Statement object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Annotation</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ *
+ * @param object
+ * the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Annotation</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseAnnotation(Annotation object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Qualified Name List</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ *
+ * @param object
+ * the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Qualified Name List</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseQualifiedNameList(QualifiedNameList object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Non Final Clause</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ *
+ * @param object
+ * the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Non Final Clause</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseNonFinalClause(NonFinalClause object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Block</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ *
+ * @param object
+ * the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Block</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseBlock(Block object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Block Statement</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ *
+ * @param object
+ * the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Block Statement</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseBlockStatement(BlockStatement object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Do Statement</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ *
+ * @param object
+ * the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Do Statement</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseDoStatement(DoStatement object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Concurrent Clauses</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ *
+ * @param object
+ * the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Concurrent Clauses</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseConcurrentClauses(ConcurrentClauses object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Break Statement</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ *
+ * @param object
+ * the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Break Statement</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseBreakStatement(BreakStatement object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Expression Statement</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ *
+ * @param object
+ * the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Expression Statement</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseExpressionStatement(ExpressionStatement object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Classify Statement</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ *
+ * @param object
+ * the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Classify Statement</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseClassifyStatement(ClassifyStatement object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>For Statement</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ *
+ * @param object
+ * the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>For Statement</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseForStatement(ForStatement object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Loop Variable Definition</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ *
+ * @param object
+ * the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Loop Variable Definition</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseLoopVariableDefinition(LoopVariableDefinition object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>If Statement</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ *
+ * @param object
+ * the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>If Statement</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseIfStatement(IfStatement object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Switch Statement</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ *
+ * @param object
+ * the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Switch Statement</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseSwitchStatement(SwitchStatement object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Switch Clause</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ *
+ * @param object
+ * the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Switch Clause</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseSwitchClause(SwitchClause object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>While Statement</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ *
+ * @param object
+ * the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>While Statement</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseWhileStatement(WhileStatement object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Return Statement</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ *
+ * @param object
+ * the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Return Statement</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseReturnStatement(ReturnStatement object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>In Line Statement</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ *
+ * @param object
+ * the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>In Line Statement</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseInLineStatement(InLineStatement object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Accept Statement</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ *
+ * @param object
+ * the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Accept Statement</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseAcceptStatement(AcceptStatement object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Accept Block</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ *
+ * @param object
+ * the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Accept Block</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseAcceptBlock(AcceptBlock object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Empty Statement</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ *
+ * @param object
+ * the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Empty Statement</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseEmptyStatement(EmptyStatement object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Model Namespace</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ *
+ * @param object
+ * the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Model Namespace</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseModelNamespace(ModelNamespace object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Namespace Definition</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ *
+ * @param object
+ * the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Namespace Definition</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseNamespaceDefinition(NamespaceDefinition object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Member Definition</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ *
+ * @param object
+ * the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Member Definition</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseMemberDefinition(MemberDefinition object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Stereotype Annotation</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ *
+ * @param object
+ * the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Stereotype Annotation</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseStereotypeAnnotation(StereotypeAnnotation object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Tagged Value List</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ *
+ * @param object
+ * the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Tagged Value List</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseTaggedValueList(TaggedValueList object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Tagged Value</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ *
+ * @param object
+ * the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Tagged Value</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseTaggedValue(TaggedValue object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Unit Definition</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ *
+ * @param object
+ * the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Unit Definition</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseUnitDefinition(UnitDefinition object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Import Reference</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ *
+ * @param object
+ * the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Import Reference</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseImportReference(ImportReference object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Imported Member</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ *
+ * @param object
+ * the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Imported Member</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseImportedMember(ImportedMember object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Enumeration Literal Name</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ *
+ * @param object
+ * the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Enumeration Literal Name</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseEnumerationLiteralName(EnumerationLiteralName object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Operation Definition</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ *
+ * @param object
+ * the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Operation Definition</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseOperationDefinition(OperationDefinition object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Association Definition</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ *
+ * @param object
+ * the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Association Definition</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseAssociationDefinition(AssociationDefinition object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Classifier Definition</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ *
+ * @param object
+ * the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Classifier Definition</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseClassifierDefinition(ClassifierDefinition object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Class Definition</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ *
+ * @param object
+ * the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Class Definition</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseClassDefinition(ClassDefinition object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Typed Element Definition</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ *
+ * @param object
+ * the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Typed Element Definition</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseTypedElementDefinition(TypedElementDefinition object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Data Type Definition</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ *
+ * @param object
+ * the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Data Type Definition</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseDataTypeDefinition(DataTypeDefinition object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Package Definition</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ *
+ * @param object
+ * the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Package Definition</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T casePackageDefinition(PackageDefinition object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Property Definition</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ *
+ * @param object
+ * the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Property Definition</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T casePropertyDefinition(PropertyDefinition object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Signal Definition</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ *
+ * @param object
+ * the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Signal Definition</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseSignalDefinition(SignalDefinition object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Active Class Definition</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ *
+ * @param object
+ * the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Active Class Definition</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseActiveClassDefinition(ActiveClassDefinition object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Activity Definition</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ *
+ * @param object
+ * the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Activity Definition</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseActivityDefinition(ActivityDefinition object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Element Import Reference</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ *
+ * @param object
+ * the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Element Import Reference</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseElementImportReference(ElementImportReference object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Signal Reception Definition</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ *
+ * @param object
+ * the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Signal Reception Definition</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseSignalReceptionDefinition(SignalReceptionDefinition object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Enumeration Definition</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ *
+ * @param object
+ * the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Enumeration Definition</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseEnumerationDefinition(EnumerationDefinition object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Package Import Reference</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ *
+ * @param object
+ * the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Package Import Reference</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T casePackageImportReference(PackageImportReference object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Classifier Template Parameter</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ *
+ * @param object
+ * the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Classifier Template Parameter</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseClassifierTemplateParameter(ClassifierTemplateParameter object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Formal Parameter</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ *
+ * @param object
+ * the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Formal Parameter</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseFormalParameter(FormalParameter object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Reception Definition</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ *
+ * @param object
+ * the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Reception Definition</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseReceptionDefinition(ReceptionDefinition object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Member</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ *
+ * @param object
+ * the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Member</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseMember(Member object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Annotated Statement</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ *
+ * @param object
+ * the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Annotated Statement</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseAnnotatedStatement(AnnotatedStatement object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Bound Classifier</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ *
+ * @param object
+ * the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Bound Classifier</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseBoundClassifier(BoundClassifier object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Return Parameter</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ *
+ * @param object
+ * the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Return Parameter</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseReturnParameter(ReturnParameter object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Non Return Parameter</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ *
+ * @param object
+ * the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Non Return Parameter</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseNonReturnParameter(NonReturnParameter object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Any Type</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ *
+ * @param object
+ * the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Any Type</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseAnyType(AnyType object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>EObject</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch, but this is the last case anyway.
+ * <!-- end-user-doc -->
+ *
+ * @param object
+ * the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>EObject</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject)
+ * @generated
+ */
+ @Override
+ public T defaultCase(EObject object) {
+ return null;
+ }
+
+} // AlfSwitch
diff --git a/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/util/AlfValidator.java b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/util/AlfValidator.java
new file mode 100644
index 00000000000..dfb78cbc15c
--- /dev/null
+++ b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/util/AlfValidator.java
@@ -0,0 +1,14397 @@
+/**
+ */
+package org.eclipse.papyrus.uml.alf.util;
+
+import java.util.Map;
+
+import org.eclipse.emf.common.util.DiagnosticChain;
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EOperation;
+import org.eclipse.emf.ecore.EPackage;
+
+import org.eclipse.emf.ecore.util.EObjectValidator;
+
+import org.eclipse.papyrus.uml.alf.*;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Validator</b> for the model.
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.uml.alf.AlfPackage
+ * @generated
+ */
+public class AlfValidator extends EObjectValidator {
+ /**
+ * The cached model package
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final AlfValidator INSTANCE = new AlfValidator();
+
+ /**
+ * A constant for the {@link org.eclipse.emf.common.util.Diagnostic#getSource() source} of diagnostic {@link org.eclipse.emf.common.util.Diagnostic#getCode() codes} from this package.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.emf.common.util.Diagnostic#getSource()
+ * @see org.eclipse.emf.common.util.Diagnostic#getCode()
+ * @generated
+ */
+ public static final String DIAGNOSTIC_SOURCE = "org.eclipse.papyrus.uml.alf";
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Sequence Expansion Expression Variable Source Derivation' of 'Sequence Expansion Expression'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int SEQUENCE_EXPANSION_EXPRESSION__SEQUENCE_EXPANSION_EXPRESSION_VARIABLE_SOURCE_DERIVATION = 1;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Sequence Expansion Expression Assignments Before Primary' of 'Sequence Expansion Expression'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int SEQUENCE_EXPANSION_EXPRESSION__SEQUENCE_EXPANSION_EXPRESSION_ASSIGNMENTS_BEFORE_PRIMARY = 2;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Sequence Expansion Expression Assignments Before Argument' of 'Sequence Expansion Expression'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int SEQUENCE_EXPANSION_EXPRESSION__SEQUENCE_EXPANSION_EXPRESSION_ASSIGNMENTS_BEFORE_ARGUMENT = 3;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Sequence Expansion Expression Variable Name' of 'Sequence Expansion Expression'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int SEQUENCE_EXPANSION_EXPRESSION__SEQUENCE_EXPANSION_EXPRESSION_VARIABLE_NAME = 4;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Sequence Expansion Expression Assignments After Argument' of 'Sequence Expansion Expression'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int SEQUENCE_EXPANSION_EXPRESSION__SEQUENCE_EXPANSION_EXPRESSION_ASSIGNMENTS_AFTER_ARGUMENT = 5;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Select Or Reject Expression Type Derivation' of 'Sequence Expansion Expression'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int SEQUENCE_EXPANSION_EXPRESSION__SELECT_OR_REJECT_EXPRESSION_TYPE_DERIVATION = 6;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Select Or Reject Expression Lower Derivation' of 'Sequence Expansion Expression'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int SEQUENCE_EXPANSION_EXPRESSION__SELECT_OR_REJECT_EXPRESSION_LOWER_DERIVATION = 7;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Select Or Reject Expression Upper Derivation' of 'Sequence Expansion Expression'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int SEQUENCE_EXPANSION_EXPRESSION__SELECT_OR_REJECT_EXPRESSION_UPPER_DERIVATION = 8;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Select Or Reject Expression Argument' of 'Sequence Expansion Expression'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int SEQUENCE_EXPANSION_EXPRESSION__SELECT_OR_REJECT_EXPRESSION_ARGUMENT = 9;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Collect Or Iterate Expression Type Derivation' of 'Sequence Expansion Expression'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int SEQUENCE_EXPANSION_EXPRESSION__COLLECT_OR_ITERATE_EXPRESSION_TYPE_DERIVATION = 10;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Collect Or Iterate Expression Lower Derivation' of 'Sequence Expansion Expression'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int SEQUENCE_EXPANSION_EXPRESSION__COLLECT_OR_ITERATE_EXPRESSION_LOWER_DERIVATION = 11;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Collect Or Iterate Expression Upper Derivation' of 'Sequence Expansion Expression'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int SEQUENCE_EXPANSION_EXPRESSION__COLLECT_OR_ITERATE_EXPRESSION_UPPER_DERIVATION = 12;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'For All Or Exists Or One Expression Type Derivation' of 'Sequence Expansion Expression'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int SEQUENCE_EXPANSION_EXPRESSION__FOR_ALL_OR_EXISTS_OR_ONE_EXPRESSION_TYPE_DERIVATION = 13;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'For All Or Exists Or One Expression Lower Derivation' of 'Sequence Expansion Expression'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int SEQUENCE_EXPANSION_EXPRESSION__FOR_ALL_OR_EXISTS_OR_ONE_EXPRESSION_LOWER_DERIVATION = 14;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'For All Or Exists Or One Expression Upper Derivation' of 'Sequence Expansion Expression'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int SEQUENCE_EXPANSION_EXPRESSION__FOR_ALL_OR_EXISTS_OR_ONE_EXPRESSION_UPPER_DERIVATION = 15;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'For All Or Exists Or One Expression Argument' of 'Sequence Expansion Expression'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int SEQUENCE_EXPANSION_EXPRESSION__FOR_ALL_OR_EXISTS_OR_ONE_EXPRESSION_ARGUMENT = 16;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Is Unique Expression Type Derivation' of 'Sequence Expansion Expression'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int SEQUENCE_EXPANSION_EXPRESSION__IS_UNIQUE_EXPRESSION_TYPE_DERIVATION = 17;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Is Unique Expression Lower Derivation' of 'Sequence Expansion Expression'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int SEQUENCE_EXPANSION_EXPRESSION__IS_UNIQUE_EXPRESSION_LOWER_DERIVATION = 18;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Is Unique Expression Upper Derivation' of 'Sequence Expansion Expression'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int SEQUENCE_EXPANSION_EXPRESSION__IS_UNIQUE_EXPRESSION_UPPER_DERIVATION = 19;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Is Unique Expression Expression Argument' of 'Sequence Expansion Expression'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int SEQUENCE_EXPANSION_EXPRESSION__IS_UNIQUE_EXPRESSION_EXPRESSION_ARGUMENT = 20;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Sequence Expansion Expression Operation' of 'Sequence Expansion Expression'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int SEQUENCE_EXPANSION_EXPRESSION__SEQUENCE_EXPANSION_EXPRESSION_OPERATION = 21;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Expression Assignment After Derivation' of 'Expression'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int EXPRESSION__EXPRESSION_ASSIGNMENT_AFTER_DERIVATION = 22;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Expression Unique Assignments' of 'Expression'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int EXPRESSION__EXPRESSION_UNIQUE_ASSIGNMENTS = 23;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Extent Or Expression Expression Derivation' of 'Extent Or Expression'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int EXTENT_OR_EXPRESSION__EXTENT_OR_EXPRESSION_EXPRESSION_DERIVATION = 24;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Extent Or Expression Extent Type' of 'Extent Or Expression'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int EXTENT_OR_EXPRESSION__EXTENT_OR_EXPRESSION_EXTENT_TYPE = 25;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Extent Or Expression Resolution' of 'Extent Or Expression'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int EXTENT_OR_EXPRESSION__EXTENT_OR_EXPRESSION_RESOLUTION = 26;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Qualified Name Unqualified Name Derivation' of 'Qualified Name'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int QUALIFIED_NAME__QUALIFIED_NAME_UNQUALIFIED_NAME_DERIVATION = 27;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Qualified Name Path Name Derivation' of 'Qualified Name'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int QUALIFIED_NAME__QUALIFIED_NAME_PATH_NAME_DERIVATION = 28;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Qualified Name Is Feature Reference Derivation' of 'Qualified Name'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int QUALIFIED_NAME__QUALIFIED_NAME_IS_FEATURE_REFERENCE_DERIVATION = 29;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Qualified Name Qualification Derivation' of 'Qualified Name'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int QUALIFIED_NAME__QUALIFIED_NAME_QUALIFICATION_DERIVATION = 30;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Qualified Name Disambiguation Derivation' of 'Qualified Name'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int QUALIFIED_NAME__QUALIFIED_NAME_DISAMBIGUATION_DERIVATION = 31;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Qualified Name Referent Derivation' of 'Qualified Name'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int QUALIFIED_NAME__QUALIFIED_NAME_REFERENT_DERIVATION = 32;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Qualified Name Local Name' of 'Qualified Name'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int QUALIFIED_NAME__QUALIFIED_NAME_LOCAL_NAME = 33;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Qualified Name Non Local Unqualified Name' of 'Qualified Name'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int QUALIFIED_NAME__QUALIFIED_NAME_NON_LOCAL_UNQUALIFIED_NAME = 34;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Qualified Name Qualified Resolution' of 'Qualified Name'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int QUALIFIED_NAME__QUALIFIED_NAME_QUALIFIED_RESOLUTION = 35;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Qualified Name Template Binding' of 'Qualified Name'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int QUALIFIED_NAME__QUALIFIED_NAME_TEMPLATE_BINDING = 36;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Qualified Name Template Name Derivation' of 'Qualified Name'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int QUALIFIED_NAME__QUALIFIED_NAME_TEMPLATE_NAME_DERIVATION = 37;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Feature Reference Referent Derivation' of 'Feature Reference'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int FEATURE_REFERENCE__FEATURE_REFERENCE_REFERENT_DERIVATION = 38;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Feature Reference Target Type' of 'Feature Reference'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int FEATURE_REFERENCE__FEATURE_REFERENCE_TARGET_TYPE = 39;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Numeric Unary Expression Type Derivation' of 'Numeric Unary Expression'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int NUMERIC_UNARY_EXPRESSION__NUMERIC_UNARY_EXPRESSION_TYPE_DERIVATION = 40;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Numeric Unary Expression Lower Derivation' of 'Numeric Unary Expression'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int NUMERIC_UNARY_EXPRESSION__NUMERIC_UNARY_EXPRESSION_LOWER_DERIVATION = 41;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Numeric Unary Expression Upper Derivation' of 'Numeric Unary Expression'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int NUMERIC_UNARY_EXPRESSION__NUMERIC_UNARY_EXPRESSION_UPPER_DERIVATION = 42;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Numeric Unary Expression Operand' of 'Numeric Unary Expression'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int NUMERIC_UNARY_EXPRESSION__NUMERIC_UNARY_EXPRESSION_OPERAND = 43;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Unary Expression Assignments Before' of 'Unary Expression'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int UNARY_EXPRESSION__UNARY_EXPRESSION_ASSIGNMENTS_BEFORE = 44;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'For All Or Exists Or One Expression Type Derivation' of 'For All Or Exists Or One Expression'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int FOR_ALL_OR_EXISTS_OR_ONE_EXPRESSION__FOR_ALL_OR_EXISTS_OR_ONE_EXPRESSION_TYPE_DERIVATION = 45;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'For All Or Exists Or One Expression Lower Derivation' of 'For All Or Exists Or One Expression'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int FOR_ALL_OR_EXISTS_OR_ONE_EXPRESSION__FOR_ALL_OR_EXISTS_OR_ONE_EXPRESSION_LOWER_DERIVATION = 46;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'For All Or Exists Or One Expression Upper Derivation' of 'For All Or Exists Or One Expression'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int FOR_ALL_OR_EXISTS_OR_ONE_EXPRESSION__FOR_ALL_OR_EXISTS_OR_ONE_EXPRESSION_UPPER_DERIVATION = 47;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'For All Or Exists Or One Expression Argument' of 'For All Or Exists Or One Expression'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int FOR_ALL_OR_EXISTS_OR_ONE_EXPRESSION__FOR_ALL_OR_EXISTS_OR_ONE_EXPRESSION_ARGUMENT = 48;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Isolation Expression Type Derivation' of 'Isolation Expression'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int ISOLATION_EXPRESSION__ISOLATION_EXPRESSION_TYPE_DERIVATION = 49;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Isolation Expression Lower Derivation' of 'Isolation Expression'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int ISOLATION_EXPRESSION__ISOLATION_EXPRESSION_LOWER_DERIVATION = 50;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Isolation Expression Upper Derivation' of 'Isolation Expression'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int ISOLATION_EXPRESSION__ISOLATION_EXPRESSION_UPPER_DERIVATION = 51;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Binary Expression Operand Multiplicity' of 'Binary Expression'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int BINARY_EXPRESSION__BINARY_EXPRESSION_OPERAND_MULTIPLICITY = 52;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Binary Expression Operand Assignments' of 'Binary Expression'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int BINARY_EXPRESSION__BINARY_EXPRESSION_OPERAND_ASSIGNMENTS = 53;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Boolean Unary Expression Type Derivation' of 'Boolean Unary Expression'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int BOOLEAN_UNARY_EXPRESSION__BOOLEAN_UNARY_EXPRESSION_TYPE_DERIVATION = 54;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Boolean Unary Expression Lower Derivation' of 'Boolean Unary Expression'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int BOOLEAN_UNARY_EXPRESSION__BOOLEAN_UNARY_EXPRESSION_LOWER_DERIVATION = 55;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Boolean Unary Expression Upper Derivation' of 'Boolean Unary Expression'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int BOOLEAN_UNARY_EXPRESSION__BOOLEAN_UNARY_EXPRESSION_UPPER_DERIVATION = 56;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Boolean Unary Expression Operand' of 'Boolean Unary Expression'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int BOOLEAN_UNARY_EXPRESSION__BOOLEAN_UNARY_EXPRESSION_OPERAND = 57;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Cast Expression Type Derivation' of 'Cast Expression'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int CAST_EXPRESSION__CAST_EXPRESSION_TYPE_DERIVATION = 58;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Cast Expression Lower Derivation' of 'Cast Expression'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int CAST_EXPRESSION__CAST_EXPRESSION_LOWER_DERIVATION = 59;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Cast Expression Upper Derivation' of 'Cast Expression'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int CAST_EXPRESSION__CAST_EXPRESSION_UPPER_DERIVATION = 60;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Cast Expression Type Resolution' of 'Cast Expression'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int CAST_EXPRESSION__CAST_EXPRESSION_TYPE_RESOLUTION = 61;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Cast Expression Assignments Before' of 'Cast Expression'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int CAST_EXPRESSION__CAST_EXPRESSION_ASSIGNMENTS_BEFORE = 62;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Positional Tuple Arguments' of 'Positional Tuple'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int POSITIONAL_TUPLE__POSITIONAL_TUPLE_ARGUMENTS = 63;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Tuple Input Derivation' of 'Tuple'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int TUPLE__TUPLE_INPUT_DERIVATION = 64;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Tuple Output Derivation' of 'Tuple'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int TUPLE__TUPLE_OUTPUT_DERIVATION = 65;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Tuple Null Inputs' of 'Tuple'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int TUPLE__TUPLE_NULL_INPUTS = 66;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Tuple Outputs' of 'Tuple'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int TUPLE__TUPLE_OUTPUTS = 67;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Tuple Assignments Before' of 'Tuple'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int TUPLE__TUPLE_ASSIGNMENTS_BEFORE = 68;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Tuple Assignments After' of 'Tuple'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int TUPLE__TUPLE_ASSIGNMENTS_AFTER = 69;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Named Expression Is Collection Conversion Derivation' of 'Input Named Expression'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int INPUT_NAMED_EXPRESSION__NAMED_EXPRESSION_IS_COLLECTION_CONVERSION_DERIVATION = 70;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Named Expression Is Bit String Conversion Derivation' of 'Input Named Expression'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int INPUT_NAMED_EXPRESSION__NAMED_EXPRESSION_IS_BIT_STRING_CONVERSION_DERIVATION = 71;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Invocation Expression Is Behavior Derivation' of 'Invocation Expression'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int INVOCATION_EXPRESSION__INVOCATION_EXPRESSION_IS_BEHAVIOR_DERIVATION = 72;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Invocation Expression Is Association End Derivation' of 'Invocation Expression'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int INVOCATION_EXPRESSION__INVOCATION_EXPRESSION_IS_ASSOCIATION_END_DERIVATION = 73;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Invocation Expression Is Operation Derivation' of 'Invocation Expression'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int INVOCATION_EXPRESSION__INVOCATION_EXPRESSION_IS_OPERATION_DERIVATION = 74;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Invocation Expression Is Destructor Derivation' of 'Invocation Expression'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int INVOCATION_EXPRESSION__INVOCATION_EXPRESSION_IS_DESTRUCTOR_DERIVATION = 75;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Invocation Expression Is Implicit Derivation' of 'Invocation Expression'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int INVOCATION_EXPRESSION__INVOCATION_EXPRESSION_IS_IMPLICIT_DERIVATION = 76;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Invocation Expression Is Signal Derivation' of 'Invocation Expression'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int INVOCATION_EXPRESSION__INVOCATION_EXPRESSION_IS_SIGNAL_DERIVATION = 77;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Invocation Expression Parameter Derivation' of 'Invocation Expression'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int INVOCATION_EXPRESSION__INVOCATION_EXPRESSION_PARAMETER_DERIVATION = 78;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Invocation Expression Type Derivation' of 'Invocation Expression'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int INVOCATION_EXPRESSION__INVOCATION_EXPRESSION_TYPE_DERIVATION = 79;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Invocation Expression Upper Derivation' of 'Invocation Expression'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int INVOCATION_EXPRESSION__INVOCATION_EXPRESSION_UPPER_DERIVATION = 80;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Invocation Expression Lower Derivation' of 'Invocation Expression'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int INVOCATION_EXPRESSION__INVOCATION_EXPRESSION_LOWER_DERIVATION = 81;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Invocation Expression Assignments Before' of 'Invocation Expression'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int INVOCATION_EXPRESSION__INVOCATION_EXPRESSION_ASSIGNMENTS_BEFORE = 82;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Invocation Expression Template Parameters' of 'Invocation Expression'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int INVOCATION_EXPRESSION__INVOCATION_EXPRESSION_TEMPLATE_PARAMETERS = 83;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Output Named Expression Left Hand Side Derivation' of 'Output Named Expression'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int OUTPUT_NAMED_EXPRESSION__OUTPUT_NAMED_EXPRESSION_LEFT_HAND_SIDE_DERIVATION = 84;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Output Named Expression Form' of 'Output Named Expression'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int OUTPUT_NAMED_EXPRESSION__OUTPUT_NAMED_EXPRESSION_FORM = 85;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Left Hand Side Index Expression' of 'Left Hand Side'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int LEFT_HAND_SIDE__LEFT_HAND_SIDE_INDEX_EXPRESSION = 86;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Sequence Access Expression Type Derivation' of 'Sequence Access Expression'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int SEQUENCE_ACCESS_EXPRESSION__SEQUENCE_ACCESS_EXPRESSION_TYPE_DERIVATION = 87;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Sequence Access Expression Lower Derivation' of 'Sequence Access Expression'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int SEQUENCE_ACCESS_EXPRESSION__SEQUENCE_ACCESS_EXPRESSION_LOWER_DERIVATION = 88;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Sequence Access Expression Upper Derivation' of 'Sequence Access Expression'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int SEQUENCE_ACCESS_EXPRESSION__SEQUENCE_ACCESS_EXPRESSION_UPPER_DERIVATION = 89;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Sequence Access Expression Index Type' of 'Sequence Access Expression'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int SEQUENCE_ACCESS_EXPRESSION__SEQUENCE_ACCESS_EXPRESSION_INDEX_TYPE = 90;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Sequence Access Expression Index Multiplicity' of 'Sequence Access Expression'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int SEQUENCE_ACCESS_EXPRESSION__SEQUENCE_ACCESS_EXPRESSION_INDEX_MULTIPLICITY = 91;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'String Literal Expression Type Derivation' of 'String Literal Expression'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int STRING_LITERAL_EXPRESSION__STRING_LITERAL_EXPRESSION_TYPE_DERIVATION = 92;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Literal Expression Upper Derivation' of 'Literal Expression'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int LITERAL_EXPRESSION__LITERAL_EXPRESSION_UPPER_DERIVATION = 93;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Literal Expression Lower Derivation' of 'Literal Expression'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int LITERAL_EXPRESSION__LITERAL_EXPRESSION_LOWER_DERIVATION = 94;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Sequence Operation Expression Referent Derivation' of 'Sequence Operation Expression'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int SEQUENCE_OPERATION_EXPRESSION__SEQUENCE_OPERATION_EXPRESSION_REFERENT_DERIVATION = 95;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Sequence Operation Expression Feature Derivation' of 'Sequence Operation Expression'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int SEQUENCE_OPERATION_EXPRESSION__SEQUENCE_OPERATION_EXPRESSION_FEATURE_DERIVATION = 96;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Sequence Operation Expression Operation Referent' of 'Sequence Operation Expression'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int SEQUENCE_OPERATION_EXPRESSION__SEQUENCE_OPERATION_EXPRESSION_OPERATION_REFERENT = 97;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Sequence Operation Expression Target Compatibility' of 'Sequence Operation Expression'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int SEQUENCE_OPERATION_EXPRESSION__SEQUENCE_OPERATION_EXPRESSION_TARGET_COMPATIBILITY = 98;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Sequence Operation Expression Argument Compatibility' of 'Sequence Operation Expression'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int SEQUENCE_OPERATION_EXPRESSION__SEQUENCE_OPERATION_EXPRESSION_ARGUMENT_COMPATIBILITY = 99;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Sequence Operation Expression Assignments Before' of 'Sequence Operation Expression'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int SEQUENCE_OPERATION_EXPRESSION__SEQUENCE_OPERATION_EXPRESSION_ASSIGNMENTS_BEFORE = 100;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Sequence Operation Expression Is Collection Conversion Derivation' of 'Sequence Operation Expression'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int SEQUENCE_OPERATION_EXPRESSION__SEQUENCE_OPERATION_EXPRESSION_IS_COLLECTION_CONVERSION_DERIVATION = 101;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Sequence Operation Expression Is Bit String Conversion Derivation' of 'Sequence Operation Expression'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int SEQUENCE_OPERATION_EXPRESSION__SEQUENCE_OPERATION_EXPRESSION_IS_BIT_STRING_CONVERSION_DERIVATION = 102;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Sequence Operation Expression Assignments After' of 'Sequence Operation Expression'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int SEQUENCE_OPERATION_EXPRESSION__SEQUENCE_OPERATION_EXPRESSION_ASSIGNMENTS_AFTER = 103;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Sequence Operation Expression Left Hand Side Derivation' of 'Sequence Operation Expression'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int SEQUENCE_OPERATION_EXPRESSION__SEQUENCE_OPERATION_EXPRESSION_LEFT_HAND_SIDE_DERIVATION = 104;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Select Or Reject Expression Type Derivation' of 'Select Or Reject Expression'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int SELECT_OR_REJECT_EXPRESSION__SELECT_OR_REJECT_EXPRESSION_TYPE_DERIVATION = 105;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Select Or Reject Expression Lower Derivation' of 'Select Or Reject Expression'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int SELECT_OR_REJECT_EXPRESSION__SELECT_OR_REJECT_EXPRESSION_LOWER_DERIVATION = 106;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Select Or Reject Expression Upper Derivation' of 'Select Or Reject Expression'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int SELECT_OR_REJECT_EXPRESSION__SELECT_OR_REJECT_EXPRESSION_UPPER_DERIVATION = 107;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Select Or Reject Expression Argument' of 'Select Or Reject Expression'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int SELECT_OR_REJECT_EXPRESSION__SELECT_OR_REJECT_EXPRESSION_ARGUMENT = 108;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Class Extent Expression Type Derivation' of 'Class Extent Expression'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int CLASS_EXTENT_EXPRESSION__CLASS_EXTENT_EXPRESSION_TYPE_DERIVATION = 109;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Class Extent Expression Upper Derivation' of 'Class Extent Expression'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int CLASS_EXTENT_EXPRESSION__CLASS_EXTENT_EXPRESSION_UPPER_DERIVATION = 110;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Class Extent Expression Lower Derivation' of 'Class Extent Expression'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int CLASS_EXTENT_EXPRESSION__CLASS_EXTENT_EXPRESSION_LOWER_DERIVATION = 111;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Class Extent Expression Extent Type' of 'Class Extent Expression'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int CLASS_EXTENT_EXPRESSION__CLASS_EXTENT_EXPRESSION_EXTENT_TYPE = 112;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Conditional Logical Expression Type Derivation' of 'Conditional Logical Expression'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int CONDITIONAL_LOGICAL_EXPRESSION__CONDITIONAL_LOGICAL_EXPRESSION_TYPE_DERIVATION = 113;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Conditional Logical Expression Lower' of 'Conditional Logical Expression'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int CONDITIONAL_LOGICAL_EXPRESSION__CONDITIONAL_LOGICAL_EXPRESSION_LOWER = 114;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Conditional Logical Expression Upper' of 'Conditional Logical Expression'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int CONDITIONAL_LOGICAL_EXPRESSION__CONDITIONAL_LOGICAL_EXPRESSION_UPPER = 115;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Conditional Logical Expression Operands' of 'Conditional Logical Expression'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int CONDITIONAL_LOGICAL_EXPRESSION__CONDITIONAL_LOGICAL_EXPRESSION_OPERANDS = 116;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Link Operation Expression Is Creation Derivation' of 'Link Operation Expression'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int LINK_OPERATION_EXPRESSION__LINK_OPERATION_EXPRESSION_IS_CREATION_DERIVATION = 117;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Link Operation Expression Is Clear Derivation' of 'Link Operation Expression'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int LINK_OPERATION_EXPRESSION__LINK_OPERATION_EXPRESSION_IS_CLEAR_DERIVATION = 118;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Link Operation Expression Referent Derivation' of 'Link Operation Expression'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int LINK_OPERATION_EXPRESSION__LINK_OPERATION_EXPRESSION_REFERENT_DERIVATION = 119;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Link Operation Expression Feature Derivation' of 'Link Operation Expression'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int LINK_OPERATION_EXPRESSION__LINK_OPERATION_EXPRESSION_FEATURE_DERIVATION = 120;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Link Operation Expression Association Reference' of 'Link Operation Expression'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int LINK_OPERATION_EXPRESSION__LINK_OPERATION_EXPRESSION_ASSOCIATION_REFERENCE = 121;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Link Operation Expression Argument Compatibility' of 'Link Operation Expression'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int LINK_OPERATION_EXPRESSION__LINK_OPERATION_EXPRESSION_ARGUMENT_COMPATIBILITY = 122;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Equality Expression Is Negated Derivation' of 'Equality Expression'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int EQUALITY_EXPRESSION__EQUALITY_EXPRESSION_IS_NEGATED_DERIVATION = 123;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Equality Expression Type Derivation' of 'Equality Expression'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int EQUALITY_EXPRESSION__EQUALITY_EXPRESSION_TYPE_DERIVATION = 124;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Equality Expression Lower Derivation' of 'Equality Expression'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int EQUALITY_EXPRESSION__EQUALITY_EXPRESSION_LOWER_DERIVATION = 125;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Equality Expression Upper Derivation' of 'Equality Expression'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int EQUALITY_EXPRESSION__EQUALITY_EXPRESSION_UPPER_DERIVATION = 126;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Assignment Expression Is Simple Derivation' of 'Assignment Expression'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int ASSIGNMENT_EXPRESSION__ASSIGNMENT_EXPRESSION_IS_SIMPLE_DERIVATION = 127;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Assignment Expression Is Arithmetic Derivation' of 'Assignment Expression'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int ASSIGNMENT_EXPRESSION__ASSIGNMENT_EXPRESSION_IS_ARITHMETIC_DERIVATION = 128;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Assignment Expression Is Definition Derivation' of 'Assignment Expression'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int ASSIGNMENT_EXPRESSION__ASSIGNMENT_EXPRESSION_IS_DEFINITION_DERIVATION = 129;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Assignment Expression Is Feature Derivation' of 'Assignment Expression'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int ASSIGNMENT_EXPRESSION__ASSIGNMENT_EXPRESSION_IS_FEATURE_DERIVATION = 130;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Assignment Expression Is Indexed Derivation' of 'Assignment Expression'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int ASSIGNMENT_EXPRESSION__ASSIGNMENT_EXPRESSION_IS_INDEXED_DERIVATION = 131;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Assignment Expression Is Data Value Update Derivation' of 'Assignment Expression'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int ASSIGNMENT_EXPRESSION__ASSIGNMENT_EXPRESSION_IS_DATA_VALUE_UPDATE_DERIVATION = 132;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Assignment Expression Assignment Derivation' of 'Assignment Expression'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int ASSIGNMENT_EXPRESSION__ASSIGNMENT_EXPRESSION_ASSIGNMENT_DERIVATION = 133;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Assignment Expression Feature Derivation' of 'Assignment Expression'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int ASSIGNMENT_EXPRESSION__ASSIGNMENT_EXPRESSION_FEATURE_DERIVATION = 134;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Assignment Expression Expression Derivation' of 'Assignment Expression'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int ASSIGNMENT_EXPRESSION__ASSIGNMENT_EXPRESSION_EXPRESSION_DERIVATION = 135;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Assignment Expression Type Derivation' of 'Assignment Expression'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int ASSIGNMENT_EXPRESSION__ASSIGNMENT_EXPRESSION_TYPE_DERIVATION = 136;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Assignment Expression Upper Derivation' of 'Assignment Expression'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int ASSIGNMENT_EXPRESSION__ASSIGNMENT_EXPRESSION_UPPER_DERIVATION = 137;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Assignment Expression Lower Derivation' of 'Assignment Expression'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int ASSIGNMENT_EXPRESSION__ASSIGNMENT_EXPRESSION_LOWER_DERIVATION = 138;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Assignment Expression Simple Assignment Type Conformance' of 'Assignment Expression'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int ASSIGNMENT_EXPRESSION__ASSIGNMENT_EXPRESSION_SIMPLE_ASSIGNMENT_TYPE_CONFORMANCE = 139;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Assignment Expression Simple Assignment Multiplicity Conformance' of 'Assignment Expression'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int ASSIGNMENT_EXPRESSION__ASSIGNMENT_EXPRESSION_SIMPLE_ASSIGNMENT_MULTIPLICITY_CONFORMANCE = 140;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Assignment Expression Compound Assignment Type Conformance' of 'Assignment Expression'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int ASSIGNMENT_EXPRESSION__ASSIGNMENT_EXPRESSION_COMPOUND_ASSIGNMENT_TYPE_CONFORMANCE = 141;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Assignment Expression Compound Assignment Multiplicity Conformance' of 'Assignment Expression'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int ASSIGNMENT_EXPRESSION__ASSIGNMENT_EXPRESSION_COMPOUND_ASSIGNMENT_MULTIPLICITY_CONFORMANCE = 142;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Assignment Expression Assignments Before' of 'Assignment Expression'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int ASSIGNMENT_EXPRESSION__ASSIGNMENT_EXPRESSION_ASSIGNMENTS_BEFORE = 143;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Assignment Expression Is Collection Conversion Derivation' of 'Assignment Expression'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int ASSIGNMENT_EXPRESSION__ASSIGNMENT_EXPRESSION_IS_COLLECTION_CONVERSION_DERIVATION = 144;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Assignment Expression Is Bit String Conversion Derivation' of 'Assignment Expression'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int ASSIGNMENT_EXPRESSION__ASSIGNMENT_EXPRESSION_IS_BIT_STRING_CONVERSION_DERIVATION = 145;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Assignment Expression Data Value Update Legality' of 'Assignment Expression'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int ASSIGNMENT_EXPRESSION__ASSIGNMENT_EXPRESSION_DATA_VALUE_UPDATE_LEGALITY = 146;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Logical Expression Type Derivation' of 'Logical Expression'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int LOGICAL_EXPRESSION__LOGICAL_EXPRESSION_TYPE_DERIVATION = 147;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Logical Expression Lower Derivation' of 'Logical Expression'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int LOGICAL_EXPRESSION__LOGICAL_EXPRESSION_LOWER_DERIVATION = 148;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Logical Expression Upper Derivation' of 'Logical Expression'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int LOGICAL_EXPRESSION__LOGICAL_EXPRESSION_UPPER_DERIVATION = 149;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Logical Expression Operands' of 'Logical Expression'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int LOGICAL_EXPRESSION__LOGICAL_EXPRESSION_OPERANDS = 150;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Logical Expression Is Bit String Conversion1 Derivation' of 'Logical Expression'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int LOGICAL_EXPRESSION__LOGICAL_EXPRESSION_IS_BIT_STRING_CONVERSION1_DERIVATION = 151;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Logical Expression Is Bit String Conversion2 Derivation' of 'Logical Expression'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int LOGICAL_EXPRESSION__LOGICAL_EXPRESSION_IS_BIT_STRING_CONVERSION2_DERIVATION = 152;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Logical Expression Is Bit Wise Derivation' of 'Logical Expression'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int LOGICAL_EXPRESSION__LOGICAL_EXPRESSION_IS_BIT_WISE_DERIVATION = 153;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Sequence Construction Expression Type Derivation' of 'Sequence Construction Expression'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int SEQUENCE_CONSTRUCTION_EXPRESSION__SEQUENCE_CONSTRUCTION_EXPRESSION_TYPE_DERIVATION = 154;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Sequence Construction Expression Upper Derivation' of 'Sequence Construction Expression'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int SEQUENCE_CONSTRUCTION_EXPRESSION__SEQUENCE_CONSTRUCTION_EXPRESSION_UPPER_DERIVATION = 155;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Sequence Construction Expression Lower Derivation' of 'Sequence Construction Expression'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int SEQUENCE_CONSTRUCTION_EXPRESSION__SEQUENCE_CONSTRUCTION_EXPRESSION_LOWER_DERIVATION = 156;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Sequence Construction Expression Type' of 'Sequence Construction Expression'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int SEQUENCE_CONSTRUCTION_EXPRESSION__SEQUENCE_CONSTRUCTION_EXPRESSION_TYPE = 157;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Sequence Construction Expression Element Type' of 'Sequence Construction Expression'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int SEQUENCE_CONSTRUCTION_EXPRESSION__SEQUENCE_CONSTRUCTION_EXPRESSION_ELEMENT_TYPE = 158;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Sequence Construction Expression Assignments Before' of 'Sequence Construction Expression'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int SEQUENCE_CONSTRUCTION_EXPRESSION__SEQUENCE_CONSTRUCTION_EXPRESSION_ASSIGNMENTS_BEFORE = 159;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Collect Or Iterate Expression Type Derivation' of 'Collect Or Iterate Expression'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int COLLECT_OR_ITERATE_EXPRESSION__COLLECT_OR_ITERATE_EXPRESSION_TYPE_DERIVATION = 160;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Collect Or Iterate Expression Lower Derivation' of 'Collect Or Iterate Expression'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int COLLECT_OR_ITERATE_EXPRESSION__COLLECT_OR_ITERATE_EXPRESSION_LOWER_DERIVATION = 161;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Collect Or Iterate Expression Upper Derivation' of 'Collect Or Iterate Expression'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int COLLECT_OR_ITERATE_EXPRESSION__COLLECT_OR_ITERATE_EXPRESSION_UPPER_DERIVATION = 162;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Is Unique Expression Type Derivation' of 'Is Unique Expression'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int IS_UNIQUE_EXPRESSION__IS_UNIQUE_EXPRESSION_TYPE_DERIVATION = 163;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Is Unique Expression Lower Derivation' of 'Is Unique Expression'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int IS_UNIQUE_EXPRESSION__IS_UNIQUE_EXPRESSION_LOWER_DERIVATION = 164;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Is Unique Expression Upper Derivation' of 'Is Unique Expression'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int IS_UNIQUE_EXPRESSION__IS_UNIQUE_EXPRESSION_UPPER_DERIVATION = 165;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Is Unique Expression Expression Argument' of 'Is Unique Expression'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int IS_UNIQUE_EXPRESSION__IS_UNIQUE_EXPRESSION_EXPRESSION_ARGUMENT = 166;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Arithmetic Expression Is Concatenation Derivation' of 'Arithmetic Expression'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int ARITHMETIC_EXPRESSION__ARITHMETIC_EXPRESSION_IS_CONCATENATION_DERIVATION = 167;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Arithmetic Expression Type Derivation' of 'Arithmetic Expression'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int ARITHMETIC_EXPRESSION__ARITHMETIC_EXPRESSION_TYPE_DERIVATION = 168;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Arithmetic Expression Lower Derivation' of 'Arithmetic Expression'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int ARITHMETIC_EXPRESSION__ARITHMETIC_EXPRESSION_LOWER_DERIVATION = 169;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Arithmetic Expression Upper Derivation' of 'Arithmetic Expression'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int ARITHMETIC_EXPRESSION__ARITHMETIC_EXPRESSION_UPPER_DERIVATION = 170;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Arithmetic Expression Operand Types' of 'Arithmetic Expression'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int ARITHMETIC_EXPRESSION__ARITHMETIC_EXPRESSION_OPERAND_TYPES = 171;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Feature Left Hand Side Assignment Before Derivation' of 'Feature Left Hand Side'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int FEATURE_LEFT_HAND_SIDE__FEATURE_LEFT_HAND_SIDE_ASSIGNMENT_BEFORE_DERIVATION = 172;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Feature Left Hand Side Assignment After Derivation' of 'Feature Left Hand Side'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int FEATURE_LEFT_HAND_SIDE__FEATURE_LEFT_HAND_SIDE_ASSIGNMENT_AFTER_DERIVATION = 173;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Feature Left Hand Side Feature Expression' of 'Feature Left Hand Side'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int FEATURE_LEFT_HAND_SIDE__FEATURE_LEFT_HAND_SIDE_FEATURE_EXPRESSION = 174;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Feature Left Hand Side Assignments Before' of 'Feature Left Hand Side'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int FEATURE_LEFT_HAND_SIDE__FEATURE_LEFT_HAND_SIDE_ASSIGNMENTS_BEFORE = 175;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Feature Left Hand Side Referent Derivation' of 'Feature Left Hand Side'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int FEATURE_LEFT_HAND_SIDE__FEATURE_LEFT_HAND_SIDE_REFERENT_DERIVATION = 176;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Feature Left Hand Side Type Derivation' of 'Feature Left Hand Side'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int FEATURE_LEFT_HAND_SIDE__FEATURE_LEFT_HAND_SIDE_TYPE_DERIVATION = 177;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Feature Left Hand Side Lower Derivation' of 'Feature Left Hand Side'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int FEATURE_LEFT_HAND_SIDE__FEATURE_LEFT_HAND_SIDE_LOWER_DERIVATION = 178;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Feature Left Hand Side Upper Derivation' of 'Feature Left Hand Side'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int FEATURE_LEFT_HAND_SIDE__FEATURE_LEFT_HAND_SIDE_UPPER_DERIVATION = 179;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Feature Left Hand Side Referent Constraint' of 'Feature Left Hand Side'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int FEATURE_LEFT_HAND_SIDE__FEATURE_LEFT_HAND_SIDE_REFERENT_CONSTRAINT = 180;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Feature Left Hand Side Indexed Feature' of 'Feature Left Hand Side'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int FEATURE_LEFT_HAND_SIDE__FEATURE_LEFT_HAND_SIDE_INDEXED_FEATURE = 181;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Conditional Test Expression Type Derivation' of 'Conditional Test Expression'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int CONDITIONAL_TEST_EXPRESSION__CONDITIONAL_TEST_EXPRESSION_TYPE_DERIVATION = 182;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Conditional Test Expression Lower Derivation' of 'Conditional Test Expression'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int CONDITIONAL_TEST_EXPRESSION__CONDITIONAL_TEST_EXPRESSION_LOWER_DERIVATION = 183;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Conditional Test Expression Upper Derivation' of 'Conditional Test Expression'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int CONDITIONAL_TEST_EXPRESSION__CONDITIONAL_TEST_EXPRESSION_UPPER_DERIVATION = 184;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Conditional Test Expression Condition' of 'Conditional Test Expression'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int CONDITIONAL_TEST_EXPRESSION__CONDITIONAL_TEST_EXPRESSION_CONDITION = 185;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Conditional Test Expression Assignments Before' of 'Conditional Test Expression'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int CONDITIONAL_TEST_EXPRESSION__CONDITIONAL_TEST_EXPRESSION_ASSIGNMENTS_BEFORE = 186;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Conditional Test Expression Assignments After' of 'Conditional Test Expression'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int CONDITIONAL_TEST_EXPRESSION__CONDITIONAL_TEST_EXPRESSION_ASSIGNMENTS_AFTER = 187;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Instance Creation Expression Is Object Creation Derivation' of 'Instance Creation Expression'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int INSTANCE_CREATION_EXPRESSION__INSTANCE_CREATION_EXPRESSION_IS_OBJECT_CREATION_DERIVATION = 188;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Instance Creation Expression Is Constructorless Derivation' of 'Instance Creation Expression'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int INSTANCE_CREATION_EXPRESSION__INSTANCE_CREATION_EXPRESSION_IS_CONSTRUCTORLESS_DERIVATION = 189;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Instance Creation Expression Referent Derivation' of 'Instance Creation Expression'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int INSTANCE_CREATION_EXPRESSION__INSTANCE_CREATION_EXPRESSION_REFERENT_DERIVATION = 190;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Instance Creation Expression Feature Derivation' of 'Instance Creation Expression'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int INSTANCE_CREATION_EXPRESSION__INSTANCE_CREATION_EXPRESSION_FEATURE_DERIVATION = 191;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Instance Creation Expression Constructor' of 'Instance Creation Expression'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int INSTANCE_CREATION_EXPRESSION__INSTANCE_CREATION_EXPRESSION_CONSTRUCTOR = 192;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Instance Creation Expression Constructorless Legality' of 'Instance Creation Expression'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int INSTANCE_CREATION_EXPRESSION__INSTANCE_CREATION_EXPRESSION_CONSTRUCTORLESS_LEGALITY = 193;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Instance Creation Expression Data Type Compatibility' of 'Instance Creation Expression'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int INSTANCE_CREATION_EXPRESSION__INSTANCE_CREATION_EXPRESSION_DATA_TYPE_COMPATIBILITY = 194;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Instance Creation Expression Referent' of 'Instance Creation Expression'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int INSTANCE_CREATION_EXPRESSION__INSTANCE_CREATION_EXPRESSION_REFERENT = 195;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Property Access Expression Feature Derivation' of 'Property Access Expression'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int PROPERTY_ACCESS_EXPRESSION__PROPERTY_ACCESS_EXPRESSION_FEATURE_DERIVATION = 196;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Property Access Expression Type Derivation' of 'Property Access Expression'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int PROPERTY_ACCESS_EXPRESSION__PROPERTY_ACCESS_EXPRESSION_TYPE_DERIVATION = 197;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Property Access Expression Upper Derivation' of 'Property Access Expression'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int PROPERTY_ACCESS_EXPRESSION__PROPERTY_ACCESS_EXPRESSION_UPPER_DERIVATION = 198;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Property Access Expression Lower Derivation' of 'Property Access Expression'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int PROPERTY_ACCESS_EXPRESSION__PROPERTY_ACCESS_EXPRESSION_LOWER_DERIVATION = 199;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Property Access Expression Feature Resolution' of 'Property Access Expression'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int PROPERTY_ACCESS_EXPRESSION__PROPERTY_ACCESS_EXPRESSION_FEATURE_RESOLUTION = 200;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Property Access Expression Assignments Before' of 'Property Access Expression'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int PROPERTY_ACCESS_EXPRESSION__PROPERTY_ACCESS_EXPRESSION_ASSIGNMENTS_BEFORE = 201;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Name Expression Assignment Derivation' of 'Name Expression'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int NAME_EXPRESSION__NAME_EXPRESSION_ASSIGNMENT_DERIVATION = 202;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Name Expression Enumeration Literal Derivation' of 'Name Expression'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int NAME_EXPRESSION__NAME_EXPRESSION_ENUMERATION_LITERAL_DERIVATION = 203;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Name Expression Property Access Derivation' of 'Name Expression'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int NAME_EXPRESSION__NAME_EXPRESSION_PROPERTY_ACCESS_DERIVATION = 204;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Name Expression Type Derivation' of 'Name Expression'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int NAME_EXPRESSION__NAME_EXPRESSION_TYPE_DERIVATION = 205;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Name Expression Upper Derivation' of 'Name Expression'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int NAME_EXPRESSION__NAME_EXPRESSION_UPPER_DERIVATION = 206;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Name Expression Lower Derivation' of 'Name Expression'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int NAME_EXPRESSION__NAME_EXPRESSION_LOWER_DERIVATION = 207;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Name Expression Resolution' of 'Name Expression'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int NAME_EXPRESSION__NAME_EXPRESSION_RESOLUTION = 208;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Bit String Unary Expression Type Derivation' of 'Bit String Unary Expression'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int BIT_STRING_UNARY_EXPRESSION__BIT_STRING_UNARY_EXPRESSION_TYPE_DERIVATION = 209;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Bit String Unary Expression Lower Derivation' of 'Bit String Unary Expression'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int BIT_STRING_UNARY_EXPRESSION__BIT_STRING_UNARY_EXPRESSION_LOWER_DERIVATION = 210;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Bit String Unary Expression Upper Derivation' of 'Bit String Unary Expression'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int BIT_STRING_UNARY_EXPRESSION__BIT_STRING_UNARY_EXPRESSION_UPPER_DERIVATION = 211;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Bit String Unary Expression Operand' of 'Bit String Unary Expression'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int BIT_STRING_UNARY_EXPRESSION__BIT_STRING_UNARY_EXPRESSION_OPERAND = 212;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Bit String Unary Expression Is Bit String Conversion Derivation' of 'Bit String Unary Expression'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int BIT_STRING_UNARY_EXPRESSION__BIT_STRING_UNARY_EXPRESSION_IS_BIT_STRING_CONVERSION_DERIVATION = 213;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Feature Invocation Expression Referent Derivation' of 'Feature Invocation Expression'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int FEATURE_INVOCATION_EXPRESSION__FEATURE_INVOCATION_EXPRESSION_REFERENT_DERIVATION = 214;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Feature Invocation Expression Feature Derivation' of 'Feature Invocation Expression'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int FEATURE_INVOCATION_EXPRESSION__FEATURE_INVOCATION_EXPRESSION_FEATURE_DERIVATION = 215;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Feature Invocation Expression Referent Exists' of 'Feature Invocation Expression'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int FEATURE_INVOCATION_EXPRESSION__FEATURE_INVOCATION_EXPRESSION_REFERENT_EXISTS = 216;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Feature Invocation Expression Alternative Constructor' of 'Feature Invocation Expression'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int FEATURE_INVOCATION_EXPRESSION__FEATURE_INVOCATION_EXPRESSION_ALTERNATIVE_CONSTRUCTOR = 217;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Feature Invocation Expression Implicit Alternative Constructor' of 'Feature Invocation Expression'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int FEATURE_INVOCATION_EXPRESSION__FEATURE_INVOCATION_EXPRESSION_IMPLICIT_ALTERNATIVE_CONSTRUCTOR = 218;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Behavior Invocation Expression Referent Derivation' of 'Behavior Invocation Expression'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int BEHAVIOR_INVOCATION_EXPRESSION__BEHAVIOR_INVOCATION_EXPRESSION_REFERENT_DERIVATION = 219;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Behavior Invocation Expression Feature Derivation' of 'Behavior Invocation Expression'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int BEHAVIOR_INVOCATION_EXPRESSION__BEHAVIOR_INVOCATION_EXPRESSION_FEATURE_DERIVATION = 220;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Behavior Invocation Expression Referent Constraint' of 'Behavior Invocation Expression'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int BEHAVIOR_INVOCATION_EXPRESSION__BEHAVIOR_INVOCATION_EXPRESSION_REFERENT_CONSTRAINT = 221;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Behavior Invocation Expression Argument Compatibility' of 'Behavior Invocation Expression'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int BEHAVIOR_INVOCATION_EXPRESSION__BEHAVIOR_INVOCATION_EXPRESSION_ARGUMENT_COMPATIBILITY = 222;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Behavior Invocation Expression Alternative Constructor' of 'Behavior Invocation Expression'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int BEHAVIOR_INVOCATION_EXPRESSION__BEHAVIOR_INVOCATION_EXPRESSION_ALTERNATIVE_CONSTRUCTOR = 223;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Shift Expression Type Derivation' of 'Shift Expression'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int SHIFT_EXPRESSION__SHIFT_EXPRESSION_TYPE_DERIVATION = 224;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Shift Expression Lower Derivation' of 'Shift Expression'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int SHIFT_EXPRESSION__SHIFT_EXPRESSION_LOWER_DERIVATION = 225;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Shift Expression Upper Derivation' of 'Shift Expression'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int SHIFT_EXPRESSION__SHIFT_EXPRESSION_UPPER_DERIVATION = 226;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Shift Expression Operands' of 'Shift Expression'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int SHIFT_EXPRESSION__SHIFT_EXPRESSION_OPERANDS = 227;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Shift Expression Is Bit String Conversion Derivation' of 'Shift Expression'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int SHIFT_EXPRESSION__SHIFT_EXPRESSION_IS_BIT_STRING_CONVERSION_DERIVATION = 228;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Unbounded Literal Expression Type Derivation' of 'Unbounded Literal Expression'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int UNBOUNDED_LITERAL_EXPRESSION__UNBOUNDED_LITERAL_EXPRESSION_TYPE_DERIVATION = 229;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'This Expression Type Derivation' of 'This Expression'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int THIS_EXPRESSION__THIS_EXPRESSION_TYPE_DERIVATION = 230;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'This Expression Upper Derivation' of 'This Expression'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int THIS_EXPRESSION__THIS_EXPRESSION_UPPER_DERIVATION = 231;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'This Expression Lower Derivation' of 'This Expression'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int THIS_EXPRESSION__THIS_EXPRESSION_LOWER_DERIVATION = 232;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Classification Expression Is Direct Derivation' of 'Classification Expression'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int CLASSIFICATION_EXPRESSION__CLASSIFICATION_EXPRESSION_IS_DIRECT_DERIVATION = 233;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Classification Expression Referent Derivation' of 'Classification Expression'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int CLASSIFICATION_EXPRESSION__CLASSIFICATION_EXPRESSION_REFERENT_DERIVATION = 234;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Classification Expression Type Derivation' of 'Classification Expression'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int CLASSIFICATION_EXPRESSION__CLASSIFICATION_EXPRESSION_TYPE_DERIVATION = 235;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Classification Expression Lower Derivation' of 'Classification Expression'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int CLASSIFICATION_EXPRESSION__CLASSIFICATION_EXPRESSION_LOWER_DERIVATION = 236;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Classification Expression Upper Derivation' of 'Classification Expression'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int CLASSIFICATION_EXPRESSION__CLASSIFICATION_EXPRESSION_UPPER_DERIVATION = 237;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Classification Expression Type Name' of 'Classification Expression'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int CLASSIFICATION_EXPRESSION__CLASSIFICATION_EXPRESSION_TYPE_NAME = 238;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Classification Expression Operand' of 'Classification Expression'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int CLASSIFICATION_EXPRESSION__CLASSIFICATION_EXPRESSION_OPERAND = 239;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Super Invocation Expression Referent Derivation' of 'Super Invocation Expression'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int SUPER_INVOCATION_EXPRESSION__SUPER_INVOCATION_EXPRESSION_REFERENT_DERIVATION = 240;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Super Invocation Expression Feature Derivation' of 'Super Invocation Expression'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int SUPER_INVOCATION_EXPRESSION__SUPER_INVOCATION_EXPRESSION_FEATURE_DERIVATION = 241;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Super Invocation Expression Qualification' of 'Super Invocation Expression'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int SUPER_INVOCATION_EXPRESSION__SUPER_INVOCATION_EXPRESSION_QUALIFICATION = 242;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Super Invocation Expression Implicit Target' of 'Super Invocation Expression'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int SUPER_INVOCATION_EXPRESSION__SUPER_INVOCATION_EXPRESSION_IMPLICIT_TARGET = 243;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Super Invocation Expression Constructor Call' of 'Super Invocation Expression'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int SUPER_INVOCATION_EXPRESSION__SUPER_INVOCATION_EXPRESSION_CONSTRUCTOR_CALL = 244;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Super Invocation Expression Destructor Call' of 'Super Invocation Expression'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int SUPER_INVOCATION_EXPRESSION__SUPER_INVOCATION_EXPRESSION_DESTRUCTOR_CALL = 245;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Super Invocation Expression Operation' of 'Super Invocation Expression'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int SUPER_INVOCATION_EXPRESSION__SUPER_INVOCATION_EXPRESSION_OPERATION = 246;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Increment Or Decrement Expression Assignment Derivation' of 'Increment Or Decrement Expression'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int INCREMENT_OR_DECREMENT_EXPRESSION__INCREMENT_OR_DECREMENT_EXPRESSION_ASSIGNMENT_DERIVATION = 247;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Increment Or Decrement Expression Is Feature Derivation' of 'Increment Or Decrement Expression'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int INCREMENT_OR_DECREMENT_EXPRESSION__INCREMENT_OR_DECREMENT_EXPRESSION_IS_FEATURE_DERIVATION = 248;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Increment Or Decrement Expression Is Indexed Derivation' of 'Increment Or Decrement Expression'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int INCREMENT_OR_DECREMENT_EXPRESSION__INCREMENT_OR_DECREMENT_EXPRESSION_IS_INDEXED_DERIVATION = 249;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Increment Or Decrement Expression Is Data Value Update Derivation' of 'Increment Or Decrement Expression'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int INCREMENT_OR_DECREMENT_EXPRESSION__INCREMENT_OR_DECREMENT_EXPRESSION_IS_DATA_VALUE_UPDATE_DERIVATION = 250;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Increment Or Decrement Expression Feature Derivation' of 'Increment Or Decrement Expression'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int INCREMENT_OR_DECREMENT_EXPRESSION__INCREMENT_OR_DECREMENT_EXPRESSION_FEATURE_DERIVATION = 251;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Increment Or Decrement Expression Expression Derivation' of 'Increment Or Decrement Expression'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int INCREMENT_OR_DECREMENT_EXPRESSION__INCREMENT_OR_DECREMENT_EXPRESSION_EXPRESSION_DERIVATION = 252;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Increment Or Decrement Expression Type Derivation' of 'Increment Or Decrement Expression'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int INCREMENT_OR_DECREMENT_EXPRESSION__INCREMENT_OR_DECREMENT_EXPRESSION_TYPE_DERIVATION = 253;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Increment Or Decrement Expression Lower Derivation' of 'Increment Or Decrement Expression'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int INCREMENT_OR_DECREMENT_EXPRESSION__INCREMENT_OR_DECREMENT_EXPRESSION_LOWER_DERIVATION = 254;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Increment Or Decrement Expression Upper Derivation' of 'Increment Or Decrement Expression'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int INCREMENT_OR_DECREMENT_EXPRESSION__INCREMENT_OR_DECREMENT_EXPRESSION_UPPER_DERIVATION = 255;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Increment Or Decrement Expression Operand' of 'Increment Or Decrement Expression'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int INCREMENT_OR_DECREMENT_EXPRESSION__INCREMENT_OR_DECREMENT_EXPRESSION_OPERAND = 256;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Increment Or Decrement Expression Assignments Before' of 'Increment Or Decrement Expression'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int INCREMENT_OR_DECREMENT_EXPRESSION__INCREMENT_OR_DECREMENT_EXPRESSION_ASSIGNMENTS_BEFORE = 257;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Boolean Literal Expression Type Derivation' of 'Boolean Literal Expression'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int BOOLEAN_LITERAL_EXPRESSION__BOOLEAN_LITERAL_EXPRESSION_TYPE_DERIVATION = 258;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Named Tuple Argument Names' of 'Named Tuple'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int NAMED_TUPLE__NAMED_TUPLE_ARGUMENT_NAMES = 259;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Natural Literal Expression Type Derivation' of 'Natural Literal Expression'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int NATURAL_LITERAL_EXPRESSION__NATURAL_LITERAL_EXPRESSION_TYPE_DERIVATION = 260;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Sequence Range Lower Derivation' of 'Sequence Range'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int SEQUENCE_RANGE__SEQUENCE_RANGE_LOWER_DERIVATION = 261;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Sequence Range Upper Derivation' of 'Sequence Range'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int SEQUENCE_RANGE__SEQUENCE_RANGE_UPPER_DERIVATION = 262;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Sequence Range Expression Multiplicity' of 'Sequence Range'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int SEQUENCE_RANGE__SEQUENCE_RANGE_EXPRESSION_MULTIPLICITY = 263;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Sequence Range Assignments' of 'Sequence Range'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int SEQUENCE_RANGE__SEQUENCE_RANGE_ASSIGNMENTS = 264;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Name Left Hand Side Assignment After Derivation' of 'Name Left Hand Side'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int NAME_LEFT_HAND_SIDE__NAME_LEFT_HAND_SIDE_ASSIGNMENT_AFTER_DERIVATION = 265;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Name Left Hand Side Target Assignment' of 'Name Left Hand Side'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int NAME_LEFT_HAND_SIDE__NAME_LEFT_HAND_SIDE_TARGET_ASSIGNMENT = 266;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Name Left Hand Side Assignments Before' of 'Name Left Hand Side'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int NAME_LEFT_HAND_SIDE__NAME_LEFT_HAND_SIDE_ASSIGNMENTS_BEFORE = 267;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Name Left Hand Side Referent Derivation' of 'Name Left Hand Side'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int NAME_LEFT_HAND_SIDE__NAME_LEFT_HAND_SIDE_REFERENT_DERIVATION = 268;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Name Left Hand Side Lower Derivation' of 'Name Left Hand Side'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int NAME_LEFT_HAND_SIDE__NAME_LEFT_HAND_SIDE_LOWER_DERIVATION = 269;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Name Left Hand Side Upper Derivation' of 'Name Left Hand Side'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int NAME_LEFT_HAND_SIDE__NAME_LEFT_HAND_SIDE_UPPER_DERIVATION = 270;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Name Left Hand Side Type Derivation' of 'Name Left Hand Side'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int NAME_LEFT_HAND_SIDE__NAME_LEFT_HAND_SIDE_TYPE_DERIVATION = 271;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Name Left Hand Side Target Resolution' of 'Name Left Hand Side'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int NAME_LEFT_HAND_SIDE__NAME_LEFT_HAND_SIDE_TARGET_RESOLUTION = 272;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Name Left Hand Side Indexed Feature' of 'Name Left Hand Side'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int NAME_LEFT_HAND_SIDE__NAME_LEFT_HAND_SIDE_INDEXED_FEATURE = 273;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Name Left Hand Side Nontemplate Target' of 'Name Left Hand Side'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int NAME_LEFT_HAND_SIDE__NAME_LEFT_HAND_SIDE_NONTEMPLATE_TARGET = 274;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Sequence Reduction Expression Referent Derivation' of 'Sequence Reduction Expression'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int SEQUENCE_REDUCTION_EXPRESSION__SEQUENCE_REDUCTION_EXPRESSION_REFERENT_DERIVATION = 275;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Sequence Reduction Expression Type Derivation' of 'Sequence Reduction Expression'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int SEQUENCE_REDUCTION_EXPRESSION__SEQUENCE_REDUCTION_EXPRESSION_TYPE_DERIVATION = 276;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Sequence Reduction Expression Upper Derivation' of 'Sequence Reduction Expression'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int SEQUENCE_REDUCTION_EXPRESSION__SEQUENCE_REDUCTION_EXPRESSION_UPPER_DERIVATION = 277;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Sequence Reduction Expression Lower Derivation' of 'Sequence Reduction Expression'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int SEQUENCE_REDUCTION_EXPRESSION__SEQUENCE_REDUCTION_EXPRESSION_LOWER_DERIVATION = 278;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Sequence Reduction Expression Behavior' of 'Sequence Reduction Expression'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int SEQUENCE_REDUCTION_EXPRESSION__SEQUENCE_REDUCTION_EXPRESSION_BEHAVIOR = 279;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Sequence Reduction Expression Behavior Parameters' of 'Sequence Reduction Expression'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int SEQUENCE_REDUCTION_EXPRESSION__SEQUENCE_REDUCTION_EXPRESSION_BEHAVIOR_PARAMETERS = 280;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Sequence Reduction Expression Assignments Before' of 'Sequence Reduction Expression'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int SEQUENCE_REDUCTION_EXPRESSION__SEQUENCE_REDUCTION_EXPRESSION_ASSIGNMENTS_BEFORE = 281;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Sequence Expression List Lower Derivation' of 'Sequence Expression List'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int SEQUENCE_EXPRESSION_LIST__SEQUENCE_EXPRESSION_LIST_LOWER_DERIVATION = 282;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Sequence Expression List Upper Derivation' of 'Sequence Expression List'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int SEQUENCE_EXPRESSION_LIST__SEQUENCE_EXPRESSION_LIST_UPPER_DERIVATION = 283;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Relational Expression Is Unlimited Natural Derivation' of 'Relational Expression'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int RELATIONAL_EXPRESSION__RELATIONAL_EXPRESSION_IS_UNLIMITED_NATURAL_DERIVATION = 284;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Relational Expression Type Derivation' of 'Relational Expression'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int RELATIONAL_EXPRESSION__RELATIONAL_EXPRESSION_TYPE_DERIVATION = 285;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Relational Expression Lower Derivation' of 'Relational Expression'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int RELATIONAL_EXPRESSION__RELATIONAL_EXPRESSION_LOWER_DERIVATION = 286;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Relational Expression Upper Derivation' of 'Relational Expression'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int RELATIONAL_EXPRESSION__RELATIONAL_EXPRESSION_UPPER_DERIVATION = 287;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Relational Expression Operand Types' of 'Relational Expression'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int RELATIONAL_EXPRESSION__RELATIONAL_EXPRESSION_OPERAND_TYPES = 288;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Local Name Declaration Statement Assignments Before' of 'Local Name Declaration Statement'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int LOCAL_NAME_DECLARATION_STATEMENT__LOCAL_NAME_DECLARATION_STATEMENT_ASSIGNMENTS_BEFORE = 289;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Local Name Declaration Statement Type' of 'Local Name Declaration Statement'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int LOCAL_NAME_DECLARATION_STATEMENT__LOCAL_NAME_DECLARATION_STATEMENT_TYPE = 290;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Local Name Declaration Statement Local Name' of 'Local Name Declaration Statement'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int LOCAL_NAME_DECLARATION_STATEMENT__LOCAL_NAME_DECLARATION_STATEMENT_LOCAL_NAME = 291;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Local Name Declaration Statement Assignments After' of 'Local Name Declaration Statement'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int LOCAL_NAME_DECLARATION_STATEMENT__LOCAL_NAME_DECLARATION_STATEMENT_ASSIGNMENTS_AFTER = 292;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Local Name Declaration Statement Expression Multiplicity' of 'Local Name Declaration Statement'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int LOCAL_NAME_DECLARATION_STATEMENT__LOCAL_NAME_DECLARATION_STATEMENT_EXPRESSION_MULTIPLICITY = 293;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Local Name Declaration Statement Type Derivation' of 'Local Name Declaration Statement'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int LOCAL_NAME_DECLARATION_STATEMENT__LOCAL_NAME_DECLARATION_STATEMENT_TYPE_DERIVATION = 294;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Statement Annotations Allowed' of 'Statement'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int STATEMENT__STATEMENT_ANNOTATIONS_ALLOWED = 295;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Statement Unique Assignments' of 'Statement'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int STATEMENT__STATEMENT_UNIQUE_ASSIGNMENTS = 296;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Statement Is Isolated Derivation' of 'Statement'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int STATEMENT__STATEMENT_IS_ISOLATED_DERIVATION = 297;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Non Final Clause Assignments Before Body' of 'Non Final Clause'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int NON_FINAL_CLAUSE__NON_FINAL_CLAUSE_ASSIGNMENTS_BEFORE_BODY = 298;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Non Final Clause Condition Local Names' of 'Non Final Clause'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int NON_FINAL_CLAUSE__NON_FINAL_CLAUSE_CONDITION_LOCAL_NAMES = 299;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Non Final Clause Condition Type' of 'Non Final Clause'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int NON_FINAL_CLAUSE__NON_FINAL_CLAUSE_CONDITION_TYPE = 300;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Block Assignments Before Statements' of 'Block'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int BLOCK__BLOCK_ASSIGNMENTS_BEFORE_STATEMENTS = 301;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Block Assignments Before' of 'Block'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int BLOCK__BLOCK_ASSIGNMENTS_BEFORE = 302;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Block Assignment After Derivation' of 'Block'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int BLOCK__BLOCK_ASSIGNMENT_AFTER_DERIVATION = 303;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Block Statement Parallel Assignments' of 'Block Statement'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int BLOCK_STATEMENT__BLOCK_STATEMENT_PARALLEL_ASSIGNMENTS = 304;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Block Statement Assignments Before' of 'Block Statement'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int BLOCK_STATEMENT__BLOCK_STATEMENT_ASSIGNMENTS_BEFORE = 305;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Block Statement Assignments After' of 'Block Statement'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int BLOCK_STATEMENT__BLOCK_STATEMENT_ASSIGNMENTS_AFTER = 306;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Block Statement Enclosed Statements' of 'Block Statement'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int BLOCK_STATEMENT__BLOCK_STATEMENT_ENCLOSED_STATEMENTS = 307;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Block Statement Is Parallel Derivation' of 'Block Statement'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int BLOCK_STATEMENT__BLOCK_STATEMENT_IS_PARALLEL_DERIVATION = 308;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Do Statement Assignments Before' of 'Do Statement'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int DO_STATEMENT__DO_STATEMENT_ASSIGNMENTS_BEFORE = 309;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Do Statement Assignments After' of 'Do Statement'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int DO_STATEMENT__DO_STATEMENT_ASSIGNMENTS_AFTER = 310;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Do Statement Condition' of 'Do Statement'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int DO_STATEMENT__DO_STATEMENT_CONDITION = 311;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Do Statement Enclosed Statements' of 'Do Statement'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int DO_STATEMENT__DO_STATEMENT_ENCLOSED_STATEMENTS = 312;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Concurrent Clauses Assignments Before' of 'Concurrent Clauses'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int CONCURRENT_CLAUSES__CONCURRENT_CLAUSES_ASSIGNMENTS_BEFORE = 313;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Concurrent Clauses Condition Assignments' of 'Concurrent Clauses'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int CONCURRENT_CLAUSES__CONCURRENT_CLAUSES_CONDITION_ASSIGNMENTS = 314;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Break Statement Target Derivation' of 'Break Statement'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int BREAK_STATEMENT__BREAK_STATEMENT_TARGET_DERIVATION = 315;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Break Statement Nonparallel Target' of 'Break Statement'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int BREAK_STATEMENT__BREAK_STATEMENT_NONPARALLEL_TARGET = 316;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Expression Statement Assignments Before' of 'Expression Statement'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int EXPRESSION_STATEMENT__EXPRESSION_STATEMENT_ASSIGNMENTS_BEFORE = 317;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Expression Statement Assignments After' of 'Expression Statement'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int EXPRESSION_STATEMENT__EXPRESSION_STATEMENT_ASSIGNMENTS_AFTER = 318;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Classify Statement Expression' of 'Classify Statement'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int CLASSIFY_STATEMENT__CLASSIFY_STATEMENT_EXPRESSION = 319;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Classify Statement Class Names' of 'Classify Statement'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int CLASSIFY_STATEMENT__CLASSIFY_STATEMENT_CLASS_NAMES = 320;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Classify Statement Classes' of 'Classify Statement'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int CLASSIFY_STATEMENT__CLASSIFY_STATEMENT_CLASSES = 321;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Classify Statement Assignments Before' of 'Classify Statement'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int CLASSIFY_STATEMENT__CLASSIFY_STATEMENT_ASSIGNMENTS_BEFORE = 322;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Classify Statement Assignments After' of 'Classify Statement'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int CLASSIFY_STATEMENT__CLASSIFY_STATEMENT_ASSIGNMENTS_AFTER = 323;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Classify Statement From Class Derivation' of 'Classify Statement'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int CLASSIFY_STATEMENT__CLASSIFY_STATEMENT_FROM_CLASS_DERIVATION = 324;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Classify Statement To Class Derivation' of 'Classify Statement'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int CLASSIFY_STATEMENT__CLASSIFY_STATEMENT_TO_CLASS_DERIVATION = 325;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'For Statement Assignments Before' of 'For Statement'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int FOR_STATEMENT__FOR_STATEMENT_ASSIGNMENTS_BEFORE = 326;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'For Statement Assignments After' of 'For Statement'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int FOR_STATEMENT__FOR_STATEMENT_ASSIGNMENTS_AFTER = 327;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'For Statement Parallel Annotation Names' of 'For Statement'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int FOR_STATEMENT__FOR_STATEMENT_PARALLEL_ANNOTATION_NAMES = 328;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'For Statement Parallel Assignments After' of 'For Statement'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int FOR_STATEMENT__FOR_STATEMENT_PARALLEL_ASSIGNMENTS_AFTER = 329;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'For Statement Variable Definitions' of 'For Statement'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int FOR_STATEMENT__FOR_STATEMENT_VARIABLE_DEFINITIONS = 330;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'For Statement Loop Variables' of 'For Statement'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int FOR_STATEMENT__FOR_STATEMENT_LOOP_VARIABLES = 331;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'For Statement Is Parallel Derivation' of 'For Statement'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int FOR_STATEMENT__FOR_STATEMENT_IS_PARALLEL_DERIVATION = 332;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'For Statement Enclosed Statements' of 'For Statement'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int FOR_STATEMENT__FOR_STATEMENT_ENCLOSED_STATEMENTS = 333;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Loop Variable Definition Assignment After Derivation' of 'Loop Variable Definition'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int LOOP_VARIABLE_DEFINITION__LOOP_VARIABLE_DEFINITION_ASSIGNMENT_AFTER_DERIVATION = 334;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Loop Variable Definition Assignments Before' of 'Loop Variable Definition'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int LOOP_VARIABLE_DEFINITION__LOOP_VARIABLE_DEFINITION_ASSIGNMENTS_BEFORE = 335;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Loop Variable Definition Range Expressions' of 'Loop Variable Definition'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int LOOP_VARIABLE_DEFINITION__LOOP_VARIABLE_DEFINITION_RANGE_EXPRESSIONS = 336;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Loop Variable Definition Type Name' of 'Loop Variable Definition'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int LOOP_VARIABLE_DEFINITION__LOOP_VARIABLE_DEFINITION_TYPE_NAME = 337;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Loop Variable Definition Type Derivation' of 'Loop Variable Definition'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int LOOP_VARIABLE_DEFINITION__LOOP_VARIABLE_DEFINITION_TYPE_DERIVATION = 338;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Loop Variable Definition Declared Type' of 'Loop Variable Definition'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int LOOP_VARIABLE_DEFINITION__LOOP_VARIABLE_DEFINITION_DECLARED_TYPE = 339;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Loop Variable Definition Is Collection Conversion Derivation' of 'Loop Variable Definition'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int LOOP_VARIABLE_DEFINITION__LOOP_VARIABLE_DEFINITION_IS_COLLECTION_CONVERSION_DERIVATION = 340;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Loop Variable Definition Variable' of 'Loop Variable Definition'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int LOOP_VARIABLE_DEFINITION__LOOP_VARIABLE_DEFINITION_VARIABLE = 341;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'If Statement Assignments Before' of 'If Statement'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int IF_STATEMENT__IF_STATEMENT_ASSIGNMENTS_BEFORE = 342;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'If Statement Assignments After' of 'If Statement'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int IF_STATEMENT__IF_STATEMENT_ASSIGNMENTS_AFTER = 343;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'If Statement Enclosed Statements' of 'If Statement'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int IF_STATEMENT__IF_STATEMENT_ENCLOSED_STATEMENTS = 344;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'If Statement Is Assured Derivation' of 'If Statement'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int IF_STATEMENT__IF_STATEMENT_IS_ASSURED_DERIVATION = 345;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'If Statement Is Determinate Derivation' of 'If Statement'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int IF_STATEMENT__IF_STATEMENT_IS_DETERMINATE_DERIVATION = 346;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Switch Statement Assignments Before' of 'Switch Statement'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int SWITCH_STATEMENT__SWITCH_STATEMENT_ASSIGNMENTS_BEFORE = 347;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Switch Statement Case Assignments' of 'Switch Statement'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int SWITCH_STATEMENT__SWITCH_STATEMENT_CASE_ASSIGNMENTS = 348;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Switch Statement Assignments After' of 'Switch Statement'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int SWITCH_STATEMENT__SWITCH_STATEMENT_ASSIGNMENTS_AFTER = 349;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Switch Statement Assignments' of 'Switch Statement'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int SWITCH_STATEMENT__SWITCH_STATEMENT_ASSIGNMENTS = 350;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Switch Statement Expression' of 'Switch Statement'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int SWITCH_STATEMENT__SWITCH_STATEMENT_EXPRESSION = 351;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Switch Statement Enclosed Statements' of 'Switch Statement'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int SWITCH_STATEMENT__SWITCH_STATEMENT_ENCLOSED_STATEMENTS = 352;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Switch Statement Is Determinate Derivation' of 'Switch Statement'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int SWITCH_STATEMENT__SWITCH_STATEMENT_IS_DETERMINATE_DERIVATION = 353;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Switch Statement Is Assured Derivation' of 'Switch Statement'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int SWITCH_STATEMENT__SWITCH_STATEMENT_IS_ASSURED_DERIVATION = 354;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Switch Clause Assignments Before' of 'Switch Clause'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int SWITCH_CLAUSE__SWITCH_CLAUSE_ASSIGNMENTS_BEFORE = 355;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Switch Clause Case Local Names' of 'Switch Clause'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int SWITCH_CLAUSE__SWITCH_CLAUSE_CASE_LOCAL_NAMES = 356;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Switch Clause Cases' of 'Switch Clause'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int SWITCH_CLAUSE__SWITCH_CLAUSE_CASES = 357;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'While Statement Assignments Before' of 'While Statement'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int WHILE_STATEMENT__WHILE_STATEMENT_ASSIGNMENTS_BEFORE = 358;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'While Statement Assignments After' of 'While Statement'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int WHILE_STATEMENT__WHILE_STATEMENT_ASSIGNMENTS_AFTER = 359;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'While Statement Condition' of 'While Statement'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int WHILE_STATEMENT__WHILE_STATEMENT_CONDITION = 360;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'While Statement Enclosed Statements' of 'While Statement'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int WHILE_STATEMENT__WHILE_STATEMENT_ENCLOSED_STATEMENTS = 361;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Return Statement Context' of 'Return Statement'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int RETURN_STATEMENT__RETURN_STATEMENT_CONTEXT = 362;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Return Statement Assignments Before' of 'Return Statement'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int RETURN_STATEMENT__RETURN_STATEMENT_ASSIGNMENTS_BEFORE = 363;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Return Statement Assignments After' of 'Return Statement'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int RETURN_STATEMENT__RETURN_STATEMENT_ASSIGNMENTS_AFTER = 364;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'In Line Statement Assignments After' of 'In Line Statement'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int IN_LINE_STATEMENT__IN_LINE_STATEMENT_ASSIGNMENTS_AFTER = 365;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Accept Statement Context' of 'Accept Statement'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int ACCEPT_STATEMENT__ACCEPT_STATEMENT_CONTEXT = 366;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Accept Statement Signals' of 'Accept Statement'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int ACCEPT_STATEMENT__ACCEPT_STATEMENT_SIGNALS = 367;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Accept Statement Names' of 'Accept Statement'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int ACCEPT_STATEMENT__ACCEPT_STATEMENT_NAMES = 368;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Accept Statement Simple Accept Local Name' of 'Accept Statement'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int ACCEPT_STATEMENT__ACCEPT_STATEMENT_SIMPLE_ACCEPT_LOCAL_NAME = 369;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Accept Statement Compound Accept Local Name' of 'Accept Statement'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int ACCEPT_STATEMENT__ACCEPT_STATEMENT_COMPOUND_ACCEPT_LOCAL_NAME = 370;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Accept Statement Assignments Before' of 'Accept Statement'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int ACCEPT_STATEMENT__ACCEPT_STATEMENT_ASSIGNMENTS_BEFORE = 371;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Accept Statement Assignments After' of 'Accept Statement'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int ACCEPT_STATEMENT__ACCEPT_STATEMENT_ASSIGNMENTS_AFTER = 372;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Accept Statement New Assignments' of 'Accept Statement'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int ACCEPT_STATEMENT__ACCEPT_STATEMENT_NEW_ASSIGNMENTS = 373;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Accept Statement Is Simple Derivation' of 'Accept Statement'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int ACCEPT_STATEMENT__ACCEPT_STATEMENT_IS_SIMPLE_DERIVATION = 374;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Accept Statement Enclosed Statements' of 'Accept Statement'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int ACCEPT_STATEMENT__ACCEPT_STATEMENT_ENCLOSED_STATEMENTS = 375;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Accept Block Signal Derivation' of 'Accept Block'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int ACCEPT_BLOCK__ACCEPT_BLOCK_SIGNAL_DERIVATION = 376;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Accept Block Signal Names' of 'Accept Block'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int ACCEPT_BLOCK__ACCEPT_BLOCK_SIGNAL_NAMES = 377;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Empty Statement Assignments After' of 'Empty Statement'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int EMPTY_STATEMENT__EMPTY_STATEMENT_ASSIGNMENTS_AFTER = 378;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Namespace Definition Member Derivation' of 'Namespace Definition'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int NAMESPACE_DEFINITION__NAMESPACE_DEFINITION_MEMBER_DERIVATION = 379;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Namespace Definition Member Distinguishability' of 'Namespace Definition'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int NAMESPACE_DEFINITION__NAMESPACE_DEFINITION_MEMBER_DISTINGUISHABILITY = 380;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Member Annotations' of 'Member Definition'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int MEMBER_DEFINITION__MEMBER_ANNOTATIONS = 381;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Member Is Primitive Derivation' of 'Member Definition'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int MEMBER_DEFINITION__MEMBER_IS_PRIMITIVE_DERIVATION = 382;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Member Is External Derivation' of 'Member Definition'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int MEMBER_DEFINITION__MEMBER_IS_EXTERNAL_DERIVATION = 383;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Member External' of 'Member Definition'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int MEMBER_DEFINITION__MEMBER_EXTERNAL = 384;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Member Stub' of 'Member Definition'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int MEMBER_DEFINITION__MEMBER_STUB = 385;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Member Subunit Derivation' of 'Member Definition'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int MEMBER_DEFINITION__MEMBER_SUBUNIT_DERIVATION = 386;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Member Stub Stereotypes' of 'Member Definition'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int MEMBER_DEFINITION__MEMBER_STUB_STEREOTYPES = 387;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Member Primitive' of 'Member Definition'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int MEMBER_DEFINITION__MEMBER_PRIMITIVE = 388;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Stereotype Annotation Stereotype Derivation' of 'Stereotype Annotation'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int STEREOTYPE_ANNOTATION__STEREOTYPE_ANNOTATION_STEREOTYPE_DERIVATION = 389;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Stereotype Annotation Stereotype Name' of 'Stereotype Annotation'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int STEREOTYPE_ANNOTATION__STEREOTYPE_ANNOTATION_STEREOTYPE_NAME = 390;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Stereotype Annotation Apply' of 'Stereotype Annotation'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int STEREOTYPE_ANNOTATION__STEREOTYPE_ANNOTATION_APPLY = 391;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Stereotype Annotation Primitive' of 'Stereotype Annotation'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int STEREOTYPE_ANNOTATION__STEREOTYPE_ANNOTATION_PRIMITIVE = 392;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Stereotype Annotation External' of 'Stereotype Annotation'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int STEREOTYPE_ANNOTATION__STEREOTYPE_ANNOTATION_EXTERNAL = 393;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Stereotype Annotation Tagged Values' of 'Stereotype Annotation'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int STEREOTYPE_ANNOTATION__STEREOTYPE_ANNOTATION_TAGGED_VALUES = 394;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Stereotype Annotation Names' of 'Stereotype Annotation'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int STEREOTYPE_ANNOTATION__STEREOTYPE_ANNOTATION_NAMES = 395;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Unit Definition Namespace Derivation' of 'Unit Definition'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int UNIT_DEFINITION__UNIT_DEFINITION_NAMESPACE_DERIVATION = 396;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Unit Definition Namespace' of 'Unit Definition'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int UNIT_DEFINITION__UNIT_DEFINITION_NAMESPACE = 397;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Unit Definition Is Model Library Derivation' of 'Unit Definition'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int UNIT_DEFINITION__UNIT_DEFINITION_IS_MODEL_LIBRARY_DERIVATION = 398;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Unit Definition Implicit Imports' of 'Unit Definition'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int UNIT_DEFINITION__UNIT_DEFINITION_IMPLICIT_IMPORTS = 399;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Unit Definition Applied Profile Derivation' of 'Unit Definition'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int UNIT_DEFINITION__UNIT_DEFINITION_APPLIED_PROFILE_DERIVATION = 400;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Import Reference Referent Derivation' of 'Import Reference'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int IMPORT_REFERENCE__IMPORT_REFERENCE_REFERENT_DERIVATION = 401;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Import Reference Referent' of 'Import Reference'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int IMPORT_REFERENCE__IMPORT_REFERENCE_REFERENT = 402;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Imported Member Not Stub' of 'Imported Member'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int IMPORTED_MEMBER__IMPORTED_MEMBER_NOT_STUB = 403;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Imported Member Is Feature Derivation' of 'Imported Member'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int IMPORTED_MEMBER__IMPORTED_MEMBER_IS_FEATURE_DERIVATION = 404;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Operation Definition Namespace' of 'Operation Definition'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int OPERATION_DEFINITION__OPERATION_DEFINITION_NAMESPACE = 405;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Operation Definition Redefined Operation Derivation' of 'Operation Definition'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int OPERATION_DEFINITION__OPERATION_DEFINITION_REDEFINED_OPERATION_DERIVATION = 406;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Operation Definition Redefinition' of 'Operation Definition'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int OPERATION_DEFINITION__OPERATION_DEFINITION_REDEFINITION = 407;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Operation Definition Redefined Operations' of 'Operation Definition'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int OPERATION_DEFINITION__OPERATION_DEFINITION_REDEFINED_OPERATIONS = 408;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Operation Definition Is Feature Derivation' of 'Operation Definition'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int OPERATION_DEFINITION__OPERATION_DEFINITION_IS_FEATURE_DERIVATION = 409;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Operation Definition Is Constructor Derivation' of 'Operation Definition'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int OPERATION_DEFINITION__OPERATION_DEFINITION_IS_CONSTRUCTOR_DERIVATION = 410;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Operation Definition Is Destructor Derivation' of 'Operation Definition'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int OPERATION_DEFINITION__OPERATION_DEFINITION_IS_DESTRUCTOR_DERIVATION = 411;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Operation Definition Constructor Destructor' of 'Operation Definition'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int OPERATION_DEFINITION__OPERATION_DEFINITION_CONSTRUCTOR_DESTRUCTOR = 412;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Operation Definition Constructor' of 'Operation Definition'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int OPERATION_DEFINITION__OPERATION_DEFINITION_CONSTRUCTOR = 413;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Operation Definition Destructor' of 'Operation Definition'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int OPERATION_DEFINITION__OPERATION_DEFINITION_DESTRUCTOR = 414;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Association Definition Specialization Referent' of 'Association Definition'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int ASSOCIATION_DEFINITION__ASSOCIATION_DEFINITION_SPECIALIZATION_REFERENT = 415;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Classifier Definition Specialization' of 'Classifier Definition'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int CLASSIFIER_DEFINITION__CLASSIFIER_DEFINITION_SPECIALIZATION = 416;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Classifier Definition Specialization Referent Derivation' of 'Classifier Definition'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int CLASSIFIER_DEFINITION__CLASSIFIER_DEFINITION_SPECIALIZATION_REFERENT_DERIVATION = 417;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Classifier Definition Inherited Members' of 'Classifier Definition'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int CLASSIFIER_DEFINITION__CLASSIFIER_DEFINITION_INHERITED_MEMBERS = 418;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Class Definition Specialization Referent' of 'Class Definition'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int CLASS_DEFINITION__CLASS_DEFINITION_SPECIALIZATION_REFERENT = 419;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Class Definition Abstract Member' of 'Class Definition'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int CLASS_DEFINITION__CLASS_DEFINITION_ABSTRACT_MEMBER = 420;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Typed Element Definition Lower Derivation' of 'Typed Element Definition'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int TYPED_ELEMENT_DEFINITION__TYPED_ELEMENT_DEFINITION_LOWER_DERIVATION = 421;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Typed Element Definition Upper Derivation' of 'Typed Element Definition'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int TYPED_ELEMENT_DEFINITION__TYPED_ELEMENT_DEFINITION_UPPER_DERIVATION = 422;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Typed Element Definition Type Derivation' of 'Typed Element Definition'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int TYPED_ELEMENT_DEFINITION__TYPED_ELEMENT_DEFINITION_TYPE_DERIVATION = 423;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Typed Element Definition Type Name' of 'Typed Element Definition'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int TYPED_ELEMENT_DEFINITION__TYPED_ELEMENT_DEFINITION_TYPE_NAME = 424;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Data Type Definition Primitive' of 'Data Type Definition'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int DATA_TYPE_DEFINITION__DATA_TYPE_DEFINITION_PRIMITIVE = 425;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Data Type Definition Specialization Referent' of 'Data Type Definition'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int DATA_TYPE_DEFINITION__DATA_TYPE_DEFINITION_SPECIALIZATION_REFERENT = 426;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Package Definition Applied Profile Derivation' of 'Package Definition'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int PACKAGE_DEFINITION__PACKAGE_DEFINITION_APPLIED_PROFILE_DERIVATION = 427;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Property Definition Initializer' of 'Property Definition'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int PROPERTY_DEFINITION__PROPERTY_DEFINITION_INITIALIZER = 428;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Property Definition Is Collection Conversion Derivation' of 'Property Definition'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int PROPERTY_DEFINITION__PROPERTY_DEFINITION_IS_COLLECTION_CONVERSION_DERIVATION = 429;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Property Definition Is Bit String Conversion Derivation' of 'Property Definition'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int PROPERTY_DEFINITION__PROPERTY_DEFINITION_IS_BIT_STRING_CONVERSION_DERIVATION = 430;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Property Definition Is Feature Derivation' of 'Property Definition'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int PROPERTY_DEFINITION__PROPERTY_DEFINITION_IS_FEATURE_DERIVATION = 431;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Signal Definition Specialization Referent' of 'Signal Definition'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int SIGNAL_DEFINITION__SIGNAL_DEFINITION_SPECIALIZATION_REFERENT = 432;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Active Class Definition Classifier Behavior' of 'Active Class Definition'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int ACTIVE_CLASS_DEFINITION__ACTIVE_CLASS_DEFINITION_CLASSIFIER_BEHAVIOR = 433;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Activity Definition Specialization' of 'Activity Definition'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int ACTIVITY_DEFINITION__ACTIVITY_DEFINITION_SPECIALIZATION = 434;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Activity Definition Primitive' of 'Activity Definition'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int ACTIVITY_DEFINITION__ACTIVITY_DEFINITION_PRIMITIVE = 435;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Element Import Reference Referent' of 'Element Import Reference'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int ELEMENT_IMPORT_REFERENCE__ELEMENT_IMPORT_REFERENCE_REFERENT = 436;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Signal Reception Definition Is Feature Derivation' of 'Signal Reception Definition'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int SIGNAL_RECEPTION_DEFINITION__SIGNAL_RECEPTION_DEFINITION_IS_FEATURE_DERIVATION = 437;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Enumeration Definition Specialization Referent' of 'Enumeration Definition'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int ENUMERATION_DEFINITION__ENUMERATION_DEFINITION_SPECIALIZATION_REFERENT = 438;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Package Import Reference Referent' of 'Package Import Reference'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int PACKAGE_IMPORT_REFERENCE__PACKAGE_IMPORT_REFERENCE_REFERENT = 439;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Reception Definition Signal Name' of 'Reception Definition'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int RECEPTION_DEFINITION__RECEPTION_DEFINITION_SIGNAL_NAME = 440;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Reception Definition Signal Derivation' of 'Reception Definition'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int RECEPTION_DEFINITION__RECEPTION_DEFINITION_SIGNAL_DERIVATION = 441;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Reception Definition Is Feature Derivation' of 'Reception Definition'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final int RECEPTION_DEFINITION__RECEPTION_DEFINITION_IS_FEATURE_DERIVATION = 442;
+
+ /**
+ * A constant with a fixed name that can be used as the base value for additional hand written constants.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private static final int GENERATED_DIAGNOSTIC_CODE_COUNT = 442;
+
+ /**
+ * A constant with a fixed name that can be used as the base value for additional hand written constants in a derived class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected static final int DIAGNOSTIC_CODE_COUNT = GENERATED_DIAGNOSTIC_CODE_COUNT;
+
+ /**
+ * Delegates evaluation of the given invariant expression against the object in the given context.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static boolean validate(EClass eClass, EObject eObject, DiagnosticChain diagnostics, Map<Object, Object> context, String validationDelegate, EOperation invariant, String expression, int severity, String source, int code) {
+ return EObjectValidator.validate(eClass, eObject, diagnostics, context, validationDelegate, invariant, expression, severity, source, code);
+ }
+
+ /**
+ * Creates an instance of the switch.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public AlfValidator() {
+ super();
+ }
+
+ /**
+ * Returns the package of this validator switch.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EPackage getEPackage() {
+ return AlfPackage.eINSTANCE;
+ }
+
+ /**
+ * Calls <code>validateXXX</code> for the corresponding classifier of the model.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected boolean validate(int classifierID, Object value, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ switch (classifierID) {
+ case AlfPackage.ASSIGNED_SOURCE:
+ return validateAssignedSource((AssignedSource) value, diagnostics, context);
+ case AlfPackage.SYNTAX_ELEMENT:
+ return validateSyntaxElement((SyntaxElement) value, diagnostics, context);
+ case AlfPackage.ELEMENT_REFERENCE:
+ return validateElementReference((ElementReference) value, diagnostics, context);
+ case AlfPackage.INTERNAL_ELEMENT_REFERENCE:
+ return validateInternalElementReference((InternalElementReference) value, diagnostics, context);
+ case AlfPackage.EXTERNAL_ELEMENT_REFERENCE:
+ return validateExternalElementReference((ExternalElementReference) value, diagnostics, context);
+ case AlfPackage.EXTERNAL_ENUMERATION_LITERAL_REFERENCE:
+ return validateExternalEnumerationLiteralReference((ExternalEnumerationLiteralReference) value, diagnostics, context);
+ case AlfPackage.BOUND_ELEMENT_REFERENCE:
+ return validateBoundElementReference((BoundElementReference) value, diagnostics, context);
+ case AlfPackage.DOCUMENTED_ELEMENT:
+ return validateDocumentedElement((DocumentedElement) value, diagnostics, context);
+ case AlfPackage.SEQUENCE_EXPANSION_EXPRESSION:
+ return validateSequenceExpansionExpression((SequenceExpansionExpression) value, diagnostics, context);
+ case AlfPackage.ASSIGNABLE_ELEMENT:
+ return validateAssignableElement((AssignableElement) value, diagnostics, context);
+ case AlfPackage.ASSIGNABLE_ELEMENT_REFERENCE:
+ return validateAssignableElementReference((AssignableElementReference) value, diagnostics, context);
+ case AlfPackage.EXPRESSION:
+ return validateExpression((Expression) value, diagnostics, context);
+ case AlfPackage.EXTENT_OR_EXPRESSION:
+ return validateExtentOrExpression((ExtentOrExpression) value, diagnostics, context);
+ case AlfPackage.QUALIFIED_NAME:
+ return validateQualifiedName((QualifiedName) value, diagnostics, context);
+ case AlfPackage.FEATURE_REFERENCE:
+ return validateFeatureReference((FeatureReference) value, diagnostics, context);
+ case AlfPackage.NAME_BINDING:
+ return validateNameBinding((NameBinding) value, diagnostics, context);
+ case AlfPackage.TEMPLATE_BINDING:
+ return validateTemplateBinding((TemplateBinding) value, diagnostics, context);
+ case AlfPackage.NAMED_TEMPLATE_BINDING:
+ return validateNamedTemplateBinding((NamedTemplateBinding) value, diagnostics, context);
+ case AlfPackage.TEMPLATE_PARAMETER_SUBSTITUTION:
+ return validateTemplateParameterSubstitution((TemplateParameterSubstitution) value, diagnostics, context);
+ case AlfPackage.NUMERIC_UNARY_EXPRESSION:
+ return validateNumericUnaryExpression((NumericUnaryExpression) value, diagnostics, context);
+ case AlfPackage.UNARY_EXPRESSION:
+ return validateUnaryExpression((UnaryExpression) value, diagnostics, context);
+ case AlfPackage.FOR_ALL_OR_EXISTS_OR_ONE_EXPRESSION:
+ return validateForAllOrExistsOrOneExpression((ForAllOrExistsOrOneExpression) value, diagnostics, context);
+ case AlfPackage.ISOLATION_EXPRESSION:
+ return validateIsolationExpression((IsolationExpression) value, diagnostics, context);
+ case AlfPackage.BINARY_EXPRESSION:
+ return validateBinaryExpression((BinaryExpression) value, diagnostics, context);
+ case AlfPackage.BOOLEAN_UNARY_EXPRESSION:
+ return validateBooleanUnaryExpression((BooleanUnaryExpression) value, diagnostics, context);
+ case AlfPackage.CAST_EXPRESSION:
+ return validateCastExpression((CastExpression) value, diagnostics, context);
+ case AlfPackage.POSITIONAL_TUPLE:
+ return validatePositionalTuple((PositionalTuple) value, diagnostics, context);
+ case AlfPackage.TUPLE:
+ return validateTuple((Tuple) value, diagnostics, context);
+ case AlfPackage.NAMED_EXPRESSION:
+ return validateNamedExpression((NamedExpression) value, diagnostics, context);
+ case AlfPackage.INPUT_NAMED_EXPRESSION:
+ return validateInputNamedExpression((InputNamedExpression) value, diagnostics, context);
+ case AlfPackage.INVOCATION_EXPRESSION:
+ return validateInvocationExpression((InvocationExpression) value, diagnostics, context);
+ case AlfPackage.OUTPUT_NAMED_EXPRESSION:
+ return validateOutputNamedExpression((OutputNamedExpression) value, diagnostics, context);
+ case AlfPackage.LEFT_HAND_SIDE:
+ return validateLeftHandSide((LeftHandSide) value, diagnostics, context);
+ case AlfPackage.SEQUENCE_ACCESS_EXPRESSION:
+ return validateSequenceAccessExpression((SequenceAccessExpression) value, diagnostics, context);
+ case AlfPackage.STRING_LITERAL_EXPRESSION:
+ return validateStringLiteralExpression((StringLiteralExpression) value, diagnostics, context);
+ case AlfPackage.LITERAL_EXPRESSION:
+ return validateLiteralExpression((LiteralExpression) value, diagnostics, context);
+ case AlfPackage.SEQUENCE_OPERATION_EXPRESSION:
+ return validateSequenceOperationExpression((SequenceOperationExpression) value, diagnostics, context);
+ case AlfPackage.SELECT_OR_REJECT_EXPRESSION:
+ return validateSelectOrRejectExpression((SelectOrRejectExpression) value, diagnostics, context);
+ case AlfPackage.CLASS_EXTENT_EXPRESSION:
+ return validateClassExtentExpression((ClassExtentExpression) value, diagnostics, context);
+ case AlfPackage.POSITIONAL_TEMPLATE_BINDING:
+ return validatePositionalTemplateBinding((PositionalTemplateBinding) value, diagnostics, context);
+ case AlfPackage.CONDITIONAL_LOGICAL_EXPRESSION:
+ return validateConditionalLogicalExpression((ConditionalLogicalExpression) value, diagnostics, context);
+ case AlfPackage.LINK_OPERATION_EXPRESSION:
+ return validateLinkOperationExpression((LinkOperationExpression) value, diagnostics, context);
+ case AlfPackage.EQUALITY_EXPRESSION:
+ return validateEqualityExpression((EqualityExpression) value, diagnostics, context);
+ case AlfPackage.ASSIGNMENT_EXPRESSION:
+ return validateAssignmentExpression((AssignmentExpression) value, diagnostics, context);
+ case AlfPackage.LOGICAL_EXPRESSION:
+ return validateLogicalExpression((LogicalExpression) value, diagnostics, context);
+ case AlfPackage.SEQUENCE_CONSTRUCTION_EXPRESSION:
+ return validateSequenceConstructionExpression((SequenceConstructionExpression) value, diagnostics, context);
+ case AlfPackage.SEQUENCE_ELEMENTS:
+ return validateSequenceElements((SequenceElements) value, diagnostics, context);
+ case AlfPackage.COLLECT_OR_ITERATE_EXPRESSION:
+ return validateCollectOrIterateExpression((CollectOrIterateExpression) value, diagnostics, context);
+ case AlfPackage.IS_UNIQUE_EXPRESSION:
+ return validateIsUniqueExpression((IsUniqueExpression) value, diagnostics, context);
+ case AlfPackage.ARITHMETIC_EXPRESSION:
+ return validateArithmeticExpression((ArithmeticExpression) value, diagnostics, context);
+ case AlfPackage.FEATURE_LEFT_HAND_SIDE:
+ return validateFeatureLeftHandSide((FeatureLeftHandSide) value, diagnostics, context);
+ case AlfPackage.CONDITIONAL_TEST_EXPRESSION:
+ return validateConditionalTestExpression((ConditionalTestExpression) value, diagnostics, context);
+ case AlfPackage.INSTANCE_CREATION_EXPRESSION:
+ return validateInstanceCreationExpression((InstanceCreationExpression) value, diagnostics, context);
+ case AlfPackage.PROPERTY_ACCESS_EXPRESSION:
+ return validatePropertyAccessExpression((PropertyAccessExpression) value, diagnostics, context);
+ case AlfPackage.NAME_EXPRESSION:
+ return validateNameExpression((NameExpression) value, diagnostics, context);
+ case AlfPackage.BIT_STRING_UNARY_EXPRESSION:
+ return validateBitStringUnaryExpression((BitStringUnaryExpression) value, diagnostics, context);
+ case AlfPackage.FEATURE_INVOCATION_EXPRESSION:
+ return validateFeatureInvocationExpression((FeatureInvocationExpression) value, diagnostics, context);
+ case AlfPackage.BEHAVIOR_INVOCATION_EXPRESSION:
+ return validateBehaviorInvocationExpression((BehaviorInvocationExpression) value, diagnostics, context);
+ case AlfPackage.SHIFT_EXPRESSION:
+ return validateShiftExpression((ShiftExpression) value, diagnostics, context);
+ case AlfPackage.UNBOUNDED_LITERAL_EXPRESSION:
+ return validateUnboundedLiteralExpression((UnboundedLiteralExpression) value, diagnostics, context);
+ case AlfPackage.THIS_EXPRESSION:
+ return validateThisExpression((ThisExpression) value, diagnostics, context);
+ case AlfPackage.CLASSIFICATION_EXPRESSION:
+ return validateClassificationExpression((ClassificationExpression) value, diagnostics, context);
+ case AlfPackage.SUPER_INVOCATION_EXPRESSION:
+ return validateSuperInvocationExpression((SuperInvocationExpression) value, diagnostics, context);
+ case AlfPackage.INCREMENT_OR_DECREMENT_EXPRESSION:
+ return validateIncrementOrDecrementExpression((IncrementOrDecrementExpression) value, diagnostics, context);
+ case AlfPackage.BOOLEAN_LITERAL_EXPRESSION:
+ return validateBooleanLiteralExpression((BooleanLiteralExpression) value, diagnostics, context);
+ case AlfPackage.NAMED_TUPLE:
+ return validateNamedTuple((NamedTuple) value, diagnostics, context);
+ case AlfPackage.NATURAL_LITERAL_EXPRESSION:
+ return validateNaturalLiteralExpression((NaturalLiteralExpression) value, diagnostics, context);
+ case AlfPackage.SEQUENCE_RANGE:
+ return validateSequenceRange((SequenceRange) value, diagnostics, context);
+ case AlfPackage.NAME_LEFT_HAND_SIDE:
+ return validateNameLeftHandSide((NameLeftHandSide) value, diagnostics, context);
+ case AlfPackage.EFFECTIVE_LEFT_HAND_SIDE:
+ return validateEffectiveLeftHandSide((EffectiveLeftHandSide) value, diagnostics, context);
+ case AlfPackage.SEQUENCE_REDUCTION_EXPRESSION:
+ return validateSequenceReductionExpression((SequenceReductionExpression) value, diagnostics, context);
+ case AlfPackage.SEQUENCE_EXPRESSION_LIST:
+ return validateSequenceExpressionList((SequenceExpressionList) value, diagnostics, context);
+ case AlfPackage.RELATIONAL_EXPRESSION:
+ return validateRelationalExpression((RelationalExpression) value, diagnostics, context);
+ case AlfPackage.LOCAL_NAME_DECLARATION_STATEMENT:
+ return validateLocalNameDeclarationStatement((LocalNameDeclarationStatement) value, diagnostics, context);
+ case AlfPackage.ASSIGNABLE_LOCAL_NAME_DECLARATION:
+ return validateAssignableLocalNameDeclaration((AssignableLocalNameDeclaration) value, diagnostics, context);
+ case AlfPackage.STATEMENT:
+ return validateStatement((Statement) value, diagnostics, context);
+ case AlfPackage.ANNOTATION:
+ return validateAnnotation((Annotation) value, diagnostics, context);
+ case AlfPackage.QUALIFIED_NAME_LIST:
+ return validateQualifiedNameList((QualifiedNameList) value, diagnostics, context);
+ case AlfPackage.NON_FINAL_CLAUSE:
+ return validateNonFinalClause((NonFinalClause) value, diagnostics, context);
+ case AlfPackage.BLOCK:
+ return validateBlock((Block) value, diagnostics, context);
+ case AlfPackage.BLOCK_STATEMENT:
+ return validateBlockStatement((BlockStatement) value, diagnostics, context);
+ case AlfPackage.DO_STATEMENT:
+ return validateDoStatement((DoStatement) value, diagnostics, context);
+ case AlfPackage.CONCURRENT_CLAUSES:
+ return validateConcurrentClauses((ConcurrentClauses) value, diagnostics, context);
+ case AlfPackage.BREAK_STATEMENT:
+ return validateBreakStatement((BreakStatement) value, diagnostics, context);
+ case AlfPackage.EXPRESSION_STATEMENT:
+ return validateExpressionStatement((ExpressionStatement) value, diagnostics, context);
+ case AlfPackage.CLASSIFY_STATEMENT:
+ return validateClassifyStatement((ClassifyStatement) value, diagnostics, context);
+ case AlfPackage.FOR_STATEMENT:
+ return validateForStatement((ForStatement) value, diagnostics, context);
+ case AlfPackage.LOOP_VARIABLE_DEFINITION:
+ return validateLoopVariableDefinition((LoopVariableDefinition) value, diagnostics, context);
+ case AlfPackage.IF_STATEMENT:
+ return validateIfStatement((IfStatement) value, diagnostics, context);
+ case AlfPackage.SWITCH_STATEMENT:
+ return validateSwitchStatement((SwitchStatement) value, diagnostics, context);
+ case AlfPackage.SWITCH_CLAUSE:
+ return validateSwitchClause((SwitchClause) value, diagnostics, context);
+ case AlfPackage.WHILE_STATEMENT:
+ return validateWhileStatement((WhileStatement) value, diagnostics, context);
+ case AlfPackage.RETURN_STATEMENT:
+ return validateReturnStatement((ReturnStatement) value, diagnostics, context);
+ case AlfPackage.IN_LINE_STATEMENT:
+ return validateInLineStatement((InLineStatement) value, diagnostics, context);
+ case AlfPackage.ACCEPT_STATEMENT:
+ return validateAcceptStatement((AcceptStatement) value, diagnostics, context);
+ case AlfPackage.ACCEPT_BLOCK:
+ return validateAcceptBlock((AcceptBlock) value, diagnostics, context);
+ case AlfPackage.EMPTY_STATEMENT:
+ return validateEmptyStatement((EmptyStatement) value, diagnostics, context);
+ case AlfPackage.MODEL_NAMESPACE:
+ return validateModelNamespace((ModelNamespace) value, diagnostics, context);
+ case AlfPackage.NAMESPACE_DEFINITION:
+ return validateNamespaceDefinition((NamespaceDefinition) value, diagnostics, context);
+ case AlfPackage.MEMBER_DEFINITION:
+ return validateMemberDefinition((MemberDefinition) value, diagnostics, context);
+ case AlfPackage.STEREOTYPE_ANNOTATION:
+ return validateStereotypeAnnotation((StereotypeAnnotation) value, diagnostics, context);
+ case AlfPackage.TAGGED_VALUE_LIST:
+ return validateTaggedValueList((TaggedValueList) value, diagnostics, context);
+ case AlfPackage.TAGGED_VALUE:
+ return validateTaggedValue((TaggedValue) value, diagnostics, context);
+ case AlfPackage.UNIT_DEFINITION:
+ return validateUnitDefinition((UnitDefinition) value, diagnostics, context);
+ case AlfPackage.IMPORT_REFERENCE:
+ return validateImportReference((ImportReference) value, diagnostics, context);
+ case AlfPackage.IMPORTED_MEMBER:
+ return validateImportedMember((ImportedMember) value, diagnostics, context);
+ case AlfPackage.ENUMERATION_LITERAL_NAME:
+ return validateEnumerationLiteralName((EnumerationLiteralName) value, diagnostics, context);
+ case AlfPackage.OPERATION_DEFINITION:
+ return validateOperationDefinition((OperationDefinition) value, diagnostics, context);
+ case AlfPackage.ASSOCIATION_DEFINITION:
+ return validateAssociationDefinition((AssociationDefinition) value, diagnostics, context);
+ case AlfPackage.CLASSIFIER_DEFINITION:
+ return validateClassifierDefinition((ClassifierDefinition) value, diagnostics, context);
+ case AlfPackage.CLASS_DEFINITION:
+ return validateClassDefinition((ClassDefinition) value, diagnostics, context);
+ case AlfPackage.TYPED_ELEMENT_DEFINITION:
+ return validateTypedElementDefinition((TypedElementDefinition) value, diagnostics, context);
+ case AlfPackage.DATA_TYPE_DEFINITION:
+ return validateDataTypeDefinition((DataTypeDefinition) value, diagnostics, context);
+ case AlfPackage.PACKAGE_DEFINITION:
+ return validatePackageDefinition((PackageDefinition) value, diagnostics, context);
+ case AlfPackage.PROPERTY_DEFINITION:
+ return validatePropertyDefinition((PropertyDefinition) value, diagnostics, context);
+ case AlfPackage.SIGNAL_DEFINITION:
+ return validateSignalDefinition((SignalDefinition) value, diagnostics, context);
+ case AlfPackage.ACTIVE_CLASS_DEFINITION:
+ return validateActiveClassDefinition((ActiveClassDefinition) value, diagnostics, context);
+ case AlfPackage.ACTIVITY_DEFINITION:
+ return validateActivityDefinition((ActivityDefinition) value, diagnostics, context);
+ case AlfPackage.ELEMENT_IMPORT_REFERENCE:
+ return validateElementImportReference((ElementImportReference) value, diagnostics, context);
+ case AlfPackage.SIGNAL_RECEPTION_DEFINITION:
+ return validateSignalReceptionDefinition((SignalReceptionDefinition) value, diagnostics, context);
+ case AlfPackage.ENUMERATION_DEFINITION:
+ return validateEnumerationDefinition((EnumerationDefinition) value, diagnostics, context);
+ case AlfPackage.PACKAGE_IMPORT_REFERENCE:
+ return validatePackageImportReference((PackageImportReference) value, diagnostics, context);
+ case AlfPackage.CLASSIFIER_TEMPLATE_PARAMETER:
+ return validateClassifierTemplateParameter((ClassifierTemplateParameter) value, diagnostics, context);
+ case AlfPackage.FORMAL_PARAMETER:
+ return validateFormalParameter((FormalParameter) value, diagnostics, context);
+ case AlfPackage.RECEPTION_DEFINITION:
+ return validateReceptionDefinition((ReceptionDefinition) value, diagnostics, context);
+ case AlfPackage.MEMBER:
+ return validateMember((Member) value, diagnostics, context);
+ case AlfPackage.ANNOTATED_STATEMENT:
+ return validateAnnotatedStatement((AnnotatedStatement) value, diagnostics, context);
+ case AlfPackage.BOUND_CLASSIFIER:
+ return validateBoundClassifier((BoundClassifier) value, diagnostics, context);
+ case AlfPackage.RETURN_PARAMETER:
+ return validateReturnParameter((ReturnParameter) value, diagnostics, context);
+ case AlfPackage.NON_RETURN_PARAMETER:
+ return validateNonReturnParameter((NonReturnParameter) value, diagnostics, context);
+ case AlfPackage.ANY_TYPE:
+ return validateAnyType((AnyType) value, diagnostics, context);
+ default:
+ return true;
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateAssignedSource(AssignedSource assignedSource, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return validate_EveryDefaultConstraint((EObject) assignedSource, diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateSyntaxElement(SyntaxElement syntaxElement, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return validate_EveryDefaultConstraint((EObject) syntaxElement, diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateElementReference(ElementReference elementReference, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return validate_EveryDefaultConstraint((EObject) elementReference, diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateInternalElementReference(InternalElementReference internalElementReference, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return validate_EveryDefaultConstraint((EObject) internalElementReference, diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateExternalElementReference(ExternalElementReference externalElementReference, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return validate_EveryDefaultConstraint((EObject) externalElementReference, diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateExternalEnumerationLiteralReference(ExternalEnumerationLiteralReference externalEnumerationLiteralReference, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return validate_EveryDefaultConstraint((EObject) externalEnumerationLiteralReference, diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateBoundElementReference(BoundElementReference boundElementReference, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return validate_EveryDefaultConstraint((EObject) boundElementReference, diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateDocumentedElement(DocumentedElement documentedElement, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return validate_EveryDefaultConstraint((EObject) documentedElement, diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateSequenceExpansionExpression(SequenceExpansionExpression sequenceExpansionExpression, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ if (!validate_NoCircularContainment((EObject) sequenceExpansionExpression, diagnostics, context))
+ return false;
+ boolean result = validate_EveryMultiplicityConforms((EObject) sequenceExpansionExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryDataValueConforms((EObject) sequenceExpansionExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryReferenceIsContained((EObject) sequenceExpansionExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryBidirectionalReferenceIsPaired((EObject) sequenceExpansionExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryProxyResolves((EObject) sequenceExpansionExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_UniqueID((EObject) sequenceExpansionExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryKeyUnique((EObject) sequenceExpansionExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryMapEntryUnique((EObject) sequenceExpansionExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateExpression_expressionAssignmentAfterDerivation(sequenceExpansionExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateExpression_expressionUniqueAssignments(sequenceExpansionExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateSequenceExpansionExpression_sequenceExpansionExpressionVariableSourceDerivation(sequenceExpansionExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateSequenceExpansionExpression_sequenceExpansionExpressionAssignmentsBeforePrimary(sequenceExpansionExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateSequenceExpansionExpression_sequenceExpansionExpressionAssignmentsBeforeArgument(sequenceExpansionExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateSequenceExpansionExpression_sequenceExpansionExpressionVariableName(sequenceExpansionExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateSequenceExpansionExpression_sequenceExpansionExpressionAssignmentsAfterArgument(sequenceExpansionExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateSequenceExpansionExpression_selectOrRejectExpressionTypeDerivation(sequenceExpansionExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateSequenceExpansionExpression_selectOrRejectExpressionLowerDerivation(sequenceExpansionExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateSequenceExpansionExpression_selectOrRejectExpressionUpperDerivation(sequenceExpansionExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateSequenceExpansionExpression_selectOrRejectExpressionArgument(sequenceExpansionExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateSequenceExpansionExpression_collectOrIterateExpressionTypeDerivation(sequenceExpansionExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateSequenceExpansionExpression_collectOrIterateExpressionLowerDerivation(sequenceExpansionExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateSequenceExpansionExpression_collectOrIterateExpressionUpperDerivation(sequenceExpansionExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateSequenceExpansionExpression_forAllOrExistsOrOneExpressionTypeDerivation(sequenceExpansionExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateSequenceExpansionExpression_forAllOrExistsOrOneExpressionLowerDerivation(sequenceExpansionExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateSequenceExpansionExpression_forAllOrExistsOrOneExpressionUpperDerivation(sequenceExpansionExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateSequenceExpansionExpression_forAllOrExistsOrOneExpressionArgument(sequenceExpansionExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateSequenceExpansionExpression_isUniqueExpressionTypeDerivation(sequenceExpansionExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateSequenceExpansionExpression_isUniqueExpressionLowerDerivation(sequenceExpansionExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateSequenceExpansionExpression_isUniqueExpressionUpperDerivation(sequenceExpansionExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateSequenceExpansionExpression_isUniqueExpressionExpressionArgument(sequenceExpansionExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateSequenceExpansionExpression_sequenceExpansionExpressionOperation(sequenceExpansionExpression, diagnostics, context);
+ return result;
+ }
+
+ /**
+ * Validates the sequenceExpansionExpressionVariableSourceDerivation constraint of '<em>Sequence Expansion Expression</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateSequenceExpansionExpression_sequenceExpansionExpressionVariableSourceDerivation(SequenceExpansionExpression sequenceExpansionExpression, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return sequenceExpansionExpression.sequenceExpansionExpressionVariableSourceDerivation(diagnostics, context);
+ }
+
+ /**
+ * Validates the sequenceExpansionExpressionAssignmentsBeforePrimary constraint of '<em>Sequence Expansion Expression</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateSequenceExpansionExpression_sequenceExpansionExpressionAssignmentsBeforePrimary(SequenceExpansionExpression sequenceExpansionExpression, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return sequenceExpansionExpression.sequenceExpansionExpressionAssignmentsBeforePrimary(diagnostics, context);
+ }
+
+ /**
+ * Validates the sequenceExpansionExpressionAssignmentsBeforeArgument constraint of '<em>Sequence Expansion Expression</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateSequenceExpansionExpression_sequenceExpansionExpressionAssignmentsBeforeArgument(SequenceExpansionExpression sequenceExpansionExpression, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return sequenceExpansionExpression.sequenceExpansionExpressionAssignmentsBeforeArgument(diagnostics, context);
+ }
+
+ /**
+ * Validates the sequenceExpansionExpressionVariableName constraint of '<em>Sequence Expansion Expression</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateSequenceExpansionExpression_sequenceExpansionExpressionVariableName(SequenceExpansionExpression sequenceExpansionExpression, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return sequenceExpansionExpression.sequenceExpansionExpressionVariableName(diagnostics, context);
+ }
+
+ /**
+ * Validates the sequenceExpansionExpressionAssignmentsAfterArgument constraint of '<em>Sequence Expansion Expression</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateSequenceExpansionExpression_sequenceExpansionExpressionAssignmentsAfterArgument(SequenceExpansionExpression sequenceExpansionExpression, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return sequenceExpansionExpression.sequenceExpansionExpressionAssignmentsAfterArgument(diagnostics, context);
+ }
+
+ /**
+ * Validates the selectOrRejectExpressionTypeDerivation constraint of '<em>Sequence Expansion Expression</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateSequenceExpansionExpression_selectOrRejectExpressionTypeDerivation(SequenceExpansionExpression sequenceExpansionExpression, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return sequenceExpansionExpression.selectOrRejectExpressionTypeDerivation(diagnostics, context);
+ }
+
+ /**
+ * Validates the selectOrRejectExpressionLowerDerivation constraint of '<em>Sequence Expansion Expression</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateSequenceExpansionExpression_selectOrRejectExpressionLowerDerivation(SequenceExpansionExpression sequenceExpansionExpression, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return sequenceExpansionExpression.selectOrRejectExpressionLowerDerivation(diagnostics, context);
+ }
+
+ /**
+ * Validates the selectOrRejectExpressionUpperDerivation constraint of '<em>Sequence Expansion Expression</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateSequenceExpansionExpression_selectOrRejectExpressionUpperDerivation(SequenceExpansionExpression sequenceExpansionExpression, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return sequenceExpansionExpression.selectOrRejectExpressionUpperDerivation(diagnostics, context);
+ }
+
+ /**
+ * Validates the selectOrRejectExpressionArgument constraint of '<em>Sequence Expansion Expression</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateSequenceExpansionExpression_selectOrRejectExpressionArgument(SequenceExpansionExpression sequenceExpansionExpression, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return sequenceExpansionExpression.selectOrRejectExpressionArgument(diagnostics, context);
+ }
+
+ /**
+ * Validates the collectOrIterateExpressionTypeDerivation constraint of '<em>Sequence Expansion Expression</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateSequenceExpansionExpression_collectOrIterateExpressionTypeDerivation(SequenceExpansionExpression sequenceExpansionExpression, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return sequenceExpansionExpression.collectOrIterateExpressionTypeDerivation(diagnostics, context);
+ }
+
+ /**
+ * Validates the collectOrIterateExpressionLowerDerivation constraint of '<em>Sequence Expansion Expression</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateSequenceExpansionExpression_collectOrIterateExpressionLowerDerivation(SequenceExpansionExpression sequenceExpansionExpression, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return sequenceExpansionExpression.collectOrIterateExpressionLowerDerivation(diagnostics, context);
+ }
+
+ /**
+ * Validates the collectOrIterateExpressionUpperDerivation constraint of '<em>Sequence Expansion Expression</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateSequenceExpansionExpression_collectOrIterateExpressionUpperDerivation(SequenceExpansionExpression sequenceExpansionExpression, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return sequenceExpansionExpression.collectOrIterateExpressionUpperDerivation(diagnostics, context);
+ }
+
+ /**
+ * Validates the forAllOrExistsOrOneExpressionTypeDerivation constraint of '<em>Sequence Expansion Expression</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateSequenceExpansionExpression_forAllOrExistsOrOneExpressionTypeDerivation(SequenceExpansionExpression sequenceExpansionExpression, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return sequenceExpansionExpression.forAllOrExistsOrOneExpressionTypeDerivation(diagnostics, context);
+ }
+
+ /**
+ * Validates the forAllOrExistsOrOneExpressionLowerDerivation constraint of '<em>Sequence Expansion Expression</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateSequenceExpansionExpression_forAllOrExistsOrOneExpressionLowerDerivation(SequenceExpansionExpression sequenceExpansionExpression, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return sequenceExpansionExpression.forAllOrExistsOrOneExpressionLowerDerivation(diagnostics, context);
+ }
+
+ /**
+ * Validates the forAllOrExistsOrOneExpressionUpperDerivation constraint of '<em>Sequence Expansion Expression</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateSequenceExpansionExpression_forAllOrExistsOrOneExpressionUpperDerivation(SequenceExpansionExpression sequenceExpansionExpression, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return sequenceExpansionExpression.forAllOrExistsOrOneExpressionUpperDerivation(diagnostics, context);
+ }
+
+ /**
+ * Validates the forAllOrExistsOrOneExpressionArgument constraint of '<em>Sequence Expansion Expression</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateSequenceExpansionExpression_forAllOrExistsOrOneExpressionArgument(SequenceExpansionExpression sequenceExpansionExpression, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return sequenceExpansionExpression.forAllOrExistsOrOneExpressionArgument(diagnostics, context);
+ }
+
+ /**
+ * Validates the isUniqueExpressionTypeDerivation constraint of '<em>Sequence Expansion Expression</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateSequenceExpansionExpression_isUniqueExpressionTypeDerivation(SequenceExpansionExpression sequenceExpansionExpression, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return sequenceExpansionExpression.isUniqueExpressionTypeDerivation(diagnostics, context);
+ }
+
+ /**
+ * Validates the isUniqueExpressionLowerDerivation constraint of '<em>Sequence Expansion Expression</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateSequenceExpansionExpression_isUniqueExpressionLowerDerivation(SequenceExpansionExpression sequenceExpansionExpression, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return sequenceExpansionExpression.isUniqueExpressionLowerDerivation(diagnostics, context);
+ }
+
+ /**
+ * Validates the isUniqueExpressionUpperDerivation constraint of '<em>Sequence Expansion Expression</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateSequenceExpansionExpression_isUniqueExpressionUpperDerivation(SequenceExpansionExpression sequenceExpansionExpression, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return sequenceExpansionExpression.isUniqueExpressionUpperDerivation(diagnostics, context);
+ }
+
+ /**
+ * Validates the isUniqueExpressionExpressionArgument constraint of '<em>Sequence Expansion Expression</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateSequenceExpansionExpression_isUniqueExpressionExpressionArgument(SequenceExpansionExpression sequenceExpansionExpression, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return sequenceExpansionExpression.isUniqueExpressionExpressionArgument(diagnostics, context);
+ }
+
+ /**
+ * Validates the sequenceExpansionExpressionOperation constraint of '<em>Sequence Expansion Expression</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateSequenceExpansionExpression_sequenceExpansionExpressionOperation(SequenceExpansionExpression sequenceExpansionExpression, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return sequenceExpansionExpression.sequenceExpansionExpressionOperation(diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateAssignableElement(AssignableElement assignableElement, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return validate_EveryDefaultConstraint((EObject) assignableElement, diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateAssignableElementReference(AssignableElementReference assignableElementReference, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return validate_EveryDefaultConstraint((EObject) assignableElementReference, diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateExpression(Expression expression, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ if (!validate_NoCircularContainment((EObject) expression, diagnostics, context))
+ return false;
+ boolean result = validate_EveryMultiplicityConforms((EObject) expression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryDataValueConforms((EObject) expression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryReferenceIsContained((EObject) expression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryBidirectionalReferenceIsPaired((EObject) expression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryProxyResolves((EObject) expression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_UniqueID((EObject) expression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryKeyUnique((EObject) expression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryMapEntryUnique((EObject) expression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateExpression_expressionAssignmentAfterDerivation(expression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateExpression_expressionUniqueAssignments(expression, diagnostics, context);
+ return result;
+ }
+
+ /**
+ * Validates the expressionAssignmentAfterDerivation constraint of '<em>Expression</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateExpression_expressionAssignmentAfterDerivation(Expression expression, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return expression.expressionAssignmentAfterDerivation(diagnostics, context);
+ }
+
+ /**
+ * Validates the expressionUniqueAssignments constraint of '<em>Expression</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateExpression_expressionUniqueAssignments(Expression expression, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return expression.expressionUniqueAssignments(diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateExtentOrExpression(ExtentOrExpression extentOrExpression, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ if (!validate_NoCircularContainment((EObject) extentOrExpression, diagnostics, context))
+ return false;
+ boolean result = validate_EveryMultiplicityConforms((EObject) extentOrExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryDataValueConforms((EObject) extentOrExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryReferenceIsContained((EObject) extentOrExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryBidirectionalReferenceIsPaired((EObject) extentOrExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryProxyResolves((EObject) extentOrExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_UniqueID((EObject) extentOrExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryKeyUnique((EObject) extentOrExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryMapEntryUnique((EObject) extentOrExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateExpression_expressionAssignmentAfterDerivation(extentOrExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateExpression_expressionUniqueAssignments(extentOrExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateExtentOrExpression_extentOrExpressionExpressionDerivation(extentOrExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateExtentOrExpression_extentOrExpressionExtentType(extentOrExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateExtentOrExpression_extentOrExpressionResolution(extentOrExpression, diagnostics, context);
+ return result;
+ }
+
+ /**
+ * Validates the extentOrExpressionExpressionDerivation constraint of '<em>Extent Or Expression</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateExtentOrExpression_extentOrExpressionExpressionDerivation(ExtentOrExpression extentOrExpression, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return extentOrExpression.extentOrExpressionExpressionDerivation(diagnostics, context);
+ }
+
+ /**
+ * Validates the extentOrExpressionExtentType constraint of '<em>Extent Or Expression</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateExtentOrExpression_extentOrExpressionExtentType(ExtentOrExpression extentOrExpression, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return extentOrExpression.extentOrExpressionExtentType(diagnostics, context);
+ }
+
+ /**
+ * Validates the extentOrExpressionResolution constraint of '<em>Extent Or Expression</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateExtentOrExpression_extentOrExpressionResolution(ExtentOrExpression extentOrExpression, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return extentOrExpression.extentOrExpressionResolution(diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateQualifiedName(QualifiedName qualifiedName, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ if (!validate_NoCircularContainment((EObject) qualifiedName, diagnostics, context))
+ return false;
+ boolean result = validate_EveryMultiplicityConforms((EObject) qualifiedName, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryDataValueConforms((EObject) qualifiedName, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryReferenceIsContained((EObject) qualifiedName, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryBidirectionalReferenceIsPaired((EObject) qualifiedName, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryProxyResolves((EObject) qualifiedName, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_UniqueID((EObject) qualifiedName, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryKeyUnique((EObject) qualifiedName, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryMapEntryUnique((EObject) qualifiedName, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateQualifiedName_qualifiedNameUnqualifiedNameDerivation(qualifiedName, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateQualifiedName_qualifiedNamePathNameDerivation(qualifiedName, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateQualifiedName_qualifiedNameIsFeatureReferenceDerivation(qualifiedName, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateQualifiedName_qualifiedNameQualificationDerivation(qualifiedName, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateQualifiedName_qualifiedNameDisambiguationDerivation(qualifiedName, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateQualifiedName_qualifiedNameReferentDerivation(qualifiedName, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateQualifiedName_qualifiedNameLocalName(qualifiedName, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateQualifiedName_qualifiedNameNonLocalUnqualifiedName(qualifiedName, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateQualifiedName_qualifiedNameQualifiedResolution(qualifiedName, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateQualifiedName_qualifiedNameTemplateBinding(qualifiedName, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateQualifiedName_qualifiedNameTemplateNameDerivation(qualifiedName, diagnostics, context);
+ return result;
+ }
+
+ /**
+ * Validates the qualifiedNameUnqualifiedNameDerivation constraint of '<em>Qualified Name</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateQualifiedName_qualifiedNameUnqualifiedNameDerivation(QualifiedName qualifiedName, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return qualifiedName.qualifiedNameUnqualifiedNameDerivation(diagnostics, context);
+ }
+
+ /**
+ * Validates the qualifiedNamePathNameDerivation constraint of '<em>Qualified Name</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateQualifiedName_qualifiedNamePathNameDerivation(QualifiedName qualifiedName, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return qualifiedName.qualifiedNamePathNameDerivation(diagnostics, context);
+ }
+
+ /**
+ * Validates the qualifiedNameIsFeatureReferenceDerivation constraint of '<em>Qualified Name</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateQualifiedName_qualifiedNameIsFeatureReferenceDerivation(QualifiedName qualifiedName, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return qualifiedName.qualifiedNameIsFeatureReferenceDerivation(diagnostics, context);
+ }
+
+ /**
+ * Validates the qualifiedNameQualificationDerivation constraint of '<em>Qualified Name</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateQualifiedName_qualifiedNameQualificationDerivation(QualifiedName qualifiedName, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return qualifiedName.qualifiedNameQualificationDerivation(diagnostics, context);
+ }
+
+ /**
+ * Validates the qualifiedNameDisambiguationDerivation constraint of '<em>Qualified Name</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateQualifiedName_qualifiedNameDisambiguationDerivation(QualifiedName qualifiedName, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return qualifiedName.qualifiedNameDisambiguationDerivation(diagnostics, context);
+ }
+
+ /**
+ * Validates the qualifiedNameReferentDerivation constraint of '<em>Qualified Name</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateQualifiedName_qualifiedNameReferentDerivation(QualifiedName qualifiedName, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return qualifiedName.qualifiedNameReferentDerivation(diagnostics, context);
+ }
+
+ /**
+ * Validates the qualifiedNameLocalName constraint of '<em>Qualified Name</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateQualifiedName_qualifiedNameLocalName(QualifiedName qualifiedName, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return qualifiedName.qualifiedNameLocalName(diagnostics, context);
+ }
+
+ /**
+ * Validates the qualifiedNameNonLocalUnqualifiedName constraint of '<em>Qualified Name</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateQualifiedName_qualifiedNameNonLocalUnqualifiedName(QualifiedName qualifiedName, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return qualifiedName.qualifiedNameNonLocalUnqualifiedName(diagnostics, context);
+ }
+
+ /**
+ * Validates the qualifiedNameQualifiedResolution constraint of '<em>Qualified Name</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateQualifiedName_qualifiedNameQualifiedResolution(QualifiedName qualifiedName, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return qualifiedName.qualifiedNameQualifiedResolution(diagnostics, context);
+ }
+
+ /**
+ * Validates the qualifiedNameTemplateBinding constraint of '<em>Qualified Name</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateQualifiedName_qualifiedNameTemplateBinding(QualifiedName qualifiedName, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return qualifiedName.qualifiedNameTemplateBinding(diagnostics, context);
+ }
+
+ /**
+ * Validates the qualifiedNameTemplateNameDerivation constraint of '<em>Qualified Name</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateQualifiedName_qualifiedNameTemplateNameDerivation(QualifiedName qualifiedName, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return qualifiedName.qualifiedNameTemplateNameDerivation(diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateFeatureReference(FeatureReference featureReference, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ if (!validate_NoCircularContainment((EObject) featureReference, diagnostics, context))
+ return false;
+ boolean result = validate_EveryMultiplicityConforms((EObject) featureReference, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryDataValueConforms((EObject) featureReference, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryReferenceIsContained((EObject) featureReference, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryBidirectionalReferenceIsPaired((EObject) featureReference, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryProxyResolves((EObject) featureReference, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_UniqueID((EObject) featureReference, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryKeyUnique((EObject) featureReference, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryMapEntryUnique((EObject) featureReference, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateExpression_expressionAssignmentAfterDerivation(featureReference, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateExpression_expressionUniqueAssignments(featureReference, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateFeatureReference_featureReferenceReferentDerivation(featureReference, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateFeatureReference_featureReferenceTargetType(featureReference, diagnostics, context);
+ return result;
+ }
+
+ /**
+ * Validates the featureReferenceReferentDerivation constraint of '<em>Feature Reference</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateFeatureReference_featureReferenceReferentDerivation(FeatureReference featureReference, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return featureReference.featureReferenceReferentDerivation(diagnostics, context);
+ }
+
+ /**
+ * Validates the featureReferenceTargetType constraint of '<em>Feature Reference</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateFeatureReference_featureReferenceTargetType(FeatureReference featureReference, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return featureReference.featureReferenceTargetType(diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateNameBinding(NameBinding nameBinding, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return validate_EveryDefaultConstraint((EObject) nameBinding, diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateTemplateBinding(TemplateBinding templateBinding, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return validate_EveryDefaultConstraint((EObject) templateBinding, diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateNamedTemplateBinding(NamedTemplateBinding namedTemplateBinding, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return validate_EveryDefaultConstraint((EObject) namedTemplateBinding, diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateTemplateParameterSubstitution(TemplateParameterSubstitution templateParameterSubstitution, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return validate_EveryDefaultConstraint((EObject) templateParameterSubstitution, diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateNumericUnaryExpression(NumericUnaryExpression numericUnaryExpression, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ if (!validate_NoCircularContainment((EObject) numericUnaryExpression, diagnostics, context))
+ return false;
+ boolean result = validate_EveryMultiplicityConforms((EObject) numericUnaryExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryDataValueConforms((EObject) numericUnaryExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryReferenceIsContained((EObject) numericUnaryExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryBidirectionalReferenceIsPaired((EObject) numericUnaryExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryProxyResolves((EObject) numericUnaryExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_UniqueID((EObject) numericUnaryExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryKeyUnique((EObject) numericUnaryExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryMapEntryUnique((EObject) numericUnaryExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateExpression_expressionAssignmentAfterDerivation(numericUnaryExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateExpression_expressionUniqueAssignments(numericUnaryExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateUnaryExpression_unaryExpressionAssignmentsBefore(numericUnaryExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateNumericUnaryExpression_numericUnaryExpressionTypeDerivation(numericUnaryExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateNumericUnaryExpression_numericUnaryExpressionLowerDerivation(numericUnaryExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateNumericUnaryExpression_numericUnaryExpressionUpperDerivation(numericUnaryExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateNumericUnaryExpression_numericUnaryExpressionOperand(numericUnaryExpression, diagnostics, context);
+ return result;
+ }
+
+ /**
+ * Validates the numericUnaryExpressionTypeDerivation constraint of '<em>Numeric Unary Expression</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateNumericUnaryExpression_numericUnaryExpressionTypeDerivation(NumericUnaryExpression numericUnaryExpression, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return numericUnaryExpression.numericUnaryExpressionTypeDerivation(diagnostics, context);
+ }
+
+ /**
+ * Validates the numericUnaryExpressionLowerDerivation constraint of '<em>Numeric Unary Expression</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateNumericUnaryExpression_numericUnaryExpressionLowerDerivation(NumericUnaryExpression numericUnaryExpression, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return numericUnaryExpression.numericUnaryExpressionLowerDerivation(diagnostics, context);
+ }
+
+ /**
+ * Validates the numericUnaryExpressionUpperDerivation constraint of '<em>Numeric Unary Expression</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateNumericUnaryExpression_numericUnaryExpressionUpperDerivation(NumericUnaryExpression numericUnaryExpression, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return numericUnaryExpression.numericUnaryExpressionUpperDerivation(diagnostics, context);
+ }
+
+ /**
+ * Validates the numericUnaryExpressionOperand constraint of '<em>Numeric Unary Expression</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateNumericUnaryExpression_numericUnaryExpressionOperand(NumericUnaryExpression numericUnaryExpression, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return numericUnaryExpression.numericUnaryExpressionOperand(diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateUnaryExpression(UnaryExpression unaryExpression, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ if (!validate_NoCircularContainment((EObject) unaryExpression, diagnostics, context))
+ return false;
+ boolean result = validate_EveryMultiplicityConforms((EObject) unaryExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryDataValueConforms((EObject) unaryExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryReferenceIsContained((EObject) unaryExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryBidirectionalReferenceIsPaired((EObject) unaryExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryProxyResolves((EObject) unaryExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_UniqueID((EObject) unaryExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryKeyUnique((EObject) unaryExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryMapEntryUnique((EObject) unaryExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateExpression_expressionAssignmentAfterDerivation(unaryExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateExpression_expressionUniqueAssignments(unaryExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateUnaryExpression_unaryExpressionAssignmentsBefore(unaryExpression, diagnostics, context);
+ return result;
+ }
+
+ /**
+ * Validates the unaryExpressionAssignmentsBefore constraint of '<em>Unary Expression</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateUnaryExpression_unaryExpressionAssignmentsBefore(UnaryExpression unaryExpression, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return unaryExpression.unaryExpressionAssignmentsBefore(diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateForAllOrExistsOrOneExpression(ForAllOrExistsOrOneExpression forAllOrExistsOrOneExpression, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ if (!validate_NoCircularContainment((EObject) forAllOrExistsOrOneExpression, diagnostics, context))
+ return false;
+ boolean result = validate_EveryMultiplicityConforms((EObject) forAllOrExistsOrOneExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryDataValueConforms((EObject) forAllOrExistsOrOneExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryReferenceIsContained((EObject) forAllOrExistsOrOneExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryBidirectionalReferenceIsPaired((EObject) forAllOrExistsOrOneExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryProxyResolves((EObject) forAllOrExistsOrOneExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_UniqueID((EObject) forAllOrExistsOrOneExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryKeyUnique((EObject) forAllOrExistsOrOneExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryMapEntryUnique((EObject) forAllOrExistsOrOneExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateExpression_expressionAssignmentAfterDerivation(forAllOrExistsOrOneExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateExpression_expressionUniqueAssignments(forAllOrExistsOrOneExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateSequenceExpansionExpression_sequenceExpansionExpressionVariableSourceDerivation(forAllOrExistsOrOneExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateSequenceExpansionExpression_sequenceExpansionExpressionAssignmentsBeforePrimary(forAllOrExistsOrOneExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateSequenceExpansionExpression_sequenceExpansionExpressionAssignmentsBeforeArgument(forAllOrExistsOrOneExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateSequenceExpansionExpression_sequenceExpansionExpressionVariableName(forAllOrExistsOrOneExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateSequenceExpansionExpression_sequenceExpansionExpressionAssignmentsAfterArgument(forAllOrExistsOrOneExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateSequenceExpansionExpression_selectOrRejectExpressionTypeDerivation(forAllOrExistsOrOneExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateSequenceExpansionExpression_selectOrRejectExpressionLowerDerivation(forAllOrExistsOrOneExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateSequenceExpansionExpression_selectOrRejectExpressionUpperDerivation(forAllOrExistsOrOneExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateSequenceExpansionExpression_selectOrRejectExpressionArgument(forAllOrExistsOrOneExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateSequenceExpansionExpression_collectOrIterateExpressionTypeDerivation(forAllOrExistsOrOneExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateSequenceExpansionExpression_collectOrIterateExpressionLowerDerivation(forAllOrExistsOrOneExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateSequenceExpansionExpression_collectOrIterateExpressionUpperDerivation(forAllOrExistsOrOneExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateForAllOrExistsOrOneExpression_forAllOrExistsOrOneExpressionTypeDerivation(forAllOrExistsOrOneExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateForAllOrExistsOrOneExpression_forAllOrExistsOrOneExpressionLowerDerivation(forAllOrExistsOrOneExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateForAllOrExistsOrOneExpression_forAllOrExistsOrOneExpressionUpperDerivation(forAllOrExistsOrOneExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateForAllOrExistsOrOneExpression_forAllOrExistsOrOneExpressionArgument(forAllOrExistsOrOneExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateSequenceExpansionExpression_isUniqueExpressionTypeDerivation(forAllOrExistsOrOneExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateSequenceExpansionExpression_isUniqueExpressionLowerDerivation(forAllOrExistsOrOneExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateSequenceExpansionExpression_isUniqueExpressionUpperDerivation(forAllOrExistsOrOneExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateSequenceExpansionExpression_isUniqueExpressionExpressionArgument(forAllOrExistsOrOneExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateSequenceExpansionExpression_sequenceExpansionExpressionOperation(forAllOrExistsOrOneExpression, diagnostics, context);
+ return result;
+ }
+
+ /**
+ * Validates the forAllOrExistsOrOneExpressionTypeDerivation constraint of '<em>For All Or Exists Or One Expression</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateForAllOrExistsOrOneExpression_forAllOrExistsOrOneExpressionTypeDerivation(ForAllOrExistsOrOneExpression forAllOrExistsOrOneExpression, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return forAllOrExistsOrOneExpression.forAllOrExistsOrOneExpressionTypeDerivation(diagnostics, context);
+ }
+
+ /**
+ * Validates the forAllOrExistsOrOneExpressionLowerDerivation constraint of '<em>For All Or Exists Or One Expression</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateForAllOrExistsOrOneExpression_forAllOrExistsOrOneExpressionLowerDerivation(ForAllOrExistsOrOneExpression forAllOrExistsOrOneExpression, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return forAllOrExistsOrOneExpression.forAllOrExistsOrOneExpressionLowerDerivation(diagnostics, context);
+ }
+
+ /**
+ * Validates the forAllOrExistsOrOneExpressionUpperDerivation constraint of '<em>For All Or Exists Or One Expression</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateForAllOrExistsOrOneExpression_forAllOrExistsOrOneExpressionUpperDerivation(ForAllOrExistsOrOneExpression forAllOrExistsOrOneExpression, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return forAllOrExistsOrOneExpression.forAllOrExistsOrOneExpressionUpperDerivation(diagnostics, context);
+ }
+
+ /**
+ * Validates the forAllOrExistsOrOneExpressionArgument constraint of '<em>For All Or Exists Or One Expression</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateForAllOrExistsOrOneExpression_forAllOrExistsOrOneExpressionArgument(ForAllOrExistsOrOneExpression forAllOrExistsOrOneExpression, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return forAllOrExistsOrOneExpression.forAllOrExistsOrOneExpressionArgument(diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateIsolationExpression(IsolationExpression isolationExpression, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ if (!validate_NoCircularContainment((EObject) isolationExpression, diagnostics, context))
+ return false;
+ boolean result = validate_EveryMultiplicityConforms((EObject) isolationExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryDataValueConforms((EObject) isolationExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryReferenceIsContained((EObject) isolationExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryBidirectionalReferenceIsPaired((EObject) isolationExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryProxyResolves((EObject) isolationExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_UniqueID((EObject) isolationExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryKeyUnique((EObject) isolationExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryMapEntryUnique((EObject) isolationExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateExpression_expressionAssignmentAfterDerivation(isolationExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateExpression_expressionUniqueAssignments(isolationExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateUnaryExpression_unaryExpressionAssignmentsBefore(isolationExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateIsolationExpression_isolationExpressionTypeDerivation(isolationExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateIsolationExpression_isolationExpressionLowerDerivation(isolationExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateIsolationExpression_isolationExpressionUpperDerivation(isolationExpression, diagnostics, context);
+ return result;
+ }
+
+ /**
+ * Validates the isolationExpressionTypeDerivation constraint of '<em>Isolation Expression</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateIsolationExpression_isolationExpressionTypeDerivation(IsolationExpression isolationExpression, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return isolationExpression.isolationExpressionTypeDerivation(diagnostics, context);
+ }
+
+ /**
+ * Validates the isolationExpressionLowerDerivation constraint of '<em>Isolation Expression</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateIsolationExpression_isolationExpressionLowerDerivation(IsolationExpression isolationExpression, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return isolationExpression.isolationExpressionLowerDerivation(diagnostics, context);
+ }
+
+ /**
+ * Validates the isolationExpressionUpperDerivation constraint of '<em>Isolation Expression</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateIsolationExpression_isolationExpressionUpperDerivation(IsolationExpression isolationExpression, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return isolationExpression.isolationExpressionUpperDerivation(diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateBinaryExpression(BinaryExpression binaryExpression, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ if (!validate_NoCircularContainment((EObject) binaryExpression, diagnostics, context))
+ return false;
+ boolean result = validate_EveryMultiplicityConforms((EObject) binaryExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryDataValueConforms((EObject) binaryExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryReferenceIsContained((EObject) binaryExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryBidirectionalReferenceIsPaired((EObject) binaryExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryProxyResolves((EObject) binaryExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_UniqueID((EObject) binaryExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryKeyUnique((EObject) binaryExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryMapEntryUnique((EObject) binaryExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateExpression_expressionAssignmentAfterDerivation(binaryExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateExpression_expressionUniqueAssignments(binaryExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateBinaryExpression_binaryExpressionOperandMultiplicity(binaryExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateBinaryExpression_binaryExpressionOperandAssignments(binaryExpression, diagnostics, context);
+ return result;
+ }
+
+ /**
+ * Validates the binaryExpressionOperandMultiplicity constraint of '<em>Binary Expression</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateBinaryExpression_binaryExpressionOperandMultiplicity(BinaryExpression binaryExpression, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return binaryExpression.binaryExpressionOperandMultiplicity(diagnostics, context);
+ }
+
+ /**
+ * Validates the binaryExpressionOperandAssignments constraint of '<em>Binary Expression</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateBinaryExpression_binaryExpressionOperandAssignments(BinaryExpression binaryExpression, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return binaryExpression.binaryExpressionOperandAssignments(diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateBooleanUnaryExpression(BooleanUnaryExpression booleanUnaryExpression, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ if (!validate_NoCircularContainment((EObject) booleanUnaryExpression, diagnostics, context))
+ return false;
+ boolean result = validate_EveryMultiplicityConforms((EObject) booleanUnaryExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryDataValueConforms((EObject) booleanUnaryExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryReferenceIsContained((EObject) booleanUnaryExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryBidirectionalReferenceIsPaired((EObject) booleanUnaryExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryProxyResolves((EObject) booleanUnaryExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_UniqueID((EObject) booleanUnaryExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryKeyUnique((EObject) booleanUnaryExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryMapEntryUnique((EObject) booleanUnaryExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateExpression_expressionAssignmentAfterDerivation(booleanUnaryExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateExpression_expressionUniqueAssignments(booleanUnaryExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateUnaryExpression_unaryExpressionAssignmentsBefore(booleanUnaryExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateBooleanUnaryExpression_booleanUnaryExpressionTypeDerivation(booleanUnaryExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateBooleanUnaryExpression_booleanUnaryExpressionLowerDerivation(booleanUnaryExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateBooleanUnaryExpression_booleanUnaryExpressionUpperDerivation(booleanUnaryExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateBooleanUnaryExpression_booleanUnaryExpressionOperand(booleanUnaryExpression, diagnostics, context);
+ return result;
+ }
+
+ /**
+ * Validates the booleanUnaryExpressionTypeDerivation constraint of '<em>Boolean Unary Expression</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateBooleanUnaryExpression_booleanUnaryExpressionTypeDerivation(BooleanUnaryExpression booleanUnaryExpression, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return booleanUnaryExpression.booleanUnaryExpressionTypeDerivation(diagnostics, context);
+ }
+
+ /**
+ * Validates the booleanUnaryExpressionLowerDerivation constraint of '<em>Boolean Unary Expression</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateBooleanUnaryExpression_booleanUnaryExpressionLowerDerivation(BooleanUnaryExpression booleanUnaryExpression, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return booleanUnaryExpression.booleanUnaryExpressionLowerDerivation(diagnostics, context);
+ }
+
+ /**
+ * Validates the booleanUnaryExpressionUpperDerivation constraint of '<em>Boolean Unary Expression</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateBooleanUnaryExpression_booleanUnaryExpressionUpperDerivation(BooleanUnaryExpression booleanUnaryExpression, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return booleanUnaryExpression.booleanUnaryExpressionUpperDerivation(diagnostics, context);
+ }
+
+ /**
+ * Validates the booleanUnaryExpressionOperand constraint of '<em>Boolean Unary Expression</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateBooleanUnaryExpression_booleanUnaryExpressionOperand(BooleanUnaryExpression booleanUnaryExpression, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return booleanUnaryExpression.booleanUnaryExpressionOperand(diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateCastExpression(CastExpression castExpression, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ if (!validate_NoCircularContainment((EObject) castExpression, diagnostics, context))
+ return false;
+ boolean result = validate_EveryMultiplicityConforms((EObject) castExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryDataValueConforms((EObject) castExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryReferenceIsContained((EObject) castExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryBidirectionalReferenceIsPaired((EObject) castExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryProxyResolves((EObject) castExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_UniqueID((EObject) castExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryKeyUnique((EObject) castExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryMapEntryUnique((EObject) castExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateExpression_expressionAssignmentAfterDerivation(castExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateExpression_expressionUniqueAssignments(castExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateCastExpression_castExpressionTypeDerivation(castExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateCastExpression_castExpressionLowerDerivation(castExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateCastExpression_castExpressionUpperDerivation(castExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateCastExpression_castExpressionTypeResolution(castExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateCastExpression_castExpressionAssignmentsBefore(castExpression, diagnostics, context);
+ return result;
+ }
+
+ /**
+ * Validates the castExpressionTypeDerivation constraint of '<em>Cast Expression</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateCastExpression_castExpressionTypeDerivation(CastExpression castExpression, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return castExpression.castExpressionTypeDerivation(diagnostics, context);
+ }
+
+ /**
+ * Validates the castExpressionLowerDerivation constraint of '<em>Cast Expression</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateCastExpression_castExpressionLowerDerivation(CastExpression castExpression, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return castExpression.castExpressionLowerDerivation(diagnostics, context);
+ }
+
+ /**
+ * Validates the castExpressionUpperDerivation constraint of '<em>Cast Expression</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateCastExpression_castExpressionUpperDerivation(CastExpression castExpression, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return castExpression.castExpressionUpperDerivation(diagnostics, context);
+ }
+
+ /**
+ * Validates the castExpressionTypeResolution constraint of '<em>Cast Expression</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateCastExpression_castExpressionTypeResolution(CastExpression castExpression, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return castExpression.castExpressionTypeResolution(diagnostics, context);
+ }
+
+ /**
+ * Validates the castExpressionAssignmentsBefore constraint of '<em>Cast Expression</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateCastExpression_castExpressionAssignmentsBefore(CastExpression castExpression, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return castExpression.castExpressionAssignmentsBefore(diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validatePositionalTuple(PositionalTuple positionalTuple, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ if (!validate_NoCircularContainment((EObject) positionalTuple, diagnostics, context))
+ return false;
+ boolean result = validate_EveryMultiplicityConforms((EObject) positionalTuple, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryDataValueConforms((EObject) positionalTuple, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryReferenceIsContained((EObject) positionalTuple, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryBidirectionalReferenceIsPaired((EObject) positionalTuple, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryProxyResolves((EObject) positionalTuple, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_UniqueID((EObject) positionalTuple, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryKeyUnique((EObject) positionalTuple, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryMapEntryUnique((EObject) positionalTuple, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateTuple_tupleInputDerivation(positionalTuple, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateTuple_tupleOutputDerivation(positionalTuple, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateTuple_tupleNullInputs(positionalTuple, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateTuple_tupleOutputs(positionalTuple, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateTuple_tupleAssignmentsBefore(positionalTuple, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateTuple_tupleAssignmentsAfter(positionalTuple, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validatePositionalTuple_positionalTupleArguments(positionalTuple, diagnostics, context);
+ return result;
+ }
+
+ /**
+ * Validates the positionalTupleArguments constraint of '<em>Positional Tuple</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validatePositionalTuple_positionalTupleArguments(PositionalTuple positionalTuple, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return positionalTuple.positionalTupleArguments(diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateTuple(Tuple tuple, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ if (!validate_NoCircularContainment((EObject) tuple, diagnostics, context))
+ return false;
+ boolean result = validate_EveryMultiplicityConforms((EObject) tuple, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryDataValueConforms((EObject) tuple, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryReferenceIsContained((EObject) tuple, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryBidirectionalReferenceIsPaired((EObject) tuple, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryProxyResolves((EObject) tuple, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_UniqueID((EObject) tuple, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryKeyUnique((EObject) tuple, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryMapEntryUnique((EObject) tuple, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateTuple_tupleInputDerivation(tuple, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateTuple_tupleOutputDerivation(tuple, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateTuple_tupleNullInputs(tuple, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateTuple_tupleOutputs(tuple, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateTuple_tupleAssignmentsBefore(tuple, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateTuple_tupleAssignmentsAfter(tuple, diagnostics, context);
+ return result;
+ }
+
+ /**
+ * Validates the tupleInputDerivation constraint of '<em>Tuple</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateTuple_tupleInputDerivation(Tuple tuple, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return tuple.tupleInputDerivation(diagnostics, context);
+ }
+
+ /**
+ * Validates the tupleOutputDerivation constraint of '<em>Tuple</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateTuple_tupleOutputDerivation(Tuple tuple, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return tuple.tupleOutputDerivation(diagnostics, context);
+ }
+
+ /**
+ * Validates the tupleNullInputs constraint of '<em>Tuple</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateTuple_tupleNullInputs(Tuple tuple, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return tuple.tupleNullInputs(diagnostics, context);
+ }
+
+ /**
+ * Validates the tupleOutputs constraint of '<em>Tuple</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateTuple_tupleOutputs(Tuple tuple, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return tuple.tupleOutputs(diagnostics, context);
+ }
+
+ /**
+ * Validates the tupleAssignmentsBefore constraint of '<em>Tuple</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateTuple_tupleAssignmentsBefore(Tuple tuple, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return tuple.tupleAssignmentsBefore(diagnostics, context);
+ }
+
+ /**
+ * Validates the tupleAssignmentsAfter constraint of '<em>Tuple</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateTuple_tupleAssignmentsAfter(Tuple tuple, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return tuple.tupleAssignmentsAfter(diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateNamedExpression(NamedExpression namedExpression, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return validate_EveryDefaultConstraint((EObject) namedExpression, diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateInputNamedExpression(InputNamedExpression inputNamedExpression, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ if (!validate_NoCircularContainment((EObject) inputNamedExpression, diagnostics, context))
+ return false;
+ boolean result = validate_EveryMultiplicityConforms((EObject) inputNamedExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryDataValueConforms((EObject) inputNamedExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryReferenceIsContained((EObject) inputNamedExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryBidirectionalReferenceIsPaired((EObject) inputNamedExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryProxyResolves((EObject) inputNamedExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_UniqueID((EObject) inputNamedExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryKeyUnique((EObject) inputNamedExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryMapEntryUnique((EObject) inputNamedExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateInputNamedExpression_namedExpressionIsCollectionConversionDerivation(inputNamedExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateInputNamedExpression_namedExpressionIsBitStringConversionDerivation(inputNamedExpression, diagnostics, context);
+ return result;
+ }
+
+ /**
+ * Validates the namedExpressionIsCollectionConversionDerivation constraint of '<em>Input Named Expression</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateInputNamedExpression_namedExpressionIsCollectionConversionDerivation(InputNamedExpression inputNamedExpression, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return inputNamedExpression.namedExpressionIsCollectionConversionDerivation(diagnostics, context);
+ }
+
+ /**
+ * Validates the namedExpressionIsBitStringConversionDerivation constraint of '<em>Input Named Expression</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateInputNamedExpression_namedExpressionIsBitStringConversionDerivation(InputNamedExpression inputNamedExpression, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return inputNamedExpression.namedExpressionIsBitStringConversionDerivation(diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateInvocationExpression(InvocationExpression invocationExpression, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ if (!validate_NoCircularContainment((EObject) invocationExpression, diagnostics, context))
+ return false;
+ boolean result = validate_EveryMultiplicityConforms((EObject) invocationExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryDataValueConforms((EObject) invocationExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryReferenceIsContained((EObject) invocationExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryBidirectionalReferenceIsPaired((EObject) invocationExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryProxyResolves((EObject) invocationExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_UniqueID((EObject) invocationExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryKeyUnique((EObject) invocationExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryMapEntryUnique((EObject) invocationExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateExpression_expressionAssignmentAfterDerivation(invocationExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateExpression_expressionUniqueAssignments(invocationExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateInvocationExpression_invocationExpressionIsBehaviorDerivation(invocationExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateInvocationExpression_invocationExpressionIsAssociationEndDerivation(invocationExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateInvocationExpression_invocationExpressionIsOperationDerivation(invocationExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateInvocationExpression_invocationExpressionIsDestructorDerivation(invocationExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateInvocationExpression_invocationExpressionIsImplicitDerivation(invocationExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateInvocationExpression_invocationExpressionIsSignalDerivation(invocationExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateInvocationExpression_invocationExpressionParameterDerivation(invocationExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateInvocationExpression_invocationExpressionTypeDerivation(invocationExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateInvocationExpression_invocationExpressionUpperDerivation(invocationExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateInvocationExpression_invocationExpressionLowerDerivation(invocationExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateInvocationExpression_invocationExpressionAssignmentsBefore(invocationExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateInvocationExpression_invocationExpressionTemplateParameters(invocationExpression, diagnostics, context);
+ return result;
+ }
+
+ /**
+ * Validates the invocationExpressionIsBehaviorDerivation constraint of '<em>Invocation Expression</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateInvocationExpression_invocationExpressionIsBehaviorDerivation(InvocationExpression invocationExpression, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return invocationExpression.invocationExpressionIsBehaviorDerivation(diagnostics, context);
+ }
+
+ /**
+ * Validates the invocationExpressionIsAssociationEndDerivation constraint of '<em>Invocation Expression</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateInvocationExpression_invocationExpressionIsAssociationEndDerivation(InvocationExpression invocationExpression, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return invocationExpression.invocationExpressionIsAssociationEndDerivation(diagnostics, context);
+ }
+
+ /**
+ * Validates the invocationExpressionIsOperationDerivation constraint of '<em>Invocation Expression</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateInvocationExpression_invocationExpressionIsOperationDerivation(InvocationExpression invocationExpression, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return invocationExpression.invocationExpressionIsOperationDerivation(diagnostics, context);
+ }
+
+ /**
+ * Validates the invocationExpressionIsDestructorDerivation constraint of '<em>Invocation Expression</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateInvocationExpression_invocationExpressionIsDestructorDerivation(InvocationExpression invocationExpression, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return invocationExpression.invocationExpressionIsDestructorDerivation(diagnostics, context);
+ }
+
+ /**
+ * Validates the invocationExpressionIsImplicitDerivation constraint of '<em>Invocation Expression</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateInvocationExpression_invocationExpressionIsImplicitDerivation(InvocationExpression invocationExpression, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return invocationExpression.invocationExpressionIsImplicitDerivation(diagnostics, context);
+ }
+
+ /**
+ * Validates the invocationExpressionIsSignalDerivation constraint of '<em>Invocation Expression</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateInvocationExpression_invocationExpressionIsSignalDerivation(InvocationExpression invocationExpression, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return invocationExpression.invocationExpressionIsSignalDerivation(diagnostics, context);
+ }
+
+ /**
+ * Validates the invocationExpressionParameterDerivation constraint of '<em>Invocation Expression</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateInvocationExpression_invocationExpressionParameterDerivation(InvocationExpression invocationExpression, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return invocationExpression.invocationExpressionParameterDerivation(diagnostics, context);
+ }
+
+ /**
+ * Validates the invocationExpressionTypeDerivation constraint of '<em>Invocation Expression</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateInvocationExpression_invocationExpressionTypeDerivation(InvocationExpression invocationExpression, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return invocationExpression.invocationExpressionTypeDerivation(diagnostics, context);
+ }
+
+ /**
+ * Validates the invocationExpressionUpperDerivation constraint of '<em>Invocation Expression</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateInvocationExpression_invocationExpressionUpperDerivation(InvocationExpression invocationExpression, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return invocationExpression.invocationExpressionUpperDerivation(diagnostics, context);
+ }
+
+ /**
+ * Validates the invocationExpressionLowerDerivation constraint of '<em>Invocation Expression</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateInvocationExpression_invocationExpressionLowerDerivation(InvocationExpression invocationExpression, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return invocationExpression.invocationExpressionLowerDerivation(diagnostics, context);
+ }
+
+ /**
+ * Validates the invocationExpressionAssignmentsBefore constraint of '<em>Invocation Expression</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateInvocationExpression_invocationExpressionAssignmentsBefore(InvocationExpression invocationExpression, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return invocationExpression.invocationExpressionAssignmentsBefore(diagnostics, context);
+ }
+
+ /**
+ * Validates the invocationExpressionTemplateParameters constraint of '<em>Invocation Expression</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateInvocationExpression_invocationExpressionTemplateParameters(InvocationExpression invocationExpression, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return invocationExpression.invocationExpressionTemplateParameters(diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateOutputNamedExpression(OutputNamedExpression outputNamedExpression, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ if (!validate_NoCircularContainment((EObject) outputNamedExpression, diagnostics, context))
+ return false;
+ boolean result = validate_EveryMultiplicityConforms((EObject) outputNamedExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryDataValueConforms((EObject) outputNamedExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryReferenceIsContained((EObject) outputNamedExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryBidirectionalReferenceIsPaired((EObject) outputNamedExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryProxyResolves((EObject) outputNamedExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_UniqueID((EObject) outputNamedExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryKeyUnique((EObject) outputNamedExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryMapEntryUnique((EObject) outputNamedExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateInputNamedExpression_namedExpressionIsCollectionConversionDerivation(outputNamedExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateInputNamedExpression_namedExpressionIsBitStringConversionDerivation(outputNamedExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateOutputNamedExpression_outputNamedExpressionLeftHandSideDerivation(outputNamedExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateOutputNamedExpression_outputNamedExpressionForm(outputNamedExpression, diagnostics, context);
+ return result;
+ }
+
+ /**
+ * Validates the outputNamedExpressionLeftHandSideDerivation constraint of '<em>Output Named Expression</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateOutputNamedExpression_outputNamedExpressionLeftHandSideDerivation(OutputNamedExpression outputNamedExpression, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return outputNamedExpression.outputNamedExpressionLeftHandSideDerivation(diagnostics, context);
+ }
+
+ /**
+ * Validates the outputNamedExpressionForm constraint of '<em>Output Named Expression</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateOutputNamedExpression_outputNamedExpressionForm(OutputNamedExpression outputNamedExpression, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return outputNamedExpression.outputNamedExpressionForm(diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateLeftHandSide(LeftHandSide leftHandSide, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ if (!validate_NoCircularContainment((EObject) leftHandSide, diagnostics, context))
+ return false;
+ boolean result = validate_EveryMultiplicityConforms((EObject) leftHandSide, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryDataValueConforms((EObject) leftHandSide, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryReferenceIsContained((EObject) leftHandSide, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryBidirectionalReferenceIsPaired((EObject) leftHandSide, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryProxyResolves((EObject) leftHandSide, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_UniqueID((EObject) leftHandSide, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryKeyUnique((EObject) leftHandSide, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryMapEntryUnique((EObject) leftHandSide, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateLeftHandSide_leftHandSideIndexExpression(leftHandSide, diagnostics, context);
+ return result;
+ }
+
+ /**
+ * Validates the leftHandSideIndexExpression constraint of '<em>Left Hand Side</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateLeftHandSide_leftHandSideIndexExpression(LeftHandSide leftHandSide, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return leftHandSide.leftHandSideIndexExpression(diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateSequenceAccessExpression(SequenceAccessExpression sequenceAccessExpression, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ if (!validate_NoCircularContainment((EObject) sequenceAccessExpression, diagnostics, context))
+ return false;
+ boolean result = validate_EveryMultiplicityConforms((EObject) sequenceAccessExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryDataValueConforms((EObject) sequenceAccessExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryReferenceIsContained((EObject) sequenceAccessExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryBidirectionalReferenceIsPaired((EObject) sequenceAccessExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryProxyResolves((EObject) sequenceAccessExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_UniqueID((EObject) sequenceAccessExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryKeyUnique((EObject) sequenceAccessExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryMapEntryUnique((EObject) sequenceAccessExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateExpression_expressionAssignmentAfterDerivation(sequenceAccessExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateExpression_expressionUniqueAssignments(sequenceAccessExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateSequenceAccessExpression_sequenceAccessExpressionTypeDerivation(sequenceAccessExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateSequenceAccessExpression_sequenceAccessExpressionLowerDerivation(sequenceAccessExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateSequenceAccessExpression_sequenceAccessExpressionUpperDerivation(sequenceAccessExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateSequenceAccessExpression_sequenceAccessExpressionIndexType(sequenceAccessExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateSequenceAccessExpression_sequenceAccessExpressionIndexMultiplicity(sequenceAccessExpression, diagnostics, context);
+ return result;
+ }
+
+ /**
+ * Validates the sequenceAccessExpressionTypeDerivation constraint of '<em>Sequence Access Expression</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateSequenceAccessExpression_sequenceAccessExpressionTypeDerivation(SequenceAccessExpression sequenceAccessExpression, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return sequenceAccessExpression.sequenceAccessExpressionTypeDerivation(diagnostics, context);
+ }
+
+ /**
+ * Validates the sequenceAccessExpressionLowerDerivation constraint of '<em>Sequence Access Expression</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateSequenceAccessExpression_sequenceAccessExpressionLowerDerivation(SequenceAccessExpression sequenceAccessExpression, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return sequenceAccessExpression.sequenceAccessExpressionLowerDerivation(diagnostics, context);
+ }
+
+ /**
+ * Validates the sequenceAccessExpressionUpperDerivation constraint of '<em>Sequence Access Expression</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateSequenceAccessExpression_sequenceAccessExpressionUpperDerivation(SequenceAccessExpression sequenceAccessExpression, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return sequenceAccessExpression.sequenceAccessExpressionUpperDerivation(diagnostics, context);
+ }
+
+ /**
+ * Validates the sequenceAccessExpressionIndexType constraint of '<em>Sequence Access Expression</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateSequenceAccessExpression_sequenceAccessExpressionIndexType(SequenceAccessExpression sequenceAccessExpression, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return sequenceAccessExpression.sequenceAccessExpressionIndexType(diagnostics, context);
+ }
+
+ /**
+ * Validates the sequenceAccessExpressionIndexMultiplicity constraint of '<em>Sequence Access Expression</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateSequenceAccessExpression_sequenceAccessExpressionIndexMultiplicity(SequenceAccessExpression sequenceAccessExpression, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return sequenceAccessExpression.sequenceAccessExpressionIndexMultiplicity(diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateStringLiteralExpression(StringLiteralExpression stringLiteralExpression, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ if (!validate_NoCircularContainment((EObject) stringLiteralExpression, diagnostics, context))
+ return false;
+ boolean result = validate_EveryMultiplicityConforms((EObject) stringLiteralExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryDataValueConforms((EObject) stringLiteralExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryReferenceIsContained((EObject) stringLiteralExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryBidirectionalReferenceIsPaired((EObject) stringLiteralExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryProxyResolves((EObject) stringLiteralExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_UniqueID((EObject) stringLiteralExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryKeyUnique((EObject) stringLiteralExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryMapEntryUnique((EObject) stringLiteralExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateExpression_expressionAssignmentAfterDerivation(stringLiteralExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateExpression_expressionUniqueAssignments(stringLiteralExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateLiteralExpression_literalExpressionUpperDerivation(stringLiteralExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateLiteralExpression_literalExpressionLowerDerivation(stringLiteralExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateStringLiteralExpression_stringLiteralExpressionTypeDerivation(stringLiteralExpression, diagnostics, context);
+ return result;
+ }
+
+ /**
+ * Validates the stringLiteralExpressionTypeDerivation constraint of '<em>String Literal Expression</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateStringLiteralExpression_stringLiteralExpressionTypeDerivation(StringLiteralExpression stringLiteralExpression, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return stringLiteralExpression.stringLiteralExpressionTypeDerivation(diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateLiteralExpression(LiteralExpression literalExpression, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ if (!validate_NoCircularContainment((EObject) literalExpression, diagnostics, context))
+ return false;
+ boolean result = validate_EveryMultiplicityConforms((EObject) literalExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryDataValueConforms((EObject) literalExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryReferenceIsContained((EObject) literalExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryBidirectionalReferenceIsPaired((EObject) literalExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryProxyResolves((EObject) literalExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_UniqueID((EObject) literalExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryKeyUnique((EObject) literalExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryMapEntryUnique((EObject) literalExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateExpression_expressionAssignmentAfterDerivation(literalExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateExpression_expressionUniqueAssignments(literalExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateLiteralExpression_literalExpressionUpperDerivation(literalExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateLiteralExpression_literalExpressionLowerDerivation(literalExpression, diagnostics, context);
+ return result;
+ }
+
+ /**
+ * Validates the literalExpressionUpperDerivation constraint of '<em>Literal Expression</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateLiteralExpression_literalExpressionUpperDerivation(LiteralExpression literalExpression, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return literalExpression.literalExpressionUpperDerivation(diagnostics, context);
+ }
+
+ /**
+ * Validates the literalExpressionLowerDerivation constraint of '<em>Literal Expression</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateLiteralExpression_literalExpressionLowerDerivation(LiteralExpression literalExpression, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return literalExpression.literalExpressionLowerDerivation(diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateSequenceOperationExpression(SequenceOperationExpression sequenceOperationExpression, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ if (!validate_NoCircularContainment((EObject) sequenceOperationExpression, diagnostics, context))
+ return false;
+ boolean result = validate_EveryMultiplicityConforms((EObject) sequenceOperationExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryDataValueConforms((EObject) sequenceOperationExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryReferenceIsContained((EObject) sequenceOperationExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryBidirectionalReferenceIsPaired((EObject) sequenceOperationExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryProxyResolves((EObject) sequenceOperationExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_UniqueID((EObject) sequenceOperationExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryKeyUnique((EObject) sequenceOperationExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryMapEntryUnique((EObject) sequenceOperationExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateExpression_expressionAssignmentAfterDerivation(sequenceOperationExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateExpression_expressionUniqueAssignments(sequenceOperationExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateInvocationExpression_invocationExpressionIsBehaviorDerivation(sequenceOperationExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateInvocationExpression_invocationExpressionIsAssociationEndDerivation(sequenceOperationExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateInvocationExpression_invocationExpressionIsOperationDerivation(sequenceOperationExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateInvocationExpression_invocationExpressionIsDestructorDerivation(sequenceOperationExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateInvocationExpression_invocationExpressionIsImplicitDerivation(sequenceOperationExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateInvocationExpression_invocationExpressionIsSignalDerivation(sequenceOperationExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateInvocationExpression_invocationExpressionParameterDerivation(sequenceOperationExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateInvocationExpression_invocationExpressionTypeDerivation(sequenceOperationExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateInvocationExpression_invocationExpressionUpperDerivation(sequenceOperationExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateInvocationExpression_invocationExpressionLowerDerivation(sequenceOperationExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateInvocationExpression_invocationExpressionAssignmentsBefore(sequenceOperationExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateInvocationExpression_invocationExpressionTemplateParameters(sequenceOperationExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateSequenceOperationExpression_sequenceOperationExpressionReferentDerivation(sequenceOperationExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateSequenceOperationExpression_sequenceOperationExpressionFeatureDerivation(sequenceOperationExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateSequenceOperationExpression_sequenceOperationExpressionOperationReferent(sequenceOperationExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateSequenceOperationExpression_sequenceOperationExpressionTargetCompatibility(sequenceOperationExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateSequenceOperationExpression_sequenceOperationExpressionArgumentCompatibility(sequenceOperationExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateSequenceOperationExpression_sequenceOperationExpressionAssignmentsBefore(sequenceOperationExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateSequenceOperationExpression_sequenceOperationExpressionIsCollectionConversionDerivation(sequenceOperationExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateSequenceOperationExpression_sequenceOperationExpressionIsBitStringConversionDerivation(sequenceOperationExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateSequenceOperationExpression_sequenceOperationExpressionAssignmentsAfter(sequenceOperationExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateSequenceOperationExpression_sequenceOperationExpressionLeftHandSideDerivation(sequenceOperationExpression, diagnostics, context);
+ return result;
+ }
+
+ /**
+ * Validates the sequenceOperationExpressionReferentDerivation constraint of '<em>Sequence Operation Expression</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateSequenceOperationExpression_sequenceOperationExpressionReferentDerivation(SequenceOperationExpression sequenceOperationExpression, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return sequenceOperationExpression.sequenceOperationExpressionReferentDerivation(diagnostics, context);
+ }
+
+ /**
+ * Validates the sequenceOperationExpressionFeatureDerivation constraint of '<em>Sequence Operation Expression</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateSequenceOperationExpression_sequenceOperationExpressionFeatureDerivation(SequenceOperationExpression sequenceOperationExpression, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return sequenceOperationExpression.sequenceOperationExpressionFeatureDerivation(diagnostics, context);
+ }
+
+ /**
+ * Validates the sequenceOperationExpressionOperationReferent constraint of '<em>Sequence Operation Expression</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateSequenceOperationExpression_sequenceOperationExpressionOperationReferent(SequenceOperationExpression sequenceOperationExpression, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return sequenceOperationExpression.sequenceOperationExpressionOperationReferent(diagnostics, context);
+ }
+
+ /**
+ * Validates the sequenceOperationExpressionTargetCompatibility constraint of '<em>Sequence Operation Expression</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateSequenceOperationExpression_sequenceOperationExpressionTargetCompatibility(SequenceOperationExpression sequenceOperationExpression, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return sequenceOperationExpression.sequenceOperationExpressionTargetCompatibility(diagnostics, context);
+ }
+
+ /**
+ * Validates the sequenceOperationExpressionArgumentCompatibility constraint of '<em>Sequence Operation Expression</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateSequenceOperationExpression_sequenceOperationExpressionArgumentCompatibility(SequenceOperationExpression sequenceOperationExpression, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return sequenceOperationExpression.sequenceOperationExpressionArgumentCompatibility(diagnostics, context);
+ }
+
+ /**
+ * Validates the sequenceOperationExpressionAssignmentsBefore constraint of '<em>Sequence Operation Expression</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateSequenceOperationExpression_sequenceOperationExpressionAssignmentsBefore(SequenceOperationExpression sequenceOperationExpression, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return sequenceOperationExpression.sequenceOperationExpressionAssignmentsBefore(diagnostics, context);
+ }
+
+ /**
+ * Validates the sequenceOperationExpressionIsCollectionConversionDerivation constraint of '<em>Sequence Operation Expression</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateSequenceOperationExpression_sequenceOperationExpressionIsCollectionConversionDerivation(SequenceOperationExpression sequenceOperationExpression, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return sequenceOperationExpression.sequenceOperationExpressionIsCollectionConversionDerivation(diagnostics, context);
+ }
+
+ /**
+ * Validates the sequenceOperationExpressionIsBitStringConversionDerivation constraint of '<em>Sequence Operation Expression</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateSequenceOperationExpression_sequenceOperationExpressionIsBitStringConversionDerivation(SequenceOperationExpression sequenceOperationExpression, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return sequenceOperationExpression.sequenceOperationExpressionIsBitStringConversionDerivation(diagnostics, context);
+ }
+
+ /**
+ * Validates the sequenceOperationExpressionAssignmentsAfter constraint of '<em>Sequence Operation Expression</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateSequenceOperationExpression_sequenceOperationExpressionAssignmentsAfter(SequenceOperationExpression sequenceOperationExpression, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return sequenceOperationExpression.sequenceOperationExpressionAssignmentsAfter(diagnostics, context);
+ }
+
+ /**
+ * Validates the sequenceOperationExpressionLeftHandSideDerivation constraint of '<em>Sequence Operation Expression</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateSequenceOperationExpression_sequenceOperationExpressionLeftHandSideDerivation(SequenceOperationExpression sequenceOperationExpression, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return sequenceOperationExpression.sequenceOperationExpressionLeftHandSideDerivation(diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateSelectOrRejectExpression(SelectOrRejectExpression selectOrRejectExpression, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ if (!validate_NoCircularContainment((EObject) selectOrRejectExpression, diagnostics, context))
+ return false;
+ boolean result = validate_EveryMultiplicityConforms((EObject) selectOrRejectExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryDataValueConforms((EObject) selectOrRejectExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryReferenceIsContained((EObject) selectOrRejectExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryBidirectionalReferenceIsPaired((EObject) selectOrRejectExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryProxyResolves((EObject) selectOrRejectExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_UniqueID((EObject) selectOrRejectExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryKeyUnique((EObject) selectOrRejectExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryMapEntryUnique((EObject) selectOrRejectExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateExpression_expressionAssignmentAfterDerivation(selectOrRejectExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateExpression_expressionUniqueAssignments(selectOrRejectExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateSequenceExpansionExpression_sequenceExpansionExpressionVariableSourceDerivation(selectOrRejectExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateSequenceExpansionExpression_sequenceExpansionExpressionAssignmentsBeforePrimary(selectOrRejectExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateSequenceExpansionExpression_sequenceExpansionExpressionAssignmentsBeforeArgument(selectOrRejectExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateSequenceExpansionExpression_sequenceExpansionExpressionVariableName(selectOrRejectExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateSequenceExpansionExpression_sequenceExpansionExpressionAssignmentsAfterArgument(selectOrRejectExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateSelectOrRejectExpression_selectOrRejectExpressionTypeDerivation(selectOrRejectExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateSelectOrRejectExpression_selectOrRejectExpressionLowerDerivation(selectOrRejectExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateSelectOrRejectExpression_selectOrRejectExpressionUpperDerivation(selectOrRejectExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateSelectOrRejectExpression_selectOrRejectExpressionArgument(selectOrRejectExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateSequenceExpansionExpression_collectOrIterateExpressionTypeDerivation(selectOrRejectExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateSequenceExpansionExpression_collectOrIterateExpressionLowerDerivation(selectOrRejectExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateSequenceExpansionExpression_collectOrIterateExpressionUpperDerivation(selectOrRejectExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateSequenceExpansionExpression_forAllOrExistsOrOneExpressionTypeDerivation(selectOrRejectExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateSequenceExpansionExpression_forAllOrExistsOrOneExpressionLowerDerivation(selectOrRejectExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateSequenceExpansionExpression_forAllOrExistsOrOneExpressionUpperDerivation(selectOrRejectExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateSequenceExpansionExpression_forAllOrExistsOrOneExpressionArgument(selectOrRejectExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateSequenceExpansionExpression_isUniqueExpressionTypeDerivation(selectOrRejectExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateSequenceExpansionExpression_isUniqueExpressionLowerDerivation(selectOrRejectExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateSequenceExpansionExpression_isUniqueExpressionUpperDerivation(selectOrRejectExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateSequenceExpansionExpression_isUniqueExpressionExpressionArgument(selectOrRejectExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateSequenceExpansionExpression_sequenceExpansionExpressionOperation(selectOrRejectExpression, diagnostics, context);
+ return result;
+ }
+
+ /**
+ * Validates the selectOrRejectExpressionTypeDerivation constraint of '<em>Select Or Reject Expression</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateSelectOrRejectExpression_selectOrRejectExpressionTypeDerivation(SelectOrRejectExpression selectOrRejectExpression, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return selectOrRejectExpression.selectOrRejectExpressionTypeDerivation(diagnostics, context);
+ }
+
+ /**
+ * Validates the selectOrRejectExpressionLowerDerivation constraint of '<em>Select Or Reject Expression</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateSelectOrRejectExpression_selectOrRejectExpressionLowerDerivation(SelectOrRejectExpression selectOrRejectExpression, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return selectOrRejectExpression.selectOrRejectExpressionLowerDerivation(diagnostics, context);
+ }
+
+ /**
+ * Validates the selectOrRejectExpressionUpperDerivation constraint of '<em>Select Or Reject Expression</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateSelectOrRejectExpression_selectOrRejectExpressionUpperDerivation(SelectOrRejectExpression selectOrRejectExpression, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return selectOrRejectExpression.selectOrRejectExpressionUpperDerivation(diagnostics, context);
+ }
+
+ /**
+ * Validates the selectOrRejectExpressionArgument constraint of '<em>Select Or Reject Expression</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateSelectOrRejectExpression_selectOrRejectExpressionArgument(SelectOrRejectExpression selectOrRejectExpression, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return selectOrRejectExpression.selectOrRejectExpressionArgument(diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateClassExtentExpression(ClassExtentExpression classExtentExpression, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ if (!validate_NoCircularContainment((EObject) classExtentExpression, diagnostics, context))
+ return false;
+ boolean result = validate_EveryMultiplicityConforms((EObject) classExtentExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryDataValueConforms((EObject) classExtentExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryReferenceIsContained((EObject) classExtentExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryBidirectionalReferenceIsPaired((EObject) classExtentExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryProxyResolves((EObject) classExtentExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_UniqueID((EObject) classExtentExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryKeyUnique((EObject) classExtentExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryMapEntryUnique((EObject) classExtentExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateExpression_expressionAssignmentAfterDerivation(classExtentExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateExpression_expressionUniqueAssignments(classExtentExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateClassExtentExpression_classExtentExpressionTypeDerivation(classExtentExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateClassExtentExpression_classExtentExpressionUpperDerivation(classExtentExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateClassExtentExpression_classExtentExpressionLowerDerivation(classExtentExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateClassExtentExpression_classExtentExpressionExtentType(classExtentExpression, diagnostics, context);
+ return result;
+ }
+
+ /**
+ * Validates the classExtentExpressionTypeDerivation constraint of '<em>Class Extent Expression</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateClassExtentExpression_classExtentExpressionTypeDerivation(ClassExtentExpression classExtentExpression, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return classExtentExpression.classExtentExpressionTypeDerivation(diagnostics, context);
+ }
+
+ /**
+ * Validates the classExtentExpressionUpperDerivation constraint of '<em>Class Extent Expression</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateClassExtentExpression_classExtentExpressionUpperDerivation(ClassExtentExpression classExtentExpression, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return classExtentExpression.classExtentExpressionUpperDerivation(diagnostics, context);
+ }
+
+ /**
+ * Validates the classExtentExpressionLowerDerivation constraint of '<em>Class Extent Expression</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateClassExtentExpression_classExtentExpressionLowerDerivation(ClassExtentExpression classExtentExpression, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return classExtentExpression.classExtentExpressionLowerDerivation(diagnostics, context);
+ }
+
+ /**
+ * Validates the classExtentExpressionExtentType constraint of '<em>Class Extent Expression</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateClassExtentExpression_classExtentExpressionExtentType(ClassExtentExpression classExtentExpression, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return classExtentExpression.classExtentExpressionExtentType(diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validatePositionalTemplateBinding(PositionalTemplateBinding positionalTemplateBinding, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return validate_EveryDefaultConstraint((EObject) positionalTemplateBinding, diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateConditionalLogicalExpression(ConditionalLogicalExpression conditionalLogicalExpression, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ if (!validate_NoCircularContainment((EObject) conditionalLogicalExpression, diagnostics, context))
+ return false;
+ boolean result = validate_EveryMultiplicityConforms((EObject) conditionalLogicalExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryDataValueConforms((EObject) conditionalLogicalExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryReferenceIsContained((EObject) conditionalLogicalExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryBidirectionalReferenceIsPaired((EObject) conditionalLogicalExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryProxyResolves((EObject) conditionalLogicalExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_UniqueID((EObject) conditionalLogicalExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryKeyUnique((EObject) conditionalLogicalExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryMapEntryUnique((EObject) conditionalLogicalExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateExpression_expressionAssignmentAfterDerivation(conditionalLogicalExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateExpression_expressionUniqueAssignments(conditionalLogicalExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateBinaryExpression_binaryExpressionOperandMultiplicity(conditionalLogicalExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateBinaryExpression_binaryExpressionOperandAssignments(conditionalLogicalExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateConditionalLogicalExpression_conditionalLogicalExpressionTypeDerivation(conditionalLogicalExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateConditionalLogicalExpression_conditionalLogicalExpressionLower(conditionalLogicalExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateConditionalLogicalExpression_conditionalLogicalExpressionUpper(conditionalLogicalExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateConditionalLogicalExpression_conditionalLogicalExpressionOperands(conditionalLogicalExpression, diagnostics, context);
+ return result;
+ }
+
+ /**
+ * Validates the conditionalLogicalExpressionTypeDerivation constraint of '<em>Conditional Logical Expression</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateConditionalLogicalExpression_conditionalLogicalExpressionTypeDerivation(ConditionalLogicalExpression conditionalLogicalExpression, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return conditionalLogicalExpression.conditionalLogicalExpressionTypeDerivation(diagnostics, context);
+ }
+
+ /**
+ * Validates the conditionalLogicalExpressionLower constraint of '<em>Conditional Logical Expression</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateConditionalLogicalExpression_conditionalLogicalExpressionLower(ConditionalLogicalExpression conditionalLogicalExpression, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return conditionalLogicalExpression.conditionalLogicalExpressionLower(diagnostics, context);
+ }
+
+ /**
+ * Validates the conditionalLogicalExpressionUpper constraint of '<em>Conditional Logical Expression</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateConditionalLogicalExpression_conditionalLogicalExpressionUpper(ConditionalLogicalExpression conditionalLogicalExpression, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return conditionalLogicalExpression.conditionalLogicalExpressionUpper(diagnostics, context);
+ }
+
+ /**
+ * Validates the conditionalLogicalExpressionOperands constraint of '<em>Conditional Logical Expression</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateConditionalLogicalExpression_conditionalLogicalExpressionOperands(ConditionalLogicalExpression conditionalLogicalExpression, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return conditionalLogicalExpression.conditionalLogicalExpressionOperands(diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateLinkOperationExpression(LinkOperationExpression linkOperationExpression, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ if (!validate_NoCircularContainment((EObject) linkOperationExpression, diagnostics, context))
+ return false;
+ boolean result = validate_EveryMultiplicityConforms((EObject) linkOperationExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryDataValueConforms((EObject) linkOperationExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryReferenceIsContained((EObject) linkOperationExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryBidirectionalReferenceIsPaired((EObject) linkOperationExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryProxyResolves((EObject) linkOperationExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_UniqueID((EObject) linkOperationExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryKeyUnique((EObject) linkOperationExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryMapEntryUnique((EObject) linkOperationExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateExpression_expressionAssignmentAfterDerivation(linkOperationExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateExpression_expressionUniqueAssignments(linkOperationExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateInvocationExpression_invocationExpressionIsBehaviorDerivation(linkOperationExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateInvocationExpression_invocationExpressionIsAssociationEndDerivation(linkOperationExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateInvocationExpression_invocationExpressionIsOperationDerivation(linkOperationExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateInvocationExpression_invocationExpressionIsDestructorDerivation(linkOperationExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateInvocationExpression_invocationExpressionIsImplicitDerivation(linkOperationExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateInvocationExpression_invocationExpressionIsSignalDerivation(linkOperationExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateInvocationExpression_invocationExpressionParameterDerivation(linkOperationExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateInvocationExpression_invocationExpressionTypeDerivation(linkOperationExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateInvocationExpression_invocationExpressionUpperDerivation(linkOperationExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateInvocationExpression_invocationExpressionLowerDerivation(linkOperationExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateInvocationExpression_invocationExpressionAssignmentsBefore(linkOperationExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateInvocationExpression_invocationExpressionTemplateParameters(linkOperationExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateLinkOperationExpression_linkOperationExpressionIsCreationDerivation(linkOperationExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateLinkOperationExpression_linkOperationExpressionIsClearDerivation(linkOperationExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateLinkOperationExpression_linkOperationExpressionReferentDerivation(linkOperationExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateLinkOperationExpression_linkOperationExpressionFeatureDerivation(linkOperationExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateLinkOperationExpression_linkOperationExpressionAssociationReference(linkOperationExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateLinkOperationExpression_linkOperationExpressionArgumentCompatibility(linkOperationExpression, diagnostics, context);
+ return result;
+ }
+
+ /**
+ * Validates the linkOperationExpressionIsCreationDerivation constraint of '<em>Link Operation Expression</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateLinkOperationExpression_linkOperationExpressionIsCreationDerivation(LinkOperationExpression linkOperationExpression, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return linkOperationExpression.linkOperationExpressionIsCreationDerivation(diagnostics, context);
+ }
+
+ /**
+ * Validates the linkOperationExpressionIsClearDerivation constraint of '<em>Link Operation Expression</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateLinkOperationExpression_linkOperationExpressionIsClearDerivation(LinkOperationExpression linkOperationExpression, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return linkOperationExpression.linkOperationExpressionIsClearDerivation(diagnostics, context);
+ }
+
+ /**
+ * Validates the linkOperationExpressionReferentDerivation constraint of '<em>Link Operation Expression</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateLinkOperationExpression_linkOperationExpressionReferentDerivation(LinkOperationExpression linkOperationExpression, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return linkOperationExpression.linkOperationExpressionReferentDerivation(diagnostics, context);
+ }
+
+ /**
+ * Validates the linkOperationExpressionFeatureDerivation constraint of '<em>Link Operation Expression</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateLinkOperationExpression_linkOperationExpressionFeatureDerivation(LinkOperationExpression linkOperationExpression, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return linkOperationExpression.linkOperationExpressionFeatureDerivation(diagnostics, context);
+ }
+
+ /**
+ * Validates the linkOperationExpressionAssociationReference constraint of '<em>Link Operation Expression</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateLinkOperationExpression_linkOperationExpressionAssociationReference(LinkOperationExpression linkOperationExpression, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return linkOperationExpression.linkOperationExpressionAssociationReference(diagnostics, context);
+ }
+
+ /**
+ * Validates the linkOperationExpressionArgumentCompatibility constraint of '<em>Link Operation Expression</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateLinkOperationExpression_linkOperationExpressionArgumentCompatibility(LinkOperationExpression linkOperationExpression, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return linkOperationExpression.linkOperationExpressionArgumentCompatibility(diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateEqualityExpression(EqualityExpression equalityExpression, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ if (!validate_NoCircularContainment((EObject) equalityExpression, diagnostics, context))
+ return false;
+ boolean result = validate_EveryMultiplicityConforms((EObject) equalityExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryDataValueConforms((EObject) equalityExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryReferenceIsContained((EObject) equalityExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryBidirectionalReferenceIsPaired((EObject) equalityExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryProxyResolves((EObject) equalityExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_UniqueID((EObject) equalityExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryKeyUnique((EObject) equalityExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryMapEntryUnique((EObject) equalityExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateExpression_expressionAssignmentAfterDerivation(equalityExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateExpression_expressionUniqueAssignments(equalityExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateBinaryExpression_binaryExpressionOperandMultiplicity(equalityExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateBinaryExpression_binaryExpressionOperandAssignments(equalityExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateEqualityExpression_equalityExpressionIsNegatedDerivation(equalityExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateEqualityExpression_equalityExpressionTypeDerivation(equalityExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateEqualityExpression_equalityExpressionLowerDerivation(equalityExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateEqualityExpression_equalityExpressionUpperDerivation(equalityExpression, diagnostics, context);
+ return result;
+ }
+
+ /**
+ * Validates the equalityExpressionIsNegatedDerivation constraint of '<em>Equality Expression</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateEqualityExpression_equalityExpressionIsNegatedDerivation(EqualityExpression equalityExpression, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return equalityExpression.equalityExpressionIsNegatedDerivation(diagnostics, context);
+ }
+
+ /**
+ * Validates the equalityExpressionTypeDerivation constraint of '<em>Equality Expression</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateEqualityExpression_equalityExpressionTypeDerivation(EqualityExpression equalityExpression, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return equalityExpression.equalityExpressionTypeDerivation(diagnostics, context);
+ }
+
+ /**
+ * Validates the equalityExpressionLowerDerivation constraint of '<em>Equality Expression</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateEqualityExpression_equalityExpressionLowerDerivation(EqualityExpression equalityExpression, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return equalityExpression.equalityExpressionLowerDerivation(diagnostics, context);
+ }
+
+ /**
+ * Validates the equalityExpressionUpperDerivation constraint of '<em>Equality Expression</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateEqualityExpression_equalityExpressionUpperDerivation(EqualityExpression equalityExpression, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return equalityExpression.equalityExpressionUpperDerivation(diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateAssignmentExpression(AssignmentExpression assignmentExpression, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ if (!validate_NoCircularContainment((EObject) assignmentExpression, diagnostics, context))
+ return false;
+ boolean result = validate_EveryMultiplicityConforms((EObject) assignmentExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryDataValueConforms((EObject) assignmentExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryReferenceIsContained((EObject) assignmentExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryBidirectionalReferenceIsPaired((EObject) assignmentExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryProxyResolves((EObject) assignmentExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_UniqueID((EObject) assignmentExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryKeyUnique((EObject) assignmentExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryMapEntryUnique((EObject) assignmentExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateExpression_expressionAssignmentAfterDerivation(assignmentExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateExpression_expressionUniqueAssignments(assignmentExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateAssignmentExpression_assignmentExpressionIsSimpleDerivation(assignmentExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateAssignmentExpression_assignmentExpressionIsArithmeticDerivation(assignmentExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateAssignmentExpression_assignmentExpressionIsDefinitionDerivation(assignmentExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateAssignmentExpression_assignmentExpressionIsFeatureDerivation(assignmentExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateAssignmentExpression_assignmentExpressionIsIndexedDerivation(assignmentExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateAssignmentExpression_assignmentExpressionIsDataValueUpdateDerivation(assignmentExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateAssignmentExpression_assignmentExpressionAssignmentDerivation(assignmentExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateAssignmentExpression_assignmentExpressionFeatureDerivation(assignmentExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateAssignmentExpression_assignmentExpressionExpressionDerivation(assignmentExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateAssignmentExpression_assignmentExpressionTypeDerivation(assignmentExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateAssignmentExpression_assignmentExpressionUpperDerivation(assignmentExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateAssignmentExpression_assignmentExpressionLowerDerivation(assignmentExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateAssignmentExpression_assignmentExpressionSimpleAssignmentTypeConformance(assignmentExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateAssignmentExpression_assignmentExpressionSimpleAssignmentMultiplicityConformance(assignmentExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateAssignmentExpression_assignmentExpressionCompoundAssignmentTypeConformance(assignmentExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateAssignmentExpression_assignmentExpressionCompoundAssignmentMultiplicityConformance(assignmentExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateAssignmentExpression_assignmentExpressionAssignmentsBefore(assignmentExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateAssignmentExpression_assignmentExpressionIsCollectionConversionDerivation(assignmentExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateAssignmentExpression_assignmentExpressionIsBitStringConversionDerivation(assignmentExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateAssignmentExpression_assignmentExpressionDataValueUpdateLegality(assignmentExpression, diagnostics, context);
+ return result;
+ }
+
+ /**
+ * Validates the assignmentExpressionIsSimpleDerivation constraint of '<em>Assignment Expression</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateAssignmentExpression_assignmentExpressionIsSimpleDerivation(AssignmentExpression assignmentExpression, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return assignmentExpression.assignmentExpressionIsSimpleDerivation(diagnostics, context);
+ }
+
+ /**
+ * Validates the assignmentExpressionIsArithmeticDerivation constraint of '<em>Assignment Expression</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateAssignmentExpression_assignmentExpressionIsArithmeticDerivation(AssignmentExpression assignmentExpression, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return assignmentExpression.assignmentExpressionIsArithmeticDerivation(diagnostics, context);
+ }
+
+ /**
+ * Validates the assignmentExpressionIsDefinitionDerivation constraint of '<em>Assignment Expression</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateAssignmentExpression_assignmentExpressionIsDefinitionDerivation(AssignmentExpression assignmentExpression, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return assignmentExpression.assignmentExpressionIsDefinitionDerivation(diagnostics, context);
+ }
+
+ /**
+ * Validates the assignmentExpressionIsFeatureDerivation constraint of '<em>Assignment Expression</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateAssignmentExpression_assignmentExpressionIsFeatureDerivation(AssignmentExpression assignmentExpression, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return assignmentExpression.assignmentExpressionIsFeatureDerivation(diagnostics, context);
+ }
+
+ /**
+ * Validates the assignmentExpressionIsIndexedDerivation constraint of '<em>Assignment Expression</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateAssignmentExpression_assignmentExpressionIsIndexedDerivation(AssignmentExpression assignmentExpression, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return assignmentExpression.assignmentExpressionIsIndexedDerivation(diagnostics, context);
+ }
+
+ /**
+ * Validates the assignmentExpressionIsDataValueUpdateDerivation constraint of '<em>Assignment Expression</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateAssignmentExpression_assignmentExpressionIsDataValueUpdateDerivation(AssignmentExpression assignmentExpression, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return assignmentExpression.assignmentExpressionIsDataValueUpdateDerivation(diagnostics, context);
+ }
+
+ /**
+ * Validates the assignmentExpressionAssignmentDerivation constraint of '<em>Assignment Expression</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateAssignmentExpression_assignmentExpressionAssignmentDerivation(AssignmentExpression assignmentExpression, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return assignmentExpression.assignmentExpressionAssignmentDerivation(diagnostics, context);
+ }
+
+ /**
+ * Validates the assignmentExpressionFeatureDerivation constraint of '<em>Assignment Expression</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateAssignmentExpression_assignmentExpressionFeatureDerivation(AssignmentExpression assignmentExpression, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return assignmentExpression.assignmentExpressionFeatureDerivation(diagnostics, context);
+ }
+
+ /**
+ * Validates the assignmentExpressionExpressionDerivation constraint of '<em>Assignment Expression</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateAssignmentExpression_assignmentExpressionExpressionDerivation(AssignmentExpression assignmentExpression, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return assignmentExpression.assignmentExpressionExpressionDerivation(diagnostics, context);
+ }
+
+ /**
+ * Validates the assignmentExpressionTypeDerivation constraint of '<em>Assignment Expression</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateAssignmentExpression_assignmentExpressionTypeDerivation(AssignmentExpression assignmentExpression, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return assignmentExpression.assignmentExpressionTypeDerivation(diagnostics, context);
+ }
+
+ /**
+ * Validates the assignmentExpressionUpperDerivation constraint of '<em>Assignment Expression</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateAssignmentExpression_assignmentExpressionUpperDerivation(AssignmentExpression assignmentExpression, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return assignmentExpression.assignmentExpressionUpperDerivation(diagnostics, context);
+ }
+
+ /**
+ * Validates the assignmentExpressionLowerDerivation constraint of '<em>Assignment Expression</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateAssignmentExpression_assignmentExpressionLowerDerivation(AssignmentExpression assignmentExpression, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return assignmentExpression.assignmentExpressionLowerDerivation(diagnostics, context);
+ }
+
+ /**
+ * Validates the assignmentExpressionSimpleAssignmentTypeConformance constraint of '<em>Assignment Expression</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateAssignmentExpression_assignmentExpressionSimpleAssignmentTypeConformance(AssignmentExpression assignmentExpression, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return assignmentExpression.assignmentExpressionSimpleAssignmentTypeConformance(diagnostics, context);
+ }
+
+ /**
+ * Validates the assignmentExpressionSimpleAssignmentMultiplicityConformance constraint of '<em>Assignment Expression</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateAssignmentExpression_assignmentExpressionSimpleAssignmentMultiplicityConformance(AssignmentExpression assignmentExpression, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return assignmentExpression.assignmentExpressionSimpleAssignmentMultiplicityConformance(diagnostics, context);
+ }
+
+ /**
+ * Validates the assignmentExpressionCompoundAssignmentTypeConformance constraint of '<em>Assignment Expression</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateAssignmentExpression_assignmentExpressionCompoundAssignmentTypeConformance(AssignmentExpression assignmentExpression, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return assignmentExpression.assignmentExpressionCompoundAssignmentTypeConformance(diagnostics, context);
+ }
+
+ /**
+ * Validates the assignmentExpressionCompoundAssignmentMultiplicityConformance constraint of '<em>Assignment Expression</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateAssignmentExpression_assignmentExpressionCompoundAssignmentMultiplicityConformance(AssignmentExpression assignmentExpression, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return assignmentExpression.assignmentExpressionCompoundAssignmentMultiplicityConformance(diagnostics, context);
+ }
+
+ /**
+ * Validates the assignmentExpressionAssignmentsBefore constraint of '<em>Assignment Expression</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateAssignmentExpression_assignmentExpressionAssignmentsBefore(AssignmentExpression assignmentExpression, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return assignmentExpression.assignmentExpressionAssignmentsBefore(diagnostics, context);
+ }
+
+ /**
+ * Validates the assignmentExpressionIsCollectionConversionDerivation constraint of '<em>Assignment Expression</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateAssignmentExpression_assignmentExpressionIsCollectionConversionDerivation(AssignmentExpression assignmentExpression, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return assignmentExpression.assignmentExpressionIsCollectionConversionDerivation(diagnostics, context);
+ }
+
+ /**
+ * Validates the assignmentExpressionIsBitStringConversionDerivation constraint of '<em>Assignment Expression</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateAssignmentExpression_assignmentExpressionIsBitStringConversionDerivation(AssignmentExpression assignmentExpression, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return assignmentExpression.assignmentExpressionIsBitStringConversionDerivation(diagnostics, context);
+ }
+
+ /**
+ * Validates the assignmentExpressionDataValueUpdateLegality constraint of '<em>Assignment Expression</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateAssignmentExpression_assignmentExpressionDataValueUpdateLegality(AssignmentExpression assignmentExpression, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return assignmentExpression.assignmentExpressionDataValueUpdateLegality(diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateLogicalExpression(LogicalExpression logicalExpression, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ if (!validate_NoCircularContainment((EObject) logicalExpression, diagnostics, context))
+ return false;
+ boolean result = validate_EveryMultiplicityConforms((EObject) logicalExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryDataValueConforms((EObject) logicalExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryReferenceIsContained((EObject) logicalExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryBidirectionalReferenceIsPaired((EObject) logicalExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryProxyResolves((EObject) logicalExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_UniqueID((EObject) logicalExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryKeyUnique((EObject) logicalExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryMapEntryUnique((EObject) logicalExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateExpression_expressionAssignmentAfterDerivation(logicalExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateExpression_expressionUniqueAssignments(logicalExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateBinaryExpression_binaryExpressionOperandMultiplicity(logicalExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateBinaryExpression_binaryExpressionOperandAssignments(logicalExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateLogicalExpression_logicalExpressionTypeDerivation(logicalExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateLogicalExpression_logicalExpressionLowerDerivation(logicalExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateLogicalExpression_logicalExpressionUpperDerivation(logicalExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateLogicalExpression_logicalExpressionOperands(logicalExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateLogicalExpression_logicalExpressionIsBitStringConversion1Derivation(logicalExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateLogicalExpression_logicalExpressionIsBitStringConversion2Derivation(logicalExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateLogicalExpression_logicalExpressionIsBitWiseDerivation(logicalExpression, diagnostics, context);
+ return result;
+ }
+
+ /**
+ * Validates the logicalExpressionTypeDerivation constraint of '<em>Logical Expression</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateLogicalExpression_logicalExpressionTypeDerivation(LogicalExpression logicalExpression, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return logicalExpression.logicalExpressionTypeDerivation(diagnostics, context);
+ }
+
+ /**
+ * Validates the logicalExpressionLowerDerivation constraint of '<em>Logical Expression</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateLogicalExpression_logicalExpressionLowerDerivation(LogicalExpression logicalExpression, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return logicalExpression.logicalExpressionLowerDerivation(diagnostics, context);
+ }
+
+ /**
+ * Validates the logicalExpressionUpperDerivation constraint of '<em>Logical Expression</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateLogicalExpression_logicalExpressionUpperDerivation(LogicalExpression logicalExpression, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return logicalExpression.logicalExpressionUpperDerivation(diagnostics, context);
+ }
+
+ /**
+ * Validates the logicalExpressionOperands constraint of '<em>Logical Expression</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateLogicalExpression_logicalExpressionOperands(LogicalExpression logicalExpression, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return logicalExpression.logicalExpressionOperands(diagnostics, context);
+ }
+
+ /**
+ * Validates the logicalExpressionIsBitStringConversion1Derivation constraint of '<em>Logical Expression</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateLogicalExpression_logicalExpressionIsBitStringConversion1Derivation(LogicalExpression logicalExpression, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return logicalExpression.logicalExpressionIsBitStringConversion1Derivation(diagnostics, context);
+ }
+
+ /**
+ * Validates the logicalExpressionIsBitStringConversion2Derivation constraint of '<em>Logical Expression</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateLogicalExpression_logicalExpressionIsBitStringConversion2Derivation(LogicalExpression logicalExpression, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return logicalExpression.logicalExpressionIsBitStringConversion2Derivation(diagnostics, context);
+ }
+
+ /**
+ * Validates the logicalExpressionIsBitWiseDerivation constraint of '<em>Logical Expression</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateLogicalExpression_logicalExpressionIsBitWiseDerivation(LogicalExpression logicalExpression, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return logicalExpression.logicalExpressionIsBitWiseDerivation(diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateSequenceConstructionExpression(SequenceConstructionExpression sequenceConstructionExpression, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ if (!validate_NoCircularContainment((EObject) sequenceConstructionExpression, diagnostics, context))
+ return false;
+ boolean result = validate_EveryMultiplicityConforms((EObject) sequenceConstructionExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryDataValueConforms((EObject) sequenceConstructionExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryReferenceIsContained((EObject) sequenceConstructionExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryBidirectionalReferenceIsPaired((EObject) sequenceConstructionExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryProxyResolves((EObject) sequenceConstructionExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_UniqueID((EObject) sequenceConstructionExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryKeyUnique((EObject) sequenceConstructionExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryMapEntryUnique((EObject) sequenceConstructionExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateExpression_expressionAssignmentAfterDerivation(sequenceConstructionExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateExpression_expressionUniqueAssignments(sequenceConstructionExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateSequenceConstructionExpression_sequenceConstructionExpressionTypeDerivation(sequenceConstructionExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateSequenceConstructionExpression_sequenceConstructionExpressionUpperDerivation(sequenceConstructionExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateSequenceConstructionExpression_sequenceConstructionExpressionLowerDerivation(sequenceConstructionExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateSequenceConstructionExpression_sequenceConstructionExpressionType(sequenceConstructionExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateSequenceConstructionExpression_sequenceConstructionExpressionElementType(sequenceConstructionExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateSequenceConstructionExpression_sequenceConstructionExpressionAssignmentsBefore(sequenceConstructionExpression, diagnostics, context);
+ return result;
+ }
+
+ /**
+ * Validates the sequenceConstructionExpressionTypeDerivation constraint of '<em>Sequence Construction Expression</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateSequenceConstructionExpression_sequenceConstructionExpressionTypeDerivation(SequenceConstructionExpression sequenceConstructionExpression, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return sequenceConstructionExpression.sequenceConstructionExpressionTypeDerivation(diagnostics, context);
+ }
+
+ /**
+ * Validates the sequenceConstructionExpressionUpperDerivation constraint of '<em>Sequence Construction Expression</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateSequenceConstructionExpression_sequenceConstructionExpressionUpperDerivation(SequenceConstructionExpression sequenceConstructionExpression, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return sequenceConstructionExpression.sequenceConstructionExpressionUpperDerivation(diagnostics, context);
+ }
+
+ /**
+ * Validates the sequenceConstructionExpressionLowerDerivation constraint of '<em>Sequence Construction Expression</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateSequenceConstructionExpression_sequenceConstructionExpressionLowerDerivation(SequenceConstructionExpression sequenceConstructionExpression, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return sequenceConstructionExpression.sequenceConstructionExpressionLowerDerivation(diagnostics, context);
+ }
+
+ /**
+ * Validates the sequenceConstructionExpressionType constraint of '<em>Sequence Construction Expression</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateSequenceConstructionExpression_sequenceConstructionExpressionType(SequenceConstructionExpression sequenceConstructionExpression, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return sequenceConstructionExpression.sequenceConstructionExpressionType(diagnostics, context);
+ }
+
+ /**
+ * Validates the sequenceConstructionExpressionElementType constraint of '<em>Sequence Construction Expression</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateSequenceConstructionExpression_sequenceConstructionExpressionElementType(SequenceConstructionExpression sequenceConstructionExpression, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return sequenceConstructionExpression.sequenceConstructionExpressionElementType(diagnostics, context);
+ }
+
+ /**
+ * Validates the sequenceConstructionExpressionAssignmentsBefore constraint of '<em>Sequence Construction Expression</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateSequenceConstructionExpression_sequenceConstructionExpressionAssignmentsBefore(SequenceConstructionExpression sequenceConstructionExpression, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return sequenceConstructionExpression.sequenceConstructionExpressionAssignmentsBefore(diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateSequenceElements(SequenceElements sequenceElements, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return validate_EveryDefaultConstraint((EObject) sequenceElements, diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateCollectOrIterateExpression(CollectOrIterateExpression collectOrIterateExpression, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ if (!validate_NoCircularContainment((EObject) collectOrIterateExpression, diagnostics, context))
+ return false;
+ boolean result = validate_EveryMultiplicityConforms((EObject) collectOrIterateExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryDataValueConforms((EObject) collectOrIterateExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryReferenceIsContained((EObject) collectOrIterateExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryBidirectionalReferenceIsPaired((EObject) collectOrIterateExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryProxyResolves((EObject) collectOrIterateExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_UniqueID((EObject) collectOrIterateExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryKeyUnique((EObject) collectOrIterateExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryMapEntryUnique((EObject) collectOrIterateExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateExpression_expressionAssignmentAfterDerivation(collectOrIterateExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateExpression_expressionUniqueAssignments(collectOrIterateExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateSequenceExpansionExpression_sequenceExpansionExpressionVariableSourceDerivation(collectOrIterateExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateSequenceExpansionExpression_sequenceExpansionExpressionAssignmentsBeforePrimary(collectOrIterateExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateSequenceExpansionExpression_sequenceExpansionExpressionAssignmentsBeforeArgument(collectOrIterateExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateSequenceExpansionExpression_sequenceExpansionExpressionVariableName(collectOrIterateExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateSequenceExpansionExpression_sequenceExpansionExpressionAssignmentsAfterArgument(collectOrIterateExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateSequenceExpansionExpression_selectOrRejectExpressionTypeDerivation(collectOrIterateExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateSequenceExpansionExpression_selectOrRejectExpressionLowerDerivation(collectOrIterateExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateSequenceExpansionExpression_selectOrRejectExpressionUpperDerivation(collectOrIterateExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateSequenceExpansionExpression_selectOrRejectExpressionArgument(collectOrIterateExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateCollectOrIterateExpression_collectOrIterateExpressionTypeDerivation(collectOrIterateExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateCollectOrIterateExpression_collectOrIterateExpressionLowerDerivation(collectOrIterateExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateCollectOrIterateExpression_collectOrIterateExpressionUpperDerivation(collectOrIterateExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateSequenceExpansionExpression_forAllOrExistsOrOneExpressionTypeDerivation(collectOrIterateExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateSequenceExpansionExpression_forAllOrExistsOrOneExpressionLowerDerivation(collectOrIterateExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateSequenceExpansionExpression_forAllOrExistsOrOneExpressionUpperDerivation(collectOrIterateExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateSequenceExpansionExpression_forAllOrExistsOrOneExpressionArgument(collectOrIterateExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateSequenceExpansionExpression_isUniqueExpressionTypeDerivation(collectOrIterateExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateSequenceExpansionExpression_isUniqueExpressionLowerDerivation(collectOrIterateExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateSequenceExpansionExpression_isUniqueExpressionUpperDerivation(collectOrIterateExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateSequenceExpansionExpression_isUniqueExpressionExpressionArgument(collectOrIterateExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateSequenceExpansionExpression_sequenceExpansionExpressionOperation(collectOrIterateExpression, diagnostics, context);
+ return result;
+ }
+
+ /**
+ * Validates the collectOrIterateExpressionTypeDerivation constraint of '<em>Collect Or Iterate Expression</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateCollectOrIterateExpression_collectOrIterateExpressionTypeDerivation(CollectOrIterateExpression collectOrIterateExpression, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return collectOrIterateExpression.collectOrIterateExpressionTypeDerivation(diagnostics, context);
+ }
+
+ /**
+ * Validates the collectOrIterateExpressionLowerDerivation constraint of '<em>Collect Or Iterate Expression</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateCollectOrIterateExpression_collectOrIterateExpressionLowerDerivation(CollectOrIterateExpression collectOrIterateExpression, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return collectOrIterateExpression.collectOrIterateExpressionLowerDerivation(diagnostics, context);
+ }
+
+ /**
+ * Validates the collectOrIterateExpressionUpperDerivation constraint of '<em>Collect Or Iterate Expression</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateCollectOrIterateExpression_collectOrIterateExpressionUpperDerivation(CollectOrIterateExpression collectOrIterateExpression, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return collectOrIterateExpression.collectOrIterateExpressionUpperDerivation(diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateIsUniqueExpression(IsUniqueExpression isUniqueExpression, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ if (!validate_NoCircularContainment((EObject) isUniqueExpression, diagnostics, context))
+ return false;
+ boolean result = validate_EveryMultiplicityConforms((EObject) isUniqueExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryDataValueConforms((EObject) isUniqueExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryReferenceIsContained((EObject) isUniqueExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryBidirectionalReferenceIsPaired((EObject) isUniqueExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryProxyResolves((EObject) isUniqueExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_UniqueID((EObject) isUniqueExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryKeyUnique((EObject) isUniqueExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryMapEntryUnique((EObject) isUniqueExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateExpression_expressionAssignmentAfterDerivation(isUniqueExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateExpression_expressionUniqueAssignments(isUniqueExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateSequenceExpansionExpression_sequenceExpansionExpressionVariableSourceDerivation(isUniqueExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateSequenceExpansionExpression_sequenceExpansionExpressionAssignmentsBeforePrimary(isUniqueExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateSequenceExpansionExpression_sequenceExpansionExpressionAssignmentsBeforeArgument(isUniqueExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateSequenceExpansionExpression_sequenceExpansionExpressionVariableName(isUniqueExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateSequenceExpansionExpression_sequenceExpansionExpressionAssignmentsAfterArgument(isUniqueExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateSequenceExpansionExpression_selectOrRejectExpressionTypeDerivation(isUniqueExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateSequenceExpansionExpression_selectOrRejectExpressionLowerDerivation(isUniqueExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateSequenceExpansionExpression_selectOrRejectExpressionUpperDerivation(isUniqueExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateSequenceExpansionExpression_selectOrRejectExpressionArgument(isUniqueExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateSequenceExpansionExpression_collectOrIterateExpressionTypeDerivation(isUniqueExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateSequenceExpansionExpression_collectOrIterateExpressionLowerDerivation(isUniqueExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateSequenceExpansionExpression_collectOrIterateExpressionUpperDerivation(isUniqueExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateSequenceExpansionExpression_forAllOrExistsOrOneExpressionTypeDerivation(isUniqueExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateSequenceExpansionExpression_forAllOrExistsOrOneExpressionLowerDerivation(isUniqueExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateSequenceExpansionExpression_forAllOrExistsOrOneExpressionUpperDerivation(isUniqueExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateSequenceExpansionExpression_forAllOrExistsOrOneExpressionArgument(isUniqueExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateIsUniqueExpression_isUniqueExpressionTypeDerivation(isUniqueExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateIsUniqueExpression_isUniqueExpressionLowerDerivation(isUniqueExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateIsUniqueExpression_isUniqueExpressionUpperDerivation(isUniqueExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateIsUniqueExpression_isUniqueExpressionExpressionArgument(isUniqueExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateSequenceExpansionExpression_sequenceExpansionExpressionOperation(isUniqueExpression, diagnostics, context);
+ return result;
+ }
+
+ /**
+ * Validates the isUniqueExpressionTypeDerivation constraint of '<em>Is Unique Expression</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateIsUniqueExpression_isUniqueExpressionTypeDerivation(IsUniqueExpression isUniqueExpression, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return isUniqueExpression.isUniqueExpressionTypeDerivation(diagnostics, context);
+ }
+
+ /**
+ * Validates the isUniqueExpressionLowerDerivation constraint of '<em>Is Unique Expression</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateIsUniqueExpression_isUniqueExpressionLowerDerivation(IsUniqueExpression isUniqueExpression, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return isUniqueExpression.isUniqueExpressionLowerDerivation(diagnostics, context);
+ }
+
+ /**
+ * Validates the isUniqueExpressionUpperDerivation constraint of '<em>Is Unique Expression</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateIsUniqueExpression_isUniqueExpressionUpperDerivation(IsUniqueExpression isUniqueExpression, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return isUniqueExpression.isUniqueExpressionUpperDerivation(diagnostics, context);
+ }
+
+ /**
+ * Validates the isUniqueExpressionExpressionArgument constraint of '<em>Is Unique Expression</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateIsUniqueExpression_isUniqueExpressionExpressionArgument(IsUniqueExpression isUniqueExpression, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return isUniqueExpression.isUniqueExpressionExpressionArgument(diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateArithmeticExpression(ArithmeticExpression arithmeticExpression, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ if (!validate_NoCircularContainment((EObject) arithmeticExpression, diagnostics, context))
+ return false;
+ boolean result = validate_EveryMultiplicityConforms((EObject) arithmeticExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryDataValueConforms((EObject) arithmeticExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryReferenceIsContained((EObject) arithmeticExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryBidirectionalReferenceIsPaired((EObject) arithmeticExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryProxyResolves((EObject) arithmeticExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_UniqueID((EObject) arithmeticExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryKeyUnique((EObject) arithmeticExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryMapEntryUnique((EObject) arithmeticExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateExpression_expressionAssignmentAfterDerivation(arithmeticExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateExpression_expressionUniqueAssignments(arithmeticExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateBinaryExpression_binaryExpressionOperandMultiplicity(arithmeticExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateBinaryExpression_binaryExpressionOperandAssignments(arithmeticExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateArithmeticExpression_arithmeticExpressionIsConcatenationDerivation(arithmeticExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateArithmeticExpression_arithmeticExpressionTypeDerivation(arithmeticExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateArithmeticExpression_arithmeticExpressionLowerDerivation(arithmeticExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateArithmeticExpression_arithmeticExpressionUpperDerivation(arithmeticExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateArithmeticExpression_arithmeticExpressionOperandTypes(arithmeticExpression, diagnostics, context);
+ return result;
+ }
+
+ /**
+ * Validates the arithmeticExpressionIsConcatenationDerivation constraint of '<em>Arithmetic Expression</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateArithmeticExpression_arithmeticExpressionIsConcatenationDerivation(ArithmeticExpression arithmeticExpression, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return arithmeticExpression.arithmeticExpressionIsConcatenationDerivation(diagnostics, context);
+ }
+
+ /**
+ * Validates the arithmeticExpressionTypeDerivation constraint of '<em>Arithmetic Expression</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateArithmeticExpression_arithmeticExpressionTypeDerivation(ArithmeticExpression arithmeticExpression, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return arithmeticExpression.arithmeticExpressionTypeDerivation(diagnostics, context);
+ }
+
+ /**
+ * Validates the arithmeticExpressionLowerDerivation constraint of '<em>Arithmetic Expression</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateArithmeticExpression_arithmeticExpressionLowerDerivation(ArithmeticExpression arithmeticExpression, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return arithmeticExpression.arithmeticExpressionLowerDerivation(diagnostics, context);
+ }
+
+ /**
+ * Validates the arithmeticExpressionUpperDerivation constraint of '<em>Arithmetic Expression</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateArithmeticExpression_arithmeticExpressionUpperDerivation(ArithmeticExpression arithmeticExpression, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return arithmeticExpression.arithmeticExpressionUpperDerivation(diagnostics, context);
+ }
+
+ /**
+ * Validates the arithmeticExpressionOperandTypes constraint of '<em>Arithmetic Expression</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateArithmeticExpression_arithmeticExpressionOperandTypes(ArithmeticExpression arithmeticExpression, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return arithmeticExpression.arithmeticExpressionOperandTypes(diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateFeatureLeftHandSide(FeatureLeftHandSide featureLeftHandSide, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ if (!validate_NoCircularContainment((EObject) featureLeftHandSide, diagnostics, context))
+ return false;
+ boolean result = validate_EveryMultiplicityConforms((EObject) featureLeftHandSide, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryDataValueConforms((EObject) featureLeftHandSide, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryReferenceIsContained((EObject) featureLeftHandSide, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryBidirectionalReferenceIsPaired((EObject) featureLeftHandSide, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryProxyResolves((EObject) featureLeftHandSide, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_UniqueID((EObject) featureLeftHandSide, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryKeyUnique((EObject) featureLeftHandSide, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryMapEntryUnique((EObject) featureLeftHandSide, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateLeftHandSide_leftHandSideIndexExpression(featureLeftHandSide, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateFeatureLeftHandSide_featureLeftHandSideAssignmentBeforeDerivation(featureLeftHandSide, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateFeatureLeftHandSide_featureLeftHandSideAssignmentAfterDerivation(featureLeftHandSide, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateFeatureLeftHandSide_featureLeftHandSideFeatureExpression(featureLeftHandSide, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateFeatureLeftHandSide_featureLeftHandSideAssignmentsBefore(featureLeftHandSide, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateFeatureLeftHandSide_featureLeftHandSideReferentDerivation(featureLeftHandSide, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateFeatureLeftHandSide_featureLeftHandSideTypeDerivation(featureLeftHandSide, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateFeatureLeftHandSide_featureLeftHandSideLowerDerivation(featureLeftHandSide, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateFeatureLeftHandSide_featureLeftHandSideUpperDerivation(featureLeftHandSide, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateFeatureLeftHandSide_featureLeftHandSideReferentConstraint(featureLeftHandSide, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateFeatureLeftHandSide_featureLeftHandSideIndexedFeature(featureLeftHandSide, diagnostics, context);
+ return result;
+ }
+
+ /**
+ * Validates the featureLeftHandSideAssignmentBeforeDerivation constraint of '<em>Feature Left Hand Side</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateFeatureLeftHandSide_featureLeftHandSideAssignmentBeforeDerivation(FeatureLeftHandSide featureLeftHandSide, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return featureLeftHandSide.featureLeftHandSideAssignmentBeforeDerivation(diagnostics, context);
+ }
+
+ /**
+ * Validates the featureLeftHandSideAssignmentAfterDerivation constraint of '<em>Feature Left Hand Side</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateFeatureLeftHandSide_featureLeftHandSideAssignmentAfterDerivation(FeatureLeftHandSide featureLeftHandSide, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return featureLeftHandSide.featureLeftHandSideAssignmentAfterDerivation(diagnostics, context);
+ }
+
+ /**
+ * Validates the featureLeftHandSideFeatureExpression constraint of '<em>Feature Left Hand Side</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateFeatureLeftHandSide_featureLeftHandSideFeatureExpression(FeatureLeftHandSide featureLeftHandSide, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return featureLeftHandSide.featureLeftHandSideFeatureExpression(diagnostics, context);
+ }
+
+ /**
+ * Validates the featureLeftHandSideAssignmentsBefore constraint of '<em>Feature Left Hand Side</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateFeatureLeftHandSide_featureLeftHandSideAssignmentsBefore(FeatureLeftHandSide featureLeftHandSide, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return featureLeftHandSide.featureLeftHandSideAssignmentsBefore(diagnostics, context);
+ }
+
+ /**
+ * Validates the featureLeftHandSideReferentDerivation constraint of '<em>Feature Left Hand Side</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateFeatureLeftHandSide_featureLeftHandSideReferentDerivation(FeatureLeftHandSide featureLeftHandSide, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return featureLeftHandSide.featureLeftHandSideReferentDerivation(diagnostics, context);
+ }
+
+ /**
+ * Validates the featureLeftHandSideTypeDerivation constraint of '<em>Feature Left Hand Side</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateFeatureLeftHandSide_featureLeftHandSideTypeDerivation(FeatureLeftHandSide featureLeftHandSide, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return featureLeftHandSide.featureLeftHandSideTypeDerivation(diagnostics, context);
+ }
+
+ /**
+ * Validates the featureLeftHandSideLowerDerivation constraint of '<em>Feature Left Hand Side</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateFeatureLeftHandSide_featureLeftHandSideLowerDerivation(FeatureLeftHandSide featureLeftHandSide, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return featureLeftHandSide.featureLeftHandSideLowerDerivation(diagnostics, context);
+ }
+
+ /**
+ * Validates the featureLeftHandSideUpperDerivation constraint of '<em>Feature Left Hand Side</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateFeatureLeftHandSide_featureLeftHandSideUpperDerivation(FeatureLeftHandSide featureLeftHandSide, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return featureLeftHandSide.featureLeftHandSideUpperDerivation(diagnostics, context);
+ }
+
+ /**
+ * Validates the featureLeftHandSideReferentConstraint constraint of '<em>Feature Left Hand Side</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateFeatureLeftHandSide_featureLeftHandSideReferentConstraint(FeatureLeftHandSide featureLeftHandSide, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return featureLeftHandSide.featureLeftHandSideReferentConstraint(diagnostics, context);
+ }
+
+ /**
+ * Validates the featureLeftHandSideIndexedFeature constraint of '<em>Feature Left Hand Side</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateFeatureLeftHandSide_featureLeftHandSideIndexedFeature(FeatureLeftHandSide featureLeftHandSide, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return featureLeftHandSide.featureLeftHandSideIndexedFeature(diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateConditionalTestExpression(ConditionalTestExpression conditionalTestExpression, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ if (!validate_NoCircularContainment((EObject) conditionalTestExpression, diagnostics, context))
+ return false;
+ boolean result = validate_EveryMultiplicityConforms((EObject) conditionalTestExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryDataValueConforms((EObject) conditionalTestExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryReferenceIsContained((EObject) conditionalTestExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryBidirectionalReferenceIsPaired((EObject) conditionalTestExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryProxyResolves((EObject) conditionalTestExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_UniqueID((EObject) conditionalTestExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryKeyUnique((EObject) conditionalTestExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryMapEntryUnique((EObject) conditionalTestExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateExpression_expressionAssignmentAfterDerivation(conditionalTestExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateExpression_expressionUniqueAssignments(conditionalTestExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateConditionalTestExpression_conditionalTestExpressionTypeDerivation(conditionalTestExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateConditionalTestExpression_conditionalTestExpressionLowerDerivation(conditionalTestExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateConditionalTestExpression_conditionalTestExpressionUpperDerivation(conditionalTestExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateConditionalTestExpression_conditionalTestExpressionCondition(conditionalTestExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateConditionalTestExpression_conditionalTestExpressionAssignmentsBefore(conditionalTestExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateConditionalTestExpression_conditionalTestExpressionAssignmentsAfter(conditionalTestExpression, diagnostics, context);
+ return result;
+ }
+
+ /**
+ * Validates the conditionalTestExpressionTypeDerivation constraint of '<em>Conditional Test Expression</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateConditionalTestExpression_conditionalTestExpressionTypeDerivation(ConditionalTestExpression conditionalTestExpression, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return conditionalTestExpression.conditionalTestExpressionTypeDerivation(diagnostics, context);
+ }
+
+ /**
+ * Validates the conditionalTestExpressionLowerDerivation constraint of '<em>Conditional Test Expression</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateConditionalTestExpression_conditionalTestExpressionLowerDerivation(ConditionalTestExpression conditionalTestExpression, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return conditionalTestExpression.conditionalTestExpressionLowerDerivation(diagnostics, context);
+ }
+
+ /**
+ * Validates the conditionalTestExpressionUpperDerivation constraint of '<em>Conditional Test Expression</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateConditionalTestExpression_conditionalTestExpressionUpperDerivation(ConditionalTestExpression conditionalTestExpression, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return conditionalTestExpression.conditionalTestExpressionUpperDerivation(diagnostics, context);
+ }
+
+ /**
+ * Validates the conditionalTestExpressionCondition constraint of '<em>Conditional Test Expression</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateConditionalTestExpression_conditionalTestExpressionCondition(ConditionalTestExpression conditionalTestExpression, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return conditionalTestExpression.conditionalTestExpressionCondition(diagnostics, context);
+ }
+
+ /**
+ * Validates the conditionalTestExpressionAssignmentsBefore constraint of '<em>Conditional Test Expression</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateConditionalTestExpression_conditionalTestExpressionAssignmentsBefore(ConditionalTestExpression conditionalTestExpression, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return conditionalTestExpression.conditionalTestExpressionAssignmentsBefore(diagnostics, context);
+ }
+
+ /**
+ * Validates the conditionalTestExpressionAssignmentsAfter constraint of '<em>Conditional Test Expression</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateConditionalTestExpression_conditionalTestExpressionAssignmentsAfter(ConditionalTestExpression conditionalTestExpression, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return conditionalTestExpression.conditionalTestExpressionAssignmentsAfter(diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateInstanceCreationExpression(InstanceCreationExpression instanceCreationExpression, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ if (!validate_NoCircularContainment((EObject) instanceCreationExpression, diagnostics, context))
+ return false;
+ boolean result = validate_EveryMultiplicityConforms((EObject) instanceCreationExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryDataValueConforms((EObject) instanceCreationExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryReferenceIsContained((EObject) instanceCreationExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryBidirectionalReferenceIsPaired((EObject) instanceCreationExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryProxyResolves((EObject) instanceCreationExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_UniqueID((EObject) instanceCreationExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryKeyUnique((EObject) instanceCreationExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryMapEntryUnique((EObject) instanceCreationExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateExpression_expressionAssignmentAfterDerivation(instanceCreationExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateExpression_expressionUniqueAssignments(instanceCreationExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateInvocationExpression_invocationExpressionIsBehaviorDerivation(instanceCreationExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateInvocationExpression_invocationExpressionIsAssociationEndDerivation(instanceCreationExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateInvocationExpression_invocationExpressionIsOperationDerivation(instanceCreationExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateInvocationExpression_invocationExpressionIsDestructorDerivation(instanceCreationExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateInvocationExpression_invocationExpressionIsImplicitDerivation(instanceCreationExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateInvocationExpression_invocationExpressionIsSignalDerivation(instanceCreationExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateInvocationExpression_invocationExpressionParameterDerivation(instanceCreationExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateInvocationExpression_invocationExpressionTypeDerivation(instanceCreationExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateInvocationExpression_invocationExpressionUpperDerivation(instanceCreationExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateInvocationExpression_invocationExpressionLowerDerivation(instanceCreationExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateInvocationExpression_invocationExpressionAssignmentsBefore(instanceCreationExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateInvocationExpression_invocationExpressionTemplateParameters(instanceCreationExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateInstanceCreationExpression_instanceCreationExpressionIsObjectCreationDerivation(instanceCreationExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateInstanceCreationExpression_instanceCreationExpressionIsConstructorlessDerivation(instanceCreationExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateInstanceCreationExpression_instanceCreationExpressionReferentDerivation(instanceCreationExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateInstanceCreationExpression_instanceCreationExpressionFeatureDerivation(instanceCreationExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateInstanceCreationExpression_instanceCreationExpressionConstructor(instanceCreationExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateInstanceCreationExpression_instanceCreationExpressionConstructorlessLegality(instanceCreationExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateInstanceCreationExpression_instanceCreationExpressionDataTypeCompatibility(instanceCreationExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateInstanceCreationExpression_instanceCreationExpressionReferent(instanceCreationExpression, diagnostics, context);
+ return result;
+ }
+
+ /**
+ * Validates the instanceCreationExpressionIsObjectCreationDerivation constraint of '<em>Instance Creation Expression</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateInstanceCreationExpression_instanceCreationExpressionIsObjectCreationDerivation(InstanceCreationExpression instanceCreationExpression, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return instanceCreationExpression.instanceCreationExpressionIsObjectCreationDerivation(diagnostics, context);
+ }
+
+ /**
+ * Validates the instanceCreationExpressionIsConstructorlessDerivation constraint of '<em>Instance Creation Expression</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateInstanceCreationExpression_instanceCreationExpressionIsConstructorlessDerivation(InstanceCreationExpression instanceCreationExpression, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return instanceCreationExpression.instanceCreationExpressionIsConstructorlessDerivation(diagnostics, context);
+ }
+
+ /**
+ * Validates the instanceCreationExpressionReferentDerivation constraint of '<em>Instance Creation Expression</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateInstanceCreationExpression_instanceCreationExpressionReferentDerivation(InstanceCreationExpression instanceCreationExpression, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return instanceCreationExpression.instanceCreationExpressionReferentDerivation(diagnostics, context);
+ }
+
+ /**
+ * Validates the instanceCreationExpressionFeatureDerivation constraint of '<em>Instance Creation Expression</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateInstanceCreationExpression_instanceCreationExpressionFeatureDerivation(InstanceCreationExpression instanceCreationExpression, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return instanceCreationExpression.instanceCreationExpressionFeatureDerivation(diagnostics, context);
+ }
+
+ /**
+ * Validates the instanceCreationExpressionConstructor constraint of '<em>Instance Creation Expression</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateInstanceCreationExpression_instanceCreationExpressionConstructor(InstanceCreationExpression instanceCreationExpression, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return instanceCreationExpression.instanceCreationExpressionConstructor(diagnostics, context);
+ }
+
+ /**
+ * Validates the instanceCreationExpressionConstructorlessLegality constraint of '<em>Instance Creation Expression</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateInstanceCreationExpression_instanceCreationExpressionConstructorlessLegality(InstanceCreationExpression instanceCreationExpression, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return instanceCreationExpression.instanceCreationExpressionConstructorlessLegality(diagnostics, context);
+ }
+
+ /**
+ * Validates the instanceCreationExpressionDataTypeCompatibility constraint of '<em>Instance Creation Expression</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateInstanceCreationExpression_instanceCreationExpressionDataTypeCompatibility(InstanceCreationExpression instanceCreationExpression, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return instanceCreationExpression.instanceCreationExpressionDataTypeCompatibility(diagnostics, context);
+ }
+
+ /**
+ * Validates the instanceCreationExpressionReferent constraint of '<em>Instance Creation Expression</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateInstanceCreationExpression_instanceCreationExpressionReferent(InstanceCreationExpression instanceCreationExpression, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return instanceCreationExpression.instanceCreationExpressionReferent(diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validatePropertyAccessExpression(PropertyAccessExpression propertyAccessExpression, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ if (!validate_NoCircularContainment((EObject) propertyAccessExpression, diagnostics, context))
+ return false;
+ boolean result = validate_EveryMultiplicityConforms((EObject) propertyAccessExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryDataValueConforms((EObject) propertyAccessExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryReferenceIsContained((EObject) propertyAccessExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryBidirectionalReferenceIsPaired((EObject) propertyAccessExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryProxyResolves((EObject) propertyAccessExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_UniqueID((EObject) propertyAccessExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryKeyUnique((EObject) propertyAccessExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryMapEntryUnique((EObject) propertyAccessExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateExpression_expressionAssignmentAfterDerivation(propertyAccessExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateExpression_expressionUniqueAssignments(propertyAccessExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validatePropertyAccessExpression_propertyAccessExpressionFeatureDerivation(propertyAccessExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validatePropertyAccessExpression_propertyAccessExpressionTypeDerivation(propertyAccessExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validatePropertyAccessExpression_propertyAccessExpressionUpperDerivation(propertyAccessExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validatePropertyAccessExpression_propertyAccessExpressionLowerDerivation(propertyAccessExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validatePropertyAccessExpression_propertyAccessExpressionFeatureResolution(propertyAccessExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validatePropertyAccessExpression_propertyAccessExpressionAssignmentsBefore(propertyAccessExpression, diagnostics, context);
+ return result;
+ }
+
+ /**
+ * Validates the propertyAccessExpressionFeatureDerivation constraint of '<em>Property Access Expression</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validatePropertyAccessExpression_propertyAccessExpressionFeatureDerivation(PropertyAccessExpression propertyAccessExpression, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return propertyAccessExpression.propertyAccessExpressionFeatureDerivation(diagnostics, context);
+ }
+
+ /**
+ * Validates the propertyAccessExpressionTypeDerivation constraint of '<em>Property Access Expression</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validatePropertyAccessExpression_propertyAccessExpressionTypeDerivation(PropertyAccessExpression propertyAccessExpression, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return propertyAccessExpression.propertyAccessExpressionTypeDerivation(diagnostics, context);
+ }
+
+ /**
+ * Validates the propertyAccessExpressionUpperDerivation constraint of '<em>Property Access Expression</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validatePropertyAccessExpression_propertyAccessExpressionUpperDerivation(PropertyAccessExpression propertyAccessExpression, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return propertyAccessExpression.propertyAccessExpressionUpperDerivation(diagnostics, context);
+ }
+
+ /**
+ * Validates the propertyAccessExpressionLowerDerivation constraint of '<em>Property Access Expression</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validatePropertyAccessExpression_propertyAccessExpressionLowerDerivation(PropertyAccessExpression propertyAccessExpression, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return propertyAccessExpression.propertyAccessExpressionLowerDerivation(diagnostics, context);
+ }
+
+ /**
+ * Validates the propertyAccessExpressionFeatureResolution constraint of '<em>Property Access Expression</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validatePropertyAccessExpression_propertyAccessExpressionFeatureResolution(PropertyAccessExpression propertyAccessExpression, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return propertyAccessExpression.propertyAccessExpressionFeatureResolution(diagnostics, context);
+ }
+
+ /**
+ * Validates the propertyAccessExpressionAssignmentsBefore constraint of '<em>Property Access Expression</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validatePropertyAccessExpression_propertyAccessExpressionAssignmentsBefore(PropertyAccessExpression propertyAccessExpression, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return propertyAccessExpression.propertyAccessExpressionAssignmentsBefore(diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateNameExpression(NameExpression nameExpression, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ if (!validate_NoCircularContainment((EObject) nameExpression, diagnostics, context))
+ return false;
+ boolean result = validate_EveryMultiplicityConforms((EObject) nameExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryDataValueConforms((EObject) nameExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryReferenceIsContained((EObject) nameExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryBidirectionalReferenceIsPaired((EObject) nameExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryProxyResolves((EObject) nameExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_UniqueID((EObject) nameExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryKeyUnique((EObject) nameExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryMapEntryUnique((EObject) nameExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateExpression_expressionAssignmentAfterDerivation(nameExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateExpression_expressionUniqueAssignments(nameExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateNameExpression_nameExpressionAssignmentDerivation(nameExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateNameExpression_nameExpressionEnumerationLiteralDerivation(nameExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateNameExpression_nameExpressionPropertyAccessDerivation(nameExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateNameExpression_nameExpressionTypeDerivation(nameExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateNameExpression_nameExpressionUpperDerivation(nameExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateNameExpression_nameExpressionLowerDerivation(nameExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateNameExpression_nameExpressionResolution(nameExpression, diagnostics, context);
+ return result;
+ }
+
+ /**
+ * Validates the nameExpressionAssignmentDerivation constraint of '<em>Name Expression</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateNameExpression_nameExpressionAssignmentDerivation(NameExpression nameExpression, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return nameExpression.nameExpressionAssignmentDerivation(diagnostics, context);
+ }
+
+ /**
+ * Validates the nameExpressionEnumerationLiteralDerivation constraint of '<em>Name Expression</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateNameExpression_nameExpressionEnumerationLiteralDerivation(NameExpression nameExpression, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return nameExpression.nameExpressionEnumerationLiteralDerivation(diagnostics, context);
+ }
+
+ /**
+ * Validates the nameExpressionPropertyAccessDerivation constraint of '<em>Name Expression</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateNameExpression_nameExpressionPropertyAccessDerivation(NameExpression nameExpression, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return nameExpression.nameExpressionPropertyAccessDerivation(diagnostics, context);
+ }
+
+ /**
+ * Validates the nameExpressionTypeDerivation constraint of '<em>Name Expression</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateNameExpression_nameExpressionTypeDerivation(NameExpression nameExpression, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return nameExpression.nameExpressionTypeDerivation(diagnostics, context);
+ }
+
+ /**
+ * Validates the nameExpressionUpperDerivation constraint of '<em>Name Expression</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateNameExpression_nameExpressionUpperDerivation(NameExpression nameExpression, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return nameExpression.nameExpressionUpperDerivation(diagnostics, context);
+ }
+
+ /**
+ * Validates the nameExpressionLowerDerivation constraint of '<em>Name Expression</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateNameExpression_nameExpressionLowerDerivation(NameExpression nameExpression, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return nameExpression.nameExpressionLowerDerivation(diagnostics, context);
+ }
+
+ /**
+ * Validates the nameExpressionResolution constraint of '<em>Name Expression</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateNameExpression_nameExpressionResolution(NameExpression nameExpression, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return nameExpression.nameExpressionResolution(diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateBitStringUnaryExpression(BitStringUnaryExpression bitStringUnaryExpression, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ if (!validate_NoCircularContainment((EObject) bitStringUnaryExpression, diagnostics, context))
+ return false;
+ boolean result = validate_EveryMultiplicityConforms((EObject) bitStringUnaryExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryDataValueConforms((EObject) bitStringUnaryExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryReferenceIsContained((EObject) bitStringUnaryExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryBidirectionalReferenceIsPaired((EObject) bitStringUnaryExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryProxyResolves((EObject) bitStringUnaryExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_UniqueID((EObject) bitStringUnaryExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryKeyUnique((EObject) bitStringUnaryExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryMapEntryUnique((EObject) bitStringUnaryExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateExpression_expressionAssignmentAfterDerivation(bitStringUnaryExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateExpression_expressionUniqueAssignments(bitStringUnaryExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateUnaryExpression_unaryExpressionAssignmentsBefore(bitStringUnaryExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateBitStringUnaryExpression_bitStringUnaryExpressionTypeDerivation(bitStringUnaryExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateBitStringUnaryExpression_bitStringUnaryExpressionLowerDerivation(bitStringUnaryExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateBitStringUnaryExpression_bitStringUnaryExpressionUpperDerivation(bitStringUnaryExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateBitStringUnaryExpression_bitStringUnaryExpressionOperand(bitStringUnaryExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateBitStringUnaryExpression_bitStringUnaryExpressionIsBitStringConversionDerivation(bitStringUnaryExpression, diagnostics, context);
+ return result;
+ }
+
+ /**
+ * Validates the bitStringUnaryExpressionTypeDerivation constraint of '<em>Bit String Unary Expression</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateBitStringUnaryExpression_bitStringUnaryExpressionTypeDerivation(BitStringUnaryExpression bitStringUnaryExpression, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return bitStringUnaryExpression.bitStringUnaryExpressionTypeDerivation(diagnostics, context);
+ }
+
+ /**
+ * Validates the bitStringUnaryExpressionLowerDerivation constraint of '<em>Bit String Unary Expression</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateBitStringUnaryExpression_bitStringUnaryExpressionLowerDerivation(BitStringUnaryExpression bitStringUnaryExpression, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return bitStringUnaryExpression.bitStringUnaryExpressionLowerDerivation(diagnostics, context);
+ }
+
+ /**
+ * Validates the bitStringUnaryExpressionUpperDerivation constraint of '<em>Bit String Unary Expression</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateBitStringUnaryExpression_bitStringUnaryExpressionUpperDerivation(BitStringUnaryExpression bitStringUnaryExpression, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return bitStringUnaryExpression.bitStringUnaryExpressionUpperDerivation(diagnostics, context);
+ }
+
+ /**
+ * Validates the bitStringUnaryExpressionOperand constraint of '<em>Bit String Unary Expression</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateBitStringUnaryExpression_bitStringUnaryExpressionOperand(BitStringUnaryExpression bitStringUnaryExpression, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return bitStringUnaryExpression.bitStringUnaryExpressionOperand(diagnostics, context);
+ }
+
+ /**
+ * Validates the bitStringUnaryExpressionIsBitStringConversionDerivation constraint of '<em>Bit String Unary Expression</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateBitStringUnaryExpression_bitStringUnaryExpressionIsBitStringConversionDerivation(BitStringUnaryExpression bitStringUnaryExpression, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return bitStringUnaryExpression.bitStringUnaryExpressionIsBitStringConversionDerivation(diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateFeatureInvocationExpression(FeatureInvocationExpression featureInvocationExpression, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ if (!validate_NoCircularContainment((EObject) featureInvocationExpression, diagnostics, context))
+ return false;
+ boolean result = validate_EveryMultiplicityConforms((EObject) featureInvocationExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryDataValueConforms((EObject) featureInvocationExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryReferenceIsContained((EObject) featureInvocationExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryBidirectionalReferenceIsPaired((EObject) featureInvocationExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryProxyResolves((EObject) featureInvocationExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_UniqueID((EObject) featureInvocationExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryKeyUnique((EObject) featureInvocationExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryMapEntryUnique((EObject) featureInvocationExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateExpression_expressionAssignmentAfterDerivation(featureInvocationExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateExpression_expressionUniqueAssignments(featureInvocationExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateInvocationExpression_invocationExpressionIsBehaviorDerivation(featureInvocationExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateInvocationExpression_invocationExpressionIsAssociationEndDerivation(featureInvocationExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateInvocationExpression_invocationExpressionIsOperationDerivation(featureInvocationExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateInvocationExpression_invocationExpressionIsDestructorDerivation(featureInvocationExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateInvocationExpression_invocationExpressionIsImplicitDerivation(featureInvocationExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateInvocationExpression_invocationExpressionIsSignalDerivation(featureInvocationExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateInvocationExpression_invocationExpressionParameterDerivation(featureInvocationExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateInvocationExpression_invocationExpressionTypeDerivation(featureInvocationExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateInvocationExpression_invocationExpressionUpperDerivation(featureInvocationExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateInvocationExpression_invocationExpressionLowerDerivation(featureInvocationExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateInvocationExpression_invocationExpressionAssignmentsBefore(featureInvocationExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateInvocationExpression_invocationExpressionTemplateParameters(featureInvocationExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateFeatureInvocationExpression_featureInvocationExpressionReferentDerivation(featureInvocationExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateFeatureInvocationExpression_featureInvocationExpressionFeatureDerivation(featureInvocationExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateFeatureInvocationExpression_featureInvocationExpressionReferentExists(featureInvocationExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateFeatureInvocationExpression_featureInvocationExpressionAlternativeConstructor(featureInvocationExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateFeatureInvocationExpression_featureInvocationExpressionImplicitAlternativeConstructor(featureInvocationExpression, diagnostics, context);
+ return result;
+ }
+
+ /**
+ * Validates the featureInvocationExpressionReferentDerivation constraint of '<em>Feature Invocation Expression</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateFeatureInvocationExpression_featureInvocationExpressionReferentDerivation(FeatureInvocationExpression featureInvocationExpression, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return featureInvocationExpression.featureInvocationExpressionReferentDerivation(diagnostics, context);
+ }
+
+ /**
+ * Validates the featureInvocationExpressionFeatureDerivation constraint of '<em>Feature Invocation Expression</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateFeatureInvocationExpression_featureInvocationExpressionFeatureDerivation(FeatureInvocationExpression featureInvocationExpression, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return featureInvocationExpression.featureInvocationExpressionFeatureDerivation(diagnostics, context);
+ }
+
+ /**
+ * Validates the featureInvocationExpressionReferentExists constraint of '<em>Feature Invocation Expression</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateFeatureInvocationExpression_featureInvocationExpressionReferentExists(FeatureInvocationExpression featureInvocationExpression, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return featureInvocationExpression.featureInvocationExpressionReferentExists(diagnostics, context);
+ }
+
+ /**
+ * Validates the featureInvocationExpressionAlternativeConstructor constraint of '<em>Feature Invocation Expression</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateFeatureInvocationExpression_featureInvocationExpressionAlternativeConstructor(FeatureInvocationExpression featureInvocationExpression, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return featureInvocationExpression.featureInvocationExpressionAlternativeConstructor(diagnostics, context);
+ }
+
+ /**
+ * Validates the featureInvocationExpressionImplicitAlternativeConstructor constraint of '<em>Feature Invocation Expression</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateFeatureInvocationExpression_featureInvocationExpressionImplicitAlternativeConstructor(FeatureInvocationExpression featureInvocationExpression, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return featureInvocationExpression.featureInvocationExpressionImplicitAlternativeConstructor(diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateBehaviorInvocationExpression(BehaviorInvocationExpression behaviorInvocationExpression, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ if (!validate_NoCircularContainment((EObject) behaviorInvocationExpression, diagnostics, context))
+ return false;
+ boolean result = validate_EveryMultiplicityConforms((EObject) behaviorInvocationExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryDataValueConforms((EObject) behaviorInvocationExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryReferenceIsContained((EObject) behaviorInvocationExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryBidirectionalReferenceIsPaired((EObject) behaviorInvocationExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryProxyResolves((EObject) behaviorInvocationExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_UniqueID((EObject) behaviorInvocationExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryKeyUnique((EObject) behaviorInvocationExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryMapEntryUnique((EObject) behaviorInvocationExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateExpression_expressionAssignmentAfterDerivation(behaviorInvocationExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateExpression_expressionUniqueAssignments(behaviorInvocationExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateInvocationExpression_invocationExpressionIsBehaviorDerivation(behaviorInvocationExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateInvocationExpression_invocationExpressionIsAssociationEndDerivation(behaviorInvocationExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateInvocationExpression_invocationExpressionIsOperationDerivation(behaviorInvocationExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateInvocationExpression_invocationExpressionIsDestructorDerivation(behaviorInvocationExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateInvocationExpression_invocationExpressionIsImplicitDerivation(behaviorInvocationExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateInvocationExpression_invocationExpressionIsSignalDerivation(behaviorInvocationExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateInvocationExpression_invocationExpressionParameterDerivation(behaviorInvocationExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateInvocationExpression_invocationExpressionTypeDerivation(behaviorInvocationExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateInvocationExpression_invocationExpressionUpperDerivation(behaviorInvocationExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateInvocationExpression_invocationExpressionLowerDerivation(behaviorInvocationExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateInvocationExpression_invocationExpressionAssignmentsBefore(behaviorInvocationExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateInvocationExpression_invocationExpressionTemplateParameters(behaviorInvocationExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateBehaviorInvocationExpression_behaviorInvocationExpressionReferentDerivation(behaviorInvocationExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateBehaviorInvocationExpression_behaviorInvocationExpressionFeatureDerivation(behaviorInvocationExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateBehaviorInvocationExpression_behaviorInvocationExpressionReferentConstraint(behaviorInvocationExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateBehaviorInvocationExpression_behaviorInvocationExpressionArgumentCompatibility(behaviorInvocationExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateBehaviorInvocationExpression_behaviorInvocationExpressionAlternativeConstructor(behaviorInvocationExpression, diagnostics, context);
+ return result;
+ }
+
+ /**
+ * Validates the behaviorInvocationExpressionReferentDerivation constraint of '<em>Behavior Invocation Expression</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateBehaviorInvocationExpression_behaviorInvocationExpressionReferentDerivation(BehaviorInvocationExpression behaviorInvocationExpression, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return behaviorInvocationExpression.behaviorInvocationExpressionReferentDerivation(diagnostics, context);
+ }
+
+ /**
+ * Validates the behaviorInvocationExpressionFeatureDerivation constraint of '<em>Behavior Invocation Expression</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateBehaviorInvocationExpression_behaviorInvocationExpressionFeatureDerivation(BehaviorInvocationExpression behaviorInvocationExpression, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return behaviorInvocationExpression.behaviorInvocationExpressionFeatureDerivation(diagnostics, context);
+ }
+
+ /**
+ * Validates the behaviorInvocationExpressionReferentConstraint constraint of '<em>Behavior Invocation Expression</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateBehaviorInvocationExpression_behaviorInvocationExpressionReferentConstraint(BehaviorInvocationExpression behaviorInvocationExpression, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return behaviorInvocationExpression.behaviorInvocationExpressionReferentConstraint(diagnostics, context);
+ }
+
+ /**
+ * Validates the behaviorInvocationExpressionArgumentCompatibility constraint of '<em>Behavior Invocation Expression</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateBehaviorInvocationExpression_behaviorInvocationExpressionArgumentCompatibility(BehaviorInvocationExpression behaviorInvocationExpression, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return behaviorInvocationExpression.behaviorInvocationExpressionArgumentCompatibility(diagnostics, context);
+ }
+
+ /**
+ * Validates the behaviorInvocationExpressionAlternativeConstructor constraint of '<em>Behavior Invocation Expression</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateBehaviorInvocationExpression_behaviorInvocationExpressionAlternativeConstructor(BehaviorInvocationExpression behaviorInvocationExpression, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return behaviorInvocationExpression.behaviorInvocationExpressionAlternativeConstructor(diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateShiftExpression(ShiftExpression shiftExpression, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ if (!validate_NoCircularContainment((EObject) shiftExpression, diagnostics, context))
+ return false;
+ boolean result = validate_EveryMultiplicityConforms((EObject) shiftExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryDataValueConforms((EObject) shiftExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryReferenceIsContained((EObject) shiftExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryBidirectionalReferenceIsPaired((EObject) shiftExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryProxyResolves((EObject) shiftExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_UniqueID((EObject) shiftExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryKeyUnique((EObject) shiftExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryMapEntryUnique((EObject) shiftExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateExpression_expressionAssignmentAfterDerivation(shiftExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateExpression_expressionUniqueAssignments(shiftExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateBinaryExpression_binaryExpressionOperandMultiplicity(shiftExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateBinaryExpression_binaryExpressionOperandAssignments(shiftExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateShiftExpression_shiftExpressionTypeDerivation(shiftExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateShiftExpression_shiftExpressionLowerDerivation(shiftExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateShiftExpression_shiftExpressionUpperDerivation(shiftExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateShiftExpression_shiftExpressionOperands(shiftExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateShiftExpression_shiftExpressionIsBitStringConversionDerivation(shiftExpression, diagnostics, context);
+ return result;
+ }
+
+ /**
+ * Validates the shiftExpressionTypeDerivation constraint of '<em>Shift Expression</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateShiftExpression_shiftExpressionTypeDerivation(ShiftExpression shiftExpression, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return shiftExpression.shiftExpressionTypeDerivation(diagnostics, context);
+ }
+
+ /**
+ * Validates the shiftExpressionLowerDerivation constraint of '<em>Shift Expression</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateShiftExpression_shiftExpressionLowerDerivation(ShiftExpression shiftExpression, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return shiftExpression.shiftExpressionLowerDerivation(diagnostics, context);
+ }
+
+ /**
+ * Validates the shiftExpressionUpperDerivation constraint of '<em>Shift Expression</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateShiftExpression_shiftExpressionUpperDerivation(ShiftExpression shiftExpression, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return shiftExpression.shiftExpressionUpperDerivation(diagnostics, context);
+ }
+
+ /**
+ * Validates the shiftExpressionOperands constraint of '<em>Shift Expression</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateShiftExpression_shiftExpressionOperands(ShiftExpression shiftExpression, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return shiftExpression.shiftExpressionOperands(diagnostics, context);
+ }
+
+ /**
+ * Validates the shiftExpressionIsBitStringConversionDerivation constraint of '<em>Shift Expression</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateShiftExpression_shiftExpressionIsBitStringConversionDerivation(ShiftExpression shiftExpression, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return shiftExpression.shiftExpressionIsBitStringConversionDerivation(diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateUnboundedLiteralExpression(UnboundedLiteralExpression unboundedLiteralExpression, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ if (!validate_NoCircularContainment((EObject) unboundedLiteralExpression, diagnostics, context))
+ return false;
+ boolean result = validate_EveryMultiplicityConforms((EObject) unboundedLiteralExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryDataValueConforms((EObject) unboundedLiteralExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryReferenceIsContained((EObject) unboundedLiteralExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryBidirectionalReferenceIsPaired((EObject) unboundedLiteralExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryProxyResolves((EObject) unboundedLiteralExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_UniqueID((EObject) unboundedLiteralExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryKeyUnique((EObject) unboundedLiteralExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryMapEntryUnique((EObject) unboundedLiteralExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateExpression_expressionAssignmentAfterDerivation(unboundedLiteralExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateExpression_expressionUniqueAssignments(unboundedLiteralExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateLiteralExpression_literalExpressionUpperDerivation(unboundedLiteralExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateLiteralExpression_literalExpressionLowerDerivation(unboundedLiteralExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateUnboundedLiteralExpression_unboundedLiteralExpressionTypeDerivation(unboundedLiteralExpression, diagnostics, context);
+ return result;
+ }
+
+ /**
+ * Validates the unboundedLiteralExpressionTypeDerivation constraint of '<em>Unbounded Literal Expression</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateUnboundedLiteralExpression_unboundedLiteralExpressionTypeDerivation(UnboundedLiteralExpression unboundedLiteralExpression, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return unboundedLiteralExpression.unboundedLiteralExpressionTypeDerivation(diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateThisExpression(ThisExpression thisExpression, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ if (!validate_NoCircularContainment((EObject) thisExpression, diagnostics, context))
+ return false;
+ boolean result = validate_EveryMultiplicityConforms((EObject) thisExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryDataValueConforms((EObject) thisExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryReferenceIsContained((EObject) thisExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryBidirectionalReferenceIsPaired((EObject) thisExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryProxyResolves((EObject) thisExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_UniqueID((EObject) thisExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryKeyUnique((EObject) thisExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryMapEntryUnique((EObject) thisExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateExpression_expressionAssignmentAfterDerivation(thisExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateExpression_expressionUniqueAssignments(thisExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateThisExpression_thisExpressionTypeDerivation(thisExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateThisExpression_thisExpressionUpperDerivation(thisExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateThisExpression_thisExpressionLowerDerivation(thisExpression, diagnostics, context);
+ return result;
+ }
+
+ /**
+ * Validates the thisExpressionTypeDerivation constraint of '<em>This Expression</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateThisExpression_thisExpressionTypeDerivation(ThisExpression thisExpression, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return thisExpression.thisExpressionTypeDerivation(diagnostics, context);
+ }
+
+ /**
+ * Validates the thisExpressionUpperDerivation constraint of '<em>This Expression</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateThisExpression_thisExpressionUpperDerivation(ThisExpression thisExpression, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return thisExpression.thisExpressionUpperDerivation(diagnostics, context);
+ }
+
+ /**
+ * Validates the thisExpressionLowerDerivation constraint of '<em>This Expression</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateThisExpression_thisExpressionLowerDerivation(ThisExpression thisExpression, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return thisExpression.thisExpressionLowerDerivation(diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateClassificationExpression(ClassificationExpression classificationExpression, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ if (!validate_NoCircularContainment((EObject) classificationExpression, diagnostics, context))
+ return false;
+ boolean result = validate_EveryMultiplicityConforms((EObject) classificationExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryDataValueConforms((EObject) classificationExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryReferenceIsContained((EObject) classificationExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryBidirectionalReferenceIsPaired((EObject) classificationExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryProxyResolves((EObject) classificationExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_UniqueID((EObject) classificationExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryKeyUnique((EObject) classificationExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryMapEntryUnique((EObject) classificationExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateExpression_expressionAssignmentAfterDerivation(classificationExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateExpression_expressionUniqueAssignments(classificationExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateUnaryExpression_unaryExpressionAssignmentsBefore(classificationExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateClassificationExpression_classificationExpressionIsDirectDerivation(classificationExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateClassificationExpression_classificationExpressionReferentDerivation(classificationExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateClassificationExpression_classificationExpressionTypeDerivation(classificationExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateClassificationExpression_classificationExpressionLowerDerivation(classificationExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateClassificationExpression_classificationExpressionUpperDerivation(classificationExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateClassificationExpression_classificationExpressionTypeName(classificationExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateClassificationExpression_classificationExpressionOperand(classificationExpression, diagnostics, context);
+ return result;
+ }
+
+ /**
+ * Validates the classificationExpressionIsDirectDerivation constraint of '<em>Classification Expression</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateClassificationExpression_classificationExpressionIsDirectDerivation(ClassificationExpression classificationExpression, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return classificationExpression.classificationExpressionIsDirectDerivation(diagnostics, context);
+ }
+
+ /**
+ * Validates the classificationExpressionReferentDerivation constraint of '<em>Classification Expression</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateClassificationExpression_classificationExpressionReferentDerivation(ClassificationExpression classificationExpression, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return classificationExpression.classificationExpressionReferentDerivation(diagnostics, context);
+ }
+
+ /**
+ * Validates the classificationExpressionTypeDerivation constraint of '<em>Classification Expression</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateClassificationExpression_classificationExpressionTypeDerivation(ClassificationExpression classificationExpression, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return classificationExpression.classificationExpressionTypeDerivation(diagnostics, context);
+ }
+
+ /**
+ * Validates the classificationExpressionLowerDerivation constraint of '<em>Classification Expression</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateClassificationExpression_classificationExpressionLowerDerivation(ClassificationExpression classificationExpression, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return classificationExpression.classificationExpressionLowerDerivation(diagnostics, context);
+ }
+
+ /**
+ * Validates the classificationExpressionUpperDerivation constraint of '<em>Classification Expression</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateClassificationExpression_classificationExpressionUpperDerivation(ClassificationExpression classificationExpression, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return classificationExpression.classificationExpressionUpperDerivation(diagnostics, context);
+ }
+
+ /**
+ * Validates the classificationExpressionTypeName constraint of '<em>Classification Expression</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateClassificationExpression_classificationExpressionTypeName(ClassificationExpression classificationExpression, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return classificationExpression.classificationExpressionTypeName(diagnostics, context);
+ }
+
+ /**
+ * Validates the classificationExpressionOperand constraint of '<em>Classification Expression</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateClassificationExpression_classificationExpressionOperand(ClassificationExpression classificationExpression, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return classificationExpression.classificationExpressionOperand(diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateSuperInvocationExpression(SuperInvocationExpression superInvocationExpression, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ if (!validate_NoCircularContainment((EObject) superInvocationExpression, diagnostics, context))
+ return false;
+ boolean result = validate_EveryMultiplicityConforms((EObject) superInvocationExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryDataValueConforms((EObject) superInvocationExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryReferenceIsContained((EObject) superInvocationExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryBidirectionalReferenceIsPaired((EObject) superInvocationExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryProxyResolves((EObject) superInvocationExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_UniqueID((EObject) superInvocationExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryKeyUnique((EObject) superInvocationExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryMapEntryUnique((EObject) superInvocationExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateExpression_expressionAssignmentAfterDerivation(superInvocationExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateExpression_expressionUniqueAssignments(superInvocationExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateInvocationExpression_invocationExpressionIsBehaviorDerivation(superInvocationExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateInvocationExpression_invocationExpressionIsAssociationEndDerivation(superInvocationExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateInvocationExpression_invocationExpressionIsOperationDerivation(superInvocationExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateInvocationExpression_invocationExpressionIsDestructorDerivation(superInvocationExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateInvocationExpression_invocationExpressionIsImplicitDerivation(superInvocationExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateInvocationExpression_invocationExpressionIsSignalDerivation(superInvocationExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateInvocationExpression_invocationExpressionParameterDerivation(superInvocationExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateInvocationExpression_invocationExpressionTypeDerivation(superInvocationExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateInvocationExpression_invocationExpressionUpperDerivation(superInvocationExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateInvocationExpression_invocationExpressionLowerDerivation(superInvocationExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateInvocationExpression_invocationExpressionAssignmentsBefore(superInvocationExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateInvocationExpression_invocationExpressionTemplateParameters(superInvocationExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateSuperInvocationExpression_superInvocationExpressionReferentDerivation(superInvocationExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateSuperInvocationExpression_superInvocationExpressionFeatureDerivation(superInvocationExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateSuperInvocationExpression_superInvocationExpressionQualification(superInvocationExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateSuperInvocationExpression_superInvocationExpressionImplicitTarget(superInvocationExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateSuperInvocationExpression_superInvocationExpressionConstructorCall(superInvocationExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateSuperInvocationExpression_superInvocationExpressionDestructorCall(superInvocationExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateSuperInvocationExpression_superInvocationExpressionOperation(superInvocationExpression, diagnostics, context);
+ return result;
+ }
+
+ /**
+ * Validates the superInvocationExpressionReferentDerivation constraint of '<em>Super Invocation Expression</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateSuperInvocationExpression_superInvocationExpressionReferentDerivation(SuperInvocationExpression superInvocationExpression, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return superInvocationExpression.superInvocationExpressionReferentDerivation(diagnostics, context);
+ }
+
+ /**
+ * Validates the superInvocationExpressionFeatureDerivation constraint of '<em>Super Invocation Expression</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateSuperInvocationExpression_superInvocationExpressionFeatureDerivation(SuperInvocationExpression superInvocationExpression, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return superInvocationExpression.superInvocationExpressionFeatureDerivation(diagnostics, context);
+ }
+
+ /**
+ * Validates the superInvocationExpressionQualification constraint of '<em>Super Invocation Expression</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateSuperInvocationExpression_superInvocationExpressionQualification(SuperInvocationExpression superInvocationExpression, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return superInvocationExpression.superInvocationExpressionQualification(diagnostics, context);
+ }
+
+ /**
+ * Validates the superInvocationExpressionImplicitTarget constraint of '<em>Super Invocation Expression</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateSuperInvocationExpression_superInvocationExpressionImplicitTarget(SuperInvocationExpression superInvocationExpression, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return superInvocationExpression.superInvocationExpressionImplicitTarget(diagnostics, context);
+ }
+
+ /**
+ * Validates the superInvocationExpressionConstructorCall constraint of '<em>Super Invocation Expression</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateSuperInvocationExpression_superInvocationExpressionConstructorCall(SuperInvocationExpression superInvocationExpression, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return superInvocationExpression.superInvocationExpressionConstructorCall(diagnostics, context);
+ }
+
+ /**
+ * Validates the superInvocationExpressionDestructorCall constraint of '<em>Super Invocation Expression</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateSuperInvocationExpression_superInvocationExpressionDestructorCall(SuperInvocationExpression superInvocationExpression, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return superInvocationExpression.superInvocationExpressionDestructorCall(diagnostics, context);
+ }
+
+ /**
+ * Validates the superInvocationExpressionOperation constraint of '<em>Super Invocation Expression</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateSuperInvocationExpression_superInvocationExpressionOperation(SuperInvocationExpression superInvocationExpression, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return superInvocationExpression.superInvocationExpressionOperation(diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateIncrementOrDecrementExpression(IncrementOrDecrementExpression incrementOrDecrementExpression, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ if (!validate_NoCircularContainment((EObject) incrementOrDecrementExpression, diagnostics, context))
+ return false;
+ boolean result = validate_EveryMultiplicityConforms((EObject) incrementOrDecrementExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryDataValueConforms((EObject) incrementOrDecrementExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryReferenceIsContained((EObject) incrementOrDecrementExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryBidirectionalReferenceIsPaired((EObject) incrementOrDecrementExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryProxyResolves((EObject) incrementOrDecrementExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_UniqueID((EObject) incrementOrDecrementExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryKeyUnique((EObject) incrementOrDecrementExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryMapEntryUnique((EObject) incrementOrDecrementExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateExpression_expressionAssignmentAfterDerivation(incrementOrDecrementExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateExpression_expressionUniqueAssignments(incrementOrDecrementExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateIncrementOrDecrementExpression_incrementOrDecrementExpressionAssignmentDerivation(incrementOrDecrementExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateIncrementOrDecrementExpression_incrementOrDecrementExpressionIsFeatureDerivation(incrementOrDecrementExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateIncrementOrDecrementExpression_incrementOrDecrementExpressionIsIndexedDerivation(incrementOrDecrementExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateIncrementOrDecrementExpression_incrementOrDecrementExpressionIsDataValueUpdateDerivation(incrementOrDecrementExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateIncrementOrDecrementExpression_incrementOrDecrementExpressionFeatureDerivation(incrementOrDecrementExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateIncrementOrDecrementExpression_incrementOrDecrementExpressionExpressionDerivation(incrementOrDecrementExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateIncrementOrDecrementExpression_incrementOrDecrementExpressionTypeDerivation(incrementOrDecrementExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateIncrementOrDecrementExpression_incrementOrDecrementExpressionLowerDerivation(incrementOrDecrementExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateIncrementOrDecrementExpression_incrementOrDecrementExpressionUpperDerivation(incrementOrDecrementExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateIncrementOrDecrementExpression_incrementOrDecrementExpressionOperand(incrementOrDecrementExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateIncrementOrDecrementExpression_incrementOrDecrementExpressionAssignmentsBefore(incrementOrDecrementExpression, diagnostics, context);
+ return result;
+ }
+
+ /**
+ * Validates the incrementOrDecrementExpressionAssignmentDerivation constraint of '<em>Increment Or Decrement Expression</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateIncrementOrDecrementExpression_incrementOrDecrementExpressionAssignmentDerivation(IncrementOrDecrementExpression incrementOrDecrementExpression, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return incrementOrDecrementExpression.incrementOrDecrementExpressionAssignmentDerivation(diagnostics, context);
+ }
+
+ /**
+ * Validates the incrementOrDecrementExpressionIsFeatureDerivation constraint of '<em>Increment Or Decrement Expression</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateIncrementOrDecrementExpression_incrementOrDecrementExpressionIsFeatureDerivation(IncrementOrDecrementExpression incrementOrDecrementExpression, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return incrementOrDecrementExpression.incrementOrDecrementExpressionIsFeatureDerivation(diagnostics, context);
+ }
+
+ /**
+ * Validates the incrementOrDecrementExpressionIsIndexedDerivation constraint of '<em>Increment Or Decrement Expression</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateIncrementOrDecrementExpression_incrementOrDecrementExpressionIsIndexedDerivation(IncrementOrDecrementExpression incrementOrDecrementExpression, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return incrementOrDecrementExpression.incrementOrDecrementExpressionIsIndexedDerivation(diagnostics, context);
+ }
+
+ /**
+ * Validates the incrementOrDecrementExpressionIsDataValueUpdateDerivation constraint of '<em>Increment Or Decrement Expression</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateIncrementOrDecrementExpression_incrementOrDecrementExpressionIsDataValueUpdateDerivation(IncrementOrDecrementExpression incrementOrDecrementExpression, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return incrementOrDecrementExpression.incrementOrDecrementExpressionIsDataValueUpdateDerivation(diagnostics, context);
+ }
+
+ /**
+ * Validates the incrementOrDecrementExpressionFeatureDerivation constraint of '<em>Increment Or Decrement Expression</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateIncrementOrDecrementExpression_incrementOrDecrementExpressionFeatureDerivation(IncrementOrDecrementExpression incrementOrDecrementExpression, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return incrementOrDecrementExpression.incrementOrDecrementExpressionFeatureDerivation(diagnostics, context);
+ }
+
+ /**
+ * Validates the incrementOrDecrementExpressionExpressionDerivation constraint of '<em>Increment Or Decrement Expression</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateIncrementOrDecrementExpression_incrementOrDecrementExpressionExpressionDerivation(IncrementOrDecrementExpression incrementOrDecrementExpression, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return incrementOrDecrementExpression.incrementOrDecrementExpressionExpressionDerivation(diagnostics, context);
+ }
+
+ /**
+ * Validates the incrementOrDecrementExpressionTypeDerivation constraint of '<em>Increment Or Decrement Expression</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateIncrementOrDecrementExpression_incrementOrDecrementExpressionTypeDerivation(IncrementOrDecrementExpression incrementOrDecrementExpression, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return incrementOrDecrementExpression.incrementOrDecrementExpressionTypeDerivation(diagnostics, context);
+ }
+
+ /**
+ * Validates the incrementOrDecrementExpressionLowerDerivation constraint of '<em>Increment Or Decrement Expression</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateIncrementOrDecrementExpression_incrementOrDecrementExpressionLowerDerivation(IncrementOrDecrementExpression incrementOrDecrementExpression, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return incrementOrDecrementExpression.incrementOrDecrementExpressionLowerDerivation(diagnostics, context);
+ }
+
+ /**
+ * Validates the incrementOrDecrementExpressionUpperDerivation constraint of '<em>Increment Or Decrement Expression</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateIncrementOrDecrementExpression_incrementOrDecrementExpressionUpperDerivation(IncrementOrDecrementExpression incrementOrDecrementExpression, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return incrementOrDecrementExpression.incrementOrDecrementExpressionUpperDerivation(diagnostics, context);
+ }
+
+ /**
+ * Validates the incrementOrDecrementExpressionOperand constraint of '<em>Increment Or Decrement Expression</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateIncrementOrDecrementExpression_incrementOrDecrementExpressionOperand(IncrementOrDecrementExpression incrementOrDecrementExpression, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return incrementOrDecrementExpression.incrementOrDecrementExpressionOperand(diagnostics, context);
+ }
+
+ /**
+ * Validates the incrementOrDecrementExpressionAssignmentsBefore constraint of '<em>Increment Or Decrement Expression</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateIncrementOrDecrementExpression_incrementOrDecrementExpressionAssignmentsBefore(IncrementOrDecrementExpression incrementOrDecrementExpression, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return incrementOrDecrementExpression.incrementOrDecrementExpressionAssignmentsBefore(diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateBooleanLiteralExpression(BooleanLiteralExpression booleanLiteralExpression, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ if (!validate_NoCircularContainment((EObject) booleanLiteralExpression, diagnostics, context))
+ return false;
+ boolean result = validate_EveryMultiplicityConforms((EObject) booleanLiteralExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryDataValueConforms((EObject) booleanLiteralExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryReferenceIsContained((EObject) booleanLiteralExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryBidirectionalReferenceIsPaired((EObject) booleanLiteralExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryProxyResolves((EObject) booleanLiteralExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_UniqueID((EObject) booleanLiteralExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryKeyUnique((EObject) booleanLiteralExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryMapEntryUnique((EObject) booleanLiteralExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateExpression_expressionAssignmentAfterDerivation(booleanLiteralExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateExpression_expressionUniqueAssignments(booleanLiteralExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateLiteralExpression_literalExpressionUpperDerivation(booleanLiteralExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateLiteralExpression_literalExpressionLowerDerivation(booleanLiteralExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateBooleanLiteralExpression_booleanLiteralExpressionTypeDerivation(booleanLiteralExpression, diagnostics, context);
+ return result;
+ }
+
+ /**
+ * Validates the booleanLiteralExpressionTypeDerivation constraint of '<em>Boolean Literal Expression</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateBooleanLiteralExpression_booleanLiteralExpressionTypeDerivation(BooleanLiteralExpression booleanLiteralExpression, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return booleanLiteralExpression.booleanLiteralExpressionTypeDerivation(diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateNamedTuple(NamedTuple namedTuple, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ if (!validate_NoCircularContainment((EObject) namedTuple, diagnostics, context))
+ return false;
+ boolean result = validate_EveryMultiplicityConforms((EObject) namedTuple, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryDataValueConforms((EObject) namedTuple, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryReferenceIsContained((EObject) namedTuple, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryBidirectionalReferenceIsPaired((EObject) namedTuple, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryProxyResolves((EObject) namedTuple, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_UniqueID((EObject) namedTuple, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryKeyUnique((EObject) namedTuple, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryMapEntryUnique((EObject) namedTuple, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateTuple_tupleInputDerivation(namedTuple, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateTuple_tupleOutputDerivation(namedTuple, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateTuple_tupleNullInputs(namedTuple, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateTuple_tupleOutputs(namedTuple, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateTuple_tupleAssignmentsBefore(namedTuple, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateTuple_tupleAssignmentsAfter(namedTuple, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateNamedTuple_namedTupleArgumentNames(namedTuple, diagnostics, context);
+ return result;
+ }
+
+ /**
+ * Validates the namedTupleArgumentNames constraint of '<em>Named Tuple</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateNamedTuple_namedTupleArgumentNames(NamedTuple namedTuple, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return namedTuple.namedTupleArgumentNames(diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateNaturalLiteralExpression(NaturalLiteralExpression naturalLiteralExpression, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ if (!validate_NoCircularContainment((EObject) naturalLiteralExpression, diagnostics, context))
+ return false;
+ boolean result = validate_EveryMultiplicityConforms((EObject) naturalLiteralExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryDataValueConforms((EObject) naturalLiteralExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryReferenceIsContained((EObject) naturalLiteralExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryBidirectionalReferenceIsPaired((EObject) naturalLiteralExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryProxyResolves((EObject) naturalLiteralExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_UniqueID((EObject) naturalLiteralExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryKeyUnique((EObject) naturalLiteralExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryMapEntryUnique((EObject) naturalLiteralExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateExpression_expressionAssignmentAfterDerivation(naturalLiteralExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateExpression_expressionUniqueAssignments(naturalLiteralExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateLiteralExpression_literalExpressionUpperDerivation(naturalLiteralExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateLiteralExpression_literalExpressionLowerDerivation(naturalLiteralExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateNaturalLiteralExpression_naturalLiteralExpressionTypeDerivation(naturalLiteralExpression, diagnostics, context);
+ return result;
+ }
+
+ /**
+ * Validates the naturalLiteralExpressionTypeDerivation constraint of '<em>Natural Literal Expression</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateNaturalLiteralExpression_naturalLiteralExpressionTypeDerivation(NaturalLiteralExpression naturalLiteralExpression, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return naturalLiteralExpression.naturalLiteralExpressionTypeDerivation(diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateSequenceRange(SequenceRange sequenceRange, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ if (!validate_NoCircularContainment((EObject) sequenceRange, diagnostics, context))
+ return false;
+ boolean result = validate_EveryMultiplicityConforms((EObject) sequenceRange, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryDataValueConforms((EObject) sequenceRange, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryReferenceIsContained((EObject) sequenceRange, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryBidirectionalReferenceIsPaired((EObject) sequenceRange, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryProxyResolves((EObject) sequenceRange, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_UniqueID((EObject) sequenceRange, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryKeyUnique((EObject) sequenceRange, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryMapEntryUnique((EObject) sequenceRange, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateSequenceRange_sequenceRangeLowerDerivation(sequenceRange, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateSequenceRange_sequenceRangeUpperDerivation(sequenceRange, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateSequenceRange_sequenceRangeExpressionMultiplicity(sequenceRange, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateSequenceRange_sequenceRangeAssignments(sequenceRange, diagnostics, context);
+ return result;
+ }
+
+ /**
+ * Validates the sequenceRangeLowerDerivation constraint of '<em>Sequence Range</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateSequenceRange_sequenceRangeLowerDerivation(SequenceRange sequenceRange, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return sequenceRange.sequenceRangeLowerDerivation(diagnostics, context);
+ }
+
+ /**
+ * Validates the sequenceRangeUpperDerivation constraint of '<em>Sequence Range</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateSequenceRange_sequenceRangeUpperDerivation(SequenceRange sequenceRange, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return sequenceRange.sequenceRangeUpperDerivation(diagnostics, context);
+ }
+
+ /**
+ * Validates the sequenceRangeExpressionMultiplicity constraint of '<em>Sequence Range</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateSequenceRange_sequenceRangeExpressionMultiplicity(SequenceRange sequenceRange, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return sequenceRange.sequenceRangeExpressionMultiplicity(diagnostics, context);
+ }
+
+ /**
+ * Validates the sequenceRangeAssignments constraint of '<em>Sequence Range</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateSequenceRange_sequenceRangeAssignments(SequenceRange sequenceRange, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return sequenceRange.sequenceRangeAssignments(diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateNameLeftHandSide(NameLeftHandSide nameLeftHandSide, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ if (!validate_NoCircularContainment((EObject) nameLeftHandSide, diagnostics, context))
+ return false;
+ boolean result = validate_EveryMultiplicityConforms((EObject) nameLeftHandSide, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryDataValueConforms((EObject) nameLeftHandSide, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryReferenceIsContained((EObject) nameLeftHandSide, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryBidirectionalReferenceIsPaired((EObject) nameLeftHandSide, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryProxyResolves((EObject) nameLeftHandSide, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_UniqueID((EObject) nameLeftHandSide, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryKeyUnique((EObject) nameLeftHandSide, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryMapEntryUnique((EObject) nameLeftHandSide, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateLeftHandSide_leftHandSideIndexExpression(nameLeftHandSide, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateNameLeftHandSide_nameLeftHandSideAssignmentAfterDerivation(nameLeftHandSide, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateNameLeftHandSide_nameLeftHandSideTargetAssignment(nameLeftHandSide, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateNameLeftHandSide_nameLeftHandSideAssignmentsBefore(nameLeftHandSide, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateNameLeftHandSide_nameLeftHandSideReferentDerivation(nameLeftHandSide, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateNameLeftHandSide_nameLeftHandSideLowerDerivation(nameLeftHandSide, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateNameLeftHandSide_nameLeftHandSideUpperDerivation(nameLeftHandSide, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateNameLeftHandSide_nameLeftHandSideTypeDerivation(nameLeftHandSide, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateNameLeftHandSide_nameLeftHandSideTargetResolution(nameLeftHandSide, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateNameLeftHandSide_nameLeftHandSideIndexedFeature(nameLeftHandSide, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateNameLeftHandSide_nameLeftHandSideNontemplateTarget(nameLeftHandSide, diagnostics, context);
+ return result;
+ }
+
+ /**
+ * Validates the nameLeftHandSideAssignmentAfterDerivation constraint of '<em>Name Left Hand Side</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateNameLeftHandSide_nameLeftHandSideAssignmentAfterDerivation(NameLeftHandSide nameLeftHandSide, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return nameLeftHandSide.nameLeftHandSideAssignmentAfterDerivation(diagnostics, context);
+ }
+
+ /**
+ * Validates the nameLeftHandSideTargetAssignment constraint of '<em>Name Left Hand Side</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateNameLeftHandSide_nameLeftHandSideTargetAssignment(NameLeftHandSide nameLeftHandSide, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return nameLeftHandSide.nameLeftHandSideTargetAssignment(diagnostics, context);
+ }
+
+ /**
+ * Validates the nameLeftHandSideAssignmentsBefore constraint of '<em>Name Left Hand Side</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateNameLeftHandSide_nameLeftHandSideAssignmentsBefore(NameLeftHandSide nameLeftHandSide, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return nameLeftHandSide.nameLeftHandSideAssignmentsBefore(diagnostics, context);
+ }
+
+ /**
+ * Validates the nameLeftHandSideReferentDerivation constraint of '<em>Name Left Hand Side</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateNameLeftHandSide_nameLeftHandSideReferentDerivation(NameLeftHandSide nameLeftHandSide, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return nameLeftHandSide.nameLeftHandSideReferentDerivation(diagnostics, context);
+ }
+
+ /**
+ * Validates the nameLeftHandSideLowerDerivation constraint of '<em>Name Left Hand Side</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateNameLeftHandSide_nameLeftHandSideLowerDerivation(NameLeftHandSide nameLeftHandSide, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return nameLeftHandSide.nameLeftHandSideLowerDerivation(diagnostics, context);
+ }
+
+ /**
+ * Validates the nameLeftHandSideUpperDerivation constraint of '<em>Name Left Hand Side</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateNameLeftHandSide_nameLeftHandSideUpperDerivation(NameLeftHandSide nameLeftHandSide, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return nameLeftHandSide.nameLeftHandSideUpperDerivation(diagnostics, context);
+ }
+
+ /**
+ * Validates the nameLeftHandSideTypeDerivation constraint of '<em>Name Left Hand Side</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateNameLeftHandSide_nameLeftHandSideTypeDerivation(NameLeftHandSide nameLeftHandSide, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return nameLeftHandSide.nameLeftHandSideTypeDerivation(diagnostics, context);
+ }
+
+ /**
+ * Validates the nameLeftHandSideTargetResolution constraint of '<em>Name Left Hand Side</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateNameLeftHandSide_nameLeftHandSideTargetResolution(NameLeftHandSide nameLeftHandSide, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return nameLeftHandSide.nameLeftHandSideTargetResolution(diagnostics, context);
+ }
+
+ /**
+ * Validates the nameLeftHandSideIndexedFeature constraint of '<em>Name Left Hand Side</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateNameLeftHandSide_nameLeftHandSideIndexedFeature(NameLeftHandSide nameLeftHandSide, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return nameLeftHandSide.nameLeftHandSideIndexedFeature(diagnostics, context);
+ }
+
+ /**
+ * Validates the nameLeftHandSideNontemplateTarget constraint of '<em>Name Left Hand Side</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateNameLeftHandSide_nameLeftHandSideNontemplateTarget(NameLeftHandSide nameLeftHandSide, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return nameLeftHandSide.nameLeftHandSideNontemplateTarget(diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateEffectiveLeftHandSide(EffectiveLeftHandSide effectiveLeftHandSide, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ if (!validate_NoCircularContainment((EObject) effectiveLeftHandSide, diagnostics, context))
+ return false;
+ boolean result = validate_EveryMultiplicityConforms((EObject) effectiveLeftHandSide, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryDataValueConforms((EObject) effectiveLeftHandSide, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryReferenceIsContained((EObject) effectiveLeftHandSide, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryBidirectionalReferenceIsPaired((EObject) effectiveLeftHandSide, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryProxyResolves((EObject) effectiveLeftHandSide, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_UniqueID((EObject) effectiveLeftHandSide, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryKeyUnique((EObject) effectiveLeftHandSide, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryMapEntryUnique((EObject) effectiveLeftHandSide, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateLeftHandSide_leftHandSideIndexExpression(effectiveLeftHandSide, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateNameLeftHandSide_nameLeftHandSideAssignmentAfterDerivation(effectiveLeftHandSide, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateNameLeftHandSide_nameLeftHandSideTargetAssignment(effectiveLeftHandSide, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateNameLeftHandSide_nameLeftHandSideAssignmentsBefore(effectiveLeftHandSide, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateNameLeftHandSide_nameLeftHandSideReferentDerivation(effectiveLeftHandSide, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateNameLeftHandSide_nameLeftHandSideLowerDerivation(effectiveLeftHandSide, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateNameLeftHandSide_nameLeftHandSideUpperDerivation(effectiveLeftHandSide, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateNameLeftHandSide_nameLeftHandSideTypeDerivation(effectiveLeftHandSide, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateNameLeftHandSide_nameLeftHandSideTargetResolution(effectiveLeftHandSide, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateNameLeftHandSide_nameLeftHandSideIndexedFeature(effectiveLeftHandSide, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateNameLeftHandSide_nameLeftHandSideNontemplateTarget(effectiveLeftHandSide, diagnostics, context);
+ return result;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateSequenceReductionExpression(SequenceReductionExpression sequenceReductionExpression, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ if (!validate_NoCircularContainment((EObject) sequenceReductionExpression, diagnostics, context))
+ return false;
+ boolean result = validate_EveryMultiplicityConforms((EObject) sequenceReductionExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryDataValueConforms((EObject) sequenceReductionExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryReferenceIsContained((EObject) sequenceReductionExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryBidirectionalReferenceIsPaired((EObject) sequenceReductionExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryProxyResolves((EObject) sequenceReductionExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_UniqueID((EObject) sequenceReductionExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryKeyUnique((EObject) sequenceReductionExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryMapEntryUnique((EObject) sequenceReductionExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateExpression_expressionAssignmentAfterDerivation(sequenceReductionExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateExpression_expressionUniqueAssignments(sequenceReductionExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateSequenceReductionExpression_sequenceReductionExpressionReferentDerivation(sequenceReductionExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateSequenceReductionExpression_sequenceReductionExpressionTypeDerivation(sequenceReductionExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateSequenceReductionExpression_sequenceReductionExpressionUpperDerivation(sequenceReductionExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateSequenceReductionExpression_sequenceReductionExpressionLowerDerivation(sequenceReductionExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateSequenceReductionExpression_sequenceReductionExpressionBehavior(sequenceReductionExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateSequenceReductionExpression_sequenceReductionExpressionBehaviorParameters(sequenceReductionExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateSequenceReductionExpression_sequenceReductionExpressionAssignmentsBefore(sequenceReductionExpression, diagnostics, context);
+ return result;
+ }
+
+ /**
+ * Validates the sequenceReductionExpressionReferentDerivation constraint of '<em>Sequence Reduction Expression</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateSequenceReductionExpression_sequenceReductionExpressionReferentDerivation(SequenceReductionExpression sequenceReductionExpression, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return sequenceReductionExpression.sequenceReductionExpressionReferentDerivation(diagnostics, context);
+ }
+
+ /**
+ * Validates the sequenceReductionExpressionTypeDerivation constraint of '<em>Sequence Reduction Expression</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateSequenceReductionExpression_sequenceReductionExpressionTypeDerivation(SequenceReductionExpression sequenceReductionExpression, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return sequenceReductionExpression.sequenceReductionExpressionTypeDerivation(diagnostics, context);
+ }
+
+ /**
+ * Validates the sequenceReductionExpressionUpperDerivation constraint of '<em>Sequence Reduction Expression</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateSequenceReductionExpression_sequenceReductionExpressionUpperDerivation(SequenceReductionExpression sequenceReductionExpression, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return sequenceReductionExpression.sequenceReductionExpressionUpperDerivation(diagnostics, context);
+ }
+
+ /**
+ * Validates the sequenceReductionExpressionLowerDerivation constraint of '<em>Sequence Reduction Expression</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateSequenceReductionExpression_sequenceReductionExpressionLowerDerivation(SequenceReductionExpression sequenceReductionExpression, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return sequenceReductionExpression.sequenceReductionExpressionLowerDerivation(diagnostics, context);
+ }
+
+ /**
+ * Validates the sequenceReductionExpressionBehavior constraint of '<em>Sequence Reduction Expression</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateSequenceReductionExpression_sequenceReductionExpressionBehavior(SequenceReductionExpression sequenceReductionExpression, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return sequenceReductionExpression.sequenceReductionExpressionBehavior(diagnostics, context);
+ }
+
+ /**
+ * Validates the sequenceReductionExpressionBehaviorParameters constraint of '<em>Sequence Reduction Expression</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateSequenceReductionExpression_sequenceReductionExpressionBehaviorParameters(SequenceReductionExpression sequenceReductionExpression, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return sequenceReductionExpression.sequenceReductionExpressionBehaviorParameters(diagnostics, context);
+ }
+
+ /**
+ * Validates the sequenceReductionExpressionAssignmentsBefore constraint of '<em>Sequence Reduction Expression</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateSequenceReductionExpression_sequenceReductionExpressionAssignmentsBefore(SequenceReductionExpression sequenceReductionExpression, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return sequenceReductionExpression.sequenceReductionExpressionAssignmentsBefore(diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateSequenceExpressionList(SequenceExpressionList sequenceExpressionList, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ if (!validate_NoCircularContainment((EObject) sequenceExpressionList, diagnostics, context))
+ return false;
+ boolean result = validate_EveryMultiplicityConforms((EObject) sequenceExpressionList, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryDataValueConforms((EObject) sequenceExpressionList, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryReferenceIsContained((EObject) sequenceExpressionList, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryBidirectionalReferenceIsPaired((EObject) sequenceExpressionList, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryProxyResolves((EObject) sequenceExpressionList, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_UniqueID((EObject) sequenceExpressionList, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryKeyUnique((EObject) sequenceExpressionList, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryMapEntryUnique((EObject) sequenceExpressionList, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateSequenceExpressionList_sequenceExpressionListLowerDerivation(sequenceExpressionList, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateSequenceExpressionList_sequenceExpressionListUpperDerivation(sequenceExpressionList, diagnostics, context);
+ return result;
+ }
+
+ /**
+ * Validates the sequenceExpressionListLowerDerivation constraint of '<em>Sequence Expression List</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateSequenceExpressionList_sequenceExpressionListLowerDerivation(SequenceExpressionList sequenceExpressionList, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return sequenceExpressionList.sequenceExpressionListLowerDerivation(diagnostics, context);
+ }
+
+ /**
+ * Validates the sequenceExpressionListUpperDerivation constraint of '<em>Sequence Expression List</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateSequenceExpressionList_sequenceExpressionListUpperDerivation(SequenceExpressionList sequenceExpressionList, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return sequenceExpressionList.sequenceExpressionListUpperDerivation(diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateRelationalExpression(RelationalExpression relationalExpression, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ if (!validate_NoCircularContainment((EObject) relationalExpression, diagnostics, context))
+ return false;
+ boolean result = validate_EveryMultiplicityConforms((EObject) relationalExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryDataValueConforms((EObject) relationalExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryReferenceIsContained((EObject) relationalExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryBidirectionalReferenceIsPaired((EObject) relationalExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryProxyResolves((EObject) relationalExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_UniqueID((EObject) relationalExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryKeyUnique((EObject) relationalExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryMapEntryUnique((EObject) relationalExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateExpression_expressionAssignmentAfterDerivation(relationalExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateExpression_expressionUniqueAssignments(relationalExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateBinaryExpression_binaryExpressionOperandMultiplicity(relationalExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateBinaryExpression_binaryExpressionOperandAssignments(relationalExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateRelationalExpression_relationalExpressionIsUnlimitedNaturalDerivation(relationalExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateRelationalExpression_relationalExpressionTypeDerivation(relationalExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateRelationalExpression_relationalExpressionLowerDerivation(relationalExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateRelationalExpression_relationalExpressionUpperDerivation(relationalExpression, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateRelationalExpression_relationalExpressionOperandTypes(relationalExpression, diagnostics, context);
+ return result;
+ }
+
+ /**
+ * Validates the relationalExpressionIsUnlimitedNaturalDerivation constraint of '<em>Relational Expression</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateRelationalExpression_relationalExpressionIsUnlimitedNaturalDerivation(RelationalExpression relationalExpression, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return relationalExpression.relationalExpressionIsUnlimitedNaturalDerivation(diagnostics, context);
+ }
+
+ /**
+ * Validates the relationalExpressionTypeDerivation constraint of '<em>Relational Expression</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateRelationalExpression_relationalExpressionTypeDerivation(RelationalExpression relationalExpression, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return relationalExpression.relationalExpressionTypeDerivation(diagnostics, context);
+ }
+
+ /**
+ * Validates the relationalExpressionLowerDerivation constraint of '<em>Relational Expression</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateRelationalExpression_relationalExpressionLowerDerivation(RelationalExpression relationalExpression, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return relationalExpression.relationalExpressionLowerDerivation(diagnostics, context);
+ }
+
+ /**
+ * Validates the relationalExpressionUpperDerivation constraint of '<em>Relational Expression</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateRelationalExpression_relationalExpressionUpperDerivation(RelationalExpression relationalExpression, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return relationalExpression.relationalExpressionUpperDerivation(diagnostics, context);
+ }
+
+ /**
+ * Validates the relationalExpressionOperandTypes constraint of '<em>Relational Expression</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateRelationalExpression_relationalExpressionOperandTypes(RelationalExpression relationalExpression, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return relationalExpression.relationalExpressionOperandTypes(diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateLocalNameDeclarationStatement(LocalNameDeclarationStatement localNameDeclarationStatement, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ if (!validate_NoCircularContainment((EObject) localNameDeclarationStatement, diagnostics, context))
+ return false;
+ boolean result = validate_EveryMultiplicityConforms((EObject) localNameDeclarationStatement, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryDataValueConforms((EObject) localNameDeclarationStatement, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryReferenceIsContained((EObject) localNameDeclarationStatement, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryBidirectionalReferenceIsPaired((EObject) localNameDeclarationStatement, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryProxyResolves((EObject) localNameDeclarationStatement, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_UniqueID((EObject) localNameDeclarationStatement, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryKeyUnique((EObject) localNameDeclarationStatement, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryMapEntryUnique((EObject) localNameDeclarationStatement, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateStatement_statementAnnotationsAllowed(localNameDeclarationStatement, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateStatement_statementUniqueAssignments(localNameDeclarationStatement, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateStatement_statementIsIsolatedDerivation(localNameDeclarationStatement, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateLocalNameDeclarationStatement_localNameDeclarationStatementAssignmentsBefore(localNameDeclarationStatement, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateLocalNameDeclarationStatement_localNameDeclarationStatementType(localNameDeclarationStatement, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateLocalNameDeclarationStatement_localNameDeclarationStatementLocalName(localNameDeclarationStatement, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateLocalNameDeclarationStatement_localNameDeclarationStatementAssignmentsAfter(localNameDeclarationStatement, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateLocalNameDeclarationStatement_localNameDeclarationStatementExpressionMultiplicity(localNameDeclarationStatement, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateLocalNameDeclarationStatement_localNameDeclarationStatementTypeDerivation(localNameDeclarationStatement, diagnostics, context);
+ return result;
+ }
+
+ /**
+ * Validates the localNameDeclarationStatementAssignmentsBefore constraint of '<em>Local Name Declaration Statement</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateLocalNameDeclarationStatement_localNameDeclarationStatementAssignmentsBefore(LocalNameDeclarationStatement localNameDeclarationStatement, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return localNameDeclarationStatement.localNameDeclarationStatementAssignmentsBefore(diagnostics, context);
+ }
+
+ /**
+ * Validates the localNameDeclarationStatementType constraint of '<em>Local Name Declaration Statement</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateLocalNameDeclarationStatement_localNameDeclarationStatementType(LocalNameDeclarationStatement localNameDeclarationStatement, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return localNameDeclarationStatement.localNameDeclarationStatementType(diagnostics, context);
+ }
+
+ /**
+ * Validates the localNameDeclarationStatementLocalName constraint of '<em>Local Name Declaration Statement</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateLocalNameDeclarationStatement_localNameDeclarationStatementLocalName(LocalNameDeclarationStatement localNameDeclarationStatement, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return localNameDeclarationStatement.localNameDeclarationStatementLocalName(diagnostics, context);
+ }
+
+ /**
+ * Validates the localNameDeclarationStatementAssignmentsAfter constraint of '<em>Local Name Declaration Statement</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateLocalNameDeclarationStatement_localNameDeclarationStatementAssignmentsAfter(LocalNameDeclarationStatement localNameDeclarationStatement, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return localNameDeclarationStatement.localNameDeclarationStatementAssignmentsAfter(diagnostics, context);
+ }
+
+ /**
+ * Validates the localNameDeclarationStatementExpressionMultiplicity constraint of '<em>Local Name Declaration Statement</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateLocalNameDeclarationStatement_localNameDeclarationStatementExpressionMultiplicity(LocalNameDeclarationStatement localNameDeclarationStatement, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return localNameDeclarationStatement.localNameDeclarationStatementExpressionMultiplicity(diagnostics, context);
+ }
+
+ /**
+ * Validates the localNameDeclarationStatementTypeDerivation constraint of '<em>Local Name Declaration Statement</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateLocalNameDeclarationStatement_localNameDeclarationStatementTypeDerivation(LocalNameDeclarationStatement localNameDeclarationStatement, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return localNameDeclarationStatement.localNameDeclarationStatementTypeDerivation(diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateAssignableLocalNameDeclaration(AssignableLocalNameDeclaration assignableLocalNameDeclaration, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return validate_EveryDefaultConstraint((EObject) assignableLocalNameDeclaration, diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateStatement(Statement statement, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ if (!validate_NoCircularContainment((EObject) statement, diagnostics, context))
+ return false;
+ boolean result = validate_EveryMultiplicityConforms((EObject) statement, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryDataValueConforms((EObject) statement, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryReferenceIsContained((EObject) statement, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryBidirectionalReferenceIsPaired((EObject) statement, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryProxyResolves((EObject) statement, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_UniqueID((EObject) statement, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryKeyUnique((EObject) statement, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryMapEntryUnique((EObject) statement, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateStatement_statementAnnotationsAllowed(statement, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateStatement_statementUniqueAssignments(statement, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateStatement_statementIsIsolatedDerivation(statement, diagnostics, context);
+ return result;
+ }
+
+ /**
+ * Validates the statementAnnotationsAllowed constraint of '<em>Statement</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateStatement_statementAnnotationsAllowed(Statement statement, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return statement.statementAnnotationsAllowed(diagnostics, context);
+ }
+
+ /**
+ * Validates the statementUniqueAssignments constraint of '<em>Statement</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateStatement_statementUniqueAssignments(Statement statement, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return statement.statementUniqueAssignments(diagnostics, context);
+ }
+
+ /**
+ * Validates the statementIsIsolatedDerivation constraint of '<em>Statement</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateStatement_statementIsIsolatedDerivation(Statement statement, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return statement.statementIsIsolatedDerivation(diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateAnnotation(Annotation annotation, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return validate_EveryDefaultConstraint((EObject) annotation, diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateQualifiedNameList(QualifiedNameList qualifiedNameList, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return validate_EveryDefaultConstraint((EObject) qualifiedNameList, diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateNonFinalClause(NonFinalClause nonFinalClause, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ if (!validate_NoCircularContainment((EObject) nonFinalClause, diagnostics, context))
+ return false;
+ boolean result = validate_EveryMultiplicityConforms((EObject) nonFinalClause, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryDataValueConforms((EObject) nonFinalClause, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryReferenceIsContained((EObject) nonFinalClause, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryBidirectionalReferenceIsPaired((EObject) nonFinalClause, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryProxyResolves((EObject) nonFinalClause, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_UniqueID((EObject) nonFinalClause, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryKeyUnique((EObject) nonFinalClause, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryMapEntryUnique((EObject) nonFinalClause, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateNonFinalClause_nonFinalClauseAssignmentsBeforeBody(nonFinalClause, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateNonFinalClause_nonFinalClauseConditionLocalNames(nonFinalClause, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateNonFinalClause_nonFinalClauseConditionType(nonFinalClause, diagnostics, context);
+ return result;
+ }
+
+ /**
+ * Validates the nonFinalClauseAssignmentsBeforeBody constraint of '<em>Non Final Clause</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateNonFinalClause_nonFinalClauseAssignmentsBeforeBody(NonFinalClause nonFinalClause, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return nonFinalClause.nonFinalClauseAssignmentsBeforeBody(diagnostics, context);
+ }
+
+ /**
+ * Validates the nonFinalClauseConditionLocalNames constraint of '<em>Non Final Clause</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateNonFinalClause_nonFinalClauseConditionLocalNames(NonFinalClause nonFinalClause, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return nonFinalClause.nonFinalClauseConditionLocalNames(diagnostics, context);
+ }
+
+ /**
+ * Validates the nonFinalClauseConditionType constraint of '<em>Non Final Clause</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateNonFinalClause_nonFinalClauseConditionType(NonFinalClause nonFinalClause, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return nonFinalClause.nonFinalClauseConditionType(diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateBlock(Block block, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ if (!validate_NoCircularContainment((EObject) block, diagnostics, context))
+ return false;
+ boolean result = validate_EveryMultiplicityConforms((EObject) block, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryDataValueConforms((EObject) block, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryReferenceIsContained((EObject) block, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryBidirectionalReferenceIsPaired((EObject) block, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryProxyResolves((EObject) block, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_UniqueID((EObject) block, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryKeyUnique((EObject) block, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryMapEntryUnique((EObject) block, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateBlock_blockAssignmentsBeforeStatements(block, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateBlock_blockAssignmentsBefore(block, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateBlock_blockAssignmentAfterDerivation(block, diagnostics, context);
+ return result;
+ }
+
+ /**
+ * Validates the blockAssignmentsBeforeStatements constraint of '<em>Block</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateBlock_blockAssignmentsBeforeStatements(Block block, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return block.blockAssignmentsBeforeStatements(diagnostics, context);
+ }
+
+ /**
+ * Validates the blockAssignmentsBefore constraint of '<em>Block</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateBlock_blockAssignmentsBefore(Block block, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return block.blockAssignmentsBefore(diagnostics, context);
+ }
+
+ /**
+ * Validates the blockAssignmentAfterDerivation constraint of '<em>Block</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateBlock_blockAssignmentAfterDerivation(Block block, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return block.blockAssignmentAfterDerivation(diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateBlockStatement(BlockStatement blockStatement, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ if (!validate_NoCircularContainment((EObject) blockStatement, diagnostics, context))
+ return false;
+ boolean result = validate_EveryMultiplicityConforms((EObject) blockStatement, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryDataValueConforms((EObject) blockStatement, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryReferenceIsContained((EObject) blockStatement, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryBidirectionalReferenceIsPaired((EObject) blockStatement, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryProxyResolves((EObject) blockStatement, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_UniqueID((EObject) blockStatement, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryKeyUnique((EObject) blockStatement, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryMapEntryUnique((EObject) blockStatement, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateStatement_statementAnnotationsAllowed(blockStatement, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateStatement_statementUniqueAssignments(blockStatement, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateStatement_statementIsIsolatedDerivation(blockStatement, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateBlockStatement_blockStatementParallelAssignments(blockStatement, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateBlockStatement_blockStatementAssignmentsBefore(blockStatement, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateBlockStatement_blockStatementAssignmentsAfter(blockStatement, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateBlockStatement_blockStatementEnclosedStatements(blockStatement, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateBlockStatement_blockStatementIsParallelDerivation(blockStatement, diagnostics, context);
+ return result;
+ }
+
+ /**
+ * Validates the blockStatementParallelAssignments constraint of '<em>Block Statement</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateBlockStatement_blockStatementParallelAssignments(BlockStatement blockStatement, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return blockStatement.blockStatementParallelAssignments(diagnostics, context);
+ }
+
+ /**
+ * Validates the blockStatementAssignmentsBefore constraint of '<em>Block Statement</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateBlockStatement_blockStatementAssignmentsBefore(BlockStatement blockStatement, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return blockStatement.blockStatementAssignmentsBefore(diagnostics, context);
+ }
+
+ /**
+ * Validates the blockStatementAssignmentsAfter constraint of '<em>Block Statement</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateBlockStatement_blockStatementAssignmentsAfter(BlockStatement blockStatement, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return blockStatement.blockStatementAssignmentsAfter(diagnostics, context);
+ }
+
+ /**
+ * Validates the blockStatementEnclosedStatements constraint of '<em>Block Statement</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateBlockStatement_blockStatementEnclosedStatements(BlockStatement blockStatement, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return blockStatement.blockStatementEnclosedStatements(diagnostics, context);
+ }
+
+ /**
+ * Validates the blockStatementIsParallelDerivation constraint of '<em>Block Statement</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateBlockStatement_blockStatementIsParallelDerivation(BlockStatement blockStatement, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return blockStatement.blockStatementIsParallelDerivation(diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateDoStatement(DoStatement doStatement, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ if (!validate_NoCircularContainment((EObject) doStatement, diagnostics, context))
+ return false;
+ boolean result = validate_EveryMultiplicityConforms((EObject) doStatement, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryDataValueConforms((EObject) doStatement, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryReferenceIsContained((EObject) doStatement, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryBidirectionalReferenceIsPaired((EObject) doStatement, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryProxyResolves((EObject) doStatement, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_UniqueID((EObject) doStatement, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryKeyUnique((EObject) doStatement, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryMapEntryUnique((EObject) doStatement, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateStatement_statementAnnotationsAllowed(doStatement, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateStatement_statementUniqueAssignments(doStatement, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateStatement_statementIsIsolatedDerivation(doStatement, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateDoStatement_doStatementAssignmentsBefore(doStatement, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateDoStatement_doStatementAssignmentsAfter(doStatement, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateDoStatement_doStatementCondition(doStatement, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateDoStatement_doStatementEnclosedStatements(doStatement, diagnostics, context);
+ return result;
+ }
+
+ /**
+ * Validates the doStatementAssignmentsBefore constraint of '<em>Do Statement</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateDoStatement_doStatementAssignmentsBefore(DoStatement doStatement, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return doStatement.doStatementAssignmentsBefore(diagnostics, context);
+ }
+
+ /**
+ * Validates the doStatementAssignmentsAfter constraint of '<em>Do Statement</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateDoStatement_doStatementAssignmentsAfter(DoStatement doStatement, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return doStatement.doStatementAssignmentsAfter(diagnostics, context);
+ }
+
+ /**
+ * Validates the doStatementCondition constraint of '<em>Do Statement</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateDoStatement_doStatementCondition(DoStatement doStatement, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return doStatement.doStatementCondition(diagnostics, context);
+ }
+
+ /**
+ * Validates the doStatementEnclosedStatements constraint of '<em>Do Statement</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateDoStatement_doStatementEnclosedStatements(DoStatement doStatement, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return doStatement.doStatementEnclosedStatements(diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateConcurrentClauses(ConcurrentClauses concurrentClauses, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ if (!validate_NoCircularContainment((EObject) concurrentClauses, diagnostics, context))
+ return false;
+ boolean result = validate_EveryMultiplicityConforms((EObject) concurrentClauses, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryDataValueConforms((EObject) concurrentClauses, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryReferenceIsContained((EObject) concurrentClauses, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryBidirectionalReferenceIsPaired((EObject) concurrentClauses, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryProxyResolves((EObject) concurrentClauses, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_UniqueID((EObject) concurrentClauses, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryKeyUnique((EObject) concurrentClauses, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryMapEntryUnique((EObject) concurrentClauses, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateConcurrentClauses_concurrentClausesAssignmentsBefore(concurrentClauses, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateConcurrentClauses_concurrentClausesConditionAssignments(concurrentClauses, diagnostics, context);
+ return result;
+ }
+
+ /**
+ * Validates the concurrentClausesAssignmentsBefore constraint of '<em>Concurrent Clauses</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateConcurrentClauses_concurrentClausesAssignmentsBefore(ConcurrentClauses concurrentClauses, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return concurrentClauses.concurrentClausesAssignmentsBefore(diagnostics, context);
+ }
+
+ /**
+ * Validates the concurrentClausesConditionAssignments constraint of '<em>Concurrent Clauses</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateConcurrentClauses_concurrentClausesConditionAssignments(ConcurrentClauses concurrentClauses, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return concurrentClauses.concurrentClausesConditionAssignments(diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateBreakStatement(BreakStatement breakStatement, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ if (!validate_NoCircularContainment((EObject) breakStatement, diagnostics, context))
+ return false;
+ boolean result = validate_EveryMultiplicityConforms((EObject) breakStatement, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryDataValueConforms((EObject) breakStatement, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryReferenceIsContained((EObject) breakStatement, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryBidirectionalReferenceIsPaired((EObject) breakStatement, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryProxyResolves((EObject) breakStatement, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_UniqueID((EObject) breakStatement, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryKeyUnique((EObject) breakStatement, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryMapEntryUnique((EObject) breakStatement, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateStatement_statementAnnotationsAllowed(breakStatement, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateStatement_statementUniqueAssignments(breakStatement, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateStatement_statementIsIsolatedDerivation(breakStatement, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateBreakStatement_breakStatementTargetDerivation(breakStatement, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateBreakStatement_breakStatementNonparallelTarget(breakStatement, diagnostics, context);
+ return result;
+ }
+
+ /**
+ * Validates the breakStatementTargetDerivation constraint of '<em>Break Statement</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateBreakStatement_breakStatementTargetDerivation(BreakStatement breakStatement, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return breakStatement.breakStatementTargetDerivation(diagnostics, context);
+ }
+
+ /**
+ * Validates the breakStatementNonparallelTarget constraint of '<em>Break Statement</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateBreakStatement_breakStatementNonparallelTarget(BreakStatement breakStatement, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return breakStatement.breakStatementNonparallelTarget(diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateExpressionStatement(ExpressionStatement expressionStatement, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ if (!validate_NoCircularContainment((EObject) expressionStatement, diagnostics, context))
+ return false;
+ boolean result = validate_EveryMultiplicityConforms((EObject) expressionStatement, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryDataValueConforms((EObject) expressionStatement, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryReferenceIsContained((EObject) expressionStatement, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryBidirectionalReferenceIsPaired((EObject) expressionStatement, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryProxyResolves((EObject) expressionStatement, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_UniqueID((EObject) expressionStatement, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryKeyUnique((EObject) expressionStatement, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryMapEntryUnique((EObject) expressionStatement, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateStatement_statementAnnotationsAllowed(expressionStatement, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateStatement_statementUniqueAssignments(expressionStatement, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateStatement_statementIsIsolatedDerivation(expressionStatement, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateExpressionStatement_expressionStatementAssignmentsBefore(expressionStatement, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateExpressionStatement_expressionStatementAssignmentsAfter(expressionStatement, diagnostics, context);
+ return result;
+ }
+
+ /**
+ * Validates the expressionStatementAssignmentsBefore constraint of '<em>Expression Statement</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateExpressionStatement_expressionStatementAssignmentsBefore(ExpressionStatement expressionStatement, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return expressionStatement.expressionStatementAssignmentsBefore(diagnostics, context);
+ }
+
+ /**
+ * Validates the expressionStatementAssignmentsAfter constraint of '<em>Expression Statement</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateExpressionStatement_expressionStatementAssignmentsAfter(ExpressionStatement expressionStatement, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return expressionStatement.expressionStatementAssignmentsAfter(diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateClassifyStatement(ClassifyStatement classifyStatement, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ if (!validate_NoCircularContainment((EObject) classifyStatement, diagnostics, context))
+ return false;
+ boolean result = validate_EveryMultiplicityConforms((EObject) classifyStatement, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryDataValueConforms((EObject) classifyStatement, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryReferenceIsContained((EObject) classifyStatement, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryBidirectionalReferenceIsPaired((EObject) classifyStatement, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryProxyResolves((EObject) classifyStatement, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_UniqueID((EObject) classifyStatement, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryKeyUnique((EObject) classifyStatement, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryMapEntryUnique((EObject) classifyStatement, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateStatement_statementAnnotationsAllowed(classifyStatement, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateStatement_statementUniqueAssignments(classifyStatement, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateStatement_statementIsIsolatedDerivation(classifyStatement, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateClassifyStatement_classifyStatementExpression(classifyStatement, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateClassifyStatement_classifyStatementClassNames(classifyStatement, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateClassifyStatement_classifyStatementClasses(classifyStatement, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateClassifyStatement_classifyStatementAssignmentsBefore(classifyStatement, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateClassifyStatement_classifyStatementAssignmentsAfter(classifyStatement, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateClassifyStatement_classifyStatementFromClassDerivation(classifyStatement, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateClassifyStatement_classifyStatementToClassDerivation(classifyStatement, diagnostics, context);
+ return result;
+ }
+
+ /**
+ * Validates the classifyStatementExpression constraint of '<em>Classify Statement</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateClassifyStatement_classifyStatementExpression(ClassifyStatement classifyStatement, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return classifyStatement.classifyStatementExpression(diagnostics, context);
+ }
+
+ /**
+ * Validates the classifyStatementClassNames constraint of '<em>Classify Statement</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateClassifyStatement_classifyStatementClassNames(ClassifyStatement classifyStatement, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return classifyStatement.classifyStatementClassNames(diagnostics, context);
+ }
+
+ /**
+ * Validates the classifyStatementClasses constraint of '<em>Classify Statement</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateClassifyStatement_classifyStatementClasses(ClassifyStatement classifyStatement, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return classifyStatement.classifyStatementClasses(diagnostics, context);
+ }
+
+ /**
+ * Validates the classifyStatementAssignmentsBefore constraint of '<em>Classify Statement</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateClassifyStatement_classifyStatementAssignmentsBefore(ClassifyStatement classifyStatement, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return classifyStatement.classifyStatementAssignmentsBefore(diagnostics, context);
+ }
+
+ /**
+ * Validates the classifyStatementAssignmentsAfter constraint of '<em>Classify Statement</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateClassifyStatement_classifyStatementAssignmentsAfter(ClassifyStatement classifyStatement, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return classifyStatement.classifyStatementAssignmentsAfter(diagnostics, context);
+ }
+
+ /**
+ * Validates the classifyStatementFromClassDerivation constraint of '<em>Classify Statement</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateClassifyStatement_classifyStatementFromClassDerivation(ClassifyStatement classifyStatement, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return classifyStatement.classifyStatementFromClassDerivation(diagnostics, context);
+ }
+
+ /**
+ * Validates the classifyStatementToClassDerivation constraint of '<em>Classify Statement</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateClassifyStatement_classifyStatementToClassDerivation(ClassifyStatement classifyStatement, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return classifyStatement.classifyStatementToClassDerivation(diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateForStatement(ForStatement forStatement, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ if (!validate_NoCircularContainment((EObject) forStatement, diagnostics, context))
+ return false;
+ boolean result = validate_EveryMultiplicityConforms((EObject) forStatement, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryDataValueConforms((EObject) forStatement, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryReferenceIsContained((EObject) forStatement, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryBidirectionalReferenceIsPaired((EObject) forStatement, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryProxyResolves((EObject) forStatement, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_UniqueID((EObject) forStatement, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryKeyUnique((EObject) forStatement, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryMapEntryUnique((EObject) forStatement, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateStatement_statementAnnotationsAllowed(forStatement, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateStatement_statementUniqueAssignments(forStatement, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateStatement_statementIsIsolatedDerivation(forStatement, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateForStatement_forStatementAssignmentsBefore(forStatement, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateForStatement_forStatementAssignmentsAfter(forStatement, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateForStatement_forStatementParallelAnnotationNames(forStatement, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateForStatement_forStatementParallelAssignmentsAfter(forStatement, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateForStatement_forStatementVariableDefinitions(forStatement, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateForStatement_forStatementLoopVariables(forStatement, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateForStatement_forStatementIsParallelDerivation(forStatement, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateForStatement_forStatementEnclosedStatements(forStatement, diagnostics, context);
+ return result;
+ }
+
+ /**
+ * Validates the forStatementAssignmentsBefore constraint of '<em>For Statement</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateForStatement_forStatementAssignmentsBefore(ForStatement forStatement, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return forStatement.forStatementAssignmentsBefore(diagnostics, context);
+ }
+
+ /**
+ * Validates the forStatementAssignmentsAfter constraint of '<em>For Statement</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateForStatement_forStatementAssignmentsAfter(ForStatement forStatement, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return forStatement.forStatementAssignmentsAfter(diagnostics, context);
+ }
+
+ /**
+ * Validates the forStatementParallelAnnotationNames constraint of '<em>For Statement</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateForStatement_forStatementParallelAnnotationNames(ForStatement forStatement, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return forStatement.forStatementParallelAnnotationNames(diagnostics, context);
+ }
+
+ /**
+ * Validates the forStatementParallelAssignmentsAfter constraint of '<em>For Statement</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateForStatement_forStatementParallelAssignmentsAfter(ForStatement forStatement, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return forStatement.forStatementParallelAssignmentsAfter(diagnostics, context);
+ }
+
+ /**
+ * Validates the forStatementVariableDefinitions constraint of '<em>For Statement</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateForStatement_forStatementVariableDefinitions(ForStatement forStatement, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return forStatement.forStatementVariableDefinitions(diagnostics, context);
+ }
+
+ /**
+ * Validates the forStatementLoopVariables constraint of '<em>For Statement</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateForStatement_forStatementLoopVariables(ForStatement forStatement, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return forStatement.forStatementLoopVariables(diagnostics, context);
+ }
+
+ /**
+ * Validates the forStatementIsParallelDerivation constraint of '<em>For Statement</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateForStatement_forStatementIsParallelDerivation(ForStatement forStatement, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return forStatement.forStatementIsParallelDerivation(diagnostics, context);
+ }
+
+ /**
+ * Validates the forStatementEnclosedStatements constraint of '<em>For Statement</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateForStatement_forStatementEnclosedStatements(ForStatement forStatement, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return forStatement.forStatementEnclosedStatements(diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateLoopVariableDefinition(LoopVariableDefinition loopVariableDefinition, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ if (!validate_NoCircularContainment((EObject) loopVariableDefinition, diagnostics, context))
+ return false;
+ boolean result = validate_EveryMultiplicityConforms((EObject) loopVariableDefinition, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryDataValueConforms((EObject) loopVariableDefinition, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryReferenceIsContained((EObject) loopVariableDefinition, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryBidirectionalReferenceIsPaired((EObject) loopVariableDefinition, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryProxyResolves((EObject) loopVariableDefinition, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_UniqueID((EObject) loopVariableDefinition, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryKeyUnique((EObject) loopVariableDefinition, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryMapEntryUnique((EObject) loopVariableDefinition, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateLoopVariableDefinition_loopVariableDefinitionAssignmentAfterDerivation(loopVariableDefinition, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateLoopVariableDefinition_loopVariableDefinitionAssignmentsBefore(loopVariableDefinition, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateLoopVariableDefinition_loopVariableDefinitionRangeExpressions(loopVariableDefinition, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateLoopVariableDefinition_loopVariableDefinitionTypeName(loopVariableDefinition, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateLoopVariableDefinition_loopVariableDefinitionTypeDerivation(loopVariableDefinition, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateLoopVariableDefinition_loopVariableDefinitionDeclaredType(loopVariableDefinition, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateLoopVariableDefinition_loopVariableDefinitionIsCollectionConversionDerivation(loopVariableDefinition, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateLoopVariableDefinition_loopVariableDefinitionVariable(loopVariableDefinition, diagnostics, context);
+ return result;
+ }
+
+ /**
+ * Validates the loopVariableDefinitionAssignmentAfterDerivation constraint of '<em>Loop Variable Definition</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateLoopVariableDefinition_loopVariableDefinitionAssignmentAfterDerivation(LoopVariableDefinition loopVariableDefinition, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return loopVariableDefinition.loopVariableDefinitionAssignmentAfterDerivation(diagnostics, context);
+ }
+
+ /**
+ * Validates the loopVariableDefinitionAssignmentsBefore constraint of '<em>Loop Variable Definition</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateLoopVariableDefinition_loopVariableDefinitionAssignmentsBefore(LoopVariableDefinition loopVariableDefinition, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return loopVariableDefinition.loopVariableDefinitionAssignmentsBefore(diagnostics, context);
+ }
+
+ /**
+ * Validates the loopVariableDefinitionRangeExpressions constraint of '<em>Loop Variable Definition</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateLoopVariableDefinition_loopVariableDefinitionRangeExpressions(LoopVariableDefinition loopVariableDefinition, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return loopVariableDefinition.loopVariableDefinitionRangeExpressions(diagnostics, context);
+ }
+
+ /**
+ * Validates the loopVariableDefinitionTypeName constraint of '<em>Loop Variable Definition</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateLoopVariableDefinition_loopVariableDefinitionTypeName(LoopVariableDefinition loopVariableDefinition, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return loopVariableDefinition.loopVariableDefinitionTypeName(diagnostics, context);
+ }
+
+ /**
+ * Validates the loopVariableDefinitionTypeDerivation constraint of '<em>Loop Variable Definition</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateLoopVariableDefinition_loopVariableDefinitionTypeDerivation(LoopVariableDefinition loopVariableDefinition, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return loopVariableDefinition.loopVariableDefinitionTypeDerivation(diagnostics, context);
+ }
+
+ /**
+ * Validates the loopVariableDefinitionDeclaredType constraint of '<em>Loop Variable Definition</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateLoopVariableDefinition_loopVariableDefinitionDeclaredType(LoopVariableDefinition loopVariableDefinition, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return loopVariableDefinition.loopVariableDefinitionDeclaredType(diagnostics, context);
+ }
+
+ /**
+ * Validates the loopVariableDefinitionIsCollectionConversionDerivation constraint of '<em>Loop Variable Definition</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateLoopVariableDefinition_loopVariableDefinitionIsCollectionConversionDerivation(LoopVariableDefinition loopVariableDefinition, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return loopVariableDefinition.loopVariableDefinitionIsCollectionConversionDerivation(diagnostics, context);
+ }
+
+ /**
+ * Validates the loopVariableDefinitionVariable constraint of '<em>Loop Variable Definition</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateLoopVariableDefinition_loopVariableDefinitionVariable(LoopVariableDefinition loopVariableDefinition, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return loopVariableDefinition.loopVariableDefinitionVariable(diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateIfStatement(IfStatement ifStatement, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ if (!validate_NoCircularContainment((EObject) ifStatement, diagnostics, context))
+ return false;
+ boolean result = validate_EveryMultiplicityConforms((EObject) ifStatement, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryDataValueConforms((EObject) ifStatement, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryReferenceIsContained((EObject) ifStatement, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryBidirectionalReferenceIsPaired((EObject) ifStatement, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryProxyResolves((EObject) ifStatement, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_UniqueID((EObject) ifStatement, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryKeyUnique((EObject) ifStatement, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryMapEntryUnique((EObject) ifStatement, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateStatement_statementAnnotationsAllowed(ifStatement, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateStatement_statementUniqueAssignments(ifStatement, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateStatement_statementIsIsolatedDerivation(ifStatement, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateIfStatement_ifStatementAssignmentsBefore(ifStatement, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateIfStatement_ifStatementAssignmentsAfter(ifStatement, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateIfStatement_ifStatementEnclosedStatements(ifStatement, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateIfStatement_ifStatementIsAssuredDerivation(ifStatement, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateIfStatement_ifStatementIsDeterminateDerivation(ifStatement, diagnostics, context);
+ return result;
+ }
+
+ /**
+ * Validates the ifStatementAssignmentsBefore constraint of '<em>If Statement</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateIfStatement_ifStatementAssignmentsBefore(IfStatement ifStatement, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return ifStatement.ifStatementAssignmentsBefore(diagnostics, context);
+ }
+
+ /**
+ * Validates the ifStatementAssignmentsAfter constraint of '<em>If Statement</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateIfStatement_ifStatementAssignmentsAfter(IfStatement ifStatement, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return ifStatement.ifStatementAssignmentsAfter(diagnostics, context);
+ }
+
+ /**
+ * Validates the ifStatementEnclosedStatements constraint of '<em>If Statement</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateIfStatement_ifStatementEnclosedStatements(IfStatement ifStatement, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return ifStatement.ifStatementEnclosedStatements(diagnostics, context);
+ }
+
+ /**
+ * Validates the ifStatementIsAssuredDerivation constraint of '<em>If Statement</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateIfStatement_ifStatementIsAssuredDerivation(IfStatement ifStatement, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return ifStatement.ifStatementIsAssuredDerivation(diagnostics, context);
+ }
+
+ /**
+ * Validates the ifStatementIsDeterminateDerivation constraint of '<em>If Statement</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateIfStatement_ifStatementIsDeterminateDerivation(IfStatement ifStatement, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return ifStatement.ifStatementIsDeterminateDerivation(diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateSwitchStatement(SwitchStatement switchStatement, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ if (!validate_NoCircularContainment((EObject) switchStatement, diagnostics, context))
+ return false;
+ boolean result = validate_EveryMultiplicityConforms((EObject) switchStatement, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryDataValueConforms((EObject) switchStatement, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryReferenceIsContained((EObject) switchStatement, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryBidirectionalReferenceIsPaired((EObject) switchStatement, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryProxyResolves((EObject) switchStatement, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_UniqueID((EObject) switchStatement, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryKeyUnique((EObject) switchStatement, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryMapEntryUnique((EObject) switchStatement, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateStatement_statementAnnotationsAllowed(switchStatement, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateStatement_statementUniqueAssignments(switchStatement, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateStatement_statementIsIsolatedDerivation(switchStatement, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateSwitchStatement_switchStatementAssignmentsBefore(switchStatement, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateSwitchStatement_switchStatementCaseAssignments(switchStatement, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateSwitchStatement_switchStatementAssignmentsAfter(switchStatement, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateSwitchStatement_switchStatementAssignments(switchStatement, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateSwitchStatement_switchStatementExpression(switchStatement, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateSwitchStatement_switchStatementEnclosedStatements(switchStatement, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateSwitchStatement_switchStatementIsDeterminateDerivation(switchStatement, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateSwitchStatement_switchStatementIsAssuredDerivation(switchStatement, diagnostics, context);
+ return result;
+ }
+
+ /**
+ * Validates the switchStatementAssignmentsBefore constraint of '<em>Switch Statement</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateSwitchStatement_switchStatementAssignmentsBefore(SwitchStatement switchStatement, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return switchStatement.switchStatementAssignmentsBefore(diagnostics, context);
+ }
+
+ /**
+ * Validates the switchStatementCaseAssignments constraint of '<em>Switch Statement</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateSwitchStatement_switchStatementCaseAssignments(SwitchStatement switchStatement, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return switchStatement.switchStatementCaseAssignments(diagnostics, context);
+ }
+
+ /**
+ * Validates the switchStatementAssignmentsAfter constraint of '<em>Switch Statement</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateSwitchStatement_switchStatementAssignmentsAfter(SwitchStatement switchStatement, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return switchStatement.switchStatementAssignmentsAfter(diagnostics, context);
+ }
+
+ /**
+ * Validates the switchStatementAssignments constraint of '<em>Switch Statement</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateSwitchStatement_switchStatementAssignments(SwitchStatement switchStatement, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return switchStatement.switchStatementAssignments(diagnostics, context);
+ }
+
+ /**
+ * Validates the switchStatementExpression constraint of '<em>Switch Statement</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateSwitchStatement_switchStatementExpression(SwitchStatement switchStatement, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return switchStatement.switchStatementExpression(diagnostics, context);
+ }
+
+ /**
+ * Validates the switchStatementEnclosedStatements constraint of '<em>Switch Statement</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateSwitchStatement_switchStatementEnclosedStatements(SwitchStatement switchStatement, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return switchStatement.switchStatementEnclosedStatements(diagnostics, context);
+ }
+
+ /**
+ * Validates the switchStatementIsDeterminateDerivation constraint of '<em>Switch Statement</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateSwitchStatement_switchStatementIsDeterminateDerivation(SwitchStatement switchStatement, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return switchStatement.switchStatementIsDeterminateDerivation(diagnostics, context);
+ }
+
+ /**
+ * Validates the switchStatementIsAssuredDerivation constraint of '<em>Switch Statement</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateSwitchStatement_switchStatementIsAssuredDerivation(SwitchStatement switchStatement, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return switchStatement.switchStatementIsAssuredDerivation(diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateSwitchClause(SwitchClause switchClause, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ if (!validate_NoCircularContainment((EObject) switchClause, diagnostics, context))
+ return false;
+ boolean result = validate_EveryMultiplicityConforms((EObject) switchClause, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryDataValueConforms((EObject) switchClause, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryReferenceIsContained((EObject) switchClause, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryBidirectionalReferenceIsPaired((EObject) switchClause, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryProxyResolves((EObject) switchClause, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_UniqueID((EObject) switchClause, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryKeyUnique((EObject) switchClause, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryMapEntryUnique((EObject) switchClause, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateSwitchClause_switchClauseAssignmentsBefore(switchClause, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateSwitchClause_switchClauseCaseLocalNames(switchClause, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateSwitchClause_switchClauseCases(switchClause, diagnostics, context);
+ return result;
+ }
+
+ /**
+ * Validates the switchClauseAssignmentsBefore constraint of '<em>Switch Clause</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateSwitchClause_switchClauseAssignmentsBefore(SwitchClause switchClause, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return switchClause.switchClauseAssignmentsBefore(diagnostics, context);
+ }
+
+ /**
+ * Validates the switchClauseCaseLocalNames constraint of '<em>Switch Clause</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateSwitchClause_switchClauseCaseLocalNames(SwitchClause switchClause, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return switchClause.switchClauseCaseLocalNames(diagnostics, context);
+ }
+
+ /**
+ * Validates the switchClauseCases constraint of '<em>Switch Clause</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateSwitchClause_switchClauseCases(SwitchClause switchClause, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return switchClause.switchClauseCases(diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateWhileStatement(WhileStatement whileStatement, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ if (!validate_NoCircularContainment((EObject) whileStatement, diagnostics, context))
+ return false;
+ boolean result = validate_EveryMultiplicityConforms((EObject) whileStatement, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryDataValueConforms((EObject) whileStatement, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryReferenceIsContained((EObject) whileStatement, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryBidirectionalReferenceIsPaired((EObject) whileStatement, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryProxyResolves((EObject) whileStatement, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_UniqueID((EObject) whileStatement, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryKeyUnique((EObject) whileStatement, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryMapEntryUnique((EObject) whileStatement, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateStatement_statementAnnotationsAllowed(whileStatement, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateStatement_statementUniqueAssignments(whileStatement, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateStatement_statementIsIsolatedDerivation(whileStatement, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateWhileStatement_whileStatementAssignmentsBefore(whileStatement, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateWhileStatement_whileStatementAssignmentsAfter(whileStatement, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateWhileStatement_whileStatementCondition(whileStatement, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateWhileStatement_whileStatementEnclosedStatements(whileStatement, diagnostics, context);
+ return result;
+ }
+
+ /**
+ * Validates the whileStatementAssignmentsBefore constraint of '<em>While Statement</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateWhileStatement_whileStatementAssignmentsBefore(WhileStatement whileStatement, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return whileStatement.whileStatementAssignmentsBefore(diagnostics, context);
+ }
+
+ /**
+ * Validates the whileStatementAssignmentsAfter constraint of '<em>While Statement</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateWhileStatement_whileStatementAssignmentsAfter(WhileStatement whileStatement, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return whileStatement.whileStatementAssignmentsAfter(diagnostics, context);
+ }
+
+ /**
+ * Validates the whileStatementCondition constraint of '<em>While Statement</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateWhileStatement_whileStatementCondition(WhileStatement whileStatement, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return whileStatement.whileStatementCondition(diagnostics, context);
+ }
+
+ /**
+ * Validates the whileStatementEnclosedStatements constraint of '<em>While Statement</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateWhileStatement_whileStatementEnclosedStatements(WhileStatement whileStatement, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return whileStatement.whileStatementEnclosedStatements(diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateReturnStatement(ReturnStatement returnStatement, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ if (!validate_NoCircularContainment((EObject) returnStatement, diagnostics, context))
+ return false;
+ boolean result = validate_EveryMultiplicityConforms((EObject) returnStatement, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryDataValueConforms((EObject) returnStatement, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryReferenceIsContained((EObject) returnStatement, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryBidirectionalReferenceIsPaired((EObject) returnStatement, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryProxyResolves((EObject) returnStatement, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_UniqueID((EObject) returnStatement, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryKeyUnique((EObject) returnStatement, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryMapEntryUnique((EObject) returnStatement, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateStatement_statementAnnotationsAllowed(returnStatement, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateStatement_statementUniqueAssignments(returnStatement, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateStatement_statementIsIsolatedDerivation(returnStatement, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateReturnStatement_returnStatementContext(returnStatement, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateReturnStatement_returnStatementAssignmentsBefore(returnStatement, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateReturnStatement_returnStatementAssignmentsAfter(returnStatement, diagnostics, context);
+ return result;
+ }
+
+ /**
+ * Validates the returnStatementContext constraint of '<em>Return Statement</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateReturnStatement_returnStatementContext(ReturnStatement returnStatement, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return returnStatement.returnStatementContext(diagnostics, context);
+ }
+
+ /**
+ * Validates the returnStatementAssignmentsBefore constraint of '<em>Return Statement</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateReturnStatement_returnStatementAssignmentsBefore(ReturnStatement returnStatement, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return returnStatement.returnStatementAssignmentsBefore(diagnostics, context);
+ }
+
+ /**
+ * Validates the returnStatementAssignmentsAfter constraint of '<em>Return Statement</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateReturnStatement_returnStatementAssignmentsAfter(ReturnStatement returnStatement, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return returnStatement.returnStatementAssignmentsAfter(diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateInLineStatement(InLineStatement inLineStatement, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ if (!validate_NoCircularContainment((EObject) inLineStatement, diagnostics, context))
+ return false;
+ boolean result = validate_EveryMultiplicityConforms((EObject) inLineStatement, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryDataValueConforms((EObject) inLineStatement, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryReferenceIsContained((EObject) inLineStatement, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryBidirectionalReferenceIsPaired((EObject) inLineStatement, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryProxyResolves((EObject) inLineStatement, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_UniqueID((EObject) inLineStatement, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryKeyUnique((EObject) inLineStatement, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryMapEntryUnique((EObject) inLineStatement, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateStatement_statementAnnotationsAllowed(inLineStatement, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateStatement_statementUniqueAssignments(inLineStatement, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateStatement_statementIsIsolatedDerivation(inLineStatement, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateInLineStatement_inLineStatementAssignmentsAfter(inLineStatement, diagnostics, context);
+ return result;
+ }
+
+ /**
+ * Validates the inLineStatementAssignmentsAfter constraint of '<em>In Line Statement</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateInLineStatement_inLineStatementAssignmentsAfter(InLineStatement inLineStatement, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return inLineStatement.inLineStatementAssignmentsAfter(diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateAcceptStatement(AcceptStatement acceptStatement, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ if (!validate_NoCircularContainment((EObject) acceptStatement, diagnostics, context))
+ return false;
+ boolean result = validate_EveryMultiplicityConforms((EObject) acceptStatement, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryDataValueConforms((EObject) acceptStatement, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryReferenceIsContained((EObject) acceptStatement, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryBidirectionalReferenceIsPaired((EObject) acceptStatement, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryProxyResolves((EObject) acceptStatement, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_UniqueID((EObject) acceptStatement, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryKeyUnique((EObject) acceptStatement, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryMapEntryUnique((EObject) acceptStatement, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateStatement_statementAnnotationsAllowed(acceptStatement, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateStatement_statementUniqueAssignments(acceptStatement, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateStatement_statementIsIsolatedDerivation(acceptStatement, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateAcceptStatement_acceptStatementContext(acceptStatement, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateAcceptStatement_acceptStatementSignals(acceptStatement, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateAcceptStatement_acceptStatementNames(acceptStatement, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateAcceptStatement_acceptStatementSimpleAcceptLocalName(acceptStatement, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateAcceptStatement_acceptStatementCompoundAcceptLocalName(acceptStatement, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateAcceptStatement_acceptStatementAssignmentsBefore(acceptStatement, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateAcceptStatement_acceptStatementAssignmentsAfter(acceptStatement, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateAcceptStatement_acceptStatementNewAssignments(acceptStatement, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateAcceptStatement_acceptStatementIsSimpleDerivation(acceptStatement, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateAcceptStatement_acceptStatementEnclosedStatements(acceptStatement, diagnostics, context);
+ return result;
+ }
+
+ /**
+ * Validates the acceptStatementContext constraint of '<em>Accept Statement</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateAcceptStatement_acceptStatementContext(AcceptStatement acceptStatement, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return acceptStatement.acceptStatementContext(diagnostics, context);
+ }
+
+ /**
+ * Validates the acceptStatementSignals constraint of '<em>Accept Statement</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateAcceptStatement_acceptStatementSignals(AcceptStatement acceptStatement, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return acceptStatement.acceptStatementSignals(diagnostics, context);
+ }
+
+ /**
+ * Validates the acceptStatementNames constraint of '<em>Accept Statement</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateAcceptStatement_acceptStatementNames(AcceptStatement acceptStatement, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return acceptStatement.acceptStatementNames(diagnostics, context);
+ }
+
+ /**
+ * Validates the acceptStatementSimpleAcceptLocalName constraint of '<em>Accept Statement</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateAcceptStatement_acceptStatementSimpleAcceptLocalName(AcceptStatement acceptStatement, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return acceptStatement.acceptStatementSimpleAcceptLocalName(diagnostics, context);
+ }
+
+ /**
+ * Validates the acceptStatementCompoundAcceptLocalName constraint of '<em>Accept Statement</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateAcceptStatement_acceptStatementCompoundAcceptLocalName(AcceptStatement acceptStatement, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return acceptStatement.acceptStatementCompoundAcceptLocalName(diagnostics, context);
+ }
+
+ /**
+ * Validates the acceptStatementAssignmentsBefore constraint of '<em>Accept Statement</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateAcceptStatement_acceptStatementAssignmentsBefore(AcceptStatement acceptStatement, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return acceptStatement.acceptStatementAssignmentsBefore(diagnostics, context);
+ }
+
+ /**
+ * Validates the acceptStatementAssignmentsAfter constraint of '<em>Accept Statement</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateAcceptStatement_acceptStatementAssignmentsAfter(AcceptStatement acceptStatement, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return acceptStatement.acceptStatementAssignmentsAfter(diagnostics, context);
+ }
+
+ /**
+ * Validates the acceptStatementNewAssignments constraint of '<em>Accept Statement</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateAcceptStatement_acceptStatementNewAssignments(AcceptStatement acceptStatement, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return acceptStatement.acceptStatementNewAssignments(diagnostics, context);
+ }
+
+ /**
+ * Validates the acceptStatementIsSimpleDerivation constraint of '<em>Accept Statement</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateAcceptStatement_acceptStatementIsSimpleDerivation(AcceptStatement acceptStatement, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return acceptStatement.acceptStatementIsSimpleDerivation(diagnostics, context);
+ }
+
+ /**
+ * Validates the acceptStatementEnclosedStatements constraint of '<em>Accept Statement</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateAcceptStatement_acceptStatementEnclosedStatements(AcceptStatement acceptStatement, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return acceptStatement.acceptStatementEnclosedStatements(diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateAcceptBlock(AcceptBlock acceptBlock, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ if (!validate_NoCircularContainment((EObject) acceptBlock, diagnostics, context))
+ return false;
+ boolean result = validate_EveryMultiplicityConforms((EObject) acceptBlock, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryDataValueConforms((EObject) acceptBlock, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryReferenceIsContained((EObject) acceptBlock, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryBidirectionalReferenceIsPaired((EObject) acceptBlock, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryProxyResolves((EObject) acceptBlock, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_UniqueID((EObject) acceptBlock, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryKeyUnique((EObject) acceptBlock, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryMapEntryUnique((EObject) acceptBlock, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateAcceptBlock_acceptBlockSignalDerivation(acceptBlock, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateAcceptBlock_acceptBlockSignalNames(acceptBlock, diagnostics, context);
+ return result;
+ }
+
+ /**
+ * Validates the acceptBlockSignalDerivation constraint of '<em>Accept Block</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateAcceptBlock_acceptBlockSignalDerivation(AcceptBlock acceptBlock, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return acceptBlock.acceptBlockSignalDerivation(diagnostics, context);
+ }
+
+ /**
+ * Validates the acceptBlockSignalNames constraint of '<em>Accept Block</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateAcceptBlock_acceptBlockSignalNames(AcceptBlock acceptBlock, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return acceptBlock.acceptBlockSignalNames(diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateEmptyStatement(EmptyStatement emptyStatement, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ if (!validate_NoCircularContainment((EObject) emptyStatement, diagnostics, context))
+ return false;
+ boolean result = validate_EveryMultiplicityConforms((EObject) emptyStatement, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryDataValueConforms((EObject) emptyStatement, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryReferenceIsContained((EObject) emptyStatement, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryBidirectionalReferenceIsPaired((EObject) emptyStatement, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryProxyResolves((EObject) emptyStatement, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_UniqueID((EObject) emptyStatement, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryKeyUnique((EObject) emptyStatement, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryMapEntryUnique((EObject) emptyStatement, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateStatement_statementAnnotationsAllowed(emptyStatement, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateStatement_statementUniqueAssignments(emptyStatement, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateStatement_statementIsIsolatedDerivation(emptyStatement, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateEmptyStatement_emptyStatementAssignmentsAfter(emptyStatement, diagnostics, context);
+ return result;
+ }
+
+ /**
+ * Validates the emptyStatementAssignmentsAfter constraint of '<em>Empty Statement</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateEmptyStatement_emptyStatementAssignmentsAfter(EmptyStatement emptyStatement, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return emptyStatement.emptyStatementAssignmentsAfter(diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateModelNamespace(ModelNamespace modelNamespace, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ if (!validate_NoCircularContainment((EObject) modelNamespace, diagnostics, context))
+ return false;
+ boolean result = validate_EveryMultiplicityConforms((EObject) modelNamespace, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryDataValueConforms((EObject) modelNamespace, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryReferenceIsContained((EObject) modelNamespace, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryBidirectionalReferenceIsPaired((EObject) modelNamespace, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryProxyResolves((EObject) modelNamespace, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_UniqueID((EObject) modelNamespace, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryKeyUnique((EObject) modelNamespace, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryMapEntryUnique((EObject) modelNamespace, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateMemberDefinition_memberAnnotations(modelNamespace, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateMemberDefinition_memberIsPrimitiveDerivation(modelNamespace, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateMemberDefinition_memberIsExternalDerivation(modelNamespace, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateMemberDefinition_memberExternal(modelNamespace, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateMemberDefinition_memberStub(modelNamespace, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateMemberDefinition_memberSubunitDerivation(modelNamespace, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateMemberDefinition_memberStubStereotypes(modelNamespace, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateMemberDefinition_memberPrimitive(modelNamespace, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateNamespaceDefinition_namespaceDefinitionMemberDerivation(modelNamespace, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateNamespaceDefinition_namespaceDefinitionMemberDistinguishability(modelNamespace, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validatePackageDefinition_packageDefinitionAppliedProfileDerivation(modelNamespace, diagnostics, context);
+ return result;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateNamespaceDefinition(NamespaceDefinition namespaceDefinition, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ if (!validate_NoCircularContainment((EObject) namespaceDefinition, diagnostics, context))
+ return false;
+ boolean result = validate_EveryMultiplicityConforms((EObject) namespaceDefinition, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryDataValueConforms((EObject) namespaceDefinition, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryReferenceIsContained((EObject) namespaceDefinition, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryBidirectionalReferenceIsPaired((EObject) namespaceDefinition, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryProxyResolves((EObject) namespaceDefinition, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_UniqueID((EObject) namespaceDefinition, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryKeyUnique((EObject) namespaceDefinition, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryMapEntryUnique((EObject) namespaceDefinition, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateMemberDefinition_memberAnnotations(namespaceDefinition, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateMemberDefinition_memberIsPrimitiveDerivation(namespaceDefinition, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateMemberDefinition_memberIsExternalDerivation(namespaceDefinition, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateMemberDefinition_memberExternal(namespaceDefinition, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateMemberDefinition_memberStub(namespaceDefinition, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateMemberDefinition_memberSubunitDerivation(namespaceDefinition, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateMemberDefinition_memberStubStereotypes(namespaceDefinition, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateMemberDefinition_memberPrimitive(namespaceDefinition, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateNamespaceDefinition_namespaceDefinitionMemberDerivation(namespaceDefinition, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateNamespaceDefinition_namespaceDefinitionMemberDistinguishability(namespaceDefinition, diagnostics, context);
+ return result;
+ }
+
+ /**
+ * Validates the namespaceDefinitionMemberDerivation constraint of '<em>Namespace Definition</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateNamespaceDefinition_namespaceDefinitionMemberDerivation(NamespaceDefinition namespaceDefinition, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return namespaceDefinition.namespaceDefinitionMemberDerivation(diagnostics, context);
+ }
+
+ /**
+ * Validates the namespaceDefinitionMemberDistinguishability constraint of '<em>Namespace Definition</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateNamespaceDefinition_namespaceDefinitionMemberDistinguishability(NamespaceDefinition namespaceDefinition, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return namespaceDefinition.namespaceDefinitionMemberDistinguishability(diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateMemberDefinition(MemberDefinition memberDefinition, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ if (!validate_NoCircularContainment((EObject) memberDefinition, diagnostics, context))
+ return false;
+ boolean result = validate_EveryMultiplicityConforms((EObject) memberDefinition, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryDataValueConforms((EObject) memberDefinition, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryReferenceIsContained((EObject) memberDefinition, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryBidirectionalReferenceIsPaired((EObject) memberDefinition, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryProxyResolves((EObject) memberDefinition, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_UniqueID((EObject) memberDefinition, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryKeyUnique((EObject) memberDefinition, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryMapEntryUnique((EObject) memberDefinition, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateMemberDefinition_memberAnnotations(memberDefinition, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateMemberDefinition_memberIsPrimitiveDerivation(memberDefinition, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateMemberDefinition_memberIsExternalDerivation(memberDefinition, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateMemberDefinition_memberExternal(memberDefinition, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateMemberDefinition_memberStub(memberDefinition, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateMemberDefinition_memberSubunitDerivation(memberDefinition, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateMemberDefinition_memberStubStereotypes(memberDefinition, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateMemberDefinition_memberPrimitive(memberDefinition, diagnostics, context);
+ return result;
+ }
+
+ /**
+ * Validates the memberAnnotations constraint of '<em>Member Definition</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateMemberDefinition_memberAnnotations(MemberDefinition memberDefinition, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return memberDefinition.memberAnnotations(diagnostics, context);
+ }
+
+ /**
+ * Validates the memberIsPrimitiveDerivation constraint of '<em>Member Definition</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateMemberDefinition_memberIsPrimitiveDerivation(MemberDefinition memberDefinition, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return memberDefinition.memberIsPrimitiveDerivation(diagnostics, context);
+ }
+
+ /**
+ * Validates the memberIsExternalDerivation constraint of '<em>Member Definition</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateMemberDefinition_memberIsExternalDerivation(MemberDefinition memberDefinition, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return memberDefinition.memberIsExternalDerivation(diagnostics, context);
+ }
+
+ /**
+ * Validates the memberExternal constraint of '<em>Member Definition</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateMemberDefinition_memberExternal(MemberDefinition memberDefinition, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return memberDefinition.memberExternal(diagnostics, context);
+ }
+
+ /**
+ * Validates the memberStub constraint of '<em>Member Definition</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateMemberDefinition_memberStub(MemberDefinition memberDefinition, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return memberDefinition.memberStub(diagnostics, context);
+ }
+
+ /**
+ * Validates the memberSubunitDerivation constraint of '<em>Member Definition</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateMemberDefinition_memberSubunitDerivation(MemberDefinition memberDefinition, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return memberDefinition.memberSubunitDerivation(diagnostics, context);
+ }
+
+ /**
+ * Validates the memberStubStereotypes constraint of '<em>Member Definition</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateMemberDefinition_memberStubStereotypes(MemberDefinition memberDefinition, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return memberDefinition.memberStubStereotypes(diagnostics, context);
+ }
+
+ /**
+ * Validates the memberPrimitive constraint of '<em>Member Definition</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateMemberDefinition_memberPrimitive(MemberDefinition memberDefinition, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return memberDefinition.memberPrimitive(diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateStereotypeAnnotation(StereotypeAnnotation stereotypeAnnotation, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ if (!validate_NoCircularContainment((EObject) stereotypeAnnotation, diagnostics, context))
+ return false;
+ boolean result = validate_EveryMultiplicityConforms((EObject) stereotypeAnnotation, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryDataValueConforms((EObject) stereotypeAnnotation, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryReferenceIsContained((EObject) stereotypeAnnotation, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryBidirectionalReferenceIsPaired((EObject) stereotypeAnnotation, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryProxyResolves((EObject) stereotypeAnnotation, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_UniqueID((EObject) stereotypeAnnotation, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryKeyUnique((EObject) stereotypeAnnotation, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryMapEntryUnique((EObject) stereotypeAnnotation, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateStereotypeAnnotation_stereotypeAnnotationStereotypeDerivation(stereotypeAnnotation, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateStereotypeAnnotation_stereotypeAnnotationStereotypeName(stereotypeAnnotation, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateStereotypeAnnotation_stereotypeAnnotationApply(stereotypeAnnotation, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateStereotypeAnnotation_stereotypeAnnotationPrimitive(stereotypeAnnotation, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateStereotypeAnnotation_stereotypeAnnotationExternal(stereotypeAnnotation, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateStereotypeAnnotation_stereotypeAnnotationTaggedValues(stereotypeAnnotation, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateStereotypeAnnotation_stereotypeAnnotationNames(stereotypeAnnotation, diagnostics, context);
+ return result;
+ }
+
+ /**
+ * Validates the stereotypeAnnotationStereotypeDerivation constraint of '<em>Stereotype Annotation</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateStereotypeAnnotation_stereotypeAnnotationStereotypeDerivation(StereotypeAnnotation stereotypeAnnotation, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return stereotypeAnnotation.stereotypeAnnotationStereotypeDerivation(diagnostics, context);
+ }
+
+ /**
+ * Validates the stereotypeAnnotationStereotypeName constraint of '<em>Stereotype Annotation</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateStereotypeAnnotation_stereotypeAnnotationStereotypeName(StereotypeAnnotation stereotypeAnnotation, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return stereotypeAnnotation.stereotypeAnnotationStereotypeName(diagnostics, context);
+ }
+
+ /**
+ * Validates the stereotypeAnnotationApply constraint of '<em>Stereotype Annotation</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateStereotypeAnnotation_stereotypeAnnotationApply(StereotypeAnnotation stereotypeAnnotation, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return stereotypeAnnotation.stereotypeAnnotationApply(diagnostics, context);
+ }
+
+ /**
+ * Validates the stereotypeAnnotationPrimitive constraint of '<em>Stereotype Annotation</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateStereotypeAnnotation_stereotypeAnnotationPrimitive(StereotypeAnnotation stereotypeAnnotation, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return stereotypeAnnotation.stereotypeAnnotationPrimitive(diagnostics, context);
+ }
+
+ /**
+ * Validates the stereotypeAnnotationExternal constraint of '<em>Stereotype Annotation</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateStereotypeAnnotation_stereotypeAnnotationExternal(StereotypeAnnotation stereotypeAnnotation, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return stereotypeAnnotation.stereotypeAnnotationExternal(diagnostics, context);
+ }
+
+ /**
+ * Validates the stereotypeAnnotationTaggedValues constraint of '<em>Stereotype Annotation</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateStereotypeAnnotation_stereotypeAnnotationTaggedValues(StereotypeAnnotation stereotypeAnnotation, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return stereotypeAnnotation.stereotypeAnnotationTaggedValues(diagnostics, context);
+ }
+
+ /**
+ * Validates the stereotypeAnnotationNames constraint of '<em>Stereotype Annotation</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateStereotypeAnnotation_stereotypeAnnotationNames(StereotypeAnnotation stereotypeAnnotation, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return stereotypeAnnotation.stereotypeAnnotationNames(diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateTaggedValueList(TaggedValueList taggedValueList, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return validate_EveryDefaultConstraint((EObject) taggedValueList, diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateTaggedValue(TaggedValue taggedValue, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return validate_EveryDefaultConstraint((EObject) taggedValue, diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateUnitDefinition(UnitDefinition unitDefinition, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ if (!validate_NoCircularContainment((EObject) unitDefinition, diagnostics, context))
+ return false;
+ boolean result = validate_EveryMultiplicityConforms((EObject) unitDefinition, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryDataValueConforms((EObject) unitDefinition, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryReferenceIsContained((EObject) unitDefinition, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryBidirectionalReferenceIsPaired((EObject) unitDefinition, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryProxyResolves((EObject) unitDefinition, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_UniqueID((EObject) unitDefinition, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryKeyUnique((EObject) unitDefinition, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryMapEntryUnique((EObject) unitDefinition, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateUnitDefinition_unitDefinitionNamespaceDerivation(unitDefinition, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateUnitDefinition_unitDefinitionNamespace(unitDefinition, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateUnitDefinition_unitDefinitionIsModelLibraryDerivation(unitDefinition, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateUnitDefinition_unitDefinitionImplicitImports(unitDefinition, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateUnitDefinition_unitDefinitionAppliedProfileDerivation(unitDefinition, diagnostics, context);
+ return result;
+ }
+
+ /**
+ * Validates the unitDefinitionNamespaceDerivation constraint of '<em>Unit Definition</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateUnitDefinition_unitDefinitionNamespaceDerivation(UnitDefinition unitDefinition, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return unitDefinition.unitDefinitionNamespaceDerivation(diagnostics, context);
+ }
+
+ /**
+ * Validates the unitDefinitionNamespace constraint of '<em>Unit Definition</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateUnitDefinition_unitDefinitionNamespace(UnitDefinition unitDefinition, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return unitDefinition.unitDefinitionNamespace(diagnostics, context);
+ }
+
+ /**
+ * Validates the unitDefinitionIsModelLibraryDerivation constraint of '<em>Unit Definition</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateUnitDefinition_unitDefinitionIsModelLibraryDerivation(UnitDefinition unitDefinition, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return unitDefinition.unitDefinitionIsModelLibraryDerivation(diagnostics, context);
+ }
+
+ /**
+ * Validates the unitDefinitionImplicitImports constraint of '<em>Unit Definition</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateUnitDefinition_unitDefinitionImplicitImports(UnitDefinition unitDefinition, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return unitDefinition.unitDefinitionImplicitImports(diagnostics, context);
+ }
+
+ /**
+ * Validates the unitDefinitionAppliedProfileDerivation constraint of '<em>Unit Definition</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateUnitDefinition_unitDefinitionAppliedProfileDerivation(UnitDefinition unitDefinition, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return unitDefinition.unitDefinitionAppliedProfileDerivation(diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateImportReference(ImportReference importReference, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ if (!validate_NoCircularContainment((EObject) importReference, diagnostics, context))
+ return false;
+ boolean result = validate_EveryMultiplicityConforms((EObject) importReference, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryDataValueConforms((EObject) importReference, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryReferenceIsContained((EObject) importReference, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryBidirectionalReferenceIsPaired((EObject) importReference, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryProxyResolves((EObject) importReference, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_UniqueID((EObject) importReference, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryKeyUnique((EObject) importReference, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryMapEntryUnique((EObject) importReference, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateImportReference_importReferenceReferentDerivation(importReference, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateImportReference_importReferenceReferent(importReference, diagnostics, context);
+ return result;
+ }
+
+ /**
+ * Validates the importReferenceReferentDerivation constraint of '<em>Import Reference</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateImportReference_importReferenceReferentDerivation(ImportReference importReference, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return importReference.importReferenceReferentDerivation(diagnostics, context);
+ }
+
+ /**
+ * Validates the importReferenceReferent constraint of '<em>Import Reference</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateImportReference_importReferenceReferent(ImportReference importReference, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return importReference.importReferenceReferent(diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateImportedMember(ImportedMember importedMember, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ if (!validate_NoCircularContainment((EObject) importedMember, diagnostics, context))
+ return false;
+ boolean result = validate_EveryMultiplicityConforms((EObject) importedMember, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryDataValueConforms((EObject) importedMember, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryReferenceIsContained((EObject) importedMember, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryBidirectionalReferenceIsPaired((EObject) importedMember, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryProxyResolves((EObject) importedMember, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_UniqueID((EObject) importedMember, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryKeyUnique((EObject) importedMember, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryMapEntryUnique((EObject) importedMember, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateMemberDefinition_memberAnnotations(importedMember, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateMemberDefinition_memberIsPrimitiveDerivation(importedMember, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateMemberDefinition_memberIsExternalDerivation(importedMember, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateMemberDefinition_memberExternal(importedMember, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateMemberDefinition_memberStub(importedMember, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateMemberDefinition_memberSubunitDerivation(importedMember, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateMemberDefinition_memberStubStereotypes(importedMember, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateMemberDefinition_memberPrimitive(importedMember, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateImportedMember_importedMemberNotStub(importedMember, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateImportedMember_importedMemberIsFeatureDerivation(importedMember, diagnostics, context);
+ return result;
+ }
+
+ /**
+ * Validates the importedMemberNotStub constraint of '<em>Imported Member</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateImportedMember_importedMemberNotStub(ImportedMember importedMember, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return importedMember.importedMemberNotStub(diagnostics, context);
+ }
+
+ /**
+ * Validates the importedMemberIsFeatureDerivation constraint of '<em>Imported Member</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateImportedMember_importedMemberIsFeatureDerivation(ImportedMember importedMember, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return importedMember.importedMemberIsFeatureDerivation(diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateEnumerationLiteralName(EnumerationLiteralName enumerationLiteralName, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ if (!validate_NoCircularContainment((EObject) enumerationLiteralName, diagnostics, context))
+ return false;
+ boolean result = validate_EveryMultiplicityConforms((EObject) enumerationLiteralName, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryDataValueConforms((EObject) enumerationLiteralName, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryReferenceIsContained((EObject) enumerationLiteralName, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryBidirectionalReferenceIsPaired((EObject) enumerationLiteralName, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryProxyResolves((EObject) enumerationLiteralName, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_UniqueID((EObject) enumerationLiteralName, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryKeyUnique((EObject) enumerationLiteralName, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryMapEntryUnique((EObject) enumerationLiteralName, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateMemberDefinition_memberAnnotations(enumerationLiteralName, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateMemberDefinition_memberIsPrimitiveDerivation(enumerationLiteralName, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateMemberDefinition_memberIsExternalDerivation(enumerationLiteralName, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateMemberDefinition_memberExternal(enumerationLiteralName, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateMemberDefinition_memberStub(enumerationLiteralName, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateMemberDefinition_memberSubunitDerivation(enumerationLiteralName, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateMemberDefinition_memberStubStereotypes(enumerationLiteralName, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateMemberDefinition_memberPrimitive(enumerationLiteralName, diagnostics, context);
+ return result;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateOperationDefinition(OperationDefinition operationDefinition, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ if (!validate_NoCircularContainment((EObject) operationDefinition, diagnostics, context))
+ return false;
+ boolean result = validate_EveryMultiplicityConforms((EObject) operationDefinition, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryDataValueConforms((EObject) operationDefinition, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryReferenceIsContained((EObject) operationDefinition, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryBidirectionalReferenceIsPaired((EObject) operationDefinition, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryProxyResolves((EObject) operationDefinition, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_UniqueID((EObject) operationDefinition, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryKeyUnique((EObject) operationDefinition, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryMapEntryUnique((EObject) operationDefinition, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateMemberDefinition_memberAnnotations(operationDefinition, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateMemberDefinition_memberIsPrimitiveDerivation(operationDefinition, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateMemberDefinition_memberIsExternalDerivation(operationDefinition, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateMemberDefinition_memberExternal(operationDefinition, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateMemberDefinition_memberStub(operationDefinition, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateMemberDefinition_memberSubunitDerivation(operationDefinition, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateMemberDefinition_memberStubStereotypes(operationDefinition, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateMemberDefinition_memberPrimitive(operationDefinition, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateNamespaceDefinition_namespaceDefinitionMemberDerivation(operationDefinition, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateNamespaceDefinition_namespaceDefinitionMemberDistinguishability(operationDefinition, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateOperationDefinition_operationDefinitionNamespace(operationDefinition, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateOperationDefinition_operationDefinitionRedefinedOperationDerivation(operationDefinition, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateOperationDefinition_operationDefinitionRedefinition(operationDefinition, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateOperationDefinition_operationDefinitionRedefinedOperations(operationDefinition, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateOperationDefinition_operationDefinitionIsFeatureDerivation(operationDefinition, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateOperationDefinition_operationDefinitionIsConstructorDerivation(operationDefinition, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateOperationDefinition_operationDefinitionIsDestructorDerivation(operationDefinition, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateOperationDefinition_operationDefinitionConstructorDestructor(operationDefinition, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateOperationDefinition_operationDefinitionConstructor(operationDefinition, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateOperationDefinition_operationDefinitionDestructor(operationDefinition, diagnostics, context);
+ return result;
+ }
+
+ /**
+ * Validates the operationDefinitionNamespace constraint of '<em>Operation Definition</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateOperationDefinition_operationDefinitionNamespace(OperationDefinition operationDefinition, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return operationDefinition.operationDefinitionNamespace(diagnostics, context);
+ }
+
+ /**
+ * Validates the operationDefinitionRedefinedOperationDerivation constraint of '<em>Operation Definition</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateOperationDefinition_operationDefinitionRedefinedOperationDerivation(OperationDefinition operationDefinition, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return operationDefinition.operationDefinitionRedefinedOperationDerivation(diagnostics, context);
+ }
+
+ /**
+ * Validates the operationDefinitionRedefinition constraint of '<em>Operation Definition</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateOperationDefinition_operationDefinitionRedefinition(OperationDefinition operationDefinition, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return operationDefinition.operationDefinitionRedefinition(diagnostics, context);
+ }
+
+ /**
+ * Validates the operationDefinitionRedefinedOperations constraint of '<em>Operation Definition</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateOperationDefinition_operationDefinitionRedefinedOperations(OperationDefinition operationDefinition, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return operationDefinition.operationDefinitionRedefinedOperations(diagnostics, context);
+ }
+
+ /**
+ * Validates the operationDefinitionIsFeatureDerivation constraint of '<em>Operation Definition</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateOperationDefinition_operationDefinitionIsFeatureDerivation(OperationDefinition operationDefinition, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return operationDefinition.operationDefinitionIsFeatureDerivation(diagnostics, context);
+ }
+
+ /**
+ * Validates the operationDefinitionIsConstructorDerivation constraint of '<em>Operation Definition</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateOperationDefinition_operationDefinitionIsConstructorDerivation(OperationDefinition operationDefinition, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return operationDefinition.operationDefinitionIsConstructorDerivation(diagnostics, context);
+ }
+
+ /**
+ * Validates the operationDefinitionIsDestructorDerivation constraint of '<em>Operation Definition</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateOperationDefinition_operationDefinitionIsDestructorDerivation(OperationDefinition operationDefinition, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return operationDefinition.operationDefinitionIsDestructorDerivation(diagnostics, context);
+ }
+
+ /**
+ * Validates the operationDefinitionConstructorDestructor constraint of '<em>Operation Definition</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateOperationDefinition_operationDefinitionConstructorDestructor(OperationDefinition operationDefinition, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return operationDefinition.operationDefinitionConstructorDestructor(diagnostics, context);
+ }
+
+ /**
+ * Validates the operationDefinitionConstructor constraint of '<em>Operation Definition</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateOperationDefinition_operationDefinitionConstructor(OperationDefinition operationDefinition, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return operationDefinition.operationDefinitionConstructor(diagnostics, context);
+ }
+
+ /**
+ * Validates the operationDefinitionDestructor constraint of '<em>Operation Definition</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateOperationDefinition_operationDefinitionDestructor(OperationDefinition operationDefinition, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return operationDefinition.operationDefinitionDestructor(diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateAssociationDefinition(AssociationDefinition associationDefinition, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ if (!validate_NoCircularContainment((EObject) associationDefinition, diagnostics, context))
+ return false;
+ boolean result = validate_EveryMultiplicityConforms((EObject) associationDefinition, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryDataValueConforms((EObject) associationDefinition, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryReferenceIsContained((EObject) associationDefinition, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryBidirectionalReferenceIsPaired((EObject) associationDefinition, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryProxyResolves((EObject) associationDefinition, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_UniqueID((EObject) associationDefinition, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryKeyUnique((EObject) associationDefinition, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryMapEntryUnique((EObject) associationDefinition, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateMemberDefinition_memberAnnotations(associationDefinition, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateMemberDefinition_memberIsPrimitiveDerivation(associationDefinition, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateMemberDefinition_memberIsExternalDerivation(associationDefinition, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateMemberDefinition_memberExternal(associationDefinition, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateMemberDefinition_memberStub(associationDefinition, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateMemberDefinition_memberSubunitDerivation(associationDefinition, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateMemberDefinition_memberStubStereotypes(associationDefinition, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateMemberDefinition_memberPrimitive(associationDefinition, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateNamespaceDefinition_namespaceDefinitionMemberDerivation(associationDefinition, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateNamespaceDefinition_namespaceDefinitionMemberDistinguishability(associationDefinition, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateClassifierDefinition_classifierDefinitionSpecialization(associationDefinition, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateClassifierDefinition_classifierDefinitionSpecializationReferentDerivation(associationDefinition, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateClassifierDefinition_classifierDefinitionInheritedMembers(associationDefinition, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateAssociationDefinition_associationDefinitionSpecializationReferent(associationDefinition, diagnostics, context);
+ return result;
+ }
+
+ /**
+ * Validates the associationDefinitionSpecializationReferent constraint of '<em>Association Definition</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateAssociationDefinition_associationDefinitionSpecializationReferent(AssociationDefinition associationDefinition, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return associationDefinition.associationDefinitionSpecializationReferent(diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateClassifierDefinition(ClassifierDefinition classifierDefinition, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ if (!validate_NoCircularContainment((EObject) classifierDefinition, diagnostics, context))
+ return false;
+ boolean result = validate_EveryMultiplicityConforms((EObject) classifierDefinition, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryDataValueConforms((EObject) classifierDefinition, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryReferenceIsContained((EObject) classifierDefinition, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryBidirectionalReferenceIsPaired((EObject) classifierDefinition, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryProxyResolves((EObject) classifierDefinition, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_UniqueID((EObject) classifierDefinition, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryKeyUnique((EObject) classifierDefinition, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryMapEntryUnique((EObject) classifierDefinition, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateMemberDefinition_memberAnnotations(classifierDefinition, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateMemberDefinition_memberIsPrimitiveDerivation(classifierDefinition, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateMemberDefinition_memberIsExternalDerivation(classifierDefinition, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateMemberDefinition_memberExternal(classifierDefinition, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateMemberDefinition_memberStub(classifierDefinition, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateMemberDefinition_memberSubunitDerivation(classifierDefinition, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateMemberDefinition_memberStubStereotypes(classifierDefinition, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateMemberDefinition_memberPrimitive(classifierDefinition, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateNamespaceDefinition_namespaceDefinitionMemberDerivation(classifierDefinition, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateNamespaceDefinition_namespaceDefinitionMemberDistinguishability(classifierDefinition, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateClassifierDefinition_classifierDefinitionSpecialization(classifierDefinition, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateClassifierDefinition_classifierDefinitionSpecializationReferentDerivation(classifierDefinition, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateClassifierDefinition_classifierDefinitionInheritedMembers(classifierDefinition, diagnostics, context);
+ return result;
+ }
+
+ /**
+ * Validates the classifierDefinitionSpecialization constraint of '<em>Classifier Definition</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateClassifierDefinition_classifierDefinitionSpecialization(ClassifierDefinition classifierDefinition, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return classifierDefinition.classifierDefinitionSpecialization(diagnostics, context);
+ }
+
+ /**
+ * Validates the classifierDefinitionSpecializationReferentDerivation constraint of '<em>Classifier Definition</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateClassifierDefinition_classifierDefinitionSpecializationReferentDerivation(ClassifierDefinition classifierDefinition, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return classifierDefinition.classifierDefinitionSpecializationReferentDerivation(diagnostics, context);
+ }
+
+ /**
+ * Validates the classifierDefinitionInheritedMembers constraint of '<em>Classifier Definition</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateClassifierDefinition_classifierDefinitionInheritedMembers(ClassifierDefinition classifierDefinition, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return classifierDefinition.classifierDefinitionInheritedMembers(diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateClassDefinition(ClassDefinition classDefinition, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ if (!validate_NoCircularContainment((EObject) classDefinition, diagnostics, context))
+ return false;
+ boolean result = validate_EveryMultiplicityConforms((EObject) classDefinition, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryDataValueConforms((EObject) classDefinition, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryReferenceIsContained((EObject) classDefinition, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryBidirectionalReferenceIsPaired((EObject) classDefinition, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryProxyResolves((EObject) classDefinition, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_UniqueID((EObject) classDefinition, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryKeyUnique((EObject) classDefinition, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryMapEntryUnique((EObject) classDefinition, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateMemberDefinition_memberAnnotations(classDefinition, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateMemberDefinition_memberIsPrimitiveDerivation(classDefinition, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateMemberDefinition_memberIsExternalDerivation(classDefinition, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateMemberDefinition_memberExternal(classDefinition, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateMemberDefinition_memberStub(classDefinition, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateMemberDefinition_memberSubunitDerivation(classDefinition, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateMemberDefinition_memberStubStereotypes(classDefinition, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateMemberDefinition_memberPrimitive(classDefinition, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateNamespaceDefinition_namespaceDefinitionMemberDerivation(classDefinition, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateNamespaceDefinition_namespaceDefinitionMemberDistinguishability(classDefinition, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateClassifierDefinition_classifierDefinitionSpecialization(classDefinition, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateClassifierDefinition_classifierDefinitionSpecializationReferentDerivation(classDefinition, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateClassifierDefinition_classifierDefinitionInheritedMembers(classDefinition, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateClassDefinition_classDefinitionSpecializationReferent(classDefinition, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateClassDefinition_classDefinitionAbstractMember(classDefinition, diagnostics, context);
+ return result;
+ }
+
+ /**
+ * Validates the classDefinitionSpecializationReferent constraint of '<em>Class Definition</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateClassDefinition_classDefinitionSpecializationReferent(ClassDefinition classDefinition, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return classDefinition.classDefinitionSpecializationReferent(diagnostics, context);
+ }
+
+ /**
+ * Validates the classDefinitionAbstractMember constraint of '<em>Class Definition</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateClassDefinition_classDefinitionAbstractMember(ClassDefinition classDefinition, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return classDefinition.classDefinitionAbstractMember(diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateTypedElementDefinition(TypedElementDefinition typedElementDefinition, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ if (!validate_NoCircularContainment((EObject) typedElementDefinition, diagnostics, context))
+ return false;
+ boolean result = validate_EveryMultiplicityConforms((EObject) typedElementDefinition, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryDataValueConforms((EObject) typedElementDefinition, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryReferenceIsContained((EObject) typedElementDefinition, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryBidirectionalReferenceIsPaired((EObject) typedElementDefinition, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryProxyResolves((EObject) typedElementDefinition, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_UniqueID((EObject) typedElementDefinition, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryKeyUnique((EObject) typedElementDefinition, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryMapEntryUnique((EObject) typedElementDefinition, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateTypedElementDefinition_typedElementDefinitionLowerDerivation(typedElementDefinition, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateTypedElementDefinition_typedElementDefinitionUpperDerivation(typedElementDefinition, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateTypedElementDefinition_typedElementDefinitionTypeDerivation(typedElementDefinition, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateTypedElementDefinition_typedElementDefinitionTypeName(typedElementDefinition, diagnostics, context);
+ return result;
+ }
+
+ /**
+ * Validates the typedElementDefinitionLowerDerivation constraint of '<em>Typed Element Definition</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateTypedElementDefinition_typedElementDefinitionLowerDerivation(TypedElementDefinition typedElementDefinition, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return typedElementDefinition.typedElementDefinitionLowerDerivation(diagnostics, context);
+ }
+
+ /**
+ * Validates the typedElementDefinitionUpperDerivation constraint of '<em>Typed Element Definition</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateTypedElementDefinition_typedElementDefinitionUpperDerivation(TypedElementDefinition typedElementDefinition, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return typedElementDefinition.typedElementDefinitionUpperDerivation(diagnostics, context);
+ }
+
+ /**
+ * Validates the typedElementDefinitionTypeDerivation constraint of '<em>Typed Element Definition</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateTypedElementDefinition_typedElementDefinitionTypeDerivation(TypedElementDefinition typedElementDefinition, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return typedElementDefinition.typedElementDefinitionTypeDerivation(diagnostics, context);
+ }
+
+ /**
+ * Validates the typedElementDefinitionTypeName constraint of '<em>Typed Element Definition</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateTypedElementDefinition_typedElementDefinitionTypeName(TypedElementDefinition typedElementDefinition, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return typedElementDefinition.typedElementDefinitionTypeName(diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateDataTypeDefinition(DataTypeDefinition dataTypeDefinition, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ if (!validate_NoCircularContainment((EObject) dataTypeDefinition, diagnostics, context))
+ return false;
+ boolean result = validate_EveryMultiplicityConforms((EObject) dataTypeDefinition, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryDataValueConforms((EObject) dataTypeDefinition, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryReferenceIsContained((EObject) dataTypeDefinition, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryBidirectionalReferenceIsPaired((EObject) dataTypeDefinition, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryProxyResolves((EObject) dataTypeDefinition, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_UniqueID((EObject) dataTypeDefinition, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryKeyUnique((EObject) dataTypeDefinition, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryMapEntryUnique((EObject) dataTypeDefinition, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateMemberDefinition_memberAnnotations(dataTypeDefinition, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateMemberDefinition_memberIsPrimitiveDerivation(dataTypeDefinition, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateMemberDefinition_memberIsExternalDerivation(dataTypeDefinition, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateMemberDefinition_memberExternal(dataTypeDefinition, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateMemberDefinition_memberStub(dataTypeDefinition, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateMemberDefinition_memberSubunitDerivation(dataTypeDefinition, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateMemberDefinition_memberStubStereotypes(dataTypeDefinition, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateMemberDefinition_memberPrimitive(dataTypeDefinition, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateNamespaceDefinition_namespaceDefinitionMemberDerivation(dataTypeDefinition, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateNamespaceDefinition_namespaceDefinitionMemberDistinguishability(dataTypeDefinition, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateClassifierDefinition_classifierDefinitionSpecialization(dataTypeDefinition, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateClassifierDefinition_classifierDefinitionSpecializationReferentDerivation(dataTypeDefinition, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateClassifierDefinition_classifierDefinitionInheritedMembers(dataTypeDefinition, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateDataTypeDefinition_dataTypeDefinitionPrimitive(dataTypeDefinition, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateDataTypeDefinition_dataTypeDefinitionSpecializationReferent(dataTypeDefinition, diagnostics, context);
+ return result;
+ }
+
+ /**
+ * Validates the dataTypeDefinitionPrimitive constraint of '<em>Data Type Definition</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateDataTypeDefinition_dataTypeDefinitionPrimitive(DataTypeDefinition dataTypeDefinition, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return dataTypeDefinition.dataTypeDefinitionPrimitive(diagnostics, context);
+ }
+
+ /**
+ * Validates the dataTypeDefinitionSpecializationReferent constraint of '<em>Data Type Definition</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateDataTypeDefinition_dataTypeDefinitionSpecializationReferent(DataTypeDefinition dataTypeDefinition, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return dataTypeDefinition.dataTypeDefinitionSpecializationReferent(diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validatePackageDefinition(PackageDefinition packageDefinition, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ if (!validate_NoCircularContainment((EObject) packageDefinition, diagnostics, context))
+ return false;
+ boolean result = validate_EveryMultiplicityConforms((EObject) packageDefinition, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryDataValueConforms((EObject) packageDefinition, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryReferenceIsContained((EObject) packageDefinition, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryBidirectionalReferenceIsPaired((EObject) packageDefinition, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryProxyResolves((EObject) packageDefinition, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_UniqueID((EObject) packageDefinition, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryKeyUnique((EObject) packageDefinition, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryMapEntryUnique((EObject) packageDefinition, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateMemberDefinition_memberAnnotations(packageDefinition, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateMemberDefinition_memberIsPrimitiveDerivation(packageDefinition, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateMemberDefinition_memberIsExternalDerivation(packageDefinition, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateMemberDefinition_memberExternal(packageDefinition, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateMemberDefinition_memberStub(packageDefinition, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateMemberDefinition_memberSubunitDerivation(packageDefinition, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateMemberDefinition_memberStubStereotypes(packageDefinition, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateMemberDefinition_memberPrimitive(packageDefinition, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateNamespaceDefinition_namespaceDefinitionMemberDerivation(packageDefinition, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateNamespaceDefinition_namespaceDefinitionMemberDistinguishability(packageDefinition, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validatePackageDefinition_packageDefinitionAppliedProfileDerivation(packageDefinition, diagnostics, context);
+ return result;
+ }
+
+ /**
+ * Validates the packageDefinitionAppliedProfileDerivation constraint of '<em>Package Definition</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validatePackageDefinition_packageDefinitionAppliedProfileDerivation(PackageDefinition packageDefinition, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return packageDefinition.packageDefinitionAppliedProfileDerivation(diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validatePropertyDefinition(PropertyDefinition propertyDefinition, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ if (!validate_NoCircularContainment((EObject) propertyDefinition, diagnostics, context))
+ return false;
+ boolean result = validate_EveryMultiplicityConforms((EObject) propertyDefinition, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryDataValueConforms((EObject) propertyDefinition, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryReferenceIsContained((EObject) propertyDefinition, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryBidirectionalReferenceIsPaired((EObject) propertyDefinition, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryProxyResolves((EObject) propertyDefinition, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_UniqueID((EObject) propertyDefinition, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryKeyUnique((EObject) propertyDefinition, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryMapEntryUnique((EObject) propertyDefinition, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateMemberDefinition_memberAnnotations(propertyDefinition, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateMemberDefinition_memberIsPrimitiveDerivation(propertyDefinition, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateMemberDefinition_memberIsExternalDerivation(propertyDefinition, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateMemberDefinition_memberExternal(propertyDefinition, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateMemberDefinition_memberStub(propertyDefinition, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateMemberDefinition_memberSubunitDerivation(propertyDefinition, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateMemberDefinition_memberStubStereotypes(propertyDefinition, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateMemberDefinition_memberPrimitive(propertyDefinition, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validatePropertyDefinition_propertyDefinitionInitializer(propertyDefinition, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validatePropertyDefinition_propertyDefinitionIsCollectionConversionDerivation(propertyDefinition, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validatePropertyDefinition_propertyDefinitionIsBitStringConversionDerivation(propertyDefinition, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validatePropertyDefinition_propertyDefinitionIsFeatureDerivation(propertyDefinition, diagnostics, context);
+ return result;
+ }
+
+ /**
+ * Validates the propertyDefinitionInitializer constraint of '<em>Property Definition</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validatePropertyDefinition_propertyDefinitionInitializer(PropertyDefinition propertyDefinition, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return propertyDefinition.propertyDefinitionInitializer(diagnostics, context);
+ }
+
+ /**
+ * Validates the propertyDefinitionIsCollectionConversionDerivation constraint of '<em>Property Definition</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validatePropertyDefinition_propertyDefinitionIsCollectionConversionDerivation(PropertyDefinition propertyDefinition, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return propertyDefinition.propertyDefinitionIsCollectionConversionDerivation(diagnostics, context);
+ }
+
+ /**
+ * Validates the propertyDefinitionIsBitStringConversionDerivation constraint of '<em>Property Definition</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validatePropertyDefinition_propertyDefinitionIsBitStringConversionDerivation(PropertyDefinition propertyDefinition, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return propertyDefinition.propertyDefinitionIsBitStringConversionDerivation(diagnostics, context);
+ }
+
+ /**
+ * Validates the propertyDefinitionIsFeatureDerivation constraint of '<em>Property Definition</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validatePropertyDefinition_propertyDefinitionIsFeatureDerivation(PropertyDefinition propertyDefinition, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return propertyDefinition.propertyDefinitionIsFeatureDerivation(diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateSignalDefinition(SignalDefinition signalDefinition, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ if (!validate_NoCircularContainment((EObject) signalDefinition, diagnostics, context))
+ return false;
+ boolean result = validate_EveryMultiplicityConforms((EObject) signalDefinition, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryDataValueConforms((EObject) signalDefinition, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryReferenceIsContained((EObject) signalDefinition, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryBidirectionalReferenceIsPaired((EObject) signalDefinition, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryProxyResolves((EObject) signalDefinition, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_UniqueID((EObject) signalDefinition, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryKeyUnique((EObject) signalDefinition, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryMapEntryUnique((EObject) signalDefinition, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateMemberDefinition_memberAnnotations(signalDefinition, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateMemberDefinition_memberIsPrimitiveDerivation(signalDefinition, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateMemberDefinition_memberIsExternalDerivation(signalDefinition, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateMemberDefinition_memberExternal(signalDefinition, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateMemberDefinition_memberStub(signalDefinition, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateMemberDefinition_memberSubunitDerivation(signalDefinition, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateMemberDefinition_memberStubStereotypes(signalDefinition, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateMemberDefinition_memberPrimitive(signalDefinition, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateNamespaceDefinition_namespaceDefinitionMemberDerivation(signalDefinition, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateNamespaceDefinition_namespaceDefinitionMemberDistinguishability(signalDefinition, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateClassifierDefinition_classifierDefinitionSpecialization(signalDefinition, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateClassifierDefinition_classifierDefinitionSpecializationReferentDerivation(signalDefinition, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateClassifierDefinition_classifierDefinitionInheritedMembers(signalDefinition, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateSignalDefinition_signalDefinitionSpecializationReferent(signalDefinition, diagnostics, context);
+ return result;
+ }
+
+ /**
+ * Validates the signalDefinitionSpecializationReferent constraint of '<em>Signal Definition</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateSignalDefinition_signalDefinitionSpecializationReferent(SignalDefinition signalDefinition, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return signalDefinition.signalDefinitionSpecializationReferent(diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateActiveClassDefinition(ActiveClassDefinition activeClassDefinition, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ if (!validate_NoCircularContainment((EObject) activeClassDefinition, diagnostics, context))
+ return false;
+ boolean result = validate_EveryMultiplicityConforms((EObject) activeClassDefinition, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryDataValueConforms((EObject) activeClassDefinition, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryReferenceIsContained((EObject) activeClassDefinition, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryBidirectionalReferenceIsPaired((EObject) activeClassDefinition, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryProxyResolves((EObject) activeClassDefinition, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_UniqueID((EObject) activeClassDefinition, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryKeyUnique((EObject) activeClassDefinition, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryMapEntryUnique((EObject) activeClassDefinition, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateMemberDefinition_memberAnnotations(activeClassDefinition, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateMemberDefinition_memberIsPrimitiveDerivation(activeClassDefinition, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateMemberDefinition_memberIsExternalDerivation(activeClassDefinition, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateMemberDefinition_memberExternal(activeClassDefinition, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateMemberDefinition_memberStub(activeClassDefinition, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateMemberDefinition_memberSubunitDerivation(activeClassDefinition, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateMemberDefinition_memberStubStereotypes(activeClassDefinition, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateMemberDefinition_memberPrimitive(activeClassDefinition, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateNamespaceDefinition_namespaceDefinitionMemberDerivation(activeClassDefinition, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateNamespaceDefinition_namespaceDefinitionMemberDistinguishability(activeClassDefinition, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateClassifierDefinition_classifierDefinitionSpecialization(activeClassDefinition, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateClassifierDefinition_classifierDefinitionSpecializationReferentDerivation(activeClassDefinition, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateClassifierDefinition_classifierDefinitionInheritedMembers(activeClassDefinition, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateClassDefinition_classDefinitionSpecializationReferent(activeClassDefinition, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateClassDefinition_classDefinitionAbstractMember(activeClassDefinition, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateActiveClassDefinition_activeClassDefinitionClassifierBehavior(activeClassDefinition, diagnostics, context);
+ return result;
+ }
+
+ /**
+ * Validates the activeClassDefinitionClassifierBehavior constraint of '<em>Active Class Definition</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateActiveClassDefinition_activeClassDefinitionClassifierBehavior(ActiveClassDefinition activeClassDefinition, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return activeClassDefinition.activeClassDefinitionClassifierBehavior(diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateActivityDefinition(ActivityDefinition activityDefinition, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ if (!validate_NoCircularContainment((EObject) activityDefinition, diagnostics, context))
+ return false;
+ boolean result = validate_EveryMultiplicityConforms((EObject) activityDefinition, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryDataValueConforms((EObject) activityDefinition, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryReferenceIsContained((EObject) activityDefinition, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryBidirectionalReferenceIsPaired((EObject) activityDefinition, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryProxyResolves((EObject) activityDefinition, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_UniqueID((EObject) activityDefinition, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryKeyUnique((EObject) activityDefinition, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryMapEntryUnique((EObject) activityDefinition, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateMemberDefinition_memberAnnotations(activityDefinition, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateMemberDefinition_memberIsPrimitiveDerivation(activityDefinition, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateMemberDefinition_memberIsExternalDerivation(activityDefinition, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateMemberDefinition_memberExternal(activityDefinition, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateMemberDefinition_memberStub(activityDefinition, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateMemberDefinition_memberSubunitDerivation(activityDefinition, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateMemberDefinition_memberStubStereotypes(activityDefinition, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateMemberDefinition_memberPrimitive(activityDefinition, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateNamespaceDefinition_namespaceDefinitionMemberDerivation(activityDefinition, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateNamespaceDefinition_namespaceDefinitionMemberDistinguishability(activityDefinition, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateClassifierDefinition_classifierDefinitionSpecialization(activityDefinition, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateClassifierDefinition_classifierDefinitionSpecializationReferentDerivation(activityDefinition, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateClassifierDefinition_classifierDefinitionInheritedMembers(activityDefinition, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateActivityDefinition_activityDefinitionSpecialization(activityDefinition, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateActivityDefinition_activityDefinitionPrimitive(activityDefinition, diagnostics, context);
+ return result;
+ }
+
+ /**
+ * Validates the activityDefinitionSpecialization constraint of '<em>Activity Definition</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateActivityDefinition_activityDefinitionSpecialization(ActivityDefinition activityDefinition, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return activityDefinition.activityDefinitionSpecialization(diagnostics, context);
+ }
+
+ /**
+ * Validates the activityDefinitionPrimitive constraint of '<em>Activity Definition</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateActivityDefinition_activityDefinitionPrimitive(ActivityDefinition activityDefinition, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return activityDefinition.activityDefinitionPrimitive(diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateElementImportReference(ElementImportReference elementImportReference, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ if (!validate_NoCircularContainment((EObject) elementImportReference, diagnostics, context))
+ return false;
+ boolean result = validate_EveryMultiplicityConforms((EObject) elementImportReference, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryDataValueConforms((EObject) elementImportReference, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryReferenceIsContained((EObject) elementImportReference, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryBidirectionalReferenceIsPaired((EObject) elementImportReference, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryProxyResolves((EObject) elementImportReference, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_UniqueID((EObject) elementImportReference, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryKeyUnique((EObject) elementImportReference, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryMapEntryUnique((EObject) elementImportReference, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateImportReference_importReferenceReferentDerivation(elementImportReference, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateImportReference_importReferenceReferent(elementImportReference, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateElementImportReference_elementImportReferenceReferent(elementImportReference, diagnostics, context);
+ return result;
+ }
+
+ /**
+ * Validates the elementImportReferenceReferent constraint of '<em>Element Import Reference</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateElementImportReference_elementImportReferenceReferent(ElementImportReference elementImportReference, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return elementImportReference.elementImportReferenceReferent(diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateSignalReceptionDefinition(SignalReceptionDefinition signalReceptionDefinition, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ if (!validate_NoCircularContainment((EObject) signalReceptionDefinition, diagnostics, context))
+ return false;
+ boolean result = validate_EveryMultiplicityConforms((EObject) signalReceptionDefinition, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryDataValueConforms((EObject) signalReceptionDefinition, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryReferenceIsContained((EObject) signalReceptionDefinition, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryBidirectionalReferenceIsPaired((EObject) signalReceptionDefinition, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryProxyResolves((EObject) signalReceptionDefinition, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_UniqueID((EObject) signalReceptionDefinition, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryKeyUnique((EObject) signalReceptionDefinition, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryMapEntryUnique((EObject) signalReceptionDefinition, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateMemberDefinition_memberAnnotations(signalReceptionDefinition, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateMemberDefinition_memberIsPrimitiveDerivation(signalReceptionDefinition, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateMemberDefinition_memberIsExternalDerivation(signalReceptionDefinition, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateMemberDefinition_memberExternal(signalReceptionDefinition, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateMemberDefinition_memberStub(signalReceptionDefinition, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateMemberDefinition_memberSubunitDerivation(signalReceptionDefinition, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateMemberDefinition_memberStubStereotypes(signalReceptionDefinition, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateMemberDefinition_memberPrimitive(signalReceptionDefinition, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateNamespaceDefinition_namespaceDefinitionMemberDerivation(signalReceptionDefinition, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateNamespaceDefinition_namespaceDefinitionMemberDistinguishability(signalReceptionDefinition, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateClassifierDefinition_classifierDefinitionSpecialization(signalReceptionDefinition, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateClassifierDefinition_classifierDefinitionSpecializationReferentDerivation(signalReceptionDefinition, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateClassifierDefinition_classifierDefinitionInheritedMembers(signalReceptionDefinition, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateSignalDefinition_signalDefinitionSpecializationReferent(signalReceptionDefinition, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateSignalReceptionDefinition_signalReceptionDefinitionIsFeatureDerivation(signalReceptionDefinition, diagnostics, context);
+ return result;
+ }
+
+ /**
+ * Validates the signalReceptionDefinitionIsFeatureDerivation constraint of '<em>Signal Reception Definition</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateSignalReceptionDefinition_signalReceptionDefinitionIsFeatureDerivation(SignalReceptionDefinition signalReceptionDefinition, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return signalReceptionDefinition.signalReceptionDefinitionIsFeatureDerivation(diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateEnumerationDefinition(EnumerationDefinition enumerationDefinition, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ if (!validate_NoCircularContainment((EObject) enumerationDefinition, diagnostics, context))
+ return false;
+ boolean result = validate_EveryMultiplicityConforms((EObject) enumerationDefinition, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryDataValueConforms((EObject) enumerationDefinition, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryReferenceIsContained((EObject) enumerationDefinition, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryBidirectionalReferenceIsPaired((EObject) enumerationDefinition, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryProxyResolves((EObject) enumerationDefinition, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_UniqueID((EObject) enumerationDefinition, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryKeyUnique((EObject) enumerationDefinition, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryMapEntryUnique((EObject) enumerationDefinition, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateMemberDefinition_memberAnnotations(enumerationDefinition, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateMemberDefinition_memberIsPrimitiveDerivation(enumerationDefinition, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateMemberDefinition_memberIsExternalDerivation(enumerationDefinition, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateMemberDefinition_memberExternal(enumerationDefinition, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateMemberDefinition_memberStub(enumerationDefinition, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateMemberDefinition_memberSubunitDerivation(enumerationDefinition, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateMemberDefinition_memberStubStereotypes(enumerationDefinition, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateMemberDefinition_memberPrimitive(enumerationDefinition, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateNamespaceDefinition_namespaceDefinitionMemberDerivation(enumerationDefinition, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateNamespaceDefinition_namespaceDefinitionMemberDistinguishability(enumerationDefinition, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateClassifierDefinition_classifierDefinitionSpecialization(enumerationDefinition, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateClassifierDefinition_classifierDefinitionSpecializationReferentDerivation(enumerationDefinition, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateClassifierDefinition_classifierDefinitionInheritedMembers(enumerationDefinition, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateEnumerationDefinition_enumerationDefinitionSpecializationReferent(enumerationDefinition, diagnostics, context);
+ return result;
+ }
+
+ /**
+ * Validates the enumerationDefinitionSpecializationReferent constraint of '<em>Enumeration Definition</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateEnumerationDefinition_enumerationDefinitionSpecializationReferent(EnumerationDefinition enumerationDefinition, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return enumerationDefinition.enumerationDefinitionSpecializationReferent(diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validatePackageImportReference(PackageImportReference packageImportReference, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ if (!validate_NoCircularContainment((EObject) packageImportReference, diagnostics, context))
+ return false;
+ boolean result = validate_EveryMultiplicityConforms((EObject) packageImportReference, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryDataValueConforms((EObject) packageImportReference, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryReferenceIsContained((EObject) packageImportReference, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryBidirectionalReferenceIsPaired((EObject) packageImportReference, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryProxyResolves((EObject) packageImportReference, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_UniqueID((EObject) packageImportReference, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryKeyUnique((EObject) packageImportReference, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryMapEntryUnique((EObject) packageImportReference, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateImportReference_importReferenceReferentDerivation(packageImportReference, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateImportReference_importReferenceReferent(packageImportReference, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validatePackageImportReference_packageImportReferenceReferent(packageImportReference, diagnostics, context);
+ return result;
+ }
+
+ /**
+ * Validates the packageImportReferenceReferent constraint of '<em>Package Import Reference</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validatePackageImportReference_packageImportReferenceReferent(PackageImportReference packageImportReference, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return packageImportReference.packageImportReferenceReferent(diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateClassifierTemplateParameter(ClassifierTemplateParameter classifierTemplateParameter, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ if (!validate_NoCircularContainment((EObject) classifierTemplateParameter, diagnostics, context))
+ return false;
+ boolean result = validate_EveryMultiplicityConforms((EObject) classifierTemplateParameter, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryDataValueConforms((EObject) classifierTemplateParameter, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryReferenceIsContained((EObject) classifierTemplateParameter, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryBidirectionalReferenceIsPaired((EObject) classifierTemplateParameter, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryProxyResolves((EObject) classifierTemplateParameter, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_UniqueID((EObject) classifierTemplateParameter, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryKeyUnique((EObject) classifierTemplateParameter, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryMapEntryUnique((EObject) classifierTemplateParameter, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateMemberDefinition_memberAnnotations(classifierTemplateParameter, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateMemberDefinition_memberIsPrimitiveDerivation(classifierTemplateParameter, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateMemberDefinition_memberIsExternalDerivation(classifierTemplateParameter, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateMemberDefinition_memberExternal(classifierTemplateParameter, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateMemberDefinition_memberStub(classifierTemplateParameter, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateMemberDefinition_memberSubunitDerivation(classifierTemplateParameter, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateMemberDefinition_memberStubStereotypes(classifierTemplateParameter, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateMemberDefinition_memberPrimitive(classifierTemplateParameter, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateNamespaceDefinition_namespaceDefinitionMemberDerivation(classifierTemplateParameter, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateNamespaceDefinition_namespaceDefinitionMemberDistinguishability(classifierTemplateParameter, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateClassifierDefinition_classifierDefinitionSpecialization(classifierTemplateParameter, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateClassifierDefinition_classifierDefinitionSpecializationReferentDerivation(classifierTemplateParameter, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateClassifierDefinition_classifierDefinitionInheritedMembers(classifierTemplateParameter, diagnostics, context);
+ return result;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateFormalParameter(FormalParameter formalParameter, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ if (!validate_NoCircularContainment((EObject) formalParameter, diagnostics, context))
+ return false;
+ boolean result = validate_EveryMultiplicityConforms((EObject) formalParameter, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryDataValueConforms((EObject) formalParameter, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryReferenceIsContained((EObject) formalParameter, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryBidirectionalReferenceIsPaired((EObject) formalParameter, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryProxyResolves((EObject) formalParameter, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_UniqueID((EObject) formalParameter, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryKeyUnique((EObject) formalParameter, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryMapEntryUnique((EObject) formalParameter, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateMemberDefinition_memberAnnotations(formalParameter, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateMemberDefinition_memberIsPrimitiveDerivation(formalParameter, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateMemberDefinition_memberIsExternalDerivation(formalParameter, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateMemberDefinition_memberExternal(formalParameter, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateMemberDefinition_memberStub(formalParameter, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateMemberDefinition_memberSubunitDerivation(formalParameter, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateMemberDefinition_memberStubStereotypes(formalParameter, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateMemberDefinition_memberPrimitive(formalParameter, diagnostics, context);
+ return result;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateReceptionDefinition(ReceptionDefinition receptionDefinition, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ if (!validate_NoCircularContainment((EObject) receptionDefinition, diagnostics, context))
+ return false;
+ boolean result = validate_EveryMultiplicityConforms((EObject) receptionDefinition, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryDataValueConforms((EObject) receptionDefinition, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryReferenceIsContained((EObject) receptionDefinition, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryBidirectionalReferenceIsPaired((EObject) receptionDefinition, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryProxyResolves((EObject) receptionDefinition, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_UniqueID((EObject) receptionDefinition, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryKeyUnique((EObject) receptionDefinition, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryMapEntryUnique((EObject) receptionDefinition, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateMemberDefinition_memberAnnotations(receptionDefinition, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateMemberDefinition_memberIsPrimitiveDerivation(receptionDefinition, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateMemberDefinition_memberIsExternalDerivation(receptionDefinition, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateMemberDefinition_memberExternal(receptionDefinition, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateMemberDefinition_memberStub(receptionDefinition, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateMemberDefinition_memberSubunitDerivation(receptionDefinition, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateMemberDefinition_memberStubStereotypes(receptionDefinition, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateMemberDefinition_memberPrimitive(receptionDefinition, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateReceptionDefinition_receptionDefinitionSignalName(receptionDefinition, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateReceptionDefinition_receptionDefinitionSignalDerivation(receptionDefinition, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateReceptionDefinition_receptionDefinitionIsFeatureDerivation(receptionDefinition, diagnostics, context);
+ return result;
+ }
+
+ /**
+ * Validates the receptionDefinitionSignalName constraint of '<em>Reception Definition</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateReceptionDefinition_receptionDefinitionSignalName(ReceptionDefinition receptionDefinition, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return receptionDefinition.receptionDefinitionSignalName(diagnostics, context);
+ }
+
+ /**
+ * Validates the receptionDefinitionSignalDerivation constraint of '<em>Reception Definition</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateReceptionDefinition_receptionDefinitionSignalDerivation(ReceptionDefinition receptionDefinition, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return receptionDefinition.receptionDefinitionSignalDerivation(diagnostics, context);
+ }
+
+ /**
+ * Validates the receptionDefinitionIsFeatureDerivation constraint of '<em>Reception Definition</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateReceptionDefinition_receptionDefinitionIsFeatureDerivation(ReceptionDefinition receptionDefinition, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return receptionDefinition.receptionDefinitionIsFeatureDerivation(diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateMember(Member member, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return validate_EveryDefaultConstraint((EObject) member, diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateAnnotatedStatement(AnnotatedStatement annotatedStatement, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return validate_EveryDefaultConstraint((EObject) annotatedStatement, diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateBoundClassifier(BoundClassifier boundClassifier, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ if (!validate_NoCircularContainment((EObject) boundClassifier, diagnostics, context))
+ return false;
+ boolean result = validate_EveryMultiplicityConforms((EObject) boundClassifier, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryDataValueConforms((EObject) boundClassifier, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryReferenceIsContained((EObject) boundClassifier, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryBidirectionalReferenceIsPaired((EObject) boundClassifier, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryProxyResolves((EObject) boundClassifier, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_UniqueID((EObject) boundClassifier, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryKeyUnique((EObject) boundClassifier, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryMapEntryUnique((EObject) boundClassifier, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateMemberDefinition_memberAnnotations(boundClassifier, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateMemberDefinition_memberIsPrimitiveDerivation(boundClassifier, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateMemberDefinition_memberIsExternalDerivation(boundClassifier, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateMemberDefinition_memberExternal(boundClassifier, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateMemberDefinition_memberStub(boundClassifier, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateMemberDefinition_memberSubunitDerivation(boundClassifier, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateMemberDefinition_memberStubStereotypes(boundClassifier, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateMemberDefinition_memberPrimitive(boundClassifier, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateNamespaceDefinition_namespaceDefinitionMemberDerivation(boundClassifier, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateNamespaceDefinition_namespaceDefinitionMemberDistinguishability(boundClassifier, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateClassifierDefinition_classifierDefinitionSpecialization(boundClassifier, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateClassifierDefinition_classifierDefinitionSpecializationReferentDerivation(boundClassifier, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateClassifierDefinition_classifierDefinitionInheritedMembers(boundClassifier, diagnostics, context);
+ return result;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateReturnParameter(ReturnParameter returnParameter, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ if (!validate_NoCircularContainment((EObject) returnParameter, diagnostics, context))
+ return false;
+ boolean result = validate_EveryMultiplicityConforms((EObject) returnParameter, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryDataValueConforms((EObject) returnParameter, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryReferenceIsContained((EObject) returnParameter, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryBidirectionalReferenceIsPaired((EObject) returnParameter, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryProxyResolves((EObject) returnParameter, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_UniqueID((EObject) returnParameter, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryKeyUnique((EObject) returnParameter, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryMapEntryUnique((EObject) returnParameter, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateMemberDefinition_memberAnnotations(returnParameter, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateMemberDefinition_memberIsPrimitiveDerivation(returnParameter, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateMemberDefinition_memberIsExternalDerivation(returnParameter, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateMemberDefinition_memberExternal(returnParameter, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateMemberDefinition_memberStub(returnParameter, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateMemberDefinition_memberSubunitDerivation(returnParameter, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateMemberDefinition_memberStubStereotypes(returnParameter, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateMemberDefinition_memberPrimitive(returnParameter, diagnostics, context);
+ return result;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateNonReturnParameter(NonReturnParameter nonReturnParameter, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ if (!validate_NoCircularContainment((EObject) nonReturnParameter, diagnostics, context))
+ return false;
+ boolean result = validate_EveryMultiplicityConforms((EObject) nonReturnParameter, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryDataValueConforms((EObject) nonReturnParameter, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryReferenceIsContained((EObject) nonReturnParameter, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryBidirectionalReferenceIsPaired((EObject) nonReturnParameter, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryProxyResolves((EObject) nonReturnParameter, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_UniqueID((EObject) nonReturnParameter, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryKeyUnique((EObject) nonReturnParameter, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryMapEntryUnique((EObject) nonReturnParameter, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateMemberDefinition_memberAnnotations(nonReturnParameter, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateMemberDefinition_memberIsPrimitiveDerivation(nonReturnParameter, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateMemberDefinition_memberIsExternalDerivation(nonReturnParameter, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateMemberDefinition_memberExternal(nonReturnParameter, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateMemberDefinition_memberStub(nonReturnParameter, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateMemberDefinition_memberSubunitDerivation(nonReturnParameter, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateMemberDefinition_memberStubStereotypes(nonReturnParameter, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateMemberDefinition_memberPrimitive(nonReturnParameter, diagnostics, context);
+ return result;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean validateAnyType(AnyType anyType, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ if (!validate_NoCircularContainment((EObject) anyType, diagnostics, context))
+ return false;
+ boolean result = validate_EveryMultiplicityConforms((EObject) anyType, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryDataValueConforms((EObject) anyType, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryReferenceIsContained((EObject) anyType, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryBidirectionalReferenceIsPaired((EObject) anyType, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryProxyResolves((EObject) anyType, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_UniqueID((EObject) anyType, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryKeyUnique((EObject) anyType, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validate_EveryMapEntryUnique((EObject) anyType, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateMemberDefinition_memberAnnotations(anyType, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateMemberDefinition_memberIsPrimitiveDerivation(anyType, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateMemberDefinition_memberIsExternalDerivation(anyType, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateMemberDefinition_memberExternal(anyType, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateMemberDefinition_memberStub(anyType, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateMemberDefinition_memberSubunitDerivation(anyType, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateMemberDefinition_memberStubStereotypes(anyType, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateMemberDefinition_memberPrimitive(anyType, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateNamespaceDefinition_namespaceDefinitionMemberDerivation(anyType, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateNamespaceDefinition_namespaceDefinitionMemberDistinguishability(anyType, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateClassifierDefinition_classifierDefinitionSpecialization(anyType, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateClassifierDefinition_classifierDefinitionSpecializationReferentDerivation(anyType, diagnostics, context);
+ if (result || diagnostics != null)
+ result &= validateClassifierDefinition_classifierDefinitionInheritedMembers(anyType, diagnostics, context);
+ return result;
+ }
+
+ /**
+ * Returns the resource locator that will be used to fetch messages for this validator's diagnostics.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public ResourceLocator getResourceLocator() {
+ // TODO
+ // Specialize this to return a resource locator for messages specific to this validator.
+ // Ensure that you remove @generated or mark it @generated NOT
+ return super.getResourceLocator();
+ }
+
+} // AlfValidator
diff --git a/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/util/AlfXMLProcessor.java b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/util/AlfXMLProcessor.java
new file mode 100644
index 00000000000..f5acdec2ebd
--- /dev/null
+++ b/plugins/uml/alf/org.eclipse.papyrus.uml.alf/syntax-gen/org/eclipse/papyrus/uml/alf/util/AlfXMLProcessor.java
@@ -0,0 +1,53 @@
+/**
+ */
+package org.eclipse.papyrus.uml.alf.util;
+
+import java.util.Map;
+
+import org.eclipse.emf.ecore.EPackage;
+
+import org.eclipse.emf.ecore.resource.Resource;
+
+import org.eclipse.emf.ecore.xmi.util.XMLProcessor;
+
+import org.eclipse.papyrus.uml.alf.AlfPackage;
+
+/**
+ * This class contains helper methods to serialize and deserialize XML documents
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+public class AlfXMLProcessor extends XMLProcessor {
+
+ /**
+ * Public constructor to instantiate the helper.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public AlfXMLProcessor() {
+ super((EPackage.Registry.INSTANCE));
+ AlfPackage.eINSTANCE.eClass();
+ }
+
+ /**
+ * Register for "*" and "xml" file extensions the AlfResourceFactoryImpl factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected Map<String, Resource.Factory> getRegistrations() {
+ if (registrations == null) {
+ super.getRegistrations();
+ registrations.put(XML_EXTENSION, new AlfResourceFactoryImpl());
+ registrations.put(STAR_EXTENSION, new AlfResourceFactoryImpl());
+ }
+ return registrations;
+ }
+
+} // AlfXMLProcessor

Back to the top